action => dispatch(action)}
+ reduxAction={payload => console.log({ type: "ACTION", payload })}
+ options={options}
+ />
+ );
+ });
diff --git a/packages/ui-core/stories/NotebookPreview.story.js b/packages/ui-core/stories/NotebookPreview.story.js
new file mode 100644
index 000000000..c7a814ebe
--- /dev/null
+++ b/packages/ui-core/stories/NotebookPreview.story.js
@@ -0,0 +1,25 @@
+import React from "react";
+import { storiesOf } from "@storybook/react";
+import { checkA11y } from "@storybook/addon-a11y";
+import { withKnobs, text } from "@storybook/addon-knobs";
+import { NotebookPreview } from "../src";
+import { storybookStyles } from "./storyStyles";
+import notes from "./notebookPreview.notes.md";
+
+export default () =>
+ storiesOf("Component Lib|Common UI/NotebookPreview", module)
+ .addDecorator(withKnobs)
+ .addDecorator(checkA11y)
+ .addDecorator(story => (
+
+ ))
+ .add(
+ "Standard",
+ () => {
+ const message = text("Message");
+ return ;
+ },
+ { notes }
+ );
diff --git a/packages/ui-core/stories/Placeholder.story.js b/packages/ui-core/stories/Placeholder.story.js
new file mode 100644
index 000000000..f4ec181e4
--- /dev/null
+++ b/packages/ui-core/stories/Placeholder.story.js
@@ -0,0 +1,27 @@
+import React from "react";
+/* eslint-disable import/no-extraneous-dependencies */
+import { storiesOf } from "@storybook/react";
+import { number, withKnobs } from "@storybook/addon-knobs";
+import { checkA11y } from "@storybook/addon-a11y";
+import { Placeholder } from "../src";
+
+const sampleIssue = 56;
+
+export default () =>
+ storiesOf("Component Lib|Common UI/Placeholder Story", module)
+ .addDecorator(checkA11y)
+ .addDecorator(withKnobs)
+ .add("Default", () => )
+ .add("With an issue", () => {
+ const issue = number("Issue", sampleIssue);
+
+ return ;
+ })
+ .add("With a custom message", () => {
+ return (
+
+ Why is this still here?
+ Shouldn't someone have done something by now?
+
+ );
+ });
diff --git a/packages/ui-core/stories/PullQuote.story.js b/packages/ui-core/stories/PullQuote.story.js
new file mode 100644
index 000000000..b13d8ae15
--- /dev/null
+++ b/packages/ui-core/stories/PullQuote.story.js
@@ -0,0 +1,30 @@
+import React from "react";
+/* eslint-disable import/no-extraneous-dependencies */
+import { storiesOf } from "@storybook/react";
+
+import { PullQuote } from "../src";
+
+const title = "Simple usage";
+
+const quoteText =
+ "Hack Oregon is fun. A super super super super super long quote";
+const quoteAttribution = "Susannah";
+
+const demoCode = () => (
+
+);
+
+const altDemo = () => ;
+
+const urlDemo = () => (
+
+);
+
+const altTitle = "Without attribution";
+const urlTitle = "With custom URL";
+
+export default () =>
+ storiesOf("Component Lib|Common UI/Pull Quote", module)
+ .add(title, demoCode)
+ .add(altTitle, altDemo)
+ .add(urlTitle, urlDemo);
diff --git a/packages/ui-core/stories/README.md b/packages/ui-core/stories/README.md
new file mode 100644
index 000000000..6e991511b
--- /dev/null
+++ b/packages/ui-core/stories/README.md
@@ -0,0 +1,138 @@
+# CIVIC Design System Story Pattern
+
+Storybook is used to document [CIVIC's Design System](https://hackoregon.github.io/civic/); each component in the library has a story. Stories are used by UX, UI, and Data Visualization users to try out the components early in the design process. They can set properties, add sample data, and determine the design they want.
+
+Developers use Storybook when they are developing the component. Then they write the stories for that component making them easy for designers to use. When the developer wants to use the component in a project, the Story code is a good reference.
+
+This document is for the developers to use when they write the stories for a component.
+
+As you read through this document, refer to these stories to see the design pattern in use:
+
+- [Horizontal Bar Chart](https://hackoregon.github.io/civic/?path=/story/component-lib-charts-horizontal-bar-chart--standard)
+- [Line Chart](https://hackoregon.github.io/civic/?path=/story/component-lib-charts-line-chart--standard)
+- [Scatterplot](https://hackoregon.github.io/civic/?path=/story/component-lib-charts-scatterplot--standard)
+- [Scatterplot Map](https://hackoregon.github.io/civic/?path=/story/component-lib-maps-scatterplot-map--standard)
+
+Note: To bring up the Addons Panel, select it from the dropdown list in the upper left corner of the screen, next to the CIVIC logo.
+
+## Stories
+
+There are three types of stories:
+
+- Standard
+- Custom
+- Example(s)
+
+### Standard Story
+
+The Standard story is the default configuration of the component. For consistency, this is the configuration that is used unless it doesn't meet the needs of your project.
+
+Note: If the default configuration isn't specified, begin by looking at the current stories, compare use of that component in past and current projects to find the most common use, and ask for feedback. Use a similar strategy for determining the custom and example stories.
+
+### Custom Story
+
+The Custom story provides knobs for all the props that are available for this component. This gives you the ability to design any possible configuration of the component.
+
+### Example Story(s)
+
+If there is a configuration of the component that has been used in a project, and may be useful again, create an Example story.
+
+## Knobs
+
+The Knobs addon lets you set data and change its values for that component. Knobs are provided for each prop that can be modified in a story. See the example stories above.
+
+This helps during both development and design; the developer can test the props for results and the designer can configure the component for a particular use.
+
+At this time, there are Knobs for these data types and inputs:
+
+- text
+- boolean
+- number
+- number bound by range
+- color
+- object
+- array
+- select
+- radio buttons
+- options
+- files
+- date
+- button
+- withKnobs options
+
+Knobs references:
+
+- [Storybook's stories for Knobs](https://storybooks-official.netlify.com/?path=/story/addons-knobs-withknobs--tweaks-static-values)
+- [Knobs Github repository](https://github.com/storybookjs/storybook/tree/master/addons/knobs)
+
+### Organize knobs into tabs
+
+Knobs can be organized in tabs, in the Addons panel. Choose tab labels that are consistent with other stories; create a new one only if needed. Current knob tabs:
+
+- Labels
+- Design
+- Data
+- Marker
+- Custom (for the Custom story; knobs/props that are in addition to those in the Standard story)
+
+### Knob labels
+
+Labels are descriptive; don't use the prop name. Use sentence case for labels. Choose knob labels that are consistent with other stories; create a new one only if needed. Some labels:
+
+- Title
+- Subtitle
+- X-axis label
+- X-axis value format
+- Y-axis label
+- Y-axis value format
+- Data key
+- Data values
+- Data
+
+## Utility Functions
+
+### `getKeyNames` in packages/component-library/stories/shared.js
+
+Some components let you set the value format for the axes. Currently those formats are defined in civicFormat.js: numeric, year, percentage, dollars, titleCase, unformatted, monthYear, numericShort, and decimalToPercent. Add a knob to allow the user to choose the format.
+
+Components expect a function prop to provide the format, but there is no knob function type. Use `getKeyNames` to pass the item selected in the options knob as a function to the component. See [Line Chart](https://hackoregon.github.io/civic/?path=/story/component-lib-charts-line-chart--standard) story for an example. See `optionSelectX` and `optionSelectY`.
+
+### `StatefulWrapper` in packages/component-library/src/utils/StatefulWrapper.js
+
+- StatefulWrapper is a helper function to set up dynamic state in controlled form components, such as the slider, for Storybook stories
+- Takes in an `initialState` object with any number of properties
+- Returns a function as a child component and provides `get` and `set` helpers
+- to update the controlled state.
+
+See the [Slider](https://hackoregon.github.io/civic/?path=/story/component-lib-basic-inputs-slider--basic-slider) story for an example of using the `StatefulWrapper`.
+
+## Story Development Code
+
+When you select "Story" in the Addon panel, the code for the current story (inside the .add function) is shown and highlighted. Including all the values and props for that story inside the .add function so they are highlighted, makes it easier for the developer to use that component.
+
+Use realistic data. Data in the story is often from a past project. Use a subset of that data if there is so much that it overwhelms the usability of the story.
+
+## Actions
+
+Actions display data received by the event handlers in a component when it is in Storybook. Actions aren't required in stories, but they are helpful when developing and debugging a component. For example:
+
+`Hello World! `
+
+When the button is clicked all the data from the event is shown in the Actions tab in the Addons Panel.
+
+Actions references:
+
+- [Actions](https://github.com/storybookjs/storybook/tree/master/addons/actions)
+
+## Notes
+
+A Notes file is written for each story. It describes the story and the knobs/props for that story. Use markdown format.
+
+Notes files are in the stories folder. The notes files are named by the componentName followed by .story.md.
+
+Examples:
+
+- [horizontalBarChart.notes.md](https://hackoregon.github.io/civic/?path=/info/component-lib-charts-horizontal-bar-chart--standard)
+- [lineChart.notes.md](https://hackoregon.github.io/civic/?path=/info/component-lib-charts-line-chart--standard)
+- [scatterplot.notes.md](https://hackoregon.github.io/civic/?path=/info/component-lib-charts-scatterplot--standard)
+- [ScatterPlotMap.notes.md](https://hackoregon.github.io/civic/?path=/info/component-lib-maps-scatterplot-map--standard)
diff --git a/packages/ui-core/stories/RadioButtonGroup.story.js b/packages/ui-core/stories/RadioButtonGroup.story.js
new file mode 100644
index 000000000..0bebde21c
--- /dev/null
+++ b/packages/ui-core/stories/RadioButtonGroup.story.js
@@ -0,0 +1,152 @@
+import React from "react";
+// eslint-disable-next-line import/no-extraneous-dependencies
+import { storiesOf } from "@storybook/react";
+// eslint-disable-next-line import/no-extraneous-dependencies
+import { action } from "@storybook/addon-actions";
+// eslint-disable-next-line import/no-extraneous-dependencies
+import { checkA11y } from "@storybook/addon-a11y";
+// eslint-disable-next-line import/no-extraneous-dependencies
+import {
+ withKnobs,
+ text,
+ boolean,
+ select,
+ array
+} from "@storybook/addon-knobs";
+import { StatefulWrapper } from "@hackoregon/utils";
+import { RadioButtonGroup } from "../src";
+import { storybookStyles } from "./storyStyles";
+import notes from "./radioButtonGroup.notes.md";
+
+const GROUP_IDS = {
+ LABELS: "Labels",
+ STATE: "State",
+ DESIGN: "Design",
+ DATA: "Data",
+ CUSTOM: "Custom"
+};
+
+export default () =>
+ storiesOf("Component Lib|Basic Inputs/Radio Button Group", module)
+ .addDecorator(withKnobs)
+ .addDecorator(checkA11y)
+ .addDecorator(story => (
+
+ ))
+ .add(
+ "Standard",
+ () => {
+ const grpLabel = text("Group label", "Year", GROUP_IDS.LABELS);
+ const radioLabels = ["2016", "2017", "2018"];
+ const labels = array("Labels", radioLabels, ", ", GROUP_IDS.LABELS);
+ const disabled = boolean("Disabled", false, GROUP_IDS.STATE);
+ return (
+
+ {({ get, set }) => {
+ return (
+ {
+ set({ value: event.target.value });
+ action("onChange")(event);
+ }}
+ value={get("value")}
+ disabled={disabled}
+ formHelperText=""
+ />
+ );
+ }}
+
+ );
+ },
+ { notes }
+ )
+ .add(
+ "Custom",
+ () => {
+ const grpLabel = text("Group label", "Year", GROUP_IDS.LABELS);
+ const radioLabels = ["2016", "2017", "2018"];
+ const labels = array("Labels", radioLabels, ", ", GROUP_IDS.LABELS);
+ const formHelperText = text(
+ "Helper text",
+ "* Show results for this year",
+ GROUP_IDS.LABELS
+ );
+ const disabled = boolean("Disabled", false, GROUP_IDS.STATE);
+ const options = {
+ Top: "top",
+ Start: "start",
+ Bottom: "bottom",
+ End: "end"
+ };
+ const row = boolean("Display in a row", false, GROUP_IDS.CUSTOM);
+ const labelPlacement = select(
+ "Label placement",
+ options,
+ "end",
+ GROUP_IDS.CUSTOM
+ );
+ return (
+
+ {({ get, set }) => {
+ return (
+ {
+ set({ value: event.target.value });
+ action("onChange")(event);
+ }}
+ value={get("value")}
+ disabled={disabled}
+ labelPlacement={labelPlacement}
+ row={row}
+ formHelperText={formHelperText}
+ />
+ );
+ }}
+
+ );
+ },
+ { notes }
+ )
+ .add(
+ "Example: Form group",
+ () => {
+ const grpLabel = text("Group label", "Year", GROUP_IDS.LABELS);
+ const radioLabels = ["2016", "2017", "2018"];
+ const labels = array("Labels", radioLabels, ", ", GROUP_IDS.LABELS);
+ const formHelperText = text(
+ "Helper text",
+ "* Show results for this year",
+ GROUP_IDS.LABELS
+ );
+ const row = boolean("Display in a row", false, GROUP_IDS.DESIGN);
+ const disabled = boolean("Disabled", false, GROUP_IDS.STATE);
+
+ return (
+
+ {({ get, set }) => {
+ return (
+ {
+ set({ value: event.target.value });
+ action("onChange")(event);
+ }}
+ value={get("value")}
+ disabled={disabled}
+ row={row}
+ formHelperText={formHelperText}
+ />
+ );
+ }}
+
+ );
+ },
+ { notes }
+ );
diff --git a/packages/ui-core/stories/Select.story.js b/packages/ui-core/stories/Select.story.js
new file mode 100644
index 000000000..9168a1287
--- /dev/null
+++ b/packages/ui-core/stories/Select.story.js
@@ -0,0 +1,157 @@
+import React from "react";
+// eslint-disable-next-line import/no-extraneous-dependencies
+import { storiesOf } from "@storybook/react";
+// eslint-disable-next-line import/no-extraneous-dependencies
+import { action } from "@storybook/addon-actions";
+// eslint-disable-next-line import/no-extraneous-dependencies
+import { checkA11y } from "@storybook/addon-a11y";
+// eslint-disable-next-line import/no-extraneous-dependencies
+import { withKnobs, text, boolean, object } from "@storybook/addon-knobs";
+import { StatefulWrapper } from "@hackoregon/utils";
+import { storybookStyles } from "./storyStyles";
+import notes from "./select.notes.md";
+import Select from "../src/Select/Select";
+
+const GROUP_IDS = {
+ LABELS: "Labels",
+ STATE: "State",
+ DESIGN: "Design",
+ DATA: "Data",
+ CUSTOM: "Custom"
+};
+
+export default () =>
+ storiesOf("Component Lib|Basic Inputs/Select", module)
+ .addDecorator(withKnobs)
+ .addDecorator(checkA11y)
+ .addDecorator(story => (
+
+ ))
+ .add(
+ "Standard One",
+ () => {
+ const formLabel = text(
+ "Form label",
+ "TriMet Bus Lines",
+ GROUP_IDS.LABELS
+ );
+ const disabled = boolean("Disabled", false, GROUP_IDS.STATE);
+ const optionsOne = [
+ "All",
+ "2 - Division",
+ "4 - Fessenden",
+ "6 - Martin Luther King Jr. Blvd",
+ "8 - Jackson Park/NE 15th",
+ "9 - Powell Blvd",
+ "10 - Harold St"
+ ];
+ const options = object("List items", optionsOne, GROUP_IDS.DATA);
+ return (
+
+ {({ get, set }) => {
+ return (
+ {
+ set({ value: event.target.value });
+ action("onChange")(event);
+ }}
+ value={get("value")}
+ disabled={disabled}
+ options={options}
+ />
+ );
+ }}
+
+ );
+ },
+ { notes }
+ )
+ .add(
+ "Standard Two",
+ () => {
+ const formLabel = text(
+ "Form label",
+ "TriMet Bus Lines",
+ GROUP_IDS.LABELS
+ );
+ const disabled = boolean("Disabled", false, GROUP_IDS.STATE);
+ const optionsOne = [
+ { value: 1, label: "All" },
+ { value: 2, label: "2 - Division" },
+ { value: 4, label: "4 - Fessenden" },
+ { value: 5, label: "6 - Martin Luther King Jr. Blvd" },
+ { value: 8, label: "8 - Jackson Park/NE 15th" },
+ { value: 9, label: "9 - Powell Blvd" },
+ { value: 10, label: "10 - Harold St" }
+ ];
+ const options = object("List items", optionsOne, GROUP_IDS.DATA);
+ return (
+
+ {({ get, set }) => {
+ return (
+ {
+ set({ value: event.target.value });
+ action("onChange")(event);
+ }}
+ value={get("value")}
+ disabled={disabled}
+ options={options}
+ />
+ );
+ }}
+
+ );
+ },
+ { notes }
+ )
+ .add(
+ "Custom",
+ () => {
+ const formLabel = text(
+ "Form label",
+ "TriMet Bus Lines",
+ GROUP_IDS.LABELS
+ );
+ const formHelperText = text(
+ "Form helper text",
+ "* Select a bus line",
+ GROUP_IDS.LABELS
+ );
+ const disabled = boolean("Disabled", false, GROUP_IDS.STATE);
+ const optionsOne = [
+ "All",
+ "2 - Division",
+ "4 - Fessenden",
+ "6 - Martin Luther King Jr. Blvd",
+ "8 - Jackson Park/NE 15th",
+ "9 - Powell Blvd",
+ "10 - Harold St"
+ ];
+ const options = object("List items", optionsOne, GROUP_IDS.DATA);
+ return (
+
+ {({ get, set }) => {
+ return (
+ {
+ set({ value: event.target.value });
+ action("onChange")(event);
+ }}
+ value={get("value")}
+ disabled={disabled}
+ options={options}
+ />
+ );
+ }}
+
+ );
+ },
+ { notes }
+ );
diff --git a/packages/ui-core/stories/SelectField.story.js b/packages/ui-core/stories/SelectField.story.js
new file mode 100644
index 000000000..4f7bc357d
--- /dev/null
+++ b/packages/ui-core/stories/SelectField.story.js
@@ -0,0 +1,28 @@
+import React from "react";
+import { storiesOf } from "@storybook/react";
+import { checkA11y } from "@storybook/addon-a11y";
+import { withKnobs } from "@storybook/addon-knobs";
+// import { SelectField } from "../src";
+import { storybookStyles } from "./storyStyles";
+import notes from "./selectField.notes.md";
+
+export default () =>
+ storiesOf("Component Lib|Basic Inputs/SelectField", module)
+ .addDecorator(withKnobs)
+ .addDecorator(checkA11y)
+ .addDecorator(story => (
+
+ ))
+ .add(
+ "Standard",
+ () => {
+ return (
+
+
TODO: Write Select Field Story
+
+ );
+ },
+ { notes }
+ );
diff --git a/packages/ui-core/stories/Slider.story.js b/packages/ui-core/stories/Slider.story.js
new file mode 100644
index 000000000..fb53d3061
--- /dev/null
+++ b/packages/ui-core/stories/Slider.story.js
@@ -0,0 +1,93 @@
+import React from "react";
+/* eslint-disable import/no-extraneous-dependencies */
+import { storiesOf } from "@storybook/react";
+import { checkA11y } from "@storybook/addon-a11y";
+import { action } from "@storybook/addon-actions";
+import { withKnobs, boolean, number } from "@storybook/addon-knobs";
+import { StatefulWrapper } from "@hackoregon/utils";
+import { Slider } from "../src";
+import { storybookStyles } from "./storyStyles";
+
+const basicSlider = () => {
+ return (
+
+ {({ get, set }) => {
+ return (
+ {
+ set({ value });
+ action("onChange")(value);
+ }}
+ step={number("step", 10)}
+ value={get("value")}
+ />
+ );
+ }}
+
+ );
+};
+
+// NOTE: The `showTooltip` prop cannot be a dynamic storybook knob because rc-slider
+// uses a different component for a slider with a tooltip ☹️
+const tooltipSlider = () => {
+ return (
+
+ {({ get, set }) => {
+ return (
+ {
+ set({ value });
+ action("onChange")(value);
+ }}
+ step={number("step", 10)}
+ tooltipFormatter={data => `${data}!`}
+ value={get("value")}
+ />
+ );
+ }}
+
+ );
+};
+
+const rangeSlider = () => {
+ return (
+
+ {({ get, set }) => {
+ return (
+ {
+ set([firstValue, secondValue]);
+ action("onChange")([firstValue, secondValue]);
+ }}
+ step={number("step", 10)}
+ tooltipFormatter={data => `${data}!`}
+ firstValue={get("firstValue")}
+ secondValue={get("secondValue")}
+ />
+ );
+ }}
+
+ );
+};
+
+export default () =>
+ storiesOf("Component Lib|Basic Inputs/Slider", module)
+ .addDecorator(withKnobs)
+ .addDecorator(checkA11y)
+ .addDecorator(story => (
+
+ ))
+ .add("Basic Slider", basicSlider)
+ .add("Slider With Tooltip", tooltipSlider)
+ .add("Slider With Range", rangeSlider);
diff --git a/packages/ui-core/stories/badge.notes.md b/packages/ui-core/stories/badge.notes.md
new file mode 100644
index 000000000..cae447180
--- /dev/null
+++ b/packages/ui-core/stories/badge.notes.md
@@ -0,0 +1,14 @@
+# Badge Component
+
+## Standard
+
+The Standard story shows the standard usage of Badge for the CIVIC platform; it includes standard styling. The properties that can be passed to Badge are:
+
+- Children
+- Value
+
+##Custom
+
+The Custom story shows all possible properties that can be passed to the Badge for customization. They include the properties in the Standard Badge story, plus these:
+
+- Color
diff --git a/packages/ui-core/stories/button.notes.md b/packages/ui-core/stories/button.notes.md
new file mode 100644
index 000000000..23e254ec6
--- /dev/null
+++ b/packages/ui-core/stories/button.notes.md
@@ -0,0 +1,24 @@
+# Button Component
+
+## Standard
+
+The Standard story shows uses the standard usage of the Button for the CIVIC platform. Button includes standard styling.
+
+## Custom
+
+The Custom story shows all possible properties that can be passed to Button component for customization.
+
+- Color theme
+- Transition
+- Text label
+
+## Custom Non-text Label
+
+Use the Non-text Label (e.g., emojis or symbols) button if the label isn't readable by accesibile technologies, e.g. it is an emoji or other image. Use the aria-label attribute to give the button an accessible name. See https://www.w3.org/TR/WCAG20-TECHS/ARIA14.html for more information about the aria-label.
+
+This Non-text Label example shows how to use Button if the label isn't readable by accessible technologies, e.g. it is an emoji or other image. Use the aria-label attribute to give the button an accessible name. [More information about aria-label](https://www.w3.org/TR/WCAG20-TECHS/ARIA14.html).
+
+This story allows the developer to edit these attributes of the Standard button:
+
+- Non-text label
+- aria-label
diff --git a/packages/ui-core/stories/buttonNew.notes.md b/packages/ui-core/stories/buttonNew.notes.md
new file mode 100644
index 000000000..7011a4cfe
--- /dev/null
+++ b/packages/ui-core/stories/buttonNew.notes.md
@@ -0,0 +1,11 @@
+# Button Component
+
+The CIVIC platform button component is built from Material UI's button. It is customized to meet the needs of the CIVIC platform.
+
+## Standard
+
+The Standard story shows the standard usage of the Button component for the CIVIC platform. Button includes standard styling.
+
+These properties can be set in the Standard story:
+
+- Label
diff --git a/packages/ui-core/stories/checkbox.notes.md b/packages/ui-core/stories/checkbox.notes.md
new file mode 100644
index 000000000..2759e9998
--- /dev/null
+++ b/packages/ui-core/stories/checkbox.notes.md
@@ -0,0 +1,31 @@
+# Checkbox Component
+
+The CIVIC platform checkbox component is built from Material UI's checkbox. It is customized to meet the needs of the CIVIC platform.
+
+## Standard
+
+The Standard story shows the standard usage of the Checkbox for the CIVIC platform. Checkbox includes standard styling.
+
+These properties can be set in the Standard story:
+
+- Label
+- Disabled
+
+These properties connect to your application state:
+
+- value
+
+## Custom
+
+The Custom story shows all possible properties that can be passed to the Checkbox component for customization in the CIVIC platform. They include the properties in the Standard Checkbox story, plus:
+
+- Label placement
+
+## Example: Form group
+
+This example story shows multiple checkboxes used as a group in a form. In addition to setting the props for a single checkbox, in a form group you also set values for:
+
+- Form label
+- Form helper text
+- Display all in a row
+- Disable group
diff --git a/packages/ui-core/stories/chip.notes.md b/packages/ui-core/stories/chip.notes.md
new file mode 100644
index 000000000..d5e51404b
--- /dev/null
+++ b/packages/ui-core/stories/chip.notes.md
@@ -0,0 +1,15 @@
+# Chip Component
+
+## Standard
+
+The Demo Card story shows the standard usage of the Chip for the CIVIC platform. Chip includes standard styling.
+
+##Things it does
+
+Props:
+
+1. tag: Takes a string and displays it in the chip component.
+
+2. color: Takes a color string (rgb or hex code) and sets the color of the tag icon to that value.
+
+3. clickable: Boolean toggle that makes the tag look "clickable". Adds hover shading / mouse turns into pointer.
diff --git a/packages/ui-core/stories/collapsable.notes.md b/packages/ui-core/stories/collapsable.notes.md
new file mode 100644
index 000000000..7ed060762
--- /dev/null
+++ b/packages/ui-core/stories/collapsable.notes.md
@@ -0,0 +1,13 @@
+# Collapsable Component
+
+## Standard
+
+The Standard story shows uses the standard usage of the Collapsable for the CIVIC platform.
+
+It shows usage of the `description` prop which is a brief description of what the expanded content is about to be announced to screen readers.
+
+## Example: Alternate Usage
+
+This example shows another way of implementing the Collapsable component
+
+It shows usage of the `description` prop which is a brief description of what the expanded content is about to be announced to screen readers.
diff --git a/packages/ui-core/stories/dialog.notes.md b/packages/ui-core/stories/dialog.notes.md
new file mode 100644
index 000000000..1e9e86d9c
--- /dev/null
+++ b/packages/ui-core/stories/dialog.notes.md
@@ -0,0 +1,5 @@
+# Dialog Component
+
+## Standard
+
+The Standard story shows uses the standard usage of the Dialog for the CIVIC platform. Dialog includes standard styling.
diff --git a/packages/ui-core/stories/index.story.js b/packages/ui-core/stories/index.story.js
new file mode 100644
index 000000000..be570f147
--- /dev/null
+++ b/packages/ui-core/stories/index.story.js
@@ -0,0 +1,43 @@
+import { storiesOf } from "@storybook/react";
+import { checkA11y } from "@storybook/addon-a11y";
+
+// DO NOT REMOVE OR MODIFY THIS COMMENT - hygen component generator import injection
+import dialogStory from "./Dialog.story"; // TODO: Move this to the appropriate location
+import selectFieldStory from "./SelectField.story"; // TODO: Move this to the appropriate location
+import buttonNewStory from "./ButtonNew.story";
+import badgeStory from "./Badge.story";
+import buttonStory from "./Button.story";
+import checkboxStory from "./Checkbox.story";
+import collapsableStory from "./Collapsable.story";
+import dropdownStory from "./Dropdown.story";
+import notebookPreviewStory from "./NotebookPreview.story";
+import placeholderStory from "./Placeholder.story";
+import pullQuoteStory from "./PullQuote.story";
+import radioButtonGroupStory from "./RadioButtonGroup.story";
+import selectStory from "./Select.story";
+import sliderStory from "./Slider.story";
+import chipcomponentstory from "./ChipComponent.story";
+
+storiesOf("Component Lib|Basic Inputs", module)
+ .addParameters({ options: { showPanel: false } })
+ .addDecorator(checkA11y);
+buttonStory();
+buttonNewStory();
+checkboxStory();
+dropdownStory();
+radioButtonGroupStory();
+selectStory();
+selectFieldStory();
+sliderStory();
+// DO NOT REMOVE OR MODIFY THIS COMMENT - hygen component generator story injection
+
+storiesOf("Component Lib|Common UI", module)
+ .addParameters({ options: { showPanel: false } })
+ .addDecorator(checkA11y);
+notebookPreviewStory();
+dialogStory();
+badgeStory();
+collapsableStory();
+placeholderStory();
+pullQuoteStory();
+chipcomponentstory();
diff --git a/packages/ui-core/stories/notebookPreview.notes.md b/packages/ui-core/stories/notebookPreview.notes.md
new file mode 100644
index 000000000..1a23da0a2
--- /dev/null
+++ b/packages/ui-core/stories/notebookPreview.notes.md
@@ -0,0 +1,7 @@
+# NotebookPreview Component
+
+This component is designed to link to a Jupyter Notebook
+
+## Standard
+
+The Standard story shows uses the standard usage of the NotebookPreview for the CIVIC platform. NotebookPreview includes standard styling.
diff --git a/packages/ui-core/stories/radioButtonGroup.notes.md b/packages/ui-core/stories/radioButtonGroup.notes.md
new file mode 100644
index 000000000..f1d5d0f10
--- /dev/null
+++ b/packages/ui-core/stories/radioButtonGroup.notes.md
@@ -0,0 +1,31 @@
+# Radio Button Group Component
+
+The CIVIC platform Radio Button Group component is built from Material UI's RadioGroup. It is customized to meet the needs of the CIVIC platform.
+
+## Standard
+
+The Standard story shows the standard usage of the Radio Button Group for the CIVIC platform. Radio Button Group includes standard styling.
+
+These properties can be set in the Standard story:
+
+- Group label - the label for the group of radio buttons. This is required to meet accessibility requirements.
+- Labels - an array of labels, one for each radio button
+- Disable the group of radio buttons
+
+## Custom
+
+The Custom story shows all possible properties that can be passed to the Radio Button Group component for customization in the CIVIC platform. They include the properties in the Standard Radio Button Group story, plus:
+
+- Label placement
+- Display all radio buttons in a row
+- Helper text
+
+## Example:
+
+This example story shows the radio button group as it would be used in a form. In a form group, using additional Material UI components shown in the story, you can set values for:
+
+- Group label
+- Labels
+- Display all radio buttons in a row
+- Disable the group of radio buttons
+- Helper text
diff --git a/packages/ui-core/stories/select.notes.md b/packages/ui-core/stories/select.notes.md
new file mode 100644
index 000000000..a598f3925
--- /dev/null
+++ b/packages/ui-core/stories/select.notes.md
@@ -0,0 +1,20 @@
+# Select Component
+
+The CIVIC platform select component is built from Material UI's select. It is customized to meet the needs of the CIVIC platform.
+
+## Standard One and Standard Two
+
+The Standard stories show the standard usage of Select for the CIVIC platform. Select includes standard styling.
+
+These properties can be set in the Standard story:
+
+- Form label
+- Disabled
+- List items:
+ The list items can be specified as names in an array, as shown in the Standard One story. The list items can also be specified as an array of objects of value and name, as shown in the Standard Two story.
+
+## Custom
+
+The Custom story shows all possible properties that can be passed to the Select component for customization in the CIVIC platform. They include the properties in the Standard stories, including either data format, plus:
+
+- Form helper text
diff --git a/packages/ui-core/stories/selectField.notes.md b/packages/ui-core/stories/selectField.notes.md
new file mode 100644
index 000000000..511c9dbdb
--- /dev/null
+++ b/packages/ui-core/stories/selectField.notes.md
@@ -0,0 +1,5 @@
+# SelectField Component
+
+## Standard
+
+The Standard story shows uses the standard usage of the SelectField for the CIVIC platform. SelectField includes standard styling.
diff --git a/packages/ui-core/stories/storyStyles.js b/packages/ui-core/stories/storyStyles.js
new file mode 100644
index 000000000..e480313c4
--- /dev/null
+++ b/packages/ui-core/stories/storyStyles.js
@@ -0,0 +1,59 @@
+/*
+ Styles used in Storybook.
+ Only styles that are needed exclusively in Storybook are defined here.
+*/
+
+import { BrandColors } from "@hackoregon/ui-themes";
+
+const storybookStyles = {
+ // The display area for components
+ main: {
+ backgroundColor: "white",
+ margin: 15,
+ maxWidth: 800
+ },
+
+ // Use CSS grid to center UI components in the Storybook display area
+ storyGrid: {
+ display: "grid",
+ gridTemplateColumns: "1fr 2fr 1fr",
+ gridTemplateRows: "1fr 1fr 1fr",
+ gridGap: "10px"
+ },
+
+ storyGridItem: {
+ gridRow: 2,
+ gridColumn: 2,
+ alignSelf: "center",
+ justifyContent: "center"
+ },
+
+ // Show inverted logos on a dark background in the Branding Logos story
+ invertedLogo: {
+ backgroundColor: BrandColors.primary.hex,
+ margin: 20,
+ padding: 20
+ },
+
+ logo: {
+ paddingLeft: 20
+ },
+
+ // Display a solid color
+ solidColorSample: {
+ display: "flex"
+ },
+
+ // Brand color palette
+ colorBlock: {
+ height: 125,
+ width: 300,
+ marginLeft: 0,
+ marginTop: 10,
+ marginRight: 20,
+ marginBottom: 10
+ }
+};
+
+// eslint-disable-next-line import/prefer-default-export
+export { storybookStyles };
diff --git a/packages/ui-docs/.babelrc b/packages/ui-docs/.babelrc
new file mode 100644
index 000000000..9e5af5886
--- /dev/null
+++ b/packages/ui-docs/.babelrc
@@ -0,0 +1,3 @@
+{
+ "extends": "@hackoregon/civic-babel-presets/.babelrc"
+}
\ No newline at end of file
diff --git a/packages/ui-docs/README.md b/packages/ui-docs/README.md
new file mode 100644
index 000000000..3ee323327
--- /dev/null
+++ b/packages/ui-docs/README.md
@@ -0,0 +1,19 @@
+# @hackoregon/ui-docs
+
+---
+
+This package contains the documentation and styles used in our design system.
+
+This package is in alpha, and may have breaking changes.
+
+## Installation
+
+_Latest version:_
+
+```
+yarn add @hackoregon/ui-docs@ci
+```
+
+## Documentation
+
+Documentation is in [Storybook](https://hackoregon.github.io/civic/)
diff --git a/packages/ui-docs/package.json b/packages/ui-docs/package.json
new file mode 100644
index 000000000..79f085fdf
--- /dev/null
+++ b/packages/ui-docs/package.json
@@ -0,0 +1,41 @@
+{
+ "name": "@hackoregon/ui-docs",
+ "version": "0.0.4",
+ "sideEffects": false,
+ "description": "Common library for CIVIC UI documentation, including style guides",
+ "main": "dist/index.js",
+ "modules": "es/index.js",
+ "scripts": {
+ "build:esm": "rimraf es && babel src --out-dir es --copy-files --no-comments",
+ "build:cjs": "rimraf dist && babel src --out-dir dist --copy-files --no-comments",
+ "build": "BABEL_ENV=esm yarn run build:esm && BABEL_ENV=cjs yarn run build:cjs",
+ "configure": "yarn run build",
+ "test": "BABEL_ENV=test mocha --opts ./mocha.options ./src/**/*.test.js",
+ "test:watch": "yarn test -w",
+ "lint": "eslint src stories",
+ "storybook": "node scripts/storybook.js",
+ "start": "node scripts/start.js"
+ },
+ "repository": "git+https://github.com/hackoregon/civic.git",
+ "author": "jaron@civicsoftwarefoundation.org",
+ "license": "MIT",
+ "private": false,
+ "devDependencies": {
+ "@babel/cli": "^7.0.0",
+ "@babel/core": "^7.0.0",
+ "@hackoregon/ui-brand": "^0.0.4",
+ "@storybook/addon-a11y": "^5.3.18",
+ "@storybook/react": "^5.3.18",
+ "eslint": "^5.15.1",
+ "mocha": "^6.0.2",
+ "rimraf": "^2.6.2"
+ },
+ "dependencies": {
+ "@hackoregon/ui-themes": "^0.0.4",
+ "react": "^16.8.4",
+ "react-dom": "^16.8.4"
+ },
+ "publishConfig": {
+ "access": "public"
+ }
+}
diff --git a/packages/ui-docs/scripts/start.js b/packages/ui-docs/scripts/start.js
new file mode 100644
index 000000000..efa32c755
--- /dev/null
+++ b/packages/ui-docs/scripts/start.js
@@ -0,0 +1,3 @@
+console.log(
+ "`yarn start` doesn't work here. Maybe you meant to run `yarn storybook` at project root?"
+);
diff --git a/packages/ui-docs/scripts/storybook.js b/packages/ui-docs/scripts/storybook.js
new file mode 100644
index 000000000..eb59d3969
--- /dev/null
+++ b/packages/ui-docs/scripts/storybook.js
@@ -0,0 +1,3 @@
+console.log(
+ "`yarn storybook` doesn't work here. Maybe you meant to run `yarn storybook` at project root?"
+);
diff --git a/packages/ui-docs/src/_Storybook/storyStyles.js b/packages/ui-docs/src/_Storybook/storyStyles.js
new file mode 100644
index 000000000..23596c64e
--- /dev/null
+++ b/packages/ui-docs/src/_Storybook/storyStyles.js
@@ -0,0 +1,59 @@
+/*
+ Styles used in Storybook.
+ Only styles that are needed exclusively in Storybook are defined here.
+*/
+
+import { BrandColors } from "@hackoregon/ui-themes";
+
+const storybookStyles = {
+ // The display area for components
+ main: {
+ backgroundColor: "white",
+ margin: 15,
+ maxWidth: 800
+ },
+
+ // Use CSS grid to center UI components in the Storybook display area
+ storyGrid: {
+ display: "grid",
+ gridTemplateColumns: "1fr 2fr 1fr",
+ gridTemplateRows: "1fr 1fr 1fr",
+ gridGap: "10px"
+ },
+
+ storyGridItem: {
+ gridRow: 2,
+ gridColumn: 2,
+ alignSelf: "center",
+ justifyContent: "center"
+ },
+
+ // Show inverted logos on a dark background in the Branding Logos story
+ invertedLogo: {
+ backgroundColor: BrandColors.primary.hex,
+ margin: 20,
+ padding: 20
+ },
+
+ logo: {
+ paddingLeft: 20
+ },
+
+ // Display a solid color
+ solidColorSample: {
+ display: "flex"
+ },
+
+ // Brand color palette
+ colorBlock: {
+ height: 125,
+ width: 300,
+ marginLeft: 0,
+ marginTop: 10,
+ marginRight: 20,
+ marginBottom: 10
+ }
+};
+
+// eslint-disable-next-line import/prefer-default-export
+export default storybookStyles;
diff --git a/packages/ui-docs/src/index.js b/packages/ui-docs/src/index.js
new file mode 100644
index 000000000..68d2cd9f6
--- /dev/null
+++ b/packages/ui-docs/src/index.js
@@ -0,0 +1,2 @@
+// eslint-disable-next-line import/prefer-default-export
+export { default as storybookStyles } from "./_Storybook/storyStyles";
diff --git a/packages/ui-docs/stories/index.story.js b/packages/ui-docs/stories/index.story.js
new file mode 100644
index 000000000..10e9780c6
--- /dev/null
+++ b/packages/ui-docs/stories/index.story.js
@@ -0,0 +1,40 @@
+/* eslint-disable import/no-extraneous-dependencies */
+import React from "react";
+import { storiesOf } from "@storybook/react";
+import { checkA11y } from "@storybook/addon-a11y";
+
+// DO NOT REMOVE OR MODIFY THIS COMMENT - hygen component generator import injection
+import AccessibilityGuidelinesStyle from "./styleGuideStories/AccessibilityGuidelinesStyle.story";
+import CardsStyle from "./styleGuideStories/CardsStyle.story";
+import DataVisualizationStyle from "./styleGuideStories/DataVisualizationStyle.story";
+import FormsStyle from "./styleGuideStories/FormsStyle.story";
+import IconographyStyle from "./styleGuideStories/IconographyStyle.story";
+import Introduction from "./styleGuideStories/Introduction.story";
+import MotionStyle from "./styleGuideStories/MotionStyle.story";
+import NavigationStyle from "./styleGuideStories/NavigationStyle.story";
+import ResponsiveDesignStyle from "./styleGuideStories/ResponsiveDesignStyle.story";
+import TerminologyStyle from "./styleGuideStories/TerminologyStyle.story";
+import TheBrandStyle from "./styleGuideStories/TheBrandStyle.story";
+import ThePlatformStyle from "./styleGuideStories/ThePlatformStyle.story";
+
+storiesOf("Welcome|About Us", module)
+ .addParameters({ options: { showPanel: false } })
+ .addDecorator(checkA11y)
+ .add("Introduction", () => )
+ .add("The CIVIC Brand", () => )
+ .add("The CIVIC Platform", () => );
+
+// UX Style Guide
+storiesOf("Design|UX Style Guide", module)
+ .addParameters({ options: { showPanel: false } })
+ .addDecorator(checkA11y)
+ .add("Accessibility", () => )
+ .add("Story Cards", () => )
+ .add("Data Visualization", () => )
+ .add("Forms", () => )
+ .add("Iconography", () => )
+ .add("Motion", () => )
+ .add("Navigation", () => )
+ .add("Responsive Design", () => )
+ .add("Terminology", () => );
+// DO NOT REMOVE OR MODIFY THIS COMMENT - hygen component generator story injection
diff --git a/packages/ui-docs/stories/styleGuideStories/AccessibilityGuidelinesStyle.story.js b/packages/ui-docs/stories/styleGuideStories/AccessibilityGuidelinesStyle.story.js
new file mode 100644
index 000000000..c09cec00d
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/AccessibilityGuidelinesStyle.story.js
@@ -0,0 +1,243 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const AccessibilityGuidelines = () => (
+
+
Accessibility
+
+ The CIVIC platform aims to be radically inclusive. Towards that aim, we
+ start by incorporating best practices in web accessibility, and build
+ tools that allow us to participate and contribute in ways that truly
+ appreciate our different abilities and perspectives.
+
+
+ The CIVIC platform will meet all criteria specified in{" "}
+
+ Web Content Accessibility Guidelines (WCAG) 2.1
+ {" "}
+ Level A and Level AA.
+
+
What types of disabilities do we need to account for?
+
Visual
+
Blindness, low vision, and color-blindness.
+
Hearing
+
Deafness and hard-of-hearing.
+
Motor
+
+ Inability to use a mouse, slow response time, and limited fine motor
+ control.
+
+
Cognitive
+
+ Learning disabilities, distractibility, and inability to remember or focus
+ on large amounts of information.
+
+
+
What are the principles of the guidelines?
+
+ See{" "}
+
+ How to Meet WCAG
+ {" "}
+ for a quick reference on meeting the four principles of WCAG.
+
+
Perceivable
+
+ Information and user interface components must be presentable to users in
+ ways they can perceive.
+
+
+ It must be available to the senses, vision and hearing primarily, either
+ through the browser or through assistive technologies, e.g., screen
+ readers, screen enlargers, etc.
+
+
Operable
+
User interface components and navigation must be operable.
+
+ Users can interact with all controls and interactive elements using either
+ the mouse, keyboard, or an assistive device.
+
+
Understandable
+
Content is clear and limits confusion and ambiguity.
+
+ Information and the operation of user interface must be understandable.
+
+
Robust
+
+ Content must be robust enough that it can be interpreted reliably by a
+ wide variety of user agents, including assistive technologies.
+
+
+
Implementation Checklist
+
+ Implementation of the accessibility guidelines can be done using this
+ order of priority. Considerations when proposing this order are the most
+ common disabilities and the most common features in our user interfaces.
+
+
Color Theme
+
+ Meet contrast ratios between text and its background color and between
+ colors used to represent distinct information in data visualization.
+ WebAIM describes the guidelines and has many examples
+
+ : WebAIM Contrast and Color Accessibility
+
+ .
+
+
Forms
+
+ See{" "}
+
+ Web Accessibility Tutorials on Forms
+
+ . The following sections in the tutorials are especially relevant to the
+ CIVIC platform.
+
+
+ Labels
+ Groups
+ Instructions
+ Validating input
+ User notifications
+ Custom controls
+
+
+ The Forms story has an example of a form that follows our styles and meets
+ accessibility requirements.
+
+
Resize Text
+
Allow text to be increased in size and readable.
+
Images
+
Use alternative text with images.
+
+
Data Visualization
+
Low vision
+
+ For people who are blind, include text descriptions of any meaningful
+ images that can be read by assistive technology (screen readers). A person
+ with low vision is still able to perceive visual insights with the help of
+ accessibility features and considerations. Provide the opportunity to
+ increase the size of elements and focus on particular areas by zooming and
+ magnifying. Follow the WCAG 2.0 Level AA guidelines for contrast — high
+ contrast is crucial to improve legibility. Body text should have a
+ contrast ratio of at least 4.5:1 (and large text should be at least 3:1)
+ against its background color. Include textual content to provide
+ alternatives to visual information (especially color). Use captions and
+ always provide a table version of the visualization. Allow keyboard
+ alternatives for navigating graphical user interfaces.
+
+
Color blind
+
+ The two most common forms of color blindness are deuteranomaly and
+ deuteranopia — which together account for about 6% of men, and protanomaly
+ and protanopia, which account for another 2%. Tritanopia is very rare, and
+ affects less than 0.001% of men. For those affected the two most difficult
+ colors to distinguish are green and red. Stressing the contrast between
+ dark and light values is a good way to make the colors recognizable. While
+ hue and saturation have minimal effect on legibility, brightness
+ differences are far more perceptible.
+
+
+ Easily distinguishable formats (like bar charts or treemaps) or markers
+ (as used in scatter plots or maps) can supplement color to express
+ information. Those work perfectly, even in black and white, and reduce
+ problems for people with color blindness. Remember, the best way to
+ support accessibility for all visual disabilities is to provide
+ alternatives to visual information (especially color), using text and
+ tabular versions of the visualization. IBM data visualization guidelines.
+
+
+ Two good references for meeting accessibility requirements in data
+ visualizations:{" "}
+
+ Data Visualizations
+
+ ,{" "}
+
+ IBM Data Visualization Guidelines
+
+ .
+
+
Reading and Navigation Order
+
Logical and intuitive.
+
Keyboard Accessible
+
Navigation to all page elements is available using the keyboard.
+
Keyboard commands reference: (placeholder).
+
+
What are the guidelines and who made them?
+
+ The{" "}
+
+ W3C (World Wide Web Consortium)
+ {" "}
+ develops web standards; they are led by the Web inventor Tim Berners-Lee.
+ One of their initiatives is the{" "}
+
+ WAI (Web Accessibility Initiative)
+
+ , to improve accessibility of the Web for people with disabilities.
+
+
+ The WAI is made up of several working groups and Special Interest groups.
+ The most important working group is the{" "}
+
+ WCAG WG (Web Content Accessibility Guidelines Working Group)
+
+ . This group published{" "}
+
+ WCAG 2.1
+
+ ; their web site has many useful resources and materials.
+
+
+ Another organization that does a good job of explaining accessibility and
+ the guidelines is{" "}
+
+ WebAIM
+
+ .
+
+
+);
+
+export default AccessibilityGuidelines;
diff --git a/packages/ui-docs/stories/styleGuideStories/CardsStyle.story.js b/packages/ui-docs/stories/styleGuideStories/CardsStyle.story.js
new file mode 100644
index 000000000..d7b187f57
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/CardsStyle.story.js
@@ -0,0 +1,11 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const CardsStyle = () => (
+
+
Story Cards
+
Placeholder for Story Cards style guidelines.
+
+);
+
+export default CardsStyle;
diff --git a/packages/ui-docs/stories/styleGuideStories/ChartsStyle.story.js b/packages/ui-docs/stories/styleGuideStories/ChartsStyle.story.js
new file mode 100644
index 000000000..dfa4726b7
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/ChartsStyle.story.js
@@ -0,0 +1,11 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const ChartsStyle = () => (
+
+
Charts Style Guide
+
This is the Style Guide for Charts.
+
+);
+
+export default ChartsStyle;
diff --git a/packages/ui-docs/stories/styleGuideStories/CivicPlatformStyle.story.js b/packages/ui-docs/stories/styleGuideStories/CivicPlatformStyle.story.js
new file mode 100644
index 000000000..c140d90f2
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/CivicPlatformStyle.story.js
@@ -0,0 +1,11 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const CivicPlatformStyle = () => (
+
+
CIVIC Platform Components Style Guide
+
This is the Style Guide for the CIVIC Platform.
+
+);
+
+export default CivicPlatformStyle;
diff --git a/packages/ui-docs/stories/styleGuideStories/ColorThemeStyle.story.js b/packages/ui-docs/stories/styleGuideStories/ColorThemeStyle.story.js
new file mode 100644
index 000000000..454dced1f
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/ColorThemeStyle.story.js
@@ -0,0 +1,186 @@
+import React from "react";
+import { BrandColors, VisualizationColors } from "@hackoregon/ui-themes";
+import { storybookStyles } from "../../src";
+
+const categoricalColors = VisualizationColors.categorical;
+
+const ColorThemeStyle = () => (
+
+
Color Theme
+
Brand
+
+
+
+
+
Primary
+
Hex: {BrandColors.primary.hex}
+
{BrandColors.primary.rgb}
+
+ Used for primary content such as logos, headings, and backgrounds.
+
+
+
+
+
+
+
+
Secondary
+
Hex: {BrandColors.secondary.hex}
+
{BrandColors.secondary.rgb}
+
+ Used in the logo and for an accent color in the platform.
+
+
+
+
+
+
+
+
Tertiary
+
Hex: {BrandColors.tertiary.hex}
+
{BrandColors.tertiary.rgb}
+
+ Compliment to primary for paragraphs and secondary content. Currently
+ same as primary.
+
+
+
+
+
+
+
+
Medium
+
Hex: {BrandColors.medium.hex}
+
{BrandColors.medium.rgb}
+
+ Used for primary brand content such as logo, headings, backgrounds.
+
+
+
+
+
+
+
+
Subdued
+
Hex: {BrandColors.subdued.hex}
+
{BrandColors.subdued.rgb}
+
+ Used in logo and action color within the platform.
+
+
+
+
+
+
+
+
Action
+
Hex: {BrandColors.action.hex}
+
{BrandColors.action.rgb}
+
Used for action color within the platform.
+
+
+
+
Brand: Other
+
+
+
+
Plum Light
+
Hex: {BrandColors.plumLight.hex}
+
{BrandColors.plumLight.rgb}
+
Purpose undefined
+
+
+
+
Visualizations: Categorical
+
+
+
+
Pink
+
Hex: {categoricalColors.pink.hex}
+
{categoricalColors.pink.rgb}
+
+
+
+
+
+
Blue
+
Hex: {categoricalColors.blue.hex}
+
{categoricalColors.blue.rgb}
+
+
+
+
+
+
Teal
+
Hex: {categoricalColors.green.hex}
+
{categoricalColors.green.rgb}
+
+
+
+
+
+
Purple
+
Hex: {categoricalColors.purple.hex}
+
{categoricalColors.purple.rgb}
+
+
+
+
+
+
Yellow
+
Hex: {categoricalColors.yellow.hex}
+
{categoricalColors.yellow.rgb}
+
+
+
+);
+
+export default ColorThemeStyle;
diff --git a/packages/ui-docs/stories/styleGuideStories/DataVisualizationStyle.story.js b/packages/ui-docs/stories/styleGuideStories/DataVisualizationStyle.story.js
new file mode 100644
index 000000000..0e26af2ef
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/DataVisualizationStyle.story.js
@@ -0,0 +1,233 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const DataVisualizationStyle = () => (
+
+
Data Visualization
+
Our data visualizations demonstrate the power of the Civic platform.
+
Purpose
+
+ Civic is a data platform. Our data visualizations demonstrate the power of
+ the Civic platform. Our platform shows the viability of an open-systems,
+ open-source approach to public data. These guidelines outline our approach
+ to data visualization.
+
+
Principles
+
Our data visualizations should:
+
+ show the value of data in the hands of the community
+ be legible, clean, and professional
+ be aware of bias
+ be accessible
+
+
Embrace imperfection
+
+ Data-driven doesn’t mean unmistakably true because data and the tools that
+ collect it are human-made. Data is not pure fact, but evidence that
+ filters reality in a very subjective way. It has the unique power to
+ abstract our world and help us understand it, according to relevant
+ factors that are different or constantly changing. See{" "}
+
+ IBM data visualization guidelines
+
+ .
+
+
Be aware of bias
+
+ A data visualization provides a lens and is a perspective on reality. Bias
+ cannot be eliminated. There is no such thing as an unbiased data
+ visualization. However, by being aware of bias, you can present the most
+ accurate and useful perspectives on reality through your visualization.
+ Generally, what is perceived as biased is based on the perspective of the
+ observer. What data is collected, how data is collected, how data is
+ calculated, how data is categorized, how data is contextualized, what data
+ is presented, how data is visualized, etc... all inform bias.
+
+
Show meaningful relationships
+
+ Data visualizations that show relationships imply meaning in those
+ relationships. Don’t make spurious relationship between disparate data.
+ You may have heard the phrase “correlation does not imply causation”. Data
+ visualizations that show correlation without context imply causation.
+
+
Data density - impress but don’t overwhelm
+
+ Our data density should aim to impress but not overwhelm. Data
+ visualizations should be dense with information and detail - humans are
+ capable of absorbing a lot of visual information very quickly. However, it
+ is easy to overwhelm by showing too many different types of relationships
+ at one time.
+
+
Chart Types
+
+ The Civic platform uses a reusable component library. Basic components
+ should be used where possible, and new reusable components should be built
+ instead of creating one-off visualizations. The currently library of
+ components is documented in the{" "}
+
+ CIVIC Storybook, Charts
+
+ .
+
+
Bar chart
+
+ Vertical Bar Charts, also referred to as Column Charts, are used to
+ compare quantities of different categories or to show values over time.
+ When showing variables over time, you should choose a Bar Chart over a
+ Line Chart when the rate of change is more relevant than the relative
+ magnitudes. If comparing quantities of more than 5 categories, use a
+ Horizontal Bar Chart instead.
+
+
+
Gradient scale
+
More info to follow
+
Horizontal Bar chart
+
+ Horizontal Bar Charts are used to compare quantities of different
+ categories (especially 6 or more).
+
+
Line chart
+
+ Line Charts track changes or trends over time and show the relationship
+ between one or more variables. When showing variables over time, you
+ should choose a Line Chart over a Bar Chart when the rate of change is
+ more relevant than the relative magnitudes.
+
+
Pie/doughnut
+
When to use/why to use
+
Best practices for how to use it
+
More info to follow
+
Scatterplot
+
More info to follow
+
Stacked area chart
+
More info to follow
+
Maps
+
+ Within the Civic reusable component library, a number of map types are
+ available.
+
+
Boundary map
+
More info to follow
+
CIVIC Sandbox map
+
More info to follow
+
Heat map
+
More info to follow
+
Hex overlay
+
More info to follow
+
Icon map
+
More info to follow
+
Map overlay
+
More info to follow
+
Path map
+
More info to follow
+
Scatterplot map
+
More info to follow
+
Screen grid map
+
More info to follow
+
+
Details
+
Titles
+
+ All data visualizations should have a short, but descriptive title. It may
+ make sense to have a title as part of a card or as part of the actual
+ visualization.
+
+
Labels
+
+ Labels should be concise and descriptive
+ If possible, label elements directly instead of a legend
+ Use bold text only for emphasis
+ Avoid type rotation
+
+
Annotation
+
+ Annotation should be used to explain outliers and provide additional
+ context.
+
+
Tooltips
+
+ Our basic charts use tooltips to enable close examination of individual
+ data points.
+
+
Colors
+
More info to follow
+
Showing quantities
+
+ Civic uses a number formatter to ensure consistent formatting across the
+ platform.
+
+
+ Commas
+ Always use commas for thousands separator.
+ Numbers and decimal places
+
+ Use units that will result in showing a maximum of 6 digits
+
+ Fewer digits is better
+
+ Lean towards showing 0-1 decimal places
+
+ Should reflect the precision of the data
+ Show whole dollars or dollars and cents (e.g. $123 or $1.23)
+
+ Examples
+
+ $7.3 million, not $7,300,000
+ 24%, not 23.79%
+ $535,000
+
+ Show units (e.g. dollar sigh, percent)
+
+
+
Responsiveness
+
+ Our data visualizations should look good on a phone and on a desktop
+ computer. Generally, our approach to responsiveness is to scale everything
+ - text and chart elements together. This approach may evolve.
+
+
Legends
+
+ If possible, elements should be directly labeled rather than using a
+ legend.
+
+
Proper scaling
+
+ Domain and scaling for axes should be set for each data visualization to
+ ensure readability.
+
+
Accessibility
+
+ We support accessibility for all visual disabilities by providing
+ alternatives to visual information, using text and tabular versions of the
+ visualization.
+
+
+ See{" "}
+
+ CIVIC Storybook, Accessibility
+
+ .
+
+
Interaction
+
Interaction should have a clear purpose.
+
Small multiples
+
+ The pattern of filtering small multiples is one of our preferred design
+ patterns.
+
+
+);
+
+export default DataVisualizationStyle;
diff --git a/packages/ui-docs/stories/styleGuideStories/FormsStyle.story.js b/packages/ui-docs/stories/styleGuideStories/FormsStyle.story.js
new file mode 100644
index 000000000..3477be753
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/FormsStyle.story.js
@@ -0,0 +1,11 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const FormsStyle = () => (
+
+
Forms
+
Placeholder for Forms style guidelines.
+
+);
+
+export default FormsStyle;
diff --git a/packages/ui-docs/stories/styleGuideStories/IconographyStyle.story.js b/packages/ui-docs/stories/styleGuideStories/IconographyStyle.story.js
new file mode 100644
index 000000000..b48324f8a
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/IconographyStyle.story.js
@@ -0,0 +1,11 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const IconographyStyle = () => (
+
+
Iconography
+
Placeholder for Iconography style guidelines.
+
+);
+
+export default IconographyStyle;
diff --git a/packages/ui-docs/stories/styleGuideStories/Introduction.story.js b/packages/ui-docs/stories/styleGuideStories/Introduction.story.js
new file mode 100644
index 000000000..f85f9fc67
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/Introduction.story.js
@@ -0,0 +1,29 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const Introduction = () => (
+
+
Introduction to CIVIC's Storybook
+
Our Storybook shows how to use the CIVIC platform.
+
It has a style guide and the platform components.
+
Contributions to the CIVIC platform are welcome.
+
Development
+
+ Component stories are in the /stories directory. They show a state of one
+ or more UI components. (Basically a story is like a visual test case.)
+
+
See these sample stories for a component called Button.
+
+ You can add your own components as stories. You can also edit those
+ components and see changes right away. Try editing the Button component.
+
+
+ Our Storybook is iterative and will be updated as the CIVIC Platform
+ continues to grow. Please reach out to us in the SLACK #team_design
+ channel with any questions about usage or suggestions for improving the
+ stories.
+
+
+);
+
+export default Introduction;
diff --git a/packages/ui-docs/stories/styleGuideStories/LogosStyle.story.js b/packages/ui-docs/stories/styleGuideStories/LogosStyle.story.js
new file mode 100644
index 000000000..27216042b
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/LogosStyle.story.js
@@ -0,0 +1,93 @@
+import React from "react";
+import { Logo } from "@hackoregon/ui-brand";
+import { storybookStyles } from "../../src";
+
+const LogosStyle = () => (
+
+
Logos
+
Quick Usage Guide
+
+ This quick usage guide should assist in using the appropriate logo version
+ for most applications. Examples of each version in use follows.
+
+
Step 1: Select Orientation Type
+
+ Select the appropriate orientation and size for the space in which the
+ logo will appear.
+
+
Wide
+
Standard go-to Logo. Animates on initial load.
+
+ {` `}
+
+
+
+
+
Icon
+
+ Use only when standard “CIVIC” logo has already been used or in some
+ primary brand content where “CIVIC” is already understood by the audience.
+
+
+ {` `}
+
+
+
+
+
+
Step 2: Select Color Version
+
+ Select the appropriate color version for the background behind the logo.
+
+
Standard
+
Standard go-to Logo. Use on light solid-color backgrounds.
+
+ {` `}
+
+
+
+
+
+
Inverted
+
Use on a dark, solid-color background.
+
+ {` `}
+
+
+
+
+
+ {` `}
+
+
+
+
+
+ {` `}
+
+
+
+
+
+
Other Logos
+
Hack Oregon Logo
+
Used for Hack Oregon
+
+ {` `}
+
+
+
+
+
+
CIVIC Master Builders
+
Used for the CIVIC Master Builders program
+
+ {` `}
+
+
+
+
+
+);
+
+export default LogosStyle;
diff --git a/packages/ui-docs/stories/styleGuideStories/MapsStyle.story.js b/packages/ui-docs/stories/styleGuideStories/MapsStyle.story.js
new file mode 100644
index 000000000..370abebcf
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/MapsStyle.story.js
@@ -0,0 +1,11 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const MapsStyle = () => (
+
+
Maps Style Guide
+
This is the Style Guide for Maps.
+
+);
+
+export default MapsStyle;
diff --git a/packages/ui-docs/stories/styleGuideStories/MotionStyle.story.js b/packages/ui-docs/stories/styleGuideStories/MotionStyle.story.js
new file mode 100644
index 000000000..0f3219c4b
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/MotionStyle.story.js
@@ -0,0 +1,11 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const MotionStyle = () => (
+
+
Motion Style
+
Placeholder for Motion style guidelines.
+
+);
+
+export default MotionStyle;
diff --git a/packages/ui-docs/stories/styleGuideStories/NavigationStyle.story.js b/packages/ui-docs/stories/styleGuideStories/NavigationStyle.story.js
new file mode 100644
index 000000000..5b00d1457
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/NavigationStyle.story.js
@@ -0,0 +1,11 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const NavigationStyle = () => (
+
+
Navigation Style
+
Placeholder for Navigation style guidelines.
+
+);
+
+export default NavigationStyle;
diff --git a/packages/ui-docs/stories/styleGuideStories/ResponsiveDesignStyle.story.js b/packages/ui-docs/stories/styleGuideStories/ResponsiveDesignStyle.story.js
new file mode 100644
index 000000000..f0bbe42f6
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/ResponsiveDesignStyle.story.js
@@ -0,0 +1,11 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const ResponsiveDesignStyle = () => (
+
+
Responsive Design
+
Placeholder for Responsive Design guidelines.
+
+);
+
+export default ResponsiveDesignStyle;
diff --git a/packages/ui-docs/stories/styleGuideStories/TerminologyStyle.story.js b/packages/ui-docs/stories/styleGuideStories/TerminologyStyle.story.js
new file mode 100644
index 000000000..39f4db0f6
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/TerminologyStyle.story.js
@@ -0,0 +1,11 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const TerminologyStyle = () => (
+
+
Terminology
+
Placeholder for Terminology guidelines.
+
+);
+
+export default TerminologyStyle;
diff --git a/packages/ui-docs/stories/styleGuideStories/TheBrandStyle.story.js b/packages/ui-docs/stories/styleGuideStories/TheBrandStyle.story.js
new file mode 100644
index 000000000..539720567
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/TheBrandStyle.story.js
@@ -0,0 +1,30 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const TheBrandStyle = () => (
+
+
Welcome to the CIVIC Brand
+
+ All of us connected to the Civic platform are the Brand. The logo, colors,
+ typography, etc is all meant as shorthand for expressing our intent and
+ values.
+
+
Values
+
+ Data for the People by the People
+ Story over Framework
+ Usable over Pretty
+ Neutrality over Partisanship
+ Inclusion over Specificity
+ Clarity over Saturation
+
+
+ Our Storybook is iterative and will be updated as the CIVIC Platform
+ continues to grow. Please reach out to us in the SLACK #team_design
+ channel with any questions about usage or suggestions for improving the
+ stories.
+
+
+);
+
+export default TheBrandStyle;
diff --git a/packages/ui-docs/stories/styleGuideStories/ThePlatformStyle.story.js b/packages/ui-docs/stories/styleGuideStories/ThePlatformStyle.story.js
new file mode 100644
index 000000000..dee63d563
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/ThePlatformStyle.story.js
@@ -0,0 +1,35 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const ThePlatformStyle = () => (
+
+
Welcome to the CIVIC Platform
+
+ CIVIC is a radical new open data platform that enables engaged exploration
+ of civic analytics. We make public information, public knowledge.
+
+
Powered by the People for the People.
+
The Purpose
+
+ The purpose of this product is to showcase the power of open data and to
+ cultivate new prosperous relationships among Hack Oregon, community
+ organizations and citizens alike.
+
+
Values
+
+ Accessibility
+ Accuracty
+ Curiosity
+ Discoverability
+ Engagement
+ Inclusion
+ Speed
+ Transparency
+ Usability
+ Utility
+ Warmth
+
+
+);
+
+export default ThePlatformStyle;
diff --git a/packages/ui-docs/stories/styleGuideStories/TypographyStyleCommonSample.story.js b/packages/ui-docs/stories/styleGuideStories/TypographyStyleCommonSample.story.js
new file mode 100644
index 000000000..088197036
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/TypographyStyleCommonSample.story.js
@@ -0,0 +1,35 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const TypographyStyleCommonSample = () => (
+
+
Common Sample:
+
Headline (Rubik Light)
+
Meta data (Merriweather)
+
Sub heading (Rubik Bold)
+
Paragraph (Merriweather)
+
+ Action (Rubik
+ Medium)
+
+
+
Example of a Common Sample:
+
The Effect of the Minimum Wage throughout Oregon
+
March 31st, 2017 | Published by Hack Oregon
+
How does it affect me?
+
+ Vivamus vitae odio tempor neque iaculis iaculis. Vestibulum ante ipsum
+ primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam
+ gravida risus nibh, non rutrum ipsum efficitur at. Fusce volutpat nisl nec
+ odio aliquet facilisis. Integer eu lacus metus. Mauris tortor lectus,
+ pulvinar a aliquet vel, venenatis a diam. Vivamus et lorem feugiat,
+ venenatis justo vel, luctus eros.
+
+
+
+
+);
+
+export default TypographyStyleCommonSample;
diff --git a/packages/ui-docs/stories/styleGuideStories/TypographyStyleHeadings.story.js b/packages/ui-docs/stories/styleGuideStories/TypographyStyleHeadings.story.js
new file mode 100644
index 000000000..2479d3c9c
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/TypographyStyleHeadings.story.js
@@ -0,0 +1,17 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const TypographyStyleHeadings = () => (
+
+
Headings:
+ Heading 1 Rubik Light in 36 point
+ Heading 2 Rubik Bold in 21 point
+ Heading 3 Rubik Black in 18 point
+ Heading 4 Rubik Black in 16 point
+ Heading 5 Rubik Bold in 13 point
+ Heading 6 Rubik Bold in 11 point
+
+
+);
+
+export default TypographyStyleHeadings;
diff --git a/packages/ui-docs/stories/styleGuideStories/TypographyStyleParagraphs.story.js b/packages/ui-docs/stories/styleGuideStories/TypographyStyleParagraphs.story.js
new file mode 100644
index 000000000..59438f0de
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/TypographyStyleParagraphs.story.js
@@ -0,0 +1,71 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const TypographyStyleParagraphs = () => (
+
+
Paragraphs:
+
Large Paragraph
+
+ Large Paragraph can be used as an intro paragraph or callout within
+ content. Merriweather regular 16pt. Vivamus vitae odio tempor neque
+ iaculis iaculis. Vestibulum ante ipsum primis in faucibus orci luctus et
+ ultrices posuere cubilia Curae; Aliquam gravida risus nibh, non rutrum
+ ipsum efficitur at. Fusce volutpat nisl nec odio aliquet facilisis.
+ Integer eu lacus metus. Mauris tortor lectus, pulvinar a aliquet vel,
+ venenatis a diam. Vivamus et lorem feugiat, venenatis justo vel, luctus
+ eros.
+
+
Normal Paragraph
+
+ Normal Paragraph should be used throughout the content by default, except
+ in the case above. Merriweather regular 13pt. Vivamus vitae odio tempor
+ neque iaculis iaculis. Vestibulum ante ipsum primis in faucibus orci
+ luctus et ultrices posuere cubilia Curae; Aliquam gravida risus nibh, non
+ rutrum ipsum efficitur at. Fusce volutpat nisl nec odio aliquet facilisis.
+ Integer eu lacus metus. Mauris tortor lectus, pulvinar a aliquet vel,
+ venenatis a diam. Vivamus et lorem feugiat, venenatis justo vel, luctus
+ eros.
+
+
Action Inside a Paragraph
+
+ Vivamus vitae odio tempor neque iaculis iaculis. Vestibulum ante ipsum
+ primis in{" "}
+ faucibus orci {" "}
+ luctus et ultrices posuere cubilia Curae; Aliquam gravida risus nibh, non
+ rutrum ipsum efficitur at. Fusce volutpat nisl nec odio aliquet facilisis.
+ Integer eu lacus metus. Mauris tortor lectus, pulvinar a aliquet vel,
+ venenatis a diam. Vivamus et lorem feugiat, venenatis justo vel, luctus
+ eros.
+
+
Action Outside a Paragraph
+
+ Vivamus vitae odio tempor neque iaculis iaculis. Vestibulum ante ipsum
+ primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam
+ gravida risus nibh, non rutrum ipsum efficitur at. Fusce volutpat nisl nec
+ odio aliquet facilisis. Integer eu lacus metus. Mauris tortor lectus,
+ pulvinar a aliquet vel, venenatis a diam. Vivamus et lorem feugiat,
+ venenatis justo vel, luctus eros.
+
+
+
Within Visualizations, Tiny Text, or Numbers
+
+ Use Roboto Condensed within visualizations and anywhere else with tiny
+ text or numbers. Use Roboto Condensed Bold for headings and Roboto
+ Condensed Regular everywhere else.
+
+
+ It is condensed (allowing more content in smaller areas) and has good
+ letter spacing and form hints (really legible down to 11px on digital
+ devices).
+
+
+ If a visualization displays larger numbers or text, feel free to use the
+ heading typography, Rubik instead of Roboto Condensed.
+
+
+
+);
+
+export default TypographyStyleParagraphs;
diff --git a/packages/ui-docs/stories/styleGuideStories/TypographyStyleQuickUsage.story.js b/packages/ui-docs/stories/styleGuideStories/TypographyStyleQuickUsage.story.js
new file mode 100644
index 000000000..e56403937
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/TypographyStyleQuickUsage.story.js
@@ -0,0 +1,48 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+// Display font type
+const fontBlockStyle = {
+ marginTop: "40px",
+ marginBottom: "45px"
+};
+
+const fontSample = {
+ fontSize: "2.25em",
+ marginTop: 0,
+ marginBottom: 0
+};
+
+const TypographyStyleQuickUsage = () => (
+
+
Typography
+
Quick Usage:
+
+
Brand
+
+ Sofia Pro
+
+ Source: Adobe Typekit
+
+
+
Headings
+ Rubik
+ Source: Google Fonts
+
+
+
Paragraphs
+
Merriweather
+
Source: Google Fonts
+
+
+
Data
+
+ Roboto Condensed
+
+
Source: Google Fonts
+
+
+
+);
+
+export default TypographyStyleQuickUsage;
diff --git a/packages/ui-docs/stories/styleGuideStories/UIComponentsStyle.story.js b/packages/ui-docs/stories/styleGuideStories/UIComponentsStyle.story.js
new file mode 100644
index 000000000..8c594beda
--- /dev/null
+++ b/packages/ui-docs/stories/styleGuideStories/UIComponentsStyle.story.js
@@ -0,0 +1,42 @@
+import React from "react";
+import { storybookStyles } from "../../src";
+
+const UIComponentsStyle = () => (
+
+
Basic UI Components Style Guide
+
This is the Style Guide for basic UI Components.
+
+
Checkbox
+
Dropdown List
+
Radio Buttons
+
Slider
+
Text Input Field
+
+
Style information for buttons.
+
Buttons are a call to action. They should not be used for links.
+
+ Button labels should be an active verb. Write labels in sentence case.
+
+
+ Sometimes an image, such as an icon or emoji, better represents what the
+ button does. Always put descriptive text near the button if the label is
+ non-textual. To meet accessibility requirements, use an aria-label tag.
+
+
+
+
Checkbox
+
Style information for checkboxes.
+
Dropdown List
+
Style information for dropdown lists.
+
Radio Buttons
+
Style information for radio buttons.
+
Slider
+
Style information for sliders.
+
Text Input Field
+
Style information for text input fields.
+
+);
+
+export default UIComponentsStyle;
diff --git a/packages/ui-maps/.babelrc b/packages/ui-maps/.babelrc
new file mode 100644
index 000000000..9e5af5886
--- /dev/null
+++ b/packages/ui-maps/.babelrc
@@ -0,0 +1,3 @@
+{
+ "extends": "@hackoregon/civic-babel-presets/.babelrc"
+}
\ No newline at end of file
diff --git a/packages/ui-maps/README.md b/packages/ui-maps/README.md
new file mode 100644
index 000000000..95ab3c8bd
--- /dev/null
+++ b/packages/ui-maps/README.md
@@ -0,0 +1,19 @@
+# @hackoregon/ui-maps
+
+---
+
+This package contains UI mapping and mapping-related components.
+
+This package is in alpha, and may have breaking changes.
+
+## Installation
+
+_Latest version:_
+
+```
+yarn add @hackoregon/ui-maps@ci
+```
+
+## Documentation
+
+Documentation is in [Storybook](https://hackoregon.github.io/civic/)
diff --git a/packages/ui-maps/mocha.conf.js b/packages/ui-maps/mocha.conf.js
new file mode 100644
index 000000000..227482341
--- /dev/null
+++ b/packages/ui-maps/mocha.conf.js
@@ -0,0 +1,50 @@
+/* eslint-disable import/no-extraneous-dependencies */
+process.env.NODE_ENV = "test";
+
+require("@babel/register")();
+
+// chai syntax
+const chai = require("chai");
+// dom object in node
+const jsdom = require("jsdom");
+
+const { JSDOM } = jsdom;
+
+// stubbing/spying library
+const sinon = require("sinon");
+const sinonChai = require("sinon-chai");
+
+// enzyme configuration
+const enzyme = require("enzyme");
+const Adapter = require("enzyme-adapter-react-16");
+
+enzyme.configure({ adapter: new Adapter() });
+
+// global setup
+global.assert = chai.assert;
+global.expect = chai.expect;
+global.chai = chai;
+global.sinon = sinon;
+
+// dom setup
+const { document } = new JSDOM(``, {
+ url: "http://localhost"
+}).window;
+global.document = document;
+global.navigator = {
+ userAgent: "node.js"
+};
+global.window = document.defaultView;
+
+// we're going to emulate the dom with this part here
+const exposedProperties = ["window", "navigator", "document"];
+Object.keys(document.defaultView).forEach(property => {
+ if (typeof global[property] === "undefined") {
+ exposedProperties.push(property);
+ global[property] = document.defaultView[property];
+ }
+});
+
+// chai setup
+chai.use(sinonChai);
+chai.use(require("chai-enzyme")());
diff --git a/packages/ui-maps/mocha.options b/packages/ui-maps/mocha.options
new file mode 100644
index 000000000..faeb0b4fd
--- /dev/null
+++ b/packages/ui-maps/mocha.options
@@ -0,0 +1,6 @@
+--require ignore-styles
+--require source-map-support/register
+--colors
+--recursive
+--require ./mocha.conf.js
+--ui bdd
\ No newline at end of file
diff --git a/packages/ui-maps/package.json b/packages/ui-maps/package.json
new file mode 100644
index 000000000..41fa183c9
--- /dev/null
+++ b/packages/ui-maps/package.json
@@ -0,0 +1,74 @@
+{
+ "name": "@hackoregon/ui-maps",
+ "version": "0.0.4",
+ "sideEffects": false,
+ "description": "Common library for CIVIC map components",
+ "main": "dist/index.js",
+ "modules": "es/index.js",
+ "scripts": {
+ "build:esm": "rimraf es && babel src --out-dir es --copy-files --no-comments",
+ "build:cjs": "rimraf dist && babel src --out-dir dist --copy-files --no-comments",
+ "build": "BABEL_ENV=esm yarn run build:esm && BABEL_ENV=cjs yarn run build:cjs",
+ "configure": "yarn run build",
+ "test": "BABEL_ENV=test mocha --opts ./mocha.options ./src/**/*.test.js",
+ "test:watch": "yarn test -w",
+ "lint": "eslint src stories",
+ "storybook": "node scripts/storybook.js",
+ "start": "node scripts/start.js"
+ },
+ "repository": "git+https://github.com/hackoregon/civic.git",
+ "author": "jaron@civicsoftwarefoundation.org",
+ "license": "MIT",
+ "private": false,
+ "devDependencies": {
+ "@babel/cli": "^7.0.0",
+ "@babel/core": "^7.0.0",
+ "@babel/register": "^7.0.0",
+ "@storybook/addon-a11y": "^5.3.18",
+ "@storybook/addon-actions": "^5.3.18",
+ "@storybook/addon-knobs": "^5.3.18",
+ "@storybook/react": "^5.3.18",
+ "chai": "^4.2.0",
+ "chai-enzyme": "^1.0.0-beta.1",
+ "enzyme": "^3.9.0",
+ "enzyme-adapter-react-16": "^1.11.2",
+ "eslint": "^5.15.1",
+ "ignore-styles": "^5.0.1",
+ "jsdom": "^14.0.0",
+ "mocha": "^6.0.2",
+ "rimraf": "^2.6.2",
+ "sinon": "^7.2.7",
+ "sinon-chai": "^3.3.0",
+ "source-map-support": "^0.4.11"
+ },
+ "dependencies": {
+ "@emotion/core": "^10.0.15",
+ "@hackoregon/ui-brand": "^0.0.4",
+ "@hackoregon/ui-charts": "^0.0.4",
+ "@hackoregon/ui-core": "^0.0.4",
+ "@hackoregon/ui-themes": "^0.0.4",
+ "@hackoregon/utils": "^0.0.4",
+ "@material-ui/core": "^4.4.0",
+ "@material-ui/icons": "^4.4.1",
+ "@material-ui/styles": "^4.3.3",
+ "@turf/bbox": "^6.0.1",
+ "@turf/center-of-mass": "^6.0.1",
+ "create-react-ref": "^0.1.0",
+ "d3": "^4.8.0",
+ "deck.gl": "^6.4.7",
+ "global": "^4.3.2",
+ "lodash": "^4.17.11",
+ "mapbox-gl": "^1.5.0",
+ "prop-types": "^15.7.2",
+ "react": "^16.8.4",
+ "react-dimensions": "^1.3.1",
+ "react-dom": "^16.8.4",
+ "react-map-gl": "5.1.2",
+ "react-map-gl-geocoder": "^1.7.0",
+ "shortid": "^2.2.14",
+ "viewport-mercator-project": "^6.2.0"
+ },
+ "publishConfig": {
+ "access": "public"
+ }
+}
diff --git a/packages/ui-maps/scripts/start.js b/packages/ui-maps/scripts/start.js
new file mode 100644
index 000000000..efa32c755
--- /dev/null
+++ b/packages/ui-maps/scripts/start.js
@@ -0,0 +1,3 @@
+console.log(
+ "`yarn start` doesn't work here. Maybe you meant to run `yarn storybook` at project root?"
+);
diff --git a/packages/ui-maps/scripts/storybook.js b/packages/ui-maps/scripts/storybook.js
new file mode 100644
index 000000000..eb59d3969
--- /dev/null
+++ b/packages/ui-maps/scripts/storybook.js
@@ -0,0 +1,3 @@
+console.log(
+ "`yarn storybook` doesn't work here. Maybe you meant to run `yarn storybook` at project root?"
+);
diff --git a/packages/ui-maps/src/BaseMap/BaseMap.js b/packages/ui-maps/src/BaseMap/BaseMap.js
new file mode 100644
index 000000000..8142fed15
--- /dev/null
+++ b/packages/ui-maps/src/BaseMap/BaseMap.js
@@ -0,0 +1,549 @@
+/* eslint-disable no-nested-ternary */
+import { Component, Children, cloneElement } from "react";
+import MapGL, {
+ NavigationControl,
+ Marker,
+ FlyToInterpolator
+} from "react-map-gl";
+import Dimensions from "react-dimensions";
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+import PropTypes from "prop-types";
+import createRef from "create-react-ref/lib/createRef";
+import Geocoder from "react-map-gl-geocoder";
+import { isEqual } from "lodash";
+import bbox from "@turf/bbox";
+import WebMercatorViewport from "viewport-mercator-project";
+import mapboxgl from "./mapboxgl";
+import "mapbox-gl/dist/mapbox-gl.css";
+
+const MapGLResources = {
+ MAPBOX_TOKEN:
+ "pk.eyJ1IjoiaGFja29yZWdvbiIsImEiOiJjamk0MGZhc2cwNDl4M3FsdHAwaG54a3BnIn0.Fq1KA0IUwpeKQlFIoaEn_Q",
+ // Hosted Themes
+ CIVIC_LIGHT: "mapbox://styles/hackoregon/cjiazbo185eib2srytwzleplg",
+ CIVIC_PENCIL: "mapbox://styles/hackoregon/ck0blt1d63wrm1cqhcnccrf9s",
+ CIVIC_DARK: "mapbox://styles/mapbox/dark-v9",
+ SANDBOX_DARK: "mapbox://styles/hackoregon/cjyluzgci27k41crxywr2gqnr",
+ DISASTER_GAME: "mapbox://styles/hackoregon/cjzki4sok5wgd1cmxadz9xdxi"
+};
+
+const {
+ MAPBOX_TOKEN,
+ CIVIC_LIGHT,
+ CIVIC_DARK,
+ CIVIC_PENCIL,
+ DISASTER_GAME,
+ SANDBOX_DARK
+} = MapGLResources;
+
+const mapWrapper = css`
+ position: relative;
+ margin: 0 auto;
+ padding: 0;
+ width: 100%;
+ height: 100%;
+`;
+
+const navControl = css`
+ position: absolute;
+ left: 0;
+ z-index: 1;
+`;
+
+const geoCoderWrapper = css`
+ position: absolute;
+ margin: 5px 25px 35px 45px;
+`;
+
+const topRight = css`
+ top: 0;
+ right: 0;
+`;
+
+const topLeft = css`
+ top: 0;
+ left: 0;
+`;
+
+const bottomLeft = css`
+ bottom: 0;
+ left: 0;
+`;
+
+const bottomRight = css`
+ bottom: 0;
+ right: 0;
+`;
+
+class BaseMap extends Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ viewport: {
+ longitude: props.initialLongitude,
+ latitude: props.initialLatitude,
+ zoom: props.initialZoom,
+ minZoom: props.minZoom,
+ maxZoom: props.maxZoom,
+ pitch: props.initialPitch,
+ bearing: 0
+ },
+ tooltipInfo: null,
+ x: null,
+ y: null,
+ mounted: false
+ };
+ this.mapRef = createRef();
+ this.geocoderContainerRef = createRef();
+ }
+
+ componentDidMount() {
+ // Geocoder requires a ref to the map component
+ this.setState({ mounted: true });
+ const { bboxData, bboxPadding, boundBox } = this.props;
+ const { viewport } = this.state;
+
+ if (bboxData.length > 0) {
+ const toGeoJSON = {
+ type: "FeatureCollection",
+ features: [...bboxData]
+ };
+ const boundingBox = bbox(toGeoJSON);
+ const bboxViewport = new WebMercatorViewport({
+ width: viewport.width,
+ height: viewport.height
+ }).fitBounds(
+ [[boundingBox[0], boundingBox[1]], [boundingBox[2], boundingBox[3]]],
+ {
+ padding: bboxPadding
+ }
+ );
+ this.onViewportChange(bboxViewport);
+ }
+
+ if (boundBox.length === 4) {
+ const bboxViewport = new WebMercatorViewport({
+ width: viewport.width,
+ height: viewport.height
+ }).fitBounds([[boundBox[0], boundBox[1]], [boundBox[2], boundBox[3]]], {
+ padding: bboxPadding
+ });
+ this.onViewportChange(bboxViewport);
+ }
+ }
+
+ componentWillReceiveProps(props) {
+ const { updateViewport } = props;
+ if (updateViewport) {
+ const updatedViewportProps = {
+ zoom: props.initialZoom,
+ pitch: props.initialPitch,
+ longitude: props.initialLongitude,
+ latitude: props.initialLatitude
+ };
+
+ // Remove all keys that have null/undefined values to keep defaults
+ Object.keys(updatedViewportProps).forEach(key => {
+ if (updatedViewportProps[key] == null) {
+ delete updatedViewportProps[key];
+ }
+ });
+
+ this.setState(prevState => ({
+ viewport: { ...prevState.viewport, ...updatedViewportProps }
+ }));
+ }
+ }
+
+ componentDidUpdate(prevProps) {
+ const {
+ mapboxData: prevMapboxData,
+ mapboxLayerOptions: prevMapboxLayerOptions,
+ boundBox: prevBoundBox
+ } = prevProps;
+ const {
+ mapboxData,
+ mapboxDataId,
+ mapboxLayerOptions,
+ mapboxLayerId,
+ bboxData,
+ bboxPadding,
+ boundBox
+ } = this.props;
+
+ const { viewport } = this.state;
+
+ if (!isEqual(prevMapboxData, mapboxData)) {
+ const map = this.mapRef.current.getMap();
+ map.getSource(mapboxDataId).setData(mapboxData);
+ }
+
+ if (!isEqual(prevMapboxLayerOptions, mapboxLayerOptions)) {
+ const map = this.mapRef.current.getMap();
+ const updatedProperties = Object.keys(mapboxLayerOptions).filter(
+ m => !isEqual(prevMapboxLayerOptions[m], mapboxLayerOptions[m])
+ );
+ updatedProperties.forEach(p =>
+ map.setPaintProperty(mapboxLayerId, p, mapboxLayerOptions[p])
+ );
+ }
+
+ if (bboxData.length > 0 && !isEqual(prevProps.bboxData, bboxData)) {
+ const toGeoJSON = {
+ type: "FeatureCollection",
+ features: [...bboxData]
+ };
+ const boundingbox = bbox(toGeoJSON);
+ const bboxViewport = new WebMercatorViewport({
+ width: viewport.width,
+ height: viewport.height
+ }).fitBounds(
+ [[boundingbox[0], boundingbox[1]], [boundingbox[2], boundingbox[3]]],
+ {
+ padding: bboxPadding
+ }
+ );
+ this.onViewportChange(bboxViewport);
+ }
+
+ if (boundBox.length === 4 && !isEqual(prevBoundBox, boundBox)) {
+ const bboxViewport = new WebMercatorViewport({
+ width: viewport.width,
+ height: viewport.height
+ }).fitBounds([[boundBox[0], boundBox[1]], [boundBox[2], boundBox[3]]], {
+ padding: bboxPadding
+ });
+ this.onViewportChange(bboxViewport);
+ }
+ }
+
+ onHover = ({ object, x, y }) => {
+ this.setState({
+ tooltipInfo: object,
+ x,
+ y
+ });
+ };
+
+ onViewportChange = viewport => {
+ const { minZoom, maxZoom } = this.props;
+ const { zoom } = viewport;
+ if (zoom >= minZoom && zoom <= maxZoom) {
+ this.setState(prevState => ({
+ viewport: {
+ ...prevState.viewport,
+ ...viewport
+ }
+ }));
+ } else if (zoom < minZoom) {
+ this.setState(prevState => ({
+ viewport: {
+ ...prevState.viewport,
+ zoom: minZoom
+ }
+ }));
+ } else if (zoom > maxZoom) {
+ this.setState(prevState => ({
+ viewport: {
+ ...prevState.viewport,
+ zoom: maxZoom
+ }
+ }));
+ }
+ };
+
+ render() {
+ const { viewport, tooltipInfo, x, y, mounted } = this.state;
+ const {
+ height,
+ containerHeight,
+ containerWidth,
+ civicMapStyle,
+ mapboxToken,
+ navigation,
+ geocoder,
+ locationMarker,
+ geocoderOptions,
+ geocoderOnChange,
+ geocoderPosition,
+ mapGLOptions,
+ children,
+ useContainerHeight,
+ onBaseMapClick,
+ onBaseMapHover,
+ onBaseMapMouseOut,
+ mapboxData,
+ mapboxDataId,
+ mapboxLayerType,
+ mapboxLayerOptions,
+ mapboxLayerId,
+ locationMarkerCoord,
+ animate,
+ animationDuration,
+ scaleBar,
+ scaleBarOptions,
+ sharedViewport,
+ onSharedViewportChange,
+ useScrollZoom,
+ useFitBounds,
+ bboxData
+ } = this.props;
+
+ viewport.width = containerWidth || 500;
+ viewport.height = useContainerHeight ? containerHeight : height;
+
+ const childrenLayers = Children.map(children, child => {
+ const layerViewport = sharedViewport
+ ? { ...viewport, ...sharedViewport }
+ : viewport;
+ return cloneElement(child, {
+ viewport: layerViewport,
+ tooltipInfo,
+ x,
+ y,
+ onHover: info => this.onHover(info)
+ });
+ });
+
+ const onMapLoad = () => {
+ const map = this.mapRef.current.getMap();
+
+ if (scaleBar) {
+ map.addControl(
+ new mapboxgl.ScaleControl({
+ maxWidth: scaleBarOptions.maxWidth,
+ unit: scaleBarOptions.units
+ })
+ );
+ }
+
+ if (!mapboxData || !mapboxLayerType || !mapboxLayerOptions) return;
+ map.addSource(mapboxDataId, {
+ type: "geojson",
+ data: mapboxData
+ });
+ map.addLayer(
+ {
+ id: mapboxLayerId,
+ type: mapboxLayerType,
+ source: mapboxDataId,
+ paint: mapboxLayerOptions
+ },
+ "waterway-label"
+ );
+ };
+
+ let baseMapboxStyleURL = CIVIC_LIGHT;
+ if (civicMapStyle === "dark") {
+ baseMapboxStyleURL = CIVIC_DARK;
+ } else if (civicMapStyle === "pencil") {
+ baseMapboxStyleURL = CIVIC_PENCIL;
+ } else if (civicMapStyle === "disaster-game") {
+ baseMapboxStyleURL = DISASTER_GAME;
+ } else if (civicMapStyle === "sandbox-dark") {
+ baseMapboxStyleURL = SANDBOX_DARK;
+ }
+
+ const animationProps = !animate
+ ? {}
+ : {
+ transitionDuration: animationDuration,
+ transitionInterpolator: new FlyToInterpolator()
+ };
+
+ let boundingbox;
+ if (useFitBounds && bboxData.length > 0) {
+ const toGeoJSON = {
+ type: "FeatureCollection",
+ features: [...bboxData]
+ };
+ boundingbox = bbox(toGeoJSON);
+ }
+
+ const finalViewport = sharedViewport
+ ? {
+ ...viewport,
+ ...sharedViewport,
+ height,
+ width: containerWidth
+ }
+ : viewport;
+
+ const geocoderPositions = {
+ "top-left": topLeft,
+ "top-right": topRight,
+ "bottom-left": bottomLeft,
+ "bottom-right": bottomRight
+ };
+
+ return (
+
+
+
{
+ if (onSharedViewportChange) {
+ onSharedViewportChange(newViewport);
+ } else {
+ this.onViewportChange(newViewport);
+ }
+ }}
+ ref={this.mapRef}
+ {...mapGLOptions}
+ onClick={onBaseMapClick}
+ onHover={baseInfo => {
+ const baseMapboxRef = this.mapRef.current.getMap();
+ if (onBaseMapHover) {
+ onBaseMapHover(baseInfo, baseMapboxRef);
+ }
+ }}
+ onMouseOut={() => {
+ const baseMapboxRef = this.mapRef.current.getMap();
+ if (onBaseMapMouseOut) {
+ onBaseMapMouseOut(baseMapboxRef);
+ }
+ }}
+ onBlur={() => {
+ const baseMapboxRef = this.mapRef.current.getMap();
+ if (onBaseMapMouseOut) {
+ onBaseMapMouseOut(baseMapboxRef);
+ }
+ }}
+ onLoad={onMapLoad}
+ scrollZoom={useScrollZoom}
+ >
+ {navigation && }
+ {locationMarker && (
+
+
+ ❌
+
+
+ )}
+ {geocoder && mounted && (
+ {
+ this.onViewportChange(newViewport);
+ // eslint-disable-next-line no-unused-expressions
+ !!geocoderOnChange && geocoderOnChange(newViewport);
+ }}
+ bbox={boundingbox}
+ position={geocoderPosition}
+ options={{ ...geocoderOptions }}
+ />
+ )}
+ {childrenLayers}
+
+
+ );
+ }
+}
+
+BaseMap.propTypes = {
+ initialLongitude: PropTypes.number,
+ initialLatitude: PropTypes.number,
+ initialZoom: PropTypes.number,
+ minZoom: PropTypes.number,
+ maxZoom: PropTypes.number,
+ initialPitch: PropTypes.number,
+ height: PropTypes.number,
+ containerHeight: PropTypes.number,
+ containerWidth: PropTypes.number,
+ mapboxToken: PropTypes.string,
+ civicMapStyle: PropTypes.oneOf([
+ "light",
+ "dark",
+ "pencil",
+ "disaster-game",
+ "sandbox-dark"
+ ]),
+ navigation: PropTypes.bool,
+ locationMarker: PropTypes.bool,
+ locationMarkerCoord: PropTypes.shape({
+ latitude: PropTypes.number,
+ longitude: PropTypes.number
+ }),
+ geocoder: PropTypes.bool,
+ geocoderOptions: PropTypes.shape({}),
+ geocoderOnChange: PropTypes.func,
+ geocoderPosition: PropTypes.oneOf([
+ "top-left",
+ "top-right",
+ "bottom-left",
+ "bottom-right"
+ ]),
+ mapGLOptions: PropTypes.shape({}),
+ children: PropTypes.node,
+ useContainerHeight: PropTypes.bool,
+ updateViewport: PropTypes.bool,
+ animate: PropTypes.bool,
+ animationDuration: PropTypes.number,
+ onBaseMapClick: PropTypes.func,
+ onBaseMapHover: PropTypes.func,
+ onBaseMapMouseOut: PropTypes.func,
+ mapboxDataId: PropTypes.string,
+ mapboxData: PropTypes.shape({
+ type: PropTypes.string,
+ features: PropTypes.arrayOf(PropTypes.shape({}))
+ }),
+ mapboxLayerType: PropTypes.string,
+ mapboxLayerId: PropTypes.string,
+ mapboxLayerOptions: PropTypes.shape({}),
+ scaleBar: PropTypes.bool,
+ scaleBarOptions: PropTypes.shape({
+ maxWidth: PropTypes.number,
+ units: PropTypes.string
+ }),
+ sharedViewport: PropTypes.shape({}),
+ onSharedViewportChange: PropTypes.func,
+ bboxData: PropTypes.arrayOf(PropTypes.shape({})),
+ bboxPadding: PropTypes.number,
+ boundBox: PropTypes.arrayOf(PropTypes.number),
+ useScrollZoom: PropTypes.bool,
+ useFitBounds: PropTypes.bool
+};
+
+BaseMap.defaultProps = {
+ mapboxToken: MAPBOX_TOKEN,
+ navigation: true,
+ geocoder: false,
+ geocoderPosition: "top-right",
+ useContainerHeight: false,
+ updateViewport: true,
+ animate: false,
+ initialLongitude: -122.6765,
+ initialLatitude: 45.5231,
+ initialZoom: 9.5,
+ minZoom: 6,
+ maxZoom: 20,
+ initialPitch: 0,
+ height: 500,
+ locationMarkerCoord: {
+ latitude: 0,
+ longitude: 0
+ },
+ animationDuration: 1000,
+ scaleBar: false,
+ bboxData: [],
+ bboxPadding: 10,
+ boundBox: [],
+ useScrollZoom: false
+};
+
+export default Dimensions()(BaseMap);
diff --git a/packages/ui-maps/src/BaseMap/BaseMap.test.js b/packages/ui-maps/src/BaseMap/BaseMap.test.js
new file mode 100644
index 000000000..82566b717
--- /dev/null
+++ b/packages/ui-maps/src/BaseMap/BaseMap.test.js
@@ -0,0 +1,51 @@
+import React from "react";
+import { shallow } from "enzyme";
+import { MapGLResources } from "@hackoregon/ui-themes";
+import BaseMap from "./BaseMap";
+import ScatterPlotMap from "../ScatterPlotMap/ScatterPlotMap";
+
+const { MAPBOX_TOKEN } = MapGLResources;
+
+// React Dimensions doesn't render its contents when it has no height or width
+describe.skip("BaseMap", () => {
+ const defaultProps = {};
+
+ it("should render a MapGL component", () => {
+ const wrapper = shallow( );
+
+ expect(wrapper.find(".MapGL")).to.have.length(1);
+ });
+
+ it("should include required prop mapboxApiAccessToken", () => {
+ const wrapper = shallow( );
+
+ expect(wrapper.find(".MapGL").prop("mapboxApiAccessToken")).to.eql(
+ MAPBOX_TOKEN
+ );
+ });
+
+ it("should render child NavigationControl component", () => {
+ const wrapper = shallow( );
+
+ expect(wrapper.find(".MapGL").children()).to.have.length(1);
+ });
+
+ it("should render child deck.gl layer component", () => {
+ const data = [
+ {
+ geometry: {
+ type: "Point",
+ coordinates: [0, 0]
+ }
+ }
+ ];
+
+ const wrapper = shallow(
+
+
+
+ );
+
+ expect(wrapper.find(".MapGL").children()).to.have.length(2);
+ });
+});
diff --git a/packages/ui-maps/src/BaseMap/index.js b/packages/ui-maps/src/BaseMap/index.js
new file mode 100644
index 000000000..45f23f206
--- /dev/null
+++ b/packages/ui-maps/src/BaseMap/index.js
@@ -0,0 +1 @@
+export default from "./BaseMap";
diff --git a/packages/ui-maps/src/BaseMap/mapboxgl.js b/packages/ui-maps/src/BaseMap/mapboxgl.js
new file mode 100644
index 000000000..082f98170
--- /dev/null
+++ b/packages/ui-maps/src/BaseMap/mapboxgl.js
@@ -0,0 +1,8 @@
+const isBrowser = !(
+ Object.prototype.toString.call(global.process) === "[object process]" &&
+ !global.process.browser
+);
+
+const mapboxgl = isBrowser ? require("mapbox-gl") : null;
+
+export default mapboxgl;
diff --git a/packages/ui-maps/src/BoundaryMap/BoundaryMap.js b/packages/ui-maps/src/BoundaryMap/BoundaryMap.js
new file mode 100644
index 000000000..8cb45f092
--- /dev/null
+++ b/packages/ui-maps/src/BoundaryMap/BoundaryMap.js
@@ -0,0 +1,70 @@
+import PropTypes from "prop-types";
+import React from "react";
+import DeckGL, { PolygonLayer } from "deck.gl";
+
+const BoundaryMap = props => {
+ const {
+ viewport,
+ data,
+ opacity,
+ getPolygon,
+ getLineColor,
+ getLineWidth,
+ lineWidthScale,
+ lineJointRounded,
+ getFillColor,
+ filled
+ } = props;
+
+ return (
+
+ );
+};
+
+BoundaryMap.propTypes = {
+ viewport: PropTypes.shape({}),
+ data: PropTypes.arrayOf(PropTypes.shape({})).isRequired,
+ opacity: PropTypes.number,
+ getPolygon: PropTypes.func,
+ getLineColor: PropTypes.func,
+ getLineWidth: PropTypes.func,
+ lineWidthScale: PropTypes.number,
+ lineJointRounded: PropTypes.bool,
+ getFillColor: PropTypes.func,
+ filled: PropTypes.bool
+};
+
+BoundaryMap.defaultProps = {
+ opacity: 1,
+ getLineColor: () => [255, 0, 0, 255],
+ getLineWidth: () => 40,
+ lineWidthScale: 1,
+ lineJointRounded: false,
+ getFillColor: () => [0, 0, 0, 0],
+ filled: false
+};
+
+export default BoundaryMap;
diff --git a/packages/ui-maps/src/BoundaryMap/BoundaryMap.test.js b/packages/ui-maps/src/BoundaryMap/BoundaryMap.test.js
new file mode 100644
index 000000000..a05d148ea
--- /dev/null
+++ b/packages/ui-maps/src/BoundaryMap/BoundaryMap.test.js
@@ -0,0 +1,33 @@
+import React from "react";
+import { shallow } from "enzyme";
+import BoundaryMap from "./BoundaryMap";
+
+describe("BoundaryMap", () => {
+ const data = [
+ {
+ type: "Feature",
+ properties: {
+ name: "Null Island"
+ },
+ geometry: {
+ type: "Polygon",
+ coordinates: [[[0, 0], [0, 1], [1, 1], [1, 0], [0, 0]]]
+ }
+ }
+ ];
+
+ const defaultProps = { data };
+
+ it("should render a DeckGL component", () => {
+ const wrapper = shallow( );
+
+ expect(wrapper.find(".DeckGL")).to.have.length(1);
+ });
+
+ it("should render child BoundaryMap component", () => {
+ const wrapper = shallow( );
+
+ expect(wrapper.find(".DeckGL").children()).to.have.length(1);
+ expect(wrapper.find(".BoundaryMap")).to.have.length(1);
+ });
+});
diff --git a/packages/ui-maps/src/CivicSandboxDashboard/CivicSandboxDashboard.js b/packages/ui-maps/src/CivicSandboxDashboard/CivicSandboxDashboard.js
new file mode 100644
index 000000000..b4ea500ee
--- /dev/null
+++ b/packages/ui-maps/src/CivicSandboxDashboard/CivicSandboxDashboard.js
@@ -0,0 +1,403 @@
+/* eslint-disable no-nested-ternary */
+import React, { useState } from "react";
+import { bool, func, node, number, shape, string } from "prop-types";
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+// import shortid from "shortid";
+import { isEqual } from "lodash";
+import {
+ LineChart,
+ civicFormat,
+ Placeholder,
+ VisualizationColors,
+ PolygonPreview
+} from "..";
+// import PieChart from "../PieChart/PieChart";
+// import HorizontalBarChart from "../HorizontalBarChart/HorizontalBarChart";
+import { ICONS } from "../styleConstants";
+
+const container = css`
+ position: absolute;
+ bottom: 50px;
+ left: 25px;
+ display: flex;
+ flex-direction: column;
+ width: 575px;
+ background: rgba(243, 242, 243, 0.9);
+ color: rgb(85, 85, 85);
+ box-shadow: 5px 5px 15px -3px rgba(0, 0, 0, 0.2);
+ @media (max-width: 900px) {
+ width: 90%;
+ bottom: 30px;
+ left: 8%;
+ }
+`;
+
+const dashboardOpen = css`
+ height: 400px;
+ overflow-y: auto;
+ overflow-x: hidden;
+ opacity: 0.9;
+ transition: height 750ms ease-out, opacity 1.5s ease-in;
+ @media (max-width: 500px) {
+ height: 265px;
+ }
+`;
+
+const dashboardClosed = css`
+ height: 0;
+ opacity: 0;
+ transition: height 750ms ease-out, opacity 0s linear;
+`;
+
+const contentContainer = css`
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ overflow-y: auto;
+ overflow-x: hidden;
+`;
+
+const toggleContainer = css`
+ position: relative;
+ display: flex;
+ flex-direction: row;
+ height: 100%;
+ width: 100%;
+ color: #1e62bd;
+ z-index: 4;
+ opacity: 0.9;
+ box-shadow: 5px 5px 15px -3px rgba(0, 0, 0, 0.2);
+`;
+
+const toggleTitle = css`
+ font-size: 17px;
+ flex: 3;
+ margin auto 20px;
+`;
+
+const toggleArrow = css`
+ flex: 1;
+ margin 1% auto;
+ font-size: 20px;
+ text-align: center;
+`;
+
+const watermarkContainer = css`
+ position: absolute;
+ left: -1px;
+ top: -1px;
+`;
+
+const buttonContainer = css`
+ position: absolute;
+ bottom: 40px;
+ display: flex;
+ flex-direction: row;
+ width: 100%;
+`;
+
+const icon = css`
+ text-align: center;
+ border: 1px solid lightGray;
+ background-color: #f0f0f0;
+ color: dimGray;
+ font-size: 20px;
+ height: 98%;
+ width: 50%;
+ margin: 0 auto;
+`;
+
+const iconActive = css`
+ text-align: center;
+ border: 1px solid lightGray;
+ background-color: #f0f0f0;
+ color: #dc4556;
+ font-size: 20px;
+ height: 98%;
+ width: 50%;
+ margin: 0 auto;
+`;
+
+const viz = css`
+ width: 90%;
+ overflow-y: hidden;
+ padding-left: 5%;
+`;
+
+// const donutPercent = css`
+// position: absolute;
+// bottom: 35px;
+// left: 28%;
+// width: 50%;
+// margin: auto;
+// text-align: center;
+// `;
+
+// const createTextViz = text => (
+//
+//
{text.title}
+// {text.data.toLocaleString()}
+//
+// );
+
+// const createDonutViz = donut => {
+// const [percentValue] = donut.data;
+// const salmon = "#EE495C";
+// const gray = "#a9a9a9";
+// return (
+//
+//
{donut.title}
+//
+// {percentValue.y < 1
+// ? civicFormat.percentage(percentValue.y)
+// : `${percentValue.y.toFixed(1)}%`}
+//
+//
+//
+// );
+// };
+
+// const createBarsViz = bars => (
+//
+//
{bars.title}
+//
+//
+// );
+
+const createLineViz = (
+ data,
+ title,
+ xLabel,
+ yLabel,
+ xFormat,
+ yFormat,
+ id,
+ feature
+) => {
+ const yForm = yFormat === "percent" ? "percentage" : yFormat;
+ return (
+
+
+
+ {title}
+
+
civicFormat[xFormat](x)}
+ yNumberFormatter={y => civicFormat[yForm](y)}
+ />
+
+ );
+};
+
+const placeholder = (
+
+
Select a region on the map for more detail
+
+);
+
+const CivicDashboard = props => {
+ const { data, children, isDashboardOpen, onClick, standalone } = props;
+ const [display, setDisplay] = useState("visualizations");
+
+ const createVisualizations =
+ data && data.featureProperties
+ ? Object.entries(data.featureProperties).filter(c => {
+ const colorFieldName = data.colorKey;
+ const a = c[0].match(/^[a-zA-Z]+/);
+ const b = colorFieldName.match(/^[a-zA-Z]+/);
+ return a[0] === b[0];
+ })
+ : [];
+
+ const censusYears3 = [1990, 2000, 2010];
+ const censusYears4 = [1990, 2000, 2010, 2017];
+
+ const isYear =
+ createVisualizations[0] &&
+ createVisualizations[0][0] &&
+ createVisualizations[0][0].search(/[0-9]/) > -1;
+
+ const lineData =
+ createVisualizations.length === 3 && isYear
+ ? createVisualizations.map((d, i) => {
+ const yFormatType = data.primaryFormat;
+ return {
+ x: censusYears3[i],
+ y:
+ d[1] && yFormatType !== "percent"
+ ? d[1]
+ : d[1] && yFormatType === "percent"
+ ? d[1] / 100
+ : 0
+ };
+ })
+ : createVisualizations.length === 4 && isYear
+ ? createVisualizations.map((d, i) => {
+ const yFormatType = data.primaryFormat;
+ return {
+ x: censusYears4[i],
+ y:
+ d[1] && yFormatType !== "percent"
+ ? d[1]
+ : d[1] && yFormatType === "percent"
+ ? d[1] / 100
+ : 0
+ };
+ })
+ : [];
+
+ const visualizations =
+ createVisualizations.length && lineData.length
+ ? createLineViz(
+ lineData,
+ data.displayName,
+ "Year",
+ data.primaryFormat,
+ "year",
+ data.primaryFormat,
+ data.id,
+ data.feature
+ )
+ : placeholder;
+
+ const civicWatermark = (
+
+ );
+
+ const visualizationButtons = (
+
+
setDisplay("description")}
+ onKeyPress={() => setDisplay("description")}
+ tabIndex={0}
+ role="button"
+ >
+
+
+
setDisplay("visualizations")}
+ onKeyPress={() => setDisplay("visualizations")}
+ tabIndex={0}
+ role="button"
+ >
+
+
+
+ );
+
+ const dashboardToggleButton = (
+ onClick()}
+ onKeyPress={() => onClick()}
+ tabIndex={0}
+ role="button"
+ >
+
+ {isDashboardOpen ? "" : "Please select a polygon"}
+
+
+
+ );
+
+ return standalone ? (
+
+
+ {display === "description" ? children : visualizations}
+
+ {children ? visualizationButtons : null}
+
+ ) : (
+
+
+
+ {display === "description" ? children : visualizations}
+
+ {civicWatermark}
+ {children ? visualizationButtons : null}
+
+ {dashboardToggleButton}
+
+ );
+};
+
+CivicDashboard.propTypes = {
+ data: shape({
+ id: number,
+ displayName: string,
+ feature: shape({}),
+ featureProperties: shape({}),
+ colorKey: string,
+ primaryFormat: string
+ }),
+ children: node,
+ isDashboardOpen: bool,
+ onClick: func,
+ standalone: bool
+};
+
+CivicDashboard.defaultProps = {
+ standalone: false
+};
+
+function arePropsEqual(prevProps, nextProps) {
+ const {
+ data: prevData,
+ children: prevChildren,
+ isDashboardOpen: prevIsDashboardOpen,
+ onClick: prevOnClick
+ } = prevProps;
+
+ const { data, children, isDashboardOpen, onClick } = nextProps;
+
+ return (
+ isEqual(prevData, data) &&
+ prevChildren === children &&
+ prevIsDashboardOpen === isDashboardOpen &&
+ prevOnClick === onClick
+ );
+}
+
+export default React.memo(CivicDashboard, arePropsEqual);
diff --git a/packages/ui-maps/src/CivicSandboxMap/CivicSandboxMap.js b/packages/ui-maps/src/CivicSandboxMap/CivicSandboxMap.js
new file mode 100644
index 000000000..a8b516dc2
--- /dev/null
+++ b/packages/ui-maps/src/CivicSandboxMap/CivicSandboxMap.js
@@ -0,0 +1,292 @@
+/* TODO: Fix linting errors */
+/* eslint-disable */
+import React from "react";
+import { arrayOf, shape, func, node, number } from "prop-types";
+import shortid from "shortid";
+import DeckGL, {
+ IconLayer,
+ PathLayer,
+ PolygonLayer,
+ ScatterplotLayer,
+ ScreenGridLayer
+} from "deck.gl";
+import { scaleQuantize, scaleOrdinal, scaleThreshold, extent } from "d3";
+
+const CivicSandboxMap = props => {
+ const {
+ viewport,
+ mapLayers,
+ children,
+ onClick,
+ onHoverSlide,
+ selectedFoundationDatum
+ } = props;
+
+ const getDefaultPosition = f => f.geometry.coordinates;
+ const getDefaultBoundaryPolygon = f => f.coordinates;
+
+ const highlighterYellow = [255, 255, 0, 200];
+
+ const createPathMap = slide => (
+
+ );
+
+ const createScatterPlotMap = slide => (
+
+ );
+
+ const createIconMap = slide => (
+
+ );
+
+ const createScreenGridMap = slide => (
+
+ );
+
+ const createBoundaryMap = slide => (
+
+ );
+
+ const createPolygonMap = slide => (
+
+ );
+
+ const createEqualBins = (data, color, getPropValue) => {
+ const quantizeScale = scaleQuantize()
+ .domain(extent(data, getPropValue))
+ .range(color)
+ .nice();
+ return quantizeScale;
+ };
+
+ const createDiscreteBins = (categories, color) => {
+ const ordinalScale = scaleOrdinal()
+ .domain(categories)
+ .range(color)
+ .unknown([0, 0, 0, 0]);
+ return ordinalScale;
+ };
+
+ const createThresholdBins = (categories, color) => {
+ const thresholdScale = scaleThreshold()
+ .domain(categories)
+ .range(color);
+ return thresholdScale;
+ };
+
+ const createChoroplethMap = slide => {
+ const scaleType = slide.data.scaleType;
+ const colorScale =
+ scaleType === "ordinal"
+ ? createDiscreteBins(slide.data.categories, slide.data.color)
+ : scaleType === "threshold"
+ ? createThresholdBins(slide.data.categories, slide.data.color)
+ : createEqualBins(
+ slide.data.data,
+ slide.data.color,
+ slide.data.getPropValue
+ );
+
+ const getFillColor = f => {
+ const value =
+ slide.data.scaleType === "ordinal"
+ ? f.properties[slide.data.propName]
+ : parseFloat(f.properties[slide.data.propName]);
+ return colorScale(value) ? colorScale(value) : [0, 0, 0, 55];
+ };
+
+ const getLineColor = f => {
+ const [selectedFeature] = selectedFoundationDatum;
+ const id = selectedFeature ? selectedFeature.id : null;
+ return f.id === id ? [255, 255, 0, 255] : [112, 122, 122, 155];
+ };
+
+ const getLineWidth = f => {
+ const [selectedFeature] = selectedFoundationDatum;
+ const id = selectedFeature ? selectedFeature.id : null;
+ return f.id === id ? 75 : 1;
+ };
+
+ return (
+ f.geometry.coordinates}
+ getLineColor={slide.data.getLineColor || getLineColor}
+ getLineWidth={slide.data.getLineWidth || getLineWidth}
+ lineWidthMinPixels={1}
+ stroked={true}
+ getFillColor={slide.data.getFillColor || getFillColor}
+ filled={true}
+ onClick={onClick || slide.data.onLayerClick}
+ autoHighlight={true}
+ highlightColor={slide.data.highlightColor || [255, 255, 0, 55]}
+ parameters={{ depthTest: false }}
+ updateTriggers={
+ slide.data.updateTriggers || {
+ getLineColor: selectedFoundationDatum,
+ getLineWidth: selectedFoundationDatum
+ }
+ }
+ />
+ );
+ };
+
+ const renderMaps = mapLayers.map((layer, index) => {
+ const mapType = layer.data.mapType;
+ return mapType === "PathMap"
+ ? createPathMap(layer, index)
+ : mapType === "ScatterPlotMap"
+ ? createScatterPlotMap(layer, index)
+ : mapType === "IconMap"
+ ? createIconMap(layer, index)
+ : mapType === "ScreenGridMap"
+ ? createScreenGridMap(layer, index)
+ : mapType === "PolygonPlotMap"
+ ? createPolygonMap(layer, index)
+ : mapType === "SmallPolygonMap"
+ ? createPolygonMap(layer, index)
+ : mapType === "ChoroplethMap"
+ ? createChoroplethMap(layer, index)
+ : mapType === "BoundaryMap"
+ ? createBoundaryMap(layer, index)
+ : null;
+ });
+
+ return (
+
+ "crosshair"}>
+ {renderMaps}
+ {children}
+
+
+ );
+};
+
+CivicSandboxMap.propTypes = {
+ viewport: shape({
+ latitude: number,
+ longitude: number,
+ height: number,
+ width: number,
+ zoom: number
+ }),
+ mapLayers: arrayOf(
+ shape({
+ data: shape({})
+ })
+ ).isRequired,
+ onHoverSlide: func,
+ onClick: func,
+ children: node,
+ selectedFoundationDatum: arrayOf(shape({}))
+};
+
+CivicSandboxMap.defaultProps = {
+ selectedFoundationDatum: []
+};
+
+export default CivicSandboxMap;
diff --git a/packages/ui-maps/src/CivicSandboxMap/CivicSandboxTooltip.js b/packages/ui-maps/src/CivicSandboxMap/CivicSandboxTooltip.js
new file mode 100644
index 000000000..246bbeda1
--- /dev/null
+++ b/packages/ui-maps/src/CivicSandboxMap/CivicSandboxTooltip.js
@@ -0,0 +1,95 @@
+/* eslint-disable no-nested-ternary */
+import { string, number, arrayOf, oneOfType, shape } from "prop-types";
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+import { format } from "d3";
+import { get } from "lodash";
+import shortid from "shortid";
+import window from "global/window";
+import { civicFormat } from "..";
+
+const tooltip = css`
+ font-family: Helvetica, Arial, sans-serif;
+ font-size: 16px;
+ position: absolute;
+ padding: 0 10px 0 5px;
+ background: rgba(0, 0, 0, 0.75);
+ color: #fff;
+ max-width: 275px;
+ z-index: 9;
+ pointer-events: none;
+`;
+
+const tooltipText = css`
+ margin: 2.5px 0 5px 0;
+`;
+
+const MapTooltip = props => {
+ const { tooltipData } = props;
+ const { x } = tooltipData;
+ const { y } = tooltipData;
+
+ const xPositionOffset = 25;
+ const xPosition =
+ x < get(window, "innerWidth", 1000) * 0.66
+ ? x + xPositionOffset
+ : x - xPositionOffset * 3;
+
+ const yPositionOffset = 50;
+ const yPostition = y < 375 ? y + yPositionOffset : y - yPositionOffset * 2.75;
+
+ const percentageFormat = format(".1%");
+ const sandboxPercentFormat = p =>
+ p < 1 && p > 0 ? percentageFormat(p) : `${p.toFixed(1)}%`;
+ const sandboxDecimalFormat = format(".2n");
+ const sandboxMoneyFormat = d => `$${civicFormat.numericShort(d)}`;
+
+ const tooltipContent = tooltipData.content.map(t => {
+ const formatType = t.format;
+
+ const formattedValue =
+ t.value && formatType === "percentage"
+ ? sandboxPercentFormat(t.value)
+ : t.value && formatType === "dollars"
+ ? sandboxMoneyFormat(t.value)
+ : t.value && formatType === "decimal"
+ ? sandboxDecimalFormat(t.value)
+ : t.value && formatType && civicFormat[formatType]
+ ? civicFormat[formatType](t.value)
+ : t.value
+ ? t.value
+ : "No Data Available";
+
+ return (
+ {`${t.label ||
+ t.name}: ${formattedValue}`}
+ );
+ });
+
+ return (
+
+ {tooltipContent}
+
+ );
+};
+
+MapTooltip.propTypes = {
+ tooltipData: shape({
+ x: number,
+ y: number,
+ content: arrayOf(
+ shape({
+ label: string,
+ value: oneOfType([number, string])
+ })
+ )
+ })
+};
+
+export default MapTooltip;
diff --git a/packages/ui-maps/src/ComparisonMap/CompareSlider.js b/packages/ui-maps/src/ComparisonMap/CompareSlider.js
new file mode 100644
index 000000000..ddf5b9bfb
--- /dev/null
+++ b/packages/ui-maps/src/ComparisonMap/CompareSlider.js
@@ -0,0 +1,89 @@
+import React from "react";
+import { func, number } from "prop-types";
+import MaterialSlider from "@material-ui/core/Slider";
+import { withStyles } from "@material-ui/core/styles";
+
+const ComparisonMapSlider = withStyles({
+ root: {
+ padding: 0, // Hide the slider bar
+ height: 0 // Hide the slider bar
+ },
+ thumb: {
+ zIndex: 1,
+ height: 40,
+ width: 40,
+ backgroundColor: "white",
+ marginTop: -40, // Set to the same as the height
+ marginLeft: -20, // Set to 1/2 the width
+ boxShadow: "gray 0px 0px 3px 1px",
+ "&:hover,&$active": {
+ boxShadow: "gray 0px 0px 4px 2px"
+ },
+ "& .arrow-left": {
+ width: 0,
+ height: 0,
+ marginRight: "12px",
+ borderTop: "7px solid transparent",
+ borderBottom: "7px solid transparent",
+ borderRight: "7px solid lightgray"
+ },
+ "& .arrow-right": {
+ width: 0,
+ height: 0,
+ borderTop: "7px solid transparent",
+ borderBottom: "7px solid transparent",
+ borderLeft: "7px solid lightgray"
+ }
+ },
+ active: {},
+ valueLabel: {
+ left: "calc(-50% + 4px)"
+ },
+ track: {
+ display: "none", // Hide the slider bar
+ height: 0
+ },
+ rail: {
+ display: "none", // Hide the slider bar
+ height: 0
+ }
+})(MaterialSlider);
+
+const ThumbComponent = props => {
+ return (
+
+
+
+
+ );
+};
+
+const CompareSlider = ({ min, max, onChange, step, value, ...rest }) => {
+ return (
+ onChange(newValue)}
+ {...rest}
+ />
+ );
+};
+
+CompareSlider.propTypes = {
+ max: number.isRequired,
+ min: number.isRequired,
+ onChange: func.isRequired,
+ step: number,
+ value: number.isRequired
+};
+
+CompareSlider.defaultProps = {
+ step: 1
+};
+
+export default CompareSlider;
diff --git a/packages/ui-maps/src/ComparisonMap/ComparisonMap.js b/packages/ui-maps/src/ComparisonMap/ComparisonMap.js
new file mode 100644
index 000000000..b37e237af
--- /dev/null
+++ b/packages/ui-maps/src/ComparisonMap/ComparisonMap.js
@@ -0,0 +1,163 @@
+import React from "react";
+/** @jsx jsx */
+import { css, jsx } from "@emotion/core";
+import { bool, node, number, shape, string } from "prop-types";
+import CompareSlider from "./CompareSlider";
+
+const ComparisonMap = props => {
+ const {
+ height,
+ initialViewport,
+ leftMap,
+ leftMapTitle,
+ leftTitleColor,
+ rightMap,
+ rightMapTitle,
+ rightTitleColor,
+ showDivider,
+ sliderStartPosition
+ } = props;
+
+ const [sliderPosition, setSliderPosition] = React.useState(
+ sliderStartPosition
+ );
+
+ const [viewport, setVP] = React.useState(initialViewport);
+
+ const LeftMap = React.cloneElement(leftMap, {
+ onSharedViewportChange: setVP,
+ sharedViewport: viewport,
+ navigation: false,
+ mapGLOptions: { keyboard: false },
+ updateViewport: false
+ });
+
+ const RightMap = React.cloneElement(rightMap, {
+ onSharedViewportChange: setVP,
+ sharedViewport: viewport,
+ navigation: false,
+ mapGLOptions: { keyboard: false },
+ updateViewport: false
+ });
+
+ const container = css`
+ display: flex;
+ flex-direction: column;
+ `;
+
+ const mapsWrapper = css`
+ width: 100%;
+ position: relative;
+ height: ${height}px;
+ `;
+
+ const leftMapWrapper = css`
+ position: absolute;
+ width: 100%;
+ height: ${height}px;
+ `;
+
+ const rightMapWrapper = css`
+ position: absolute;
+ width: 100%;
+ height: ${height}px;
+ clip-path: inset(0 0 0 ${sliderPosition}%);
+ `;
+
+ const divider = css`
+ z-index: 1;
+ position: absolute;
+ left: calc(${sliderPosition}% - 1.5px); // 1.5px is to adjust for the border
+ width: 0;
+ background: white;
+ height: ${height}px;
+ border-left: 3px solid white;
+ box-shadow: -3px 0px 4px gray;
+ `;
+
+ const leftTitleStyle = css`
+ z-index: 1;
+ position: absolute;
+ font-family: "Roboto Condensed", "Helvetica Neue", Helvetica, sans-serif;
+ font-size: 18px;
+ font-weight: bold;
+ margin: 0;
+
+ // Left Specific Formatting
+ right: calc(100% - ${sliderPosition}% + 20px);
+ color: ${leftTitleColor};
+ text-align: right;
+ `;
+
+ const rightTitleStyle = css`
+ z-index: 1;
+ position: absolute;
+ font-family: "Roboto Condensed", "Helvetica Neue", Helvetica, sans-serif;
+ font-size: 18px;
+ font-weight: bold;
+ margin: 0;
+
+ // Right Specific Formatting
+ left: calc(${sliderPosition}% + 20px);
+ color: ${rightTitleColor};
+ text-align: left;
+ `;
+
+ const sliderMin = 5;
+ const sliderMax = 95;
+ const sliderWrapper = css`
+ z-index: 1;
+ position: absolute;
+ top: ${height / 2}px;
+ height: 0;
+ left: ${sliderMin}%;
+ width: ${sliderMax - sliderMin}%;
+ `;
+
+ return (
+
+
+ {leftMapTitle &&
{leftMapTitle} }
+ {rightMapTitle &&
{rightMapTitle} }
+ {showDivider &&
}
+
+ {
+ setSliderPosition(value);
+ }}
+ />
+
+
{LeftMap}
+
{RightMap}
+
+
+ );
+};
+
+ComparisonMap.propTypes = {
+ height: number,
+ initialViewport: shape({}),
+ leftMap: node.isRequired,
+ leftMapTitle: string,
+ leftTitleColor: string,
+ rightMap: node.isRequired,
+ rightMapTitle: string,
+ rightTitleColor: string,
+ showDivider: bool,
+ sliderStartPosition: number
+};
+
+ComparisonMap.defaultProps = {
+ height: 550,
+ leftMapTitle: "",
+ leftTitleColor: "black",
+ rightMapTitle: "",
+ rightTitleColor: "black",
+ showDivider: true,
+ sliderStartPosition: 50
+};
+
+export default ComparisonMap;
diff --git a/packages/ui-maps/src/IconMap/IconMap.js b/packages/ui-maps/src/IconMap/IconMap.js
new file mode 100644
index 000000000..5265ae3b8
--- /dev/null
+++ b/packages/ui-maps/src/IconMap/IconMap.js
@@ -0,0 +1,104 @@
+import PropTypes from "prop-types";
+import React from "react";
+import DeckGL, { IconLayer } from "deck.gl";
+
+const IconMap = props => {
+ const {
+ viewport,
+ data,
+ opacity,
+ iconAtlas,
+ iconMapping,
+ iconSizeScale,
+ getPosition,
+ getIcon,
+ getSize,
+ getColor,
+ getCursor,
+ autoHighlight,
+ onLayerClick,
+ visible,
+ tooltipInfo,
+ x,
+ y,
+ onHover,
+ children
+ } = props;
+
+ const { zoom } = viewport;
+ const sizeScale = iconSizeScale(zoom);
+
+ const tooltip = React.Children.map(children, child => {
+ return React.cloneElement(child, {
+ tooltipInfo,
+ x,
+ y
+ });
+ });
+
+ const tooltipRender = tooltipInfo && x && y ? tooltip : null;
+
+ return (
+
+
+
+
+ {tooltipRender}
+
+ );
+};
+
+IconMap.propTypes = {
+ viewport: PropTypes.shape({}),
+ data: PropTypes.arrayOf(PropTypes.shape({})).isRequired,
+ opacity: PropTypes.number,
+ iconAtlas: PropTypes.string,
+ iconMapping: PropTypes.shape({}),
+ iconSizeScale: PropTypes.func,
+ sizeScale: PropTypes.number,
+ getPosition: PropTypes.func,
+ getIcon: PropTypes.func,
+ getSize: PropTypes.func,
+ getColor: PropTypes.func,
+ getCursor: PropTypes.func,
+ autoHighlight: PropTypes.bool,
+ onLayerClick: PropTypes.func,
+ onClick: PropTypes.func,
+ visible: PropTypes.bool,
+ tooltipInfo: PropTypes.shape({}),
+ x: PropTypes.number,
+ y: PropTypes.number,
+ onHover: PropTypes.func,
+ children: PropTypes.node
+};
+
+IconMap.defaultProps = {
+ opacity: 1,
+ sizeScale: 1,
+ getPosition: d => d.geometry.coordinates,
+ getSize: () => 10,
+ getColor: () => [0, 0, 0],
+ getCursor: () => "crosshair",
+ visible: true
+};
+
+export default IconMap;
diff --git a/packages/ui-maps/src/IconMap/IconMap.test.js b/packages/ui-maps/src/IconMap/IconMap.test.js
new file mode 100644
index 000000000..573872490
--- /dev/null
+++ b/packages/ui-maps/src/IconMap/IconMap.test.js
@@ -0,0 +1,41 @@
+import React from "react";
+import { shallow } from "enzyme";
+import IconMap from "./IconMap";
+
+describe("IconMap", () => {
+ const data = [
+ {
+ type: "Feature",
+ geometry: {
+ type: "Point",
+ coordinates: [0, 0]
+ },
+ properties: {
+ name: "Null Island"
+ }
+ }
+ ];
+
+ const viewport = { zoom: 9.5 };
+
+ const iconSizeScale = zoom => (zoom > 9.5 ? 25 : 5);
+
+ const defaultProps = {
+ data,
+ viewport,
+ iconSizeScale
+ };
+
+ it("should render a DeckGL component", () => {
+ const wrapper = shallow( );
+
+ expect(wrapper.find(".DeckGL")).to.have.length(1);
+ });
+
+ it("should render child IconMap component", () => {
+ const wrapper = shallow( );
+
+ expect(wrapper.find(".DeckGL").children()).to.have.length(1);
+ expect(wrapper.find(".IconMap")).to.have.length(1);
+ });
+});
diff --git a/packages/ui-maps/src/MapLegend/MapLegend.js b/packages/ui-maps/src/MapLegend/MapLegend.js
new file mode 100644
index 000000000..a247caf4b
--- /dev/null
+++ b/packages/ui-maps/src/MapLegend/MapLegend.js
@@ -0,0 +1,172 @@
+import PropTypes from "prop-types";
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+
+/**
+ * Simple Map Legend for use with d3 color scales
+ * (If a color scale using scaleQuantize() is passed in, the legend will be a range)
+ * @method filterNode
+ * @param {Function} colorScale Currently works for scaleOrdinal() & scaleQuantize()
+ * @param {Function} formatValues Formatting function for value labels
+ * @param {String} label Label for the MapLegend
+ * @param {Boolean} vertical Determines if legend is vertical or horizontal
+ */
+const MapLegend = props => {
+ const { colorScale, formatValues, label, vertical } = props;
+
+ const verticalContainer = css`
+ display: block;
+ `;
+ const horizontalContainer = css`
+ display: flex;
+ `;
+ const labelContainer = css`
+ font-family: "Roboto Condensed", "Helvetica Neue", Helvetica, sans-serif;
+ font-size: 14px;
+ font-weight: bold;
+ margin-bottom: 5px;
+ `;
+
+ const formatColor = colorArray => {
+ const rgba = colorArray.length === 3 ? [...colorArray, 1] : colorArray;
+ return rgba.reduce(
+ (acc, cur, i) => (i < 3 ? `${acc + cur},` : `${acc}1)`),
+ "rgba("
+ );
+ };
+
+ let colors = colorScale.range().map(color => formatColor(color));
+ let bins = colorScale.domain().map(arr => formatValues(arr));
+
+ if (vertical) {
+ // Swap the order for vertical colors so that higher values are on top
+ colors = colors.reverse();
+ bins = bins.reverse();
+ }
+
+ const getBinLabel = i => {
+ if (bins[i] === null) return "No data available";
+ // Add manual label option
+ return bins[i];
+ };
+ const getRangeLabel = i => {
+ if (i === 0) return bins[0];
+ if (i === colors.length - 1) return bins[1];
+ return null;
+ };
+
+ const rangeOnly = bins.length === 2;
+
+ const horizontalRangeBin = (color, i) => {
+ const partialBorder = i < colors.length - 1;
+ return (
+
+ {i === 0 && ( // Beginning of range label
+
+ {getBinLabel(0)}
+
+ )}
+
+ {i === colors.length - 1 && ( // End of range label
+
+ {getBinLabel(1)}
+
+ )}
+
+ );
+ };
+
+ const colorBin = (color, i) => {
+ if (rangeOnly && !vertical) return horizontalRangeBin(color, i);
+ const partialBorder = vertical && i < colors.length - 1;
+ return (
+
+
+
+ {rangeOnly ? getRangeLabel(i) : getBinLabel(i)}
+
+
+ );
+ };
+
+ return (
+
+
{label}
+
+ {colors.map((color, i) => colorBin(color, i))}
+
+
+ );
+};
+
+MapLegend.propTypes = {
+ colorScale: PropTypes.func.isRequired,
+ formatValues: PropTypes.func,
+ label: PropTypes.string,
+ vertical: PropTypes.bool
+};
+
+MapLegend.defaultProps = {
+ formatValues: value => value,
+ label: "",
+ vertical: true
+};
+
+export default MapLegend;
diff --git a/packages/ui-maps/src/MapOverlay/MapOverlay.js b/packages/ui-maps/src/MapOverlay/MapOverlay.js
new file mode 100644
index 000000000..b6a240b0e
--- /dev/null
+++ b/packages/ui-maps/src/MapOverlay/MapOverlay.js
@@ -0,0 +1,145 @@
+import React from "react";
+
+import {
+ shape,
+ bool,
+ number,
+ func,
+ node,
+ oneOfType,
+ arrayOf,
+ string
+} from "prop-types";
+
+import DeckGL, { GeoJsonLayer } from "deck.gl";
+import centerOfMass from "@turf/center-of-mass";
+
+const MapOverlay = props => {
+ const {
+ id,
+ viewport,
+ children,
+ data,
+ pickable,
+ opacity,
+ filled,
+ getCursor,
+ getFillColor,
+ stroked,
+ getLineColor,
+ getLineWidth,
+ extruded,
+ getElevation,
+ circleFieldName,
+ getRadius,
+ radiusScale,
+ autoHighlight,
+ highlightColor,
+ onLayerClick,
+ onHover,
+ tooltipInfo,
+ x,
+ y
+ } = props;
+
+ const tooltip = React.Children.map(children, child => {
+ return React.cloneElement(child, {
+ tooltipInfo,
+ x,
+ y
+ });
+ });
+
+ const tooltipRender = tooltipInfo && x && y ? tooltip : null;
+
+ const centroidData = React.useMemo(() => {
+ return circleFieldName
+ ? data.map(d =>
+ centerOfMass(d.geometry, { properties: { ...d.properties } })
+ )
+ : [];
+ }, [circleFieldName, data]);
+
+ const radius = circleFieldName
+ ? f => Math.sqrt(+f.properties[circleFieldName])
+ : getRadius || 10;
+
+ return (
+
+
+
+
+ {tooltipRender}
+
+ );
+};
+
+MapOverlay.propTypes = {
+ viewport: shape({}),
+ children: node,
+ id: string,
+ data: arrayOf(shape({})).isRequired,
+ pickable: bool,
+ opacity: number,
+ getCursor: func,
+ filled: bool,
+ getFillColor: oneOfType([arrayOf(number), func]),
+ stroked: bool,
+ getLineColor: oneOfType([arrayOf(number), func]),
+ getLineWidth: oneOfType([number, func]),
+ extruded: bool,
+ getElevation: oneOfType([number, func]),
+ circleFieldName: string,
+ getRadius: oneOfType([number, func]),
+ radiusScale: number,
+ autoHighlight: bool,
+ highlightColor: arrayOf(number),
+ onLayerClick: func,
+ onHover: func,
+ tooltipInfo: shape({}),
+ x: number,
+ y: number
+};
+
+MapOverlay.defaultProps = {
+ pickable: true,
+ opacity: 0.8,
+ getCursor: () => "crosshair",
+ filled: true,
+ getFillColor: [0, 0, 0],
+ stroked: true,
+ getLineColor: [112, 122, 122, 100],
+ getLineWidth: 10,
+ extruded: false,
+ autoHighlight: false
+};
+
+export default MapOverlay;
diff --git a/packages/ui-maps/src/MapOverlay/MapOverlay.test.js b/packages/ui-maps/src/MapOverlay/MapOverlay.test.js
new file mode 100644
index 000000000..647e7dac1
--- /dev/null
+++ b/packages/ui-maps/src/MapOverlay/MapOverlay.test.js
@@ -0,0 +1,41 @@
+import React from "react";
+import { shallow } from "enzyme";
+import DeckGL from "deck.gl";
+import MapOverlay from "./MapOverlay";
+
+describe("MapOverlay", () => {
+ const data = [
+ {
+ type: "Feature",
+ geometry: {
+ type: "Point",
+ coordinates: [0, 0]
+ },
+ properties: {
+ name: "Null Island"
+ }
+ }
+ ];
+ const extruded = true;
+ const opacity = 0.8;
+
+ const defaultProps = {
+ data,
+ opacity,
+ extruded
+ };
+
+ const wrapper = shallow( );
+
+ it("should render a div wrapper", () => {
+ expect(wrapper.find("div")).length(1);
+ });
+
+ it("should render with the same class name", () => {
+ expect(wrapper.find("DeckGL")).length(1);
+ });
+
+ it("should render a DeckGL component", () => {
+ expect(wrapper.find(DeckGL)).length(1);
+ });
+});
diff --git a/packages/ui-maps/src/MapTooltip/MapTooltip.js b/packages/ui-maps/src/MapTooltip/MapTooltip.js
new file mode 100644
index 000000000..eee2fbad3
--- /dev/null
+++ b/packages/ui-maps/src/MapTooltip/MapTooltip.js
@@ -0,0 +1,137 @@
+import PropTypes from "prop-types";
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+import { get } from "lodash";
+import window from "global/window";
+
+const MapTooltip = props => {
+ const {
+ x,
+ y,
+ formatPrimaryField,
+ formatSecondaryField,
+ isHex,
+ isScreenGrid,
+ primaryName,
+ primaryField,
+ secondaryName,
+ secondaryField,
+ tooltipDataArray,
+ tooltipInfo,
+ wide
+ } = props;
+
+ const tooltip = css`
+ font-family: Helvetica, Arial, sans-serif;
+ font-size: 14px;
+ position: absolute;
+ padding: 4px;
+ margin: 8px;
+ background: rgba(0, 0, 0, 0.75);
+ color: #ffffff;
+ // max-width: 250px;
+ max-width: ${wide ? "400px" : "250px"};
+ z-index: 9;
+ pointer-events: none;
+ `;
+
+ const xPosition =
+ x < get(window, "innerWidth", 1000) * 0.66
+ ? x
+ : x - get(window, "innerWidth", 1000) * 0.1;
+ const yPosition = y < 375 ? y : y - 50;
+
+ const getProperty = (property, formatFunction) => {
+ if (formatFunction) {
+ return formatFunction(property);
+ }
+ return property;
+ };
+
+ return (
+
+ {primaryName && (
+
+ {`${primaryName}: `}
+ {getProperty(
+ tooltipInfo.properties[primaryField],
+ formatPrimaryField
+ )}
+
+ )}
+ {secondaryName && (
+
+ {`${secondaryName}: `}
+ {getProperty(
+ tooltipInfo.properties[secondaryField],
+ formatSecondaryField
+ )}
+
+ )}
+ {!isScreenGrid &&
+ tooltipDataArray.map(el => (
+
+ {`${el.name}: `}
+ {getProperty(tooltipInfo.properties[el.field], el.formatField)}
+
+ ))}
+ {isScreenGrid &&
+ tooltipDataArray.map(el => (
+
+ {`${el.name}: `}
+ {!el.totalField &&
+ getProperty(tooltipInfo[el.field], el.formatField)}
+ {el.totalField &&
+ getProperty(
+ tooltipInfo[el.field] / tooltipInfo[el.totalField],
+ el.formatField
+ )}
+
+ ))}
+ {isHex && (
+
+
elevation: {tooltipInfo.elevationValue}
+
coordinates: {tooltipInfo.centroid.join(", ")}
+
+ )}
+
+ );
+};
+
+MapTooltip.propTypes = {
+ tooltipInfo: PropTypes.shape({}),
+ x: PropTypes.number,
+ y: PropTypes.number,
+ formatPrimaryField: PropTypes.func,
+ formatSecondaryField: PropTypes.func,
+ primaryName: PropTypes.string,
+ primaryField: PropTypes.string,
+ secondaryName: PropTypes.string,
+ secondaryField: PropTypes.string,
+ tooltipDataArray: PropTypes.arrayOf(
+ PropTypes.shape({
+ name: PropTypes.string.isRequired,
+ field: PropTypes.string.isRequired,
+ totalField: PropTypes.string,
+ formatField: PropTypes.func
+ })
+ ),
+ isHex: PropTypes.bool,
+ isScreenGrid: PropTypes.bool,
+ wide: PropTypes.bool
+};
+
+MapTooltip.defaultProps = {
+ formatPrimaryField: null,
+ formatSecondaryField: null,
+ tooltipDataArray: [],
+ wide: false
+};
+
+export default MapTooltip;
diff --git a/packages/ui-maps/src/MultiLayerMap/MultiChoroplethMap.js b/packages/ui-maps/src/MultiLayerMap/MultiChoroplethMap.js
new file mode 100644
index 000000000..8f5176a77
--- /dev/null
+++ b/packages/ui-maps/src/MultiLayerMap/MultiChoroplethMap.js
@@ -0,0 +1,159 @@
+import React from "react";
+import { GeoJsonLayer } from "deck.gl";
+import { memoize } from "lodash";
+import { number, string, bool, func, arrayOf, shape } from "prop-types";
+import {
+ createColorScale,
+ updateQuantileScale,
+ updateEqualScale
+} from "./createLayers";
+
+const memoizeData = memoize(featuresArr => {
+ return featuresArr.filter(f => f.geometry && f.geometry.coordinates.length);
+});
+
+const MultiChoroplethMap = props => {
+ const {
+ id,
+ data,
+ pickable = true,
+ opacity = 0.7,
+ civicColor = "thermal",
+ getPolygon = f => f.geometry.coordinates,
+ filled = true,
+ stroked = true,
+ lineWidth = 1,
+ polygonLineColor = [169, 169, 169],
+ autoHighlight = true,
+ highlightColor = [255, 255, 0, 100],
+ onHoverSlide,
+ onLayerClick,
+ scaleType = {
+ color: "equal"
+ },
+ fieldName,
+ dataRange = [],
+ colorRange = [],
+ index,
+ selectedFoundationDatum
+ } = props;
+
+ let choroplethColorScale = createColorScale(
+ civicColor,
+ scaleType,
+ dataRange,
+ colorRange
+ );
+
+ if (scaleType.color === "equal") {
+ choroplethColorScale = updateEqualScale(
+ data,
+ choroplethColorScale,
+ civicColor,
+ dataRange,
+ colorRange,
+ fieldName
+ );
+ }
+
+ if (scaleType.color === "quantile") {
+ choroplethColorScale = updateQuantileScale(
+ data,
+ choroplethColorScale,
+ civicColor,
+ colorRange,
+ fieldName
+ );
+ }
+
+ const getFillColor = feature => {
+ const { color: fieldNameColor } = fieldName;
+ const value = feature.properties[`${fieldNameColor}`];
+ return value ? choroplethColorScale(value) : [0, 0, 0, 128];
+ };
+
+ const getLineColor = f => {
+ if (selectedFoundationDatum) {
+ const selectedId = selectedFoundationDatum.id;
+ const featureId = f.id;
+ return featureId === selectedId ? [255, 178, 31, 255] : polygonLineColor;
+ }
+ return polygonLineColor;
+ };
+
+ const getLineWidth = f => {
+ if (selectedFoundationDatum) {
+ const selectedId = selectedFoundationDatum.id;
+ const featureId = f.id;
+ return featureId === selectedId ? 125 : lineWidth;
+ }
+ return lineWidth;
+ };
+
+ const filteredData = memoizeData(data);
+
+ return (
+ onHoverSlide(info, index)}
+ onClick={info => onLayerClick(info, index)}
+ autoHighlight={autoHighlight}
+ highlightColor={highlightColor}
+ parameters={{ depthTest: false }}
+ updateTriggers={{
+ getFillColor,
+ getLineColor,
+ getLineWidth
+ }}
+ />
+ );
+};
+
+MultiChoroplethMap.propTypes = {
+ id: string.isRequired,
+ data: arrayOf(shape({})).isRequired,
+ pickable: bool,
+ civicColor: string,
+ opacity: number,
+ getPolygon: func,
+ filled: bool,
+ stroked: bool,
+ lineWidth: number,
+ polygonLineColor: arrayOf(number),
+ autoHighlight: bool,
+ highlightColor: arrayOf(number),
+ onHoverSlide: func,
+ onLayerClick: func,
+ scaleType: shape({
+ color: string
+ }),
+ fieldName: shape({
+ color: string
+ }).isRequired,
+ dataRange: arrayOf(string),
+ colorRange: arrayOf(arrayOf(number)),
+ index: number,
+ selectedFoundationDatum: shape({
+ id: number,
+ displayName: string,
+ featureProperties: shape({}),
+ colorKey: string,
+ primaryFormat: string
+ })
+};
+
+export default MultiChoroplethMap;
diff --git a/packages/ui-maps/src/MultiLayerMap/MultiIconMap.js b/packages/ui-maps/src/MultiLayerMap/MultiIconMap.js
new file mode 100644
index 000000000..3f5611ea7
--- /dev/null
+++ b/packages/ui-maps/src/MultiLayerMap/MultiIconMap.js
@@ -0,0 +1,138 @@
+/* eslint-disable no-nested-ternary */
+import React from "react";
+import { IconLayer } from "deck.gl";
+import { number, string, bool, func, arrayOf, shape } from "prop-types";
+
+import { createColorScale, createSizeScale } from "./createLayers";
+
+const getIconSizeScale = zoom => {
+ return zoom > 11.5
+ ? 6
+ : zoom > 10.5
+ ? 5
+ : zoom > 9.5
+ ? 4
+ : zoom > 8.5
+ ? 3
+ : zoom > 7.5
+ ? 2
+ : 1;
+};
+
+const MultiIconMap = props => {
+ const {
+ id,
+ data,
+ pickable = true,
+ opacity = 0.7,
+ getPosition = f => f.geometry.coordinates,
+ iconAtlas,
+ iconMapping = {},
+ getSizeScale = getIconSizeScale,
+ iconSize = 10,
+ autoHighlight = true,
+ highlightColor = [0, 0, 128, 128],
+ onHoverSlide,
+ onLayerClick,
+ viewport,
+ civicColor = "civicYellow",
+ scaleType,
+ fieldName = {},
+ dataRange,
+ colorRange,
+ index
+ } = props;
+
+ const colorScale = createColorScale(
+ civicColor,
+ scaleType,
+ dataRange,
+ colorRange
+ );
+
+ const getColor = feature => {
+ const { color: fieldNameColor } = fieldName;
+ if (fieldName && fieldNameColor) {
+ const value = feature.properties[fieldNameColor];
+ return value ? colorScale(value) : [0, 0, 0, 128];
+ }
+ return colorScale("icon");
+ };
+
+ const getSize = createSizeScale(iconSize, scaleType, fieldName);
+
+ const { zoom } = viewport;
+
+ const sizeScale = getSizeScale(zoom);
+
+ const iconMap =
+ Object.keys(iconMapping).length !== 0
+ ? iconMapping
+ : {
+ [dataRange[0]]: {
+ x: 0,
+ y: 0,
+ width: 250,
+ height: 250,
+ mask: true
+ }
+ };
+
+ return (
+ d.geometry)}
+ pickable={pickable}
+ opacity={opacity}
+ getPosition={getPosition}
+ iconAtlas={iconAtlas}
+ iconMapping={iconMap}
+ sizeScale={sizeScale}
+ getIcon={f => (fieldName && fieldName.color ? f.properties.type : "icon")}
+ getSize={getSize}
+ getColor={getColor}
+ autoHighlight={autoHighlight}
+ highlightColor={highlightColor}
+ onHover={info => onHoverSlide(info, index)}
+ onClick={onLayerClick}
+ />
+ );
+};
+
+MultiIconMap.propTypes = {
+ id: string.isRequired,
+ data: arrayOf(shape({})).isRequired,
+ pickable: bool,
+ civicColor: string,
+ opacity: number,
+ getPosition: func,
+ iconAtlas: string,
+ iconMapping: shape({
+ x: number,
+ y: number,
+ width: number,
+ height: number,
+ mask: bool
+ }),
+ getSizeScale: func,
+ iconSize: number,
+ autoHighlight: bool,
+ highlightColor: arrayOf(number),
+ onHoverSlide: func,
+ onLayerClick: func,
+ scaleType: shape({
+ area: string,
+ color: string
+ }),
+ fieldName: shape({
+ area: string,
+ color: string
+ }),
+ dataRange: arrayOf(string),
+ colorRange: arrayOf(arrayOf(number)),
+ viewport: shape({}),
+ index: number
+};
+
+export default MultiIconMap;
diff --git a/packages/ui-maps/src/MultiLayerMap/MultiLayerMap.js b/packages/ui-maps/src/MultiLayerMap/MultiLayerMap.js
new file mode 100644
index 000000000..4aa7b9003
--- /dev/null
+++ b/packages/ui-maps/src/MultiLayerMap/MultiLayerMap.js
@@ -0,0 +1,105 @@
+/* eslint-disable no-nested-ternary */
+import React from "react";
+import { arrayOf, func, node, shape } from "prop-types";
+import DeckGL from "deck.gl";
+
+import MultiPathMap from "./MultiPathMap";
+import MultiScatterPlotMap from "./MultiScatterPlotMap";
+import MultiScreenGridMap from "./MultiScreenGridMap";
+import MultiIconMap from "./MultiIconMap";
+import MultiSmallPolygonMap from "./MultiSmallPolygonMap";
+import MultiChoroplethMap from "./MultiChoroplethMap";
+import VectorTilesMap from "../VectorTilesMap/VectorTilesMap";
+
+const MultiLayerMap = props => {
+ const {
+ viewport,
+ mapLayers,
+ children,
+ getCursor,
+ onHoverSlide,
+ onLayerClick,
+ selectedFoundationDatum
+ } = props;
+
+ const renderMaps = mapLayers.map((layerData, index) => {
+ const { mapType } = layerData;
+ return mapType === "PathMap" ? (
+ MultiPathMap({
+ ...layerData,
+ id: mapType + index,
+ index,
+ onHoverSlide
+ })
+ ) : mapType === "ScatterPlotMap" ? (
+ MultiScatterPlotMap({
+ ...layerData,
+ id: mapType + index,
+ index,
+ onHoverSlide
+ })
+ ) : mapType === "ScreenGridMap" ? (
+ MultiScreenGridMap({
+ ...layerData,
+ id: mapType + index,
+ index
+ })
+ ) : mapType === "IconMap" ? (
+ MultiIconMap({
+ ...layerData,
+ id: mapType + index,
+ index,
+ onHoverSlide,
+ viewport
+ })
+ ) : mapType === "SmallPolygonMap" ? (
+ MultiSmallPolygonMap({
+ ...layerData,
+ id: mapType + index,
+ index,
+ onHoverSlide,
+ viewport
+ })
+ ) : mapType === "ChoroplethMap" ? (
+ MultiChoroplethMap({
+ ...layerData,
+ id: mapType + index,
+ index,
+ onHoverSlide,
+ onLayerClick,
+ selectedFoundationDatum
+ })
+ ) : mapType === "VectorTilesMap" ||
+ mapType === "vtChoroplethMap" ||
+ mapType === "vtScatterPlotMap" ? (
+
+ ) : null;
+ });
+
+ return (
+
+ {renderMaps}
+ {children}
+
+ );
+};
+
+MultiLayerMap.propTypes = {
+ viewport: shape({}),
+ mapLayers: arrayOf(shape({})).isRequired,
+ onHoverSlide: func,
+ onLayerClick: func,
+ getCursor: func,
+ children: node,
+ selectedFoundationDatum: shape({})
+};
+
+MultiLayerMap.defaultProps = {
+ getCursor: () => "crosshair"
+};
+
+export default MultiLayerMap;
diff --git a/packages/ui-maps/src/MultiLayerMap/MultiPathMap.js b/packages/ui-maps/src/MultiLayerMap/MultiPathMap.js
new file mode 100644
index 000000000..57ffb7ef5
--- /dev/null
+++ b/packages/ui-maps/src/MultiLayerMap/MultiPathMap.js
@@ -0,0 +1,128 @@
+import React from "react";
+import { PathLayer } from "deck.gl";
+import {
+ number,
+ string,
+ bool,
+ func,
+ arrayOf,
+ shape,
+ oneOfType
+} from "prop-types";
+import {
+ createColorScale,
+ updateQuantileScale,
+ updateEqualScale,
+ createSizeScale
+} from "./createLayers";
+
+const MultiPathMap = props => {
+ const {
+ id,
+ pickable = true,
+ data,
+ civicColor = "civicYellow",
+ opacity = 0.7,
+ getPath = f => f.geometry.coordinates,
+ lineWidth = 25,
+ rounded = false,
+ autoHighlight = true,
+ highlightColor = [255, 255, 0, 100],
+ onHoverSlide,
+ onLayerClick,
+ scaleType = {},
+ fieldName = {},
+ dataRange = [],
+ colorRange = [],
+ index
+ } = props;
+
+ let colorScale = createColorScale(
+ civicColor,
+ scaleType,
+ dataRange,
+ colorRange
+ );
+
+ if (scaleType && scaleType.color === "equal") {
+ colorScale = updateEqualScale(
+ data,
+ colorScale,
+ civicColor,
+ dataRange,
+ colorRange,
+ fieldName
+ );
+ }
+
+ if (scaleType && scaleType.color === "quantile") {
+ colorScale = updateQuantileScale(
+ data,
+ colorScale,
+ civicColor,
+ colorRange,
+ fieldName
+ );
+ }
+
+ const getColor = feature => {
+ const { color: fieldNameColor } = fieldName;
+ if (fieldName && fieldNameColor) {
+ const value = feature.properties[fieldNameColor];
+ return value ? colorScale(value) : [0, 0, 0, 128];
+ }
+ return colorScale();
+ };
+
+ const getWidth = createSizeScale(lineWidth);
+
+ return (
+ onHoverSlide(info, index)}
+ onClick={onLayerClick}
+ updateTriggers={{
+ getColor,
+ getWidth
+ }}
+ />
+ );
+};
+
+MultiPathMap.propTypes = {
+ id: string.isRequired,
+ data: arrayOf(shape({})).isRequired,
+ pickable: bool,
+ civicColor: string,
+ opacity: number,
+ getPath: func,
+ lineWidth: number,
+ rounded: bool,
+ autoHighlight: bool,
+ highlightColor: arrayOf(number),
+ onHoverSlide: func,
+ onLayerClick: func,
+ scaleType: shape({
+ color: string
+ }),
+ fieldName: shape({
+ color: string
+ }),
+ dataRange: oneOfType([arrayOf(number), arrayOf(string)]),
+ colorRange: arrayOf(arrayOf(number)),
+ index: number
+};
+
+export default MultiPathMap;
diff --git a/packages/ui-maps/src/MultiLayerMap/MultiScatterPlotMap.js b/packages/ui-maps/src/MultiLayerMap/MultiScatterPlotMap.js
new file mode 100644
index 000000000..8a7978f8d
--- /dev/null
+++ b/packages/ui-maps/src/MultiLayerMap/MultiScatterPlotMap.js
@@ -0,0 +1,141 @@
+import React from "react";
+import { ScatterplotLayer } from "deck.gl";
+import { number, string, bool, func, arrayOf, shape } from "prop-types";
+import centerOfMass from "@turf/center-of-mass";
+import {
+ createColorScale,
+ updateQuantileScale,
+ updateEqualScale,
+ createSizeScale
+} from "./createLayers";
+
+const MultiScatterPlotMap = props => {
+ const {
+ id,
+ data,
+ pickable = true,
+ civicColor = "civicYellow",
+ opacity = 0.7,
+ getPosition = f => f.geometry.coordinates,
+ radius = 25,
+ radiusScale = 1,
+ autoHighlight = true,
+ highlightColor = [255, 255, 0, 100],
+ onHoverSlide,
+ onLayerClick,
+ scaleType = {},
+ fieldName = {},
+ dataRange = [],
+ colorRange = [],
+ index
+ } = props;
+
+ let colorScale = createColorScale(
+ civicColor,
+ scaleType,
+ dataRange,
+ colorRange
+ );
+
+ if (scaleType.color === "equal") {
+ colorScale = updateEqualScale(
+ data,
+ colorScale,
+ civicColor,
+ dataRange,
+ colorRange,
+ fieldName
+ );
+ }
+
+ if (scaleType.color === "quantile") {
+ colorScale = updateQuantileScale(
+ data,
+ colorScale,
+ civicColor,
+ colorRange,
+ fieldName
+ );
+ }
+
+ const getColor = feature => {
+ const { color: fieldNameColor } = fieldName;
+ if (fieldName && fieldNameColor) {
+ const value = feature.properties[fieldNameColor];
+ return value ? colorScale(value) : [0, 0, 0, 128];
+ }
+ return colorScale();
+ };
+
+ const memoizedData = React.useMemo(() => {
+ if (data.length === 0) {
+ return [];
+ }
+ return data[0].geometry.type === "Polygon" ||
+ data[0].geometry.type === "MultiPolygon"
+ ? data
+ .map(d =>
+ centerOfMass(d.geometry, { properties: { ...d.properties } })
+ )
+ .filter(d => d.geometry)
+ : data;
+ }, [data]);
+
+ const getRadius = createSizeScale(radius, scaleType, fieldName);
+
+ const { area: scaleTypeArea } = scaleType;
+
+ const circleScale = scaleTypeArea ? radiusScale : 1;
+
+ return (
+ onHoverSlide(info, index)}
+ onClick={onLayerClick}
+ updateTriggers={{
+ getColor,
+ getRadius
+ }}
+ parameters={{ depthTest: false }}
+ />
+ );
+};
+
+MultiScatterPlotMap.propTypes = {
+ id: string.isRequired,
+ data: arrayOf(shape({})).isRequired,
+ pickable: bool,
+ civicColor: string,
+ opacity: number,
+ getPosition: func,
+ radius: number,
+ radiusScale: number,
+ autoHighlight: bool,
+ highlightColor: arrayOf(number),
+ onHoverSlide: func,
+ onLayerClick: func,
+ scaleType: shape({
+ area: string,
+ color: string
+ }),
+ fieldName: shape({
+ area: string,
+ color: string
+ }),
+ dataRange: arrayOf(string),
+ colorRange: arrayOf(arrayOf(number)),
+ index: number
+};
+
+export default MultiScatterPlotMap;
diff --git a/packages/ui-maps/src/MultiLayerMap/MultiScreenGridMap.js b/packages/ui-maps/src/MultiLayerMap/MultiScreenGridMap.js
new file mode 100644
index 000000000..c7693afa9
--- /dev/null
+++ b/packages/ui-maps/src/MultiLayerMap/MultiScreenGridMap.js
@@ -0,0 +1,66 @@
+import React from "react";
+import { ScreenGridLayer } from "deck.gl";
+import { number, string, bool, func, arrayOf, shape } from "prop-types";
+
+import CIVIC_MAP_COLORS from "./mapStyles";
+
+const MultiScreenGridMap = props => {
+ const {
+ id,
+ data,
+ pickable = true,
+ civicColor = "thermal",
+ opacity = 0.7,
+ getPosition = f => f.geometry.coordinates,
+ squareSize = 10,
+ autoHighlight = true,
+ highlightColor = [255, 255, 0, 100],
+ fieldName = {}
+ } = props;
+
+ const colorRange = CIVIC_MAP_COLORS[civicColor];
+
+ const getWeight = feature => {
+ const { weight: fieldNameWeight } = fieldName;
+ if (fieldName && fieldNameWeight) {
+ const weight = feature.properties[fieldNameWeight];
+ return weight || 1;
+ }
+ return 1;
+ };
+
+ return (
+
+ );
+};
+
+MultiScreenGridMap.propTypes = {
+ id: string.isRequired,
+ data: arrayOf(shape({})).isRequired,
+ pickable: bool,
+ civicColor: string,
+ opacity: number,
+ getPosition: func,
+ squareSize: number,
+ autoHighlight: bool,
+ highlightColor: arrayOf(number),
+ fieldName: shape({
+ weight: string
+ })
+};
+
+export default MultiScreenGridMap;
diff --git a/packages/ui-maps/src/MultiLayerMap/MultiSmallPolygonMap.js b/packages/ui-maps/src/MultiLayerMap/MultiSmallPolygonMap.js
new file mode 100644
index 000000000..68d51d783
--- /dev/null
+++ b/packages/ui-maps/src/MultiLayerMap/MultiSmallPolygonMap.js
@@ -0,0 +1,126 @@
+import React from "react";
+import { GeoJsonLayer } from "deck.gl";
+import { number, string, bool, func, arrayOf, shape } from "prop-types";
+import { scaleThreshold } from "d3";
+
+import { createColorScale, createSizeScale } from "./createLayers";
+
+const getLineWidthScale = scaleThreshold()
+ .domain([7, 7.5, 8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13.5, 14])
+ .range([
+ 24,
+ 18,
+ 12,
+ 6.75,
+ 5.75,
+ 4.75,
+ 3.75,
+ 2.75,
+ 1.75,
+ 1.5,
+ 1.25,
+ 1,
+ 0.75,
+ 0.5,
+ 0.25
+ ]);
+
+const MultiSmallPolygonMap = props => {
+ const {
+ id,
+ data,
+ pickable = true,
+ civicColor = "civicBlue",
+ opacity = 0.7,
+ getPolygon = f => f.geometry.coordinates,
+ filled = true,
+ stroked = true,
+ lineWidth = 5,
+ autoHighlight = true,
+ highlightColor = [255, 255, 0, 100],
+ onHoverSlide,
+ onLayerClick,
+ scaleType = {},
+ fieldName = {},
+ dataRange,
+ colorRange,
+ index,
+ viewport
+ } = props;
+
+ const colorScale = createColorScale(
+ civicColor,
+ scaleType,
+ dataRange,
+ colorRange
+ );
+
+ const getFillColor = feature => {
+ const { color: fieldNameColor } = fieldName;
+ if (fieldName && fieldNameColor) {
+ const value = feature.properties[fieldNameColor];
+ return value ? colorScale(value) : [0, 0, 0, 128];
+ }
+ return colorScale();
+ };
+
+ const { zoom } = viewport;
+ const sizeScale = getLineWidthScale(zoom);
+
+ const getLineWidth = createSizeScale(lineWidth);
+
+ return (
+ onHoverSlide(info, index)}
+ onClick={onLayerClick}
+ autoHighlight={autoHighlight}
+ highlightColor={highlightColor}
+ parameters={{ depthTest: false }}
+ updateTriggers={{
+ getFillColor,
+ getLineColor: getFillColor
+ }}
+ />
+ );
+};
+
+MultiSmallPolygonMap.propTypes = {
+ id: string.isRequired,
+ data: arrayOf(shape({})).isRequired,
+ pickable: bool,
+ civicColor: string,
+ opacity: number,
+ getPolygon: func,
+ filled: bool,
+ stroked: bool,
+ lineWidth: number,
+ autoHighlight: bool,
+ highlightColor: arrayOf(number),
+ onHoverSlide: func,
+ onLayerClick: func,
+ scaleType: shape({
+ color: string
+ }),
+ fieldName: shape({
+ color: string
+ }),
+ dataRange: arrayOf(string),
+ colorRange: arrayOf(arrayOf(number)),
+ index: number,
+ viewport: shape({})
+};
+
+export default MultiSmallPolygonMap;
diff --git a/packages/ui-maps/src/MultiLayerMap/createLayers.js b/packages/ui-maps/src/MultiLayerMap/createLayers.js
new file mode 100644
index 000000000..7331baeaa
--- /dev/null
+++ b/packages/ui-maps/src/MultiLayerMap/createLayers.js
@@ -0,0 +1,132 @@
+/* eslint-disable no-nested-ternary */
+import {
+ scaleQuantize,
+ scaleThreshold,
+ scaleOrdinal,
+ scaleQuantile,
+ extent,
+ color as d3Color
+} from "d3";
+
+import CIVIC_MAP_COLORS from "./mapStyles";
+
+const white = "#fff";
+const convertToRGB = colorArray => {
+ return colorArray
+ .map(d => (d3Color(d) ? d3Color(d) : d3Color(white)))
+ .map(d => [d.r, d.g, d.b]);
+};
+
+export const createRange = (civicColor, colorRange) => {
+ if (colorRange.length) {
+ if (d3Color(colorRange[0])) {
+ return convertToRGB(colorRange);
+ }
+ return colorRange;
+ }
+ if (civicColor && CIVIC_MAP_COLORS[civicColor]) {
+ return CIVIC_MAP_COLORS[civicColor];
+ }
+ return CIVIC_MAP_COLORS.earth;
+};
+
+const createEqualScale = () => scaleQuantize();
+
+export const updateEqualScale = (
+ featuresData,
+ equalScale,
+ civicColorSelection,
+ equalDomain = [],
+ equalRange = [],
+ field
+) => {
+ const { color: colorFieldName } = field;
+
+ const domain = equalDomain.length
+ ? equalDomain
+ : extent(featuresData, d => +d.properties[colorFieldName]);
+
+ const range = createRange(civicColorSelection, equalRange);
+
+ return equalScale
+ .domain(domain)
+ .range(range)
+ .nice();
+};
+
+const createQuantileScale = () => scaleQuantile();
+
+export const updateQuantileScale = (
+ featuresData,
+ quantileScale,
+ civicColorSelection,
+ quantileRange = [],
+ field
+) => {
+ const { color: colorFieldName } = field;
+
+ const domain = featuresData
+ .map(d => +d.properties[colorFieldName])
+ .reduce((a, c) => (a.indexOf(c) === -1 ? [...a, c] : a), []);
+
+ const colorRange = quantileRange.length
+ ? createRange("", quantileRange)
+ : CIVIC_MAP_COLORS[civicColorSelection]
+ ? CIVIC_MAP_COLORS[civicColorSelection]
+ : CIVIC_MAP_COLORS.earth;
+
+ return quantileScale.domain(domain).range(colorRange);
+};
+
+const createThresholdScale = (
+ civicColorSelection,
+ categories,
+ customColors
+) => {
+ const range = createRange(civicColorSelection, customColors);
+ return scaleThreshold()
+ .domain(categories)
+ .range(range);
+};
+
+const createDiscreteScale = (categories, colorRange) => {
+ const range = createRange("", colorRange);
+ return scaleOrdinal()
+ .domain(categories)
+ .range(range);
+ // .unknown([255, 255, 255, 128]);
+};
+
+export const createColorScale = (
+ colorSelection,
+ scaleType = {},
+ dataRange,
+ colorRange
+) => {
+ const { color: colorScaleType } = scaleType;
+
+ if (scaleType && colorScaleType === "equal") {
+ return createEqualScale();
+ }
+ if (scaleType && colorScaleType === "quantile") {
+ return createQuantileScale();
+ }
+ if (scaleType && colorScaleType === "threshold") {
+ return createThresholdScale(colorSelection, dataRange, colorRange);
+ }
+ if (scaleType && colorScaleType === "ordinal") {
+ return createDiscreteScale(dataRange, colorRange);
+ }
+ return () => CIVIC_MAP_COLORS[colorSelection];
+};
+
+export const createSizeScale = (width, scaleType = {}, fieldName = {}) => {
+ const { area: areaScaleType } = scaleType;
+ const { area: areaFieldName } = fieldName;
+
+ if (scaleType && areaScaleType === "circle area") {
+ return feature =>
+ Math.sqrt(Math.abs(+feature.properties[areaFieldName]) / Math.PI);
+ }
+ return () => width;
+};
diff --git a/packages/ui-maps/src/MultiLayerMap/mapStyles.js b/packages/ui-maps/src/MultiLayerMap/mapStyles.js
new file mode 100644
index 000000000..70922989b
--- /dev/null
+++ b/packages/ui-maps/src/MultiLayerMap/mapStyles.js
@@ -0,0 +1,98 @@
+const CIVIC_CATEGORICAL_COLORS = {
+ civicBlue: [30, 98, 189],
+ civicGreen: [25, 183, 170],
+ civicPurple: [114, 29, 124],
+ civicPink: [220, 69, 86],
+ civicYellow: [255, 178, 38]
+};
+
+const CIVIC_SEQUENTIAL_COLORS = {
+ thermal: [
+ [255, 255, 204],
+ [255, 237, 160],
+ [254, 217, 118],
+ [254, 178, 76],
+ [253, 141, 60],
+ [252, 78, 42],
+ [227, 26, 28],
+ [189, 0, 38],
+ [128, 0, 38]
+ ],
+ planet: [
+ [247, 244, 249],
+ [231, 225, 239],
+ [212, 185, 218],
+ [201, 148, 199],
+ [223, 101, 176],
+ [231, 41, 138],
+ [206, 18, 86],
+ [152, 0, 67],
+ [103, 0, 31]
+ ],
+ space: [
+ [247, 252, 253],
+ [224, 236, 244],
+ [191, 211, 230],
+ [158, 188, 218],
+ [140, 150, 198],
+ [140, 107, 177],
+ [136, 65, 157],
+ [129, 15, 124],
+ [77, 0, 75]
+ ],
+ earth: [
+ [255, 247, 251],
+ [236, 226, 240],
+ [208, 209, 230],
+ [166, 189, 219],
+ [103, 169, 207],
+ [54, 144, 192],
+ [2, 129, 138],
+ [1, 108, 89],
+ [1, 70, 54]
+ ],
+ ocean: [
+ [255, 255, 217],
+ [237, 248, 177],
+ [199, 233, 180],
+ [127, 205, 187],
+ [65, 182, 196],
+ [29, 145, 192],
+ [34, 94, 168],
+ [37, 52, 148],
+ [8, 29, 88]
+ ]
+};
+
+const CIVIC_DIVERGING_COLORS = {
+ purpleGreen: [
+ [118, 42, 131],
+ [153, 112, 171],
+ [194, 165, 207],
+ [231, 212, 232],
+ [247, 247, 247],
+ [217, 240, 211],
+ [166, 219, 160],
+ [90, 174, 97],
+ [27, 120, 55]
+ ],
+ purpleOrange: [
+ [179, 88, 6],
+ [224, 130, 20],
+ [253, 184, 99],
+ [254, 224, 182],
+ [247, 247, 247],
+ [216, 218, 235],
+ [178, 171, 210],
+ [128, 115, 172],
+ [84, 39, 136]
+ ]
+};
+
+const CIVIC_MAP_COLORS = {
+ ...CIVIC_CATEGORICAL_COLORS,
+ ...CIVIC_SEQUENTIAL_COLORS,
+ ...CIVIC_DIVERGING_COLORS
+};
+
+export default CIVIC_MAP_COLORS;
diff --git a/packages/ui-maps/src/PackageSelectorBox/PackageSelectorBox.js b/packages/ui-maps/src/PackageSelectorBox/PackageSelectorBox.js
new file mode 100644
index 000000000..4ae0b9085
--- /dev/null
+++ b/packages/ui-maps/src/PackageSelectorBox/PackageSelectorBox.js
@@ -0,0 +1,136 @@
+import { useReducer, Fragment } from "react";
+import PropTypes from "prop-types";
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+import List from "@material-ui/core/List";
+import ListItem from "@material-ui/core/ListItem";
+import ListItemText from "@material-ui/core/ListItemText";
+import Typography from "@material-ui/core/Typography";
+import Collapse from "@material-ui/core/Collapse";
+import ExpandLess from "@material-ui/icons/ExpandLess";
+import ExpandMore from "@material-ui/icons/ExpandMore";
+import { ThemeProvider } from "@material-ui/styles";
+import BookIcon from "@material-ui/icons/Book";
+import { groupBy } from "lodash";
+import { generate } from "shortid";
+import { MaterialTheme } from "@hackoregon/ui-themes";
+
+const MANUAL_LOCATION_SORT = ["National"];
+const MANUAL_LOCATION_EXCLUDE = ["Nevada", "Georgia"];
+
+const PackageSelector = ({ packages, onChange }) => {
+ const [collapsedItems, dispatch] = useReducer((state, action) => {
+ switch (action.type) {
+ case "toggle":
+ return {
+ ...state,
+ [action.location]: !state[action.location]
+ };
+ default:
+ return state;
+ }
+ }, {});
+
+ const packagesWithLocations =
+ packages &&
+ packages.length &&
+ packages.map(pkg => {
+ const { displayName } = pkg;
+ const nameAndLocation = displayName.split(":");
+ const location = nameAndLocation.length === 2 ? nameAndLocation[0] : "";
+ const name = nameAndLocation.length === 2 ? nameAndLocation[1] : "";
+ return { ...pkg, name, location };
+ });
+
+ const packagesByLocation =
+ packagesWithLocations &&
+ groupBy(packagesWithLocations, item => item.location);
+
+ const unsortedLocations =
+ packagesWithLocations &&
+ Object.keys(packagesByLocation).filter(
+ location =>
+ !MANUAL_LOCATION_SORT.includes(location) &&
+ !MANUAL_LOCATION_EXCLUDE.includes(location)
+ );
+ const sortedLocations = packagesWithLocations && [
+ ...MANUAL_LOCATION_SORT,
+ ...unsortedLocations
+ ];
+
+ return (
+
+
+ {sortedLocations &&
+ sortedLocations.map(location => (
+
+
+ dispatch({
+ type: "toggle",
+ location
+ })
+ }
+ >
+
+ {location}
+
+ }
+ />
+ {!collapsedItems[location] ? : }
+
+
+
+ {packagesWithLocations &&
+ packagesWithLocations
+ .filter(pkg => pkg.location === location)
+ .map(({ displayName, name }) => (
+ onChange(displayName)}
+ css={css(
+ `padding-left: ${MaterialTheme.spacing(
+ 3
+ )}px !important;`
+ )}
+ >
+
+
+ {name}
+
+ }
+ />
+
+ ))}
+
+
+
+ ))}
+
+
+ );
+};
+PackageSelector.displayName = "PackageSelector";
+
+PackageSelector.propTypes = {
+ packages: PropTypes.shape({
+ displayName: PropTypes.string,
+ layers: PropTypes.arrayOf(PropTypes.shape)
+ }),
+ onChange: PropTypes.func
+};
+
+export default PackageSelector;
diff --git a/packages/ui-maps/src/PackageSelectorBox/PackageSelectorBox.test.js b/packages/ui-maps/src/PackageSelectorBox/PackageSelectorBox.test.js
new file mode 100644
index 000000000..d456426fd
--- /dev/null
+++ b/packages/ui-maps/src/PackageSelectorBox/PackageSelectorBox.test.js
@@ -0,0 +1,38 @@
+// import React from "react";
+// import { mount } from "enzyme";
+// import PackageSelectorBox from "./PackageSelectorBox";
+
+// describe("PackageSelctorBox", () => {
+// const packages = [
+// {
+// displayName: "Nevada: Computers in Household",
+// defaultLayers: ["Total - Has Computing Devices"],
+// layers: [
+// {
+// name: "Total - Has Computing Devices",
+// layerEndpoint:
+// "https://gist.githubusercontent.com/mendozaline/2ec7cddfc30e374d85e8b47cef58f624/raw/d4b3f98d9c92762673b0b6745fec595d65f90b44/NV-total-has-computing-devices.json"
+// },
+// {
+// name: "Total Smartphone and No Desktop",
+// layerEndpoint:
+// "https://gist.githubusercontent.com/mendozaline/2ec7cddfc30e374d85e8b47cef58f624/raw/d4b3f98d9c92762673b0b6745fec595d65f90b44/NV-total-smartphone-no-desktop.json"
+// },
+// {
+// name: "Total No Computer",
+// layerEndpoint:
+// "https://gist.githubusercontent.com/mendozaline/2ec7cddfc30e374d85e8b47cef58f624/raw/d4b3f98d9c92762673b0b6745fec595d65f90b44/NV-total-no-computer.json"
+// }
+// ]
+// }
+// ];
+// const wrapper = mount(
+// {}} />
+// );
+// it("should render a link", () => {
+// expect(wrapper.find("div")).to.have.length(1);
+// });
+// it('should have the appropriate child text', () => {
+// expect(wrapper.text()).to.eql(testTitle);
+// });
+// });
diff --git a/packages/ui-maps/src/PathMap/PathMap.js b/packages/ui-maps/src/PathMap/PathMap.js
new file mode 100644
index 000000000..2b7be3243
--- /dev/null
+++ b/packages/ui-maps/src/PathMap/PathMap.js
@@ -0,0 +1,103 @@
+import PropTypes from "prop-types";
+import React from "react";
+import DeckGL, { PathLayer } from "deck.gl";
+
+const PathMap = props => {
+ const {
+ viewport,
+ data,
+ getColor,
+ getCursor,
+ opacity,
+ getPath,
+ getWidth,
+ widthScale,
+ rounded,
+ autoHighlight,
+ highlightColor,
+ onLayerClick,
+ visible,
+ tooltipInfo,
+ x,
+ y,
+ onHover,
+ children
+ } = props;
+
+ const tooltip = React.Children.map(children, child => {
+ return React.cloneElement(child, {
+ tooltipInfo,
+ x,
+ y
+ });
+ });
+
+ const tooltipRender = tooltipInfo && x && y ? tooltip : null;
+
+ return (
+
+
+
+
+ {tooltipRender}
+
+ );
+};
+
+PathMap.propTypes = {
+ viewport: PropTypes.shape({}),
+ data: PropTypes.arrayOf(PropTypes.shape({})).isRequired,
+ getColor: PropTypes.oneOfType([
+ PropTypes.func,
+ PropTypes.arrayOf(PropTypes.number)
+ ]),
+ getCursor: PropTypes.func,
+ opacity: PropTypes.number,
+ getPath: PropTypes.func,
+ getWidth: PropTypes.oneOfType([PropTypes.func, PropTypes.number]),
+ widthScale: PropTypes.number,
+ rounded: PropTypes.bool,
+ autoHighlight: PropTypes.bool,
+ highlightColor: PropTypes.arrayOf(PropTypes.number),
+ onLayerClick: PropTypes.func,
+ visible: PropTypes.bool,
+ tooltipInfo: PropTypes.shape({}),
+ x: PropTypes.number,
+ y: PropTypes.number,
+ onHover: PropTypes.func,
+ children: PropTypes.node
+};
+
+PathMap.defaultProps = {
+ getColor: () => [0, 0, 0],
+ getCursor: () => "crosshair",
+ opacity: 0.9,
+ getPath: d => d.geometry.coordinates,
+ getWidth: () => 10,
+ widthScale: 1,
+ rounded: false,
+ autoHighlight: true,
+ highlightColor: [0, 0, 128, 191],
+ visible: true
+};
+
+export default PathMap;
diff --git a/packages/ui-maps/src/PathMap/PathMap.test.js b/packages/ui-maps/src/PathMap/PathMap.test.js
new file mode 100644
index 000000000..188e2b88a
--- /dev/null
+++ b/packages/ui-maps/src/PathMap/PathMap.test.js
@@ -0,0 +1,33 @@
+import React from "react";
+import { shallow } from "enzyme";
+import PathMap from "./PathMap";
+
+describe("PathMap", () => {
+ const data = [
+ {
+ type: "Feature",
+ geometry: {
+ type: "LineString",
+ coordinates: [[0, 0], [1, 1]]
+ },
+ properties: {
+ name: "Null Island"
+ }
+ }
+ ];
+
+ const defaultProps = { data };
+
+ it("should render a DeckGL component", () => {
+ const wrapper = shallow( );
+
+ expect(wrapper.find(".DeckGL")).to.have.length(1);
+ });
+
+ it("should render child PathMap component", () => {
+ const wrapper = shallow( );
+
+ expect(wrapper.find(".DeckGL").children()).to.have.length(1);
+ expect(wrapper.find(".PathMap")).to.have.length(1);
+ });
+});
diff --git a/packages/ui-maps/src/PolygonPreview/PolygonPreview.js b/packages/ui-maps/src/PolygonPreview/PolygonPreview.js
new file mode 100644
index 000000000..699245ac8
--- /dev/null
+++ b/packages/ui-maps/src/PolygonPreview/PolygonPreview.js
@@ -0,0 +1,71 @@
+import { Fragment } from "react";
+import PropTypes from "prop-types";
+import * as d3 from "d3";
+
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+
+const PolygonPreview = ({
+ feature,
+ svgCss,
+ svgWidth,
+ svgHeight,
+ stroke,
+ strokeWidth,
+ fill,
+ fillOpacity,
+ padding,
+ reflectY
+}) => {
+ const projection = d3
+ .geoIdentity()
+ .reflectY(reflectY) // need to flip to translate between coordinate systems https://github.com/d3/d3-geo/issues/68
+ .fitExtent(
+ [[padding, padding], [svgWidth - padding, svgHeight - padding]],
+ feature
+ );
+
+ const background = d3.geoPath().projection(projection)(feature);
+
+ return (
+
+
+
+
+
+ );
+};
+
+PolygonPreview.propTypes = {
+ feature: PropTypes.shape({ type: PropTypes.string }),
+ svgCss: PropTypes.shape({}),
+ svgWidth: PropTypes.number,
+ svgHeight: PropTypes.number,
+ stroke: PropTypes.string,
+ strokeWidth: PropTypes.number,
+ fill: PropTypes.string,
+ fillOpacity: PropTypes.number,
+ padding: PropTypes.number,
+ reflectY: PropTypes.bool
+};
+
+PolygonPreview.defaultProps = {
+ svgWidth: 650,
+ svgHeight: 350,
+ stroke: "#000000",
+ strokeWidth: 1,
+ fill: "#000000",
+ fillOpacity: 0,
+ padding: 5,
+ reflectY: true
+};
+
+PolygonPreview.displayName = "PolygonPreview";
+
+export default PolygonPreview;
diff --git a/packages/ui-maps/src/PolygonPreview/PolygonPreview.test.js b/packages/ui-maps/src/PolygonPreview/PolygonPreview.test.js
new file mode 100644
index 000000000..fa11b8289
--- /dev/null
+++ b/packages/ui-maps/src/PolygonPreview/PolygonPreview.test.js
@@ -0,0 +1,11 @@
+import React from "react";
+import { mount } from "enzyme";
+import PolygonPreview from "./PolygonPreview";
+
+describe("PolygonPreview", () => {
+ it("should render PolygonPreview", () => {
+ const wrapper = mount( );
+ expect(wrapper.find("PolygonPreview")).to.have.length(1);
+ expect(wrapper.find("PolygonPreview").children()).to.have.length(1);
+ });
+});
diff --git a/packages/ui-maps/src/Sandbox/Sandbox.js b/packages/ui-maps/src/Sandbox/Sandbox.js
new file mode 100644
index 000000000..ca6fb07b9
--- /dev/null
+++ b/packages/ui-maps/src/Sandbox/Sandbox.js
@@ -0,0 +1,348 @@
+import { useState } from "react";
+import {
+ arrayOf,
+ bool,
+ func,
+ number,
+ string,
+ shape,
+ oneOfType,
+ node
+} from "prop-types";
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+import BaseMap from "../BaseMap/BaseMap";
+import CivicSandboxMap from "../MultiLayerMap/MultiLayerMap";
+import CivicSandboxTooltip from "../CivicSandboxMap/CivicSandboxTooltip";
+import SandboxDrawer from "./SandboxDrawer";
+import SandboxIntroDialog from "./SandboxIntroDialog";
+import SandboxLegend from "./SandboxLegend";
+import "./sandboxGeocoder.css";
+
+const baseMapWrapper = css(`
+ height: 100vh;
+ min-height: 650px;
+ @media (max-width: 850px) {
+ height: 100vh;
+ min-height: 600px;
+ }
+ @media (max-width: 500px) {
+ padding-top: 40px;
+ width: 100%;
+ height: calc(100vh - 40px);
+ min-height: 390px;
+ }
+`);
+
+const Sandbox = ({
+ data,
+ layerData,
+ defaultFoundation,
+ defaultSlides,
+ selectedPackage,
+ selectedPackageDescription,
+ selectedFoundation,
+ selectedSlide,
+ slideData,
+ updatePackage,
+ updateFoundation,
+ updateSlide,
+ fetchSlideDataByDate,
+ drawerVisible,
+ drawerVisualization,
+ drawerLayerSelector,
+ drawerExplore,
+ toggleDrawer,
+ toggleDrawerLayerSelector,
+ toggleDrawerVisualization,
+ toggleDrawerExplore,
+ dialogVisible,
+ toggleDialog,
+ contributeDialogVisible,
+ toggleContributeDialog,
+ ContributeDialogComponent,
+ styles,
+ onFoundationClick,
+ onSlideHover,
+ onBaseMapHover,
+ tooltipInfo,
+ tooltipInfoVector,
+ allSlides,
+ selectedFoundationDatum,
+ areSlidesLoading,
+ errors,
+ updateSlideKey
+}) => {
+ const [baseMapStyle, setBaseMapStyle] = useState("light");
+
+ const handleBaseMapStyleChange = baseMapStyleChangeEvent => {
+ // eslint-disable-next-line no-unused-expressions
+ baseMapStyleChangeEvent.target.value === "light"
+ ? setBaseMapStyle("light")
+ : setBaseMapStyle("sandbox-dark");
+ };
+
+ const featuresArr = layerData.length ? layerData[0].data : [];
+ const boundBox = layerData.length ? layerData[0].boundBox : [];
+
+ const [highlightFeatureStateID, setHighlightFeatureStateID] = useState(null);
+ const [vectorSource, setVectorSource] = useState(null);
+ const [vectorSourceLayer, setVectorSourceLayer] = useState(null);
+
+ const onHoverVectorLayer = (info, mapboxRef) => {
+ const [selectedFeature] = info.features;
+ if (!selectedFeature) return;
+
+ const selectedIndex =
+ selectedFeature.layer &&
+ selectedFeature.layer.metadata &&
+ selectedFeature.layer.metadata["sandbox:index"];
+
+ const hoverVectorSource = selectedFeature.source;
+ const hoverVectorSourceLayer = selectedFeature.sourceLayer;
+
+ const hasSource = mapboxRef.getSource(vectorSource);
+ if (highlightFeatureStateID && hasSource) {
+ mapboxRef.setFeatureState(
+ {
+ source: vectorSource,
+ sourceLayer: vectorSourceLayer,
+ id: highlightFeatureStateID
+ },
+ {
+ highlight: false
+ }
+ );
+ }
+
+ if (selectedIndex >= 0) {
+ setVectorSource(hoverVectorSource);
+ setVectorSourceLayer(hoverVectorSourceLayer);
+ setHighlightFeatureStateID(selectedFeature.id);
+ mapboxRef.setFeatureState(
+ {
+ source: hoverVectorSource,
+ sourceLayer: hoverVectorSourceLayer,
+ id: selectedFeature.id
+ },
+ {
+ highlight: true
+ }
+ );
+ }
+
+ const selectedProps = selectedFeature.properties;
+ if (selectedProps && selectedIndex !== undefined) {
+ const selectedDatum = {
+ object: {
+ properties: selectedProps
+ },
+ x: info.point[0],
+ y: info.point[1]
+ };
+ onBaseMapHover(selectedDatum, selectedIndex);
+ } else {
+ const selectedDatum = {};
+ onBaseMapHover(selectedDatum, selectedIndex);
+ }
+ };
+
+ const mouseOutVectorLayer = mapboxRef => {
+ const hasSource = mapboxRef.getSource(vectorSource);
+ if (hasSource) {
+ mapboxRef.removeFeatureState({
+ source: vectorSource,
+ sourceLayer: vectorSourceLayer
+ });
+ }
+
+ const selectedDatum = {
+ object: {}
+ };
+ onBaseMapHover(selectedDatum);
+ };
+
+ return (
+
+
+
+
+
+
+
+
+
+ {tooltipInfo && }
+ {tooltipInfoVector && (
+
+ )}
+
+
+
+
+
+ );
+};
+
+Sandbox.propTypes = {
+ data: shape({
+ packages: arrayOf(shape({})),
+ slides: shape({})
+ }).isRequired,
+ layerData: arrayOf(shape({})).isRequired,
+ defaultFoundation: shape({
+ endpoint: string,
+ name: string,
+ visualization: string
+ }),
+ defaultSlides: arrayOf(
+ shape({
+ endpoint: string,
+ name: string,
+ visualization: string
+ })
+ ).isRequired,
+ selectedPackage: string.isRequired,
+ selectedPackageDescription: string.isRequired,
+ selectedFoundation: string.isRequired,
+ selectedSlide: arrayOf(string).isRequired,
+ slideData: arrayOf(shape({})).isRequired,
+ updatePackage: func.isRequired,
+ updateFoundation: func.isRequired,
+ updateSlide: func.isRequired,
+ fetchSlideDataByDate: func.isRequired,
+ drawerVisible: bool.isRequired,
+ drawerVisualization: bool.isRequired,
+ drawerExplore: bool.isRequired,
+ drawerLayerSelector: bool.isRequired,
+ toggleDrawer: func.isRequired,
+ toggleDrawerLayerSelector: func.isRequired,
+ toggleDrawerVisualization: func.isRequired,
+ toggleDrawerExplore: func.isRequired,
+ dialogVisible: bool.isRequired,
+ toggleDialog: func.isRequired,
+ contributeDialogVisible: bool.isRequired,
+ toggleContributeDialog: func.isRequired,
+ ContributeDialogComponent: node.isRequired,
+ styles: string,
+ onFoundationClick: func,
+ onSlideHover: func,
+ onBaseMapHover: func,
+ tooltipInfo: shape({
+ content: arrayOf(shape({})),
+ x: number,
+ y: number
+ }),
+ tooltipInfoVector: shape({
+ content: arrayOf(shape({})),
+ x: number,
+ y: number
+ }),
+ allSlides: arrayOf(
+ shape({
+ checked: bool,
+ color: arrayOf(number),
+ endpoint: string,
+ label: string,
+ mapType: string,
+ slideId: oneOfType([string, number])
+ })
+ ).isRequired,
+ selectedFoundationDatum: shape({
+ id: number,
+ displayName: string,
+ featureProperties: shape({}),
+ colorKey: string,
+ primaryFormat: string
+ }),
+ areSlidesLoading: bool,
+ updateSlideKey: func,
+ errors: bool
+};
+
+export default Sandbox;
diff --git a/packages/ui-maps/src/Sandbox/SandboxBaseMapSelector.js b/packages/ui-maps/src/Sandbox/SandboxBaseMapSelector.js
new file mode 100644
index 000000000..53f41fe87
--- /dev/null
+++ b/packages/ui-maps/src/Sandbox/SandboxBaseMapSelector.js
@@ -0,0 +1,43 @@
+/* TODO: Fix linting errors */
+/* eslint-disable */
+
+import PropTypes from "prop-types";
+import { Fragment } from "react";
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+
+const baseMapMenu = css(`
+ padding: 10px;
+ z-index: 2;
+ font-family: "Roboto Condensed", sans-serif;
+`);
+
+const SandboxBaseMapSelector = ({ onBaseMapStyleChange, baseMapStyle }) => {
+ return (
+
+
+
+ Light
+
+ Dark
+
+
+ );
+};
+
+SandboxBaseMapSelector.propTypes = {
+ onBaseMapStyleChange: PropTypes.func.isRequired,
+ baseMapStyle: PropTypes.string.isRequired
+};
+
+export default SandboxBaseMapSelector;
diff --git a/packages/ui-maps/src/Sandbox/SandboxDateSelector.js b/packages/ui-maps/src/Sandbox/SandboxDateSelector.js
new file mode 100644
index 000000000..f0d8367d5
--- /dev/null
+++ b/packages/ui-maps/src/Sandbox/SandboxDateSelector.js
@@ -0,0 +1,112 @@
+/* TODO: Fix linting errors */
+/* eslint-disable */
+
+import React from "react";
+import { rangeRight } from "lodash";
+import { Dropdown } from "@hackoregon/ui-core";
+
+const months = [
+ "Jan",
+ "Feb",
+ "Mar",
+ "Apr",
+ "May",
+ "Jun",
+ "Jul",
+ "Aug",
+ "Sep",
+ "Oct",
+ "Nov",
+ "Dec"
+];
+
+const createMonths = (minDate, maxDate) => {
+ const minMonth = minDate.slice(0, 3);
+ const maxMonth = maxDate.slice(0, 3);
+ const minYear = minDate.slice(-4);
+ const maxYear = maxDate.slice(-4);
+ const years = rangeRight(+minYear, +maxYear + 1);
+ const minMonths = months.slice(months.indexOf(minMonth));
+ const maxMonths = months.slice(0, months.indexOf(maxMonth) + 1);
+
+ const monthOptions = years
+ .map((year, index, arr) => {
+ let monthYears;
+ if (index === 0) {
+ monthYears = maxMonths.map(month => month + year).reverse();
+ } else if (index === arr.length - 1) {
+ monthYears = minMonths.map(month => month + year).reverse();
+ } else {
+ monthYears = months.map(month => month + year).reverse();
+ }
+ return monthYears;
+ })
+ .reduce((a, b) => a.concat(b), []);
+
+ return monthOptions;
+};
+
+const dateHelper = (meta = {}) => {
+ let dates = [];
+ if (meta.dates && meta.dates.date_granularity !== null) {
+ if (meta.dates.date_granularity.toLowerCase() === "year") {
+ dates = rangeRight(+meta.dates.min_date, +meta.dates.max_date + 1).map(
+ String
+ );
+ }
+ if (meta.dates.date_granularity.toLowerCase() === "decade") {
+ dates = rangeRight(
+ +meta.dates.min_date,
+ +meta.dates.max_date + 1,
+ 10
+ ).map(String);
+ }
+ if (meta.dates.date_granularity.toLowerCase() === "month") {
+ dates = createMonths(meta.dates.min_date, meta.dates.max_date);
+ }
+ return dates.map(date => ({
+ label: date,
+ value: date
+ }));
+ }
+ return [
+ meta.dates
+ ? {
+ label: meta.dates.default_date_filter,
+ value: meta.dates.default_date_filter
+ }
+ : {}
+ ];
+};
+
+class DateDropdown extends React.Component {
+ constructor(props) {
+ super();
+ this.state = {
+ date: props.selectedSlideData.slide_meta
+ ? props.selectedSlideData.slide_meta.dates.default_date_filter
+ : ""
+ };
+ this.handleChange = this.handleChange.bind(this);
+ }
+
+ handleChange = date => {
+ this.setState({ date });
+ this.props.fetchSlideByDate(this.props.slide, date, this.props.type);
+ };
+
+ render() {
+ const options = dateHelper(this.props.selectedSlideData.slide_meta);
+ return (
+
+ );
+ }
+}
+
+export default DateDropdown;
diff --git a/packages/ui-maps/src/Sandbox/SandboxDrawer.js b/packages/ui-maps/src/Sandbox/SandboxDrawer.js
new file mode 100644
index 000000000..669cb0edf
--- /dev/null
+++ b/packages/ui-maps/src/Sandbox/SandboxDrawer.js
@@ -0,0 +1,270 @@
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+import { string, bool, func, arrayOf, shape } from "prop-types";
+import MenuIcon from "@material-ui/icons/Menu";
+import TimelineIcon from "@material-ui/icons/Timeline";
+import LayersIcon from "@material-ui/icons/Layers";
+import BookIcon from "@material-ui/icons/Book";
+import SandboxDrawerLayerSelector from "./SandboxDrawerLayerSelector";
+import SandboxDrawerVisualization from "./SandboxDrawerVisualization";
+import SandboxDrawerExplore from "./SandboxDrawerExplore";
+import { Logo } from "..";
+
+const menuOpen = css(`
+ display: flex;
+ position: absolute;
+ top: 0;
+ right: 0;
+ height: 78vh;
+ min-height: 640px;
+ width: 33%;
+ z-index: 5;
+ transition: 0.5s;
+ @media (max-width: 850px) {
+ width: 95%;
+ height: 78vh;
+ min-height: 590px;
+ }
+ @media (max-width: 500px) {
+ flex-direction: column;
+ width: 100%;
+ height: 100%;
+ min-height: 390px;
+ }
+`);
+
+const menuClosed = css(`
+ display: flex;
+ position: absolute;
+ top: 0;
+ right: 0;
+ height: 75vh;
+ width: 40px;
+ z-index: 5;
+ transition: 0.5s;
+ @media (max-width: 500px) {
+ flex-direction: column;
+ width: 100%;
+ height: 40px;
+ }
+`);
+
+const SandboxDrawer = props => {
+ const {
+ data,
+ onChange,
+ selectedPackage,
+ selectedPackageDescription,
+ toggleDialog,
+ toggleContributeDialog,
+ toggleDrawer,
+ toggleVisualization,
+ toggleLayerSelector,
+ toggleExplore,
+ drawerVisible,
+ drawerVisualization,
+ drawerLayerSelector,
+ drawerExplore,
+ foundationData,
+ allSlides,
+ updatePackage,
+ foundationMapProps,
+ areSlidesLoading,
+ errors,
+ updateSlideKey,
+ selectedFoundationDatum
+ } = props;
+
+ const buttonStyle = css(`
+ color: #F3F2F3;
+ height: 40px;
+ opacity: 0.6;
+ display: flex;
+ `);
+
+ const buttonIcon = css(`
+ margin: auto;
+ `);
+
+ const on = css(`
+ opacity: 1;
+ `);
+
+ const disabled = css(`
+ background: #AAA4AB;
+ `);
+
+ const active = css(`
+ opacity: 1;
+ @media (min-width: 500px) {
+ border-left: 4px solid #201024;
+ }
+ @media (max-width: 500px) {
+ border-bottom: 4px solid #F3F2F3;
+ box-sizing: border-box;
+ }
+ `);
+
+ const allVectorTileLayers =
+ !areSlidesLoading && allSlides
+ ? foundationData.every(slide =>
+ ["vtChoroplethMap", "vtScatterPlotMap"].includes(slide.mapType)
+ )
+ : true;
+
+ const nothing = () => {};
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {drawerVisible && (
+
+
+ {drawerVisualization && (
+
+ )}
+ {drawerLayerSelector && (
+
+ )}
+ {drawerExplore && (
+
+ )}
+
+ )}
+
+ );
+};
+
+export default SandboxDrawer;
+
+SandboxDrawer.propTypes = {
+ data: shape({}),
+ onChange: func,
+ selectedPackage: string,
+ selectedPackageDescription: string,
+ toggleDialog: func,
+ toggleDrawer: func,
+ toggleContributeDialog: func,
+ toggleVisualization: func,
+ toggleLayerSelector: func,
+ toggleExplore: func,
+ drawerVisible: bool,
+ drawerVisualization: bool,
+ drawerLayerSelector: bool,
+ drawerExplore: bool,
+ foundationData: arrayOf(shape({})),
+ allSlides: arrayOf(shape({})),
+ updatePackage: func,
+ foundationMapProps: arrayOf(shape({})),
+ areSlidesLoading: bool,
+ errors: bool,
+ updateSlideKey: func,
+ selectedFoundationDatum: shape({})
+};
diff --git a/packages/ui-maps/src/Sandbox/SandboxDrawerExplore.js b/packages/ui-maps/src/Sandbox/SandboxDrawerExplore.js
new file mode 100644
index 000000000..aa5e056db
--- /dev/null
+++ b/packages/ui-maps/src/Sandbox/SandboxDrawerExplore.js
@@ -0,0 +1,76 @@
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+import { string, bool, func, shape } from "prop-types";
+import { Fragment } from "react";
+import BookIcon from "@material-ui/icons/Book";
+import { PackageSelectorBox, ButtonNew, Placeholder } from "..";
+
+const SandboxDrawerExplore = props => {
+ const {
+ data,
+ selectedPackage,
+ toggleLayerSelector,
+ updatePackage,
+ errors,
+ toggleContributeDialog
+ } = props;
+
+ return (
+
+
+
+
+
+ Collections
+
+
+
+
+
+
{
+ updatePackage({ displayName: name });
+ toggleLayerSelector();
+ }}
+ />
+
+ {errors ? (
+
+
There was an error fetching the data.
+
+ ) : null}
+
+ );
+};
+
+export default SandboxDrawerExplore;
+
+SandboxDrawerExplore.propTypes = {
+ data: shape({}),
+ selectedPackage: string,
+ updatePackage: func,
+ toggleLayerSelector: func,
+ toggleContributeDialog: bool,
+ errors: bool
+};
diff --git a/packages/ui-maps/src/Sandbox/SandboxDrawerLayerSelector.js b/packages/ui-maps/src/Sandbox/SandboxDrawerLayerSelector.js
new file mode 100644
index 000000000..8e85c654b
--- /dev/null
+++ b/packages/ui-maps/src/Sandbox/SandboxDrawerLayerSelector.js
@@ -0,0 +1,211 @@
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+import shortid from "shortid";
+import { string, bool, func, arrayOf, shape } from "prop-types";
+import { Fragment } from "react";
+import LayersIcon from "@material-ui/icons/Layers";
+import { Dropdown, Logo, Checkbox, ButtonNew } from "..";
+
+const SandboxDrawerLayerSelector = props => {
+ const {
+ onChange,
+ foundationData,
+ allSlides,
+ areSlidesLoading,
+ errors,
+ updateSlideKey,
+ selectedPackage,
+ toggleDrawer
+ } = props;
+
+ const loadingContainer = css`
+ display: flex;
+ height: 250px;
+ width: 100%;
+ margin: auto;
+ `;
+ const loading = css`
+ font-size: 2rem;
+ margin: auto;
+ text-align: center;
+ font-family: "Roboto Condensed", "Helvetica Neue", Helvetica, sans-serif;
+ `;
+
+ const scatterplotHelperText = css`
+ font-size: 0.8rem;
+ margin: -10px 0px 0px 31px;
+ font-style: italic;
+ `;
+
+ const mobileOnly = css`
+ padding-bottom: 1rem;
+ @media (min-width: 500px) {
+ display: none;
+ }
+ `;
+
+ const loader = (
+
+ );
+
+ return (
+
+
+
+
+
+ Map Layers
+
+
{selectedPackage}
+
+
+
+
+
+
+
+ Layers
+
+
+
+ {!areSlidesLoading && allSlides
+ ? allSlides.map((slide, index) => {
+ const dataIndex = foundationData.findIndex(d => {
+ const scatterplot =
+ d.mapType === "ScatterPlotMap" &&
+ d.layerInfo.displayName === slide.label;
+ const choropleth =
+ d.mapType === "ChoroplethMap" &&
+ d.layerInfo.displayName === slide.label;
+ return choropleth || scatterplot;
+ });
+
+ const matchFound =
+ dataIndex > -1 && foundationData[dataIndex].data.length > 0;
+
+ const keyAllOptions = matchFound
+ ? Object.keys(
+ foundationData[dataIndex].data[0].properties
+ ).filter(c => {
+ const fieldName = foundationData[dataIndex].fieldName.color;
+ const a = c.match(/^[a-zA-Z]+/);
+ const b = fieldName.match(/^[a-zA-Z]+/);
+ return a[0] === b[0];
+ })
+ : [];
+
+ const keyOptions =
+ keyAllOptions.length > 3
+ ? keyAllOptions.slice(0, 4)
+ : keyAllOptions;
+
+ const censusYears = ["1990", "2000", "2010", "2017"];
+ const censusChangeYears = ["1990-2017", "2000-2017", "2010-2017"];
+ const notYear =
+ keyAllOptions[0] && keyAllOptions[0].search(/[0-9]/) > -1;
+ const keySelector = matchFound && notYear && (
+ ({
+ value: k,
+ label: censusChangeYears[i]
+ }))
+ : keyOptions.map((k, i) => ({
+ value: k,
+ label: censusYears[i]
+ }))
+ }
+ onChange={name => {
+ updateSlideKey({ [slide.label]: name });
+ }}
+ simpleValue
+ />
+ );
+
+ return (
+
+
+
+ {slide.mapType === "vtScatterPlotMap" ? (
+
Zoom in to view
+ ) : (
+ ""
+ )}
+
+
+ {keySelector}
+
+
+ );
+ })
+ : loader}
+ {errors ? (
+
+
There was an error fetching the data.
+
+ ) : null}
+
+ );
+};
+
+export default SandboxDrawerLayerSelector;
+
+SandboxDrawerLayerSelector.propTypes = {
+ onChange: func,
+ foundationData: arrayOf(shape({})),
+ allSlides: arrayOf(shape({})),
+ areSlidesLoading: bool,
+ errors: bool,
+ updateSlideKey: func,
+ selectedPackage: string,
+ toggleDrawer: func
+};
diff --git a/packages/ui-maps/src/Sandbox/SandboxDrawerVisualization.js b/packages/ui-maps/src/Sandbox/SandboxDrawerVisualization.js
new file mode 100644
index 000000000..168936fc9
--- /dev/null
+++ b/packages/ui-maps/src/Sandbox/SandboxDrawerVisualization.js
@@ -0,0 +1,53 @@
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+import { string, shape } from "prop-types";
+import { Fragment } from "react";
+import TimelineIcon from "@material-ui/icons/Timeline";
+import CivicSandboxDashboard from "../CivicSandboxDashboard/CivicSandboxDashboard";
+
+const SandboxDrawerVisualization = props => {
+ const {
+ selectedPackage,
+ selectedPackageDescription,
+ selectedFoundationDatum
+ } = props;
+
+ return (
+
+
+
+
+
+ Data Detail
+
+
{selectedPackage}
+
{selectedPackageDescription}
+
+
+
+
+ );
+};
+
+export default SandboxDrawerVisualization;
+
+SandboxDrawerVisualization.propTypes = {
+ selectedPackage: string,
+ selectedPackageDescription: string,
+ selectedFoundationDatum: shape({})
+};
diff --git a/packages/ui-maps/src/Sandbox/SandboxIntroDialog.js b/packages/ui-maps/src/Sandbox/SandboxIntroDialog.js
new file mode 100644
index 000000000..e43e50c1e
--- /dev/null
+++ b/packages/ui-maps/src/Sandbox/SandboxIntroDialog.js
@@ -0,0 +1,61 @@
+import PropTypes from "prop-types";
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+import { Dialog, ButtonNew, Logo } from "..";
+
+const contentWrapper = css`
+ margin: 20px;
+`;
+
+const buttonWrapper = css`
+ display: flex;
+ justify-content: space-evenly;
+ padding: 1rem 0 1rem 0;
+ @media (max-width: 500px) {
+ flex-direction: column;
+ padding: 0;
+ }
+`;
+
+const headerLogoContainer = css`
+ display: flex;
+ padding: 0 0 1rem 0;
+`;
+
+const logoContainer = css`
+ margin: auto;
+ padding-right: 1rem;
+`;
+
+const SandboxIntroDialog = ({ open, onClose }) => (
+
+
+
+
+
+
+
Sandbox is an exploratory data resource
+
+
+ Explore curated collections to see patterns and relationships, then dig
+ deeper into the context.
+
+
+ Work with us to prepare and document your dataset, and see it as map
+ layers.
+
+
+
+
+);
+
+SandboxIntroDialog.propTypes = {
+ open: PropTypes.bool,
+ onClose: PropTypes.func
+};
+
+export default SandboxIntroDialog;
diff --git a/packages/ui-maps/src/Sandbox/SandboxLegend.js b/packages/ui-maps/src/Sandbox/SandboxLegend.js
new file mode 100644
index 000000000..fd4ed46d5
--- /dev/null
+++ b/packages/ui-maps/src/Sandbox/SandboxLegend.js
@@ -0,0 +1,117 @@
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+import shortid from "shortid";
+import { bool, arrayOf, shape } from "prop-types";
+import SandboxMapLegend from "./SandboxMapLegend";
+
+const SandboxLegend = props => {
+ const {
+ foundationData,
+ allSlides,
+ foundationMapProps,
+ areSlidesLoading,
+ errors
+ } = props;
+
+ const loader =
;
+
+ return (
+
+ {!areSlidesLoading && allSlides
+ ? allSlides.map(slide => {
+ const dataIndex = foundationData.findIndex(d => {
+ const scatterplot =
+ d.mapType === "ScatterPlotMap" &&
+ d.layerInfo.displayName === slide.label;
+ const choropleth =
+ d.mapType === "ChoroplethMap" &&
+ d.layerInfo.displayName === slide.label;
+ const vectorTilesMap =
+ d.mapType === "vtChoroplethMap" &&
+ d.legend &&
+ d.layerInfo.displayName === slide.label;
+ const vtScatterPlotMap =
+ d.mapType === "vtScatterPlotMap" &&
+ d.legend &&
+ d.layerInfo.displayName === slide.label;
+ return (
+ choropleth || scatterplot || vectorTilesMap || vtScatterPlotMap
+ );
+ });
+
+ const matchFound =
+ dataIndex > -1 && foundationData[dataIndex].data.length > 0;
+
+ const mapLegend = matchFound && (
+
+ );
+
+ const matchFoundVector =
+ (dataIndex > -1 &&
+ foundationData[dataIndex].mapType === "vtChoroplethMap") ||
+ (dataIndex > -1 &&
+ foundationData[dataIndex].mapType === "vtScatterPlotMap");
+
+ const mapLegendVector = matchFoundVector && (
+
+ );
+
+ const mapLegendBox = (matchFound || matchFoundVector) && (
+
+
+ {slide.label}
+
+ {mapLegend}
+ {mapLegendVector}
+
+ );
+
+ return (
+
+ {mapLegendBox}
+
+ );
+ })
+ : loader}
+ {errors ? (
+
+
There was an error fetching the data.
+
+ ) : null}
+
+ );
+};
+
+export default SandboxLegend;
+
+SandboxLegend.propTypes = {
+ foundationData: arrayOf(shape({})),
+ allSlides: arrayOf(shape({})),
+ foundationMapProps: arrayOf(shape({})),
+ areSlidesLoading: bool,
+ errors: bool
+};
diff --git a/packages/ui-maps/src/Sandbox/SandboxMapLegend.js b/packages/ui-maps/src/Sandbox/SandboxMapLegend.js
new file mode 100644
index 000000000..0893fbd04
--- /dev/null
+++ b/packages/ui-maps/src/Sandbox/SandboxMapLegend.js
@@ -0,0 +1,290 @@
+/* eslint-disable no-nested-ternary */
+import React from "react";
+import PropTypes from "prop-types";
+import { format, scaleLinear, max, range as d3Range } from "d3";
+import { startCase } from "lodash";
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+import shortid from "shortid";
+import { civicFormat } from "..";
+import {
+ createColorScale,
+ updateQuantileScale,
+ updateEqualScale,
+ createRange
+} from "../MultiLayerMap/createLayers";
+
+const legendHeight = 65;
+const legendContainer = css(`
+ margin: 9px 5%;
+ display: flex;
+ align-items: baseline;
+ flex-wrap: nowrap;
+ height: ${legendHeight}px;
+ width: 90%;
+ padding-bottom: 10px;
+`);
+
+const colorBox = css(`
+ display: flex;
+ position: relative;
+ flex-basis: 100%;
+ border: 1px solid #AAA4AB;
+ justify-content: end;
+ align-items: end;
+`);
+
+const tickNums = css(`
+ position: absolute;
+ bottom: -20px;
+ right: -20px;
+ font-size: 14px;
+`);
+
+const tickNumsThreshold = css(`
+ position: absolute;
+ bottom: -20px;
+ right: -7px;
+ font-size: 14px;
+`);
+
+const tickNumsOrdinal = css(`
+ position: absolute;
+ bottom: -20px;
+ right: unset;
+ left: 0;
+ font-size: 14px;
+`);
+
+const tickNumsCircle = css(`
+ position: absolute;
+ bottom: -25px;
+ left: 31px;
+ font-size: 14px;
+`);
+
+const barLabelStyle = css(`
+ position: absolute;
+ top: -18px;
+ width: 100%;
+ text-align: center;
+ font-size: 15px;
+`);
+
+const SandboxMapLegend = React.memo(props => {
+ const { data, mapProps } = props;
+ const {
+ civicColor,
+ scaleType = {},
+ dataRange = [],
+ colorRange = [],
+ fieldName,
+ mapType,
+ layerInfo,
+ legend,
+ multipleLayers
+ } = mapProps;
+ const { color: colorScaleType } = scaleType;
+
+ const {
+ format: legendFormat,
+ colorRange: legendColorRange,
+ dataRange: legendDataRange = []
+ } = legend;
+
+ let choroplethColorScale = createColorScale(
+ civicColor,
+ scaleType,
+ dataRange,
+ colorRange
+ );
+
+ if (colorScaleType === "equal") {
+ choroplethColorScale = updateEqualScale(
+ data,
+ choroplethColorScale,
+ civicColor,
+ dataRange,
+ colorRange,
+ fieldName
+ );
+ }
+
+ if (colorScaleType === "quantile") {
+ choroplethColorScale = updateQuantileScale(
+ data,
+ choroplethColorScale,
+ civicColor,
+ colorRange,
+ fieldName
+ );
+ }
+
+ const formatColor = arr =>
+ arr.reduce(
+ (acc, cur, i) => (i < 3 ? `${acc + cur},` : `${acc}1)`),
+ "rgba("
+ );
+
+ const spColor =
+ multipleLayers && multipleLayers[0]
+ ? multipleLayers[0].paint["circle-color"]
+ : "#000";
+ const spColorRange = d3Range(5).map(() => spColor);
+ const colorScaleRange =
+ mapType === "vtChoroplethMap"
+ ? createRange("", legendColorRange).map(c => [...c, 255])
+ : mapType === "vtScatterPlotMap"
+ ? createRange("", spColorRange).map(c => [...c, 255])
+ : choroplethColorScale.range()[0].length === 4
+ ? choroplethColorScale.range()
+ : choroplethColorScale.range().map(c => [...c, 255]);
+
+ const mapColorsArr = colorScaleRange.map(arr => formatColor(arr));
+
+ const bins =
+ colorScaleType === "ordinal" || colorScaleType === "threshold"
+ ? dataRange
+ : mapType === "vtChoroplethMap"
+ ? legendDataRange
+ : mapType === "vtScatterPlotMap"
+ ? ["Less", "", "", "", "More"]
+ : choroplethColorScale
+ .range()
+ .map(d => choroplethColorScale.invertExtent(d));
+
+ const ticks =
+ colorScaleType === "ordinal" ||
+ colorScaleType === "threshold" ||
+ mapType === "vtChoroplethMap" ||
+ mapType === "vtScatterPlotMap"
+ ? bins
+ : bins.reduce((a, c) => (c[1] ? [...a, c[1]] : [...a, ""]), []);
+
+ const percentageFormat = format(".1%");
+ const sandboxPercentFormat = p =>
+ p < 1 && p > 0 ? percentageFormat(p) : `${p.toFixed(1)}%`;
+ const sandboxDecimalFormat = format(".2n");
+ const sandboxMoneyFormat = d => `$${civicFormat.numericShort(d)}`;
+ const sandboxSentenceCase = str =>
+ str.length &&
+ str
+ .split(" ")
+ .reduce(
+ (full, word) => `${full} ${word[0].toUpperCase() + word.substring(1)}`,
+ ""
+ )
+ .trim();
+
+ const formatTicks = (arr, typeFormat) => {
+ const formatter =
+ mapType === "vtScatterPlotMap"
+ ? startCase
+ : typeFormat === "percentage"
+ ? sandboxPercentFormat
+ : typeFormat === "dollars"
+ ? sandboxMoneyFormat
+ : typeFormat === "decimal"
+ ? sandboxDecimalFormat
+ : typeFormat === "sentenceCase"
+ ? sandboxSentenceCase
+ : typeFormat === "titleCase"
+ ? startCase
+ : civicFormat.typeFormat || civicFormat.numeric;
+ return arr.map(d => formatter(d));
+ };
+
+ const oldLegendFormat =
+ mapProps.tooltip &&
+ mapProps.tooltip.primary &&
+ mapProps.tooltip.primary.format;
+
+ const formatType = legendFormat || oldLegendFormat;
+
+ const ticksFormatted = formatTicks(ticks, formatType);
+
+ const tickStyle =
+ colorScaleType === "threshold"
+ ? tickNumsThreshold
+ : colorScaleType === "ordinal"
+ ? tickNumsOrdinal
+ : mapType === "vtScatterPlotMap"
+ ? tickNumsCircle
+ : tickNums;
+
+ const { color: fieldNameColor } = fieldName;
+ const colorCount = data.reduce((acc, d) => {
+ const color = choroplethColorScale(d.properties[fieldNameColor]);
+ if (acc[color]) {
+ // eslint-disable-next-line no-plusplus
+ acc[color]++;
+ } else {
+ acc[color] = {};
+ acc[color] = 1;
+ }
+ return acc;
+ }, {});
+
+ const barScale = scaleLinear()
+ .domain([0, max(Object.values(colorCount), d => d)])
+ .range([0, legendHeight]);
+
+ const barHeights = mapColorsArr.map(d => {
+ const count = colorCount[d.slice(5, -3)];
+ return mapType === "vtChoroplethMap"
+ ? { h: 28, c: "" }
+ : mapType === "vtScatterPlotMap"
+ ? { h: "auto", c: "" }
+ : count
+ ? { h: barScale(count), c: count }
+ : { h: 0, c: "0" };
+ });
+
+ const legendContents = mapColorsArr.map((d, i) => {
+ const borderColor =
+ mapType === "vtScatterPlotMap" ? "transparent" : "#AAA4AB";
+ const bgColor = mapType === "vtScatterPlotMap" ? "transparent" : d;
+ return (
+
+
+ {barHeights[i].c}
+
+
+ {ticksFormatted[i]}
+
+ {mapType === "vtScatterPlotMap" && (
+
+ )}
+
+ );
+ });
+
+ return {legendContents}
;
+});
+
+SandboxMapLegend.propTypes = {
+ data: PropTypes.arrayOf(PropTypes.shape({})),
+ mapProps: PropTypes.shape({}).isRequired
+};
+
+SandboxMapLegend.defaultProps = {
+ data: []
+};
+
+export default SandboxMapLegend;
diff --git a/packages/ui-maps/src/Sandbox/SandboxToggleSwitch.js b/packages/ui-maps/src/Sandbox/SandboxToggleSwitch.js
new file mode 100644
index 000000000..c1e0d3173
--- /dev/null
+++ b/packages/ui-maps/src/Sandbox/SandboxToggleSwitch.js
@@ -0,0 +1,103 @@
+/* eslint-disable no-nested-ternary */
+import PropTypes from "prop-types";
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+
+const containerStyle = css`
+ display: flex;
+ align-items: center;
+`;
+
+const toggleStyle = css`
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ position: relative;
+ width: 100%;
+ height: 25px;
+ outline: none;
+`;
+
+const sliderStyle = css`
+ position: absolute;
+ cursor: pointer;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: #ccc;
+ border-radius: 35px;
+ width: 50px;
+ -webkit-transition: 0.4s;
+ transition: 0.4s;
+
+ &:before {
+ position: absolute;
+ content: "";
+ height: 25px;
+ width: 25px;
+ left: 4px;
+ bottom: 0px;
+ background-color: white;
+ -webkit-transition: 0.4s;
+ transition: 0.4s;
+ border-radius: 50%;
+ }
+
+ input:checked + & {
+ background-color: darkOrange;
+ }
+
+ input:checked + &:before {
+ -webkit-transform: translateX(18px);
+ -ms-transform: translateX(18px);
+ transform: translateX(18px);
+ }
+`;
+
+const SandboxToggleSwitch = props => {
+ const { name, checked, onChange, label, mapType } = props;
+
+ const decodeMapType =
+ mapType === "PolygonPlotMap"
+ ? "Polygons"
+ : mapType === "SmallPolygonMap"
+ ? "Polygons"
+ : mapType === "ScatterPlotMap"
+ ? "Points"
+ : mapType === "PathMap"
+ ? "Lines"
+ : mapType === "IconMap"
+ ? "Icons"
+ : mapType === "ScreenGridMap"
+ ? "Squares"
+ : "";
+
+ return (
+
+
+
+
+
+ {`${label} - ${decodeMapType}`}
+
+
+
+ );
+};
+
+SandboxToggleSwitch.propTypes = {
+ name: PropTypes.string,
+ checked: PropTypes.bool,
+ onChange: PropTypes.func,
+ label: PropTypes.string,
+ mapType: PropTypes.string
+};
+
+export default SandboxToggleSwitch;
diff --git a/packages/ui-maps/src/Sandbox/constants.js b/packages/ui-maps/src/Sandbox/constants.js
new file mode 100644
index 000000000..8e7f261ba
--- /dev/null
+++ b/packages/ui-maps/src/Sandbox/constants.js
@@ -0,0 +1,706 @@
+/* TODO: Fix linting errors */
+/* eslint-disable */
+
+import { scaleThreshold } from "d3";
+import { VisualizationColors } from "@hackoregon/ui-themes";
+
+const categoricalColors = VisualizationColors.categorical;
+
+const { thermal, planet, space, earth, ocean } = VisualizationColors.sequential;
+
+// ColorBrewer - Diverging - 10-class RdYlBu
+const earthquakeColorScheme = [
+ [49, 54, 149, 200],
+ [69, 117, 180, 200],
+ [116, 173, 209, 200],
+ [171, 217, 233, 200],
+ [224, 243, 248, 200],
+ [254, 224, 144, 200],
+ [253, 174, 97, 200],
+ [244, 109, 67, 200],
+ [215, 48, 39, 200],
+ [165, 0, 38, 200]
+];
+
+// ColorBrewer - Diverging - 10-class PRGn
+const purpleGreenDivergent10 = [
+ [64, 0, 75, 200],
+ [118, 42, 131, 200],
+ [153, 112, 171, 200],
+ [194, 165, 207, 200],
+ [231, 212, 232, 200],
+ [217, 240, 211, 200],
+ [166, 219, 160, 200],
+ [90, 174, 97, 200],
+ [27, 120, 55, 200],
+ [0, 68, 27, 200]
+];
+
+const civicBlue = categoricalColors.blue.mapFormatRGBA;
+const civicGreen = categoricalColors.green.mapFormatRGBA;
+const civicPurple = categoricalColors.purple.mapFormatRGBA;
+const civicPink = categoricalColors.pink.mapFormatRGBA;
+const civicYellow = categoricalColors.yellow.mapFormatRGBA;
+
+export const foundations = data => ({
+ "Total Population": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-007-total-population",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: earth,
+ getPropValue: f => f.properties.total_population,
+ propName: "total_population"
+ },
+ "Median Household Income": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-018-median-household-income",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: space,
+ getPropValue: f => f.properties.median_household_income,
+ propName: "median_household_income"
+ },
+ "Median Gross Rent": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-019-median-gross-rent",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: planet,
+ getPropValue: f => f.properties.Median_gross_rent,
+ propName: "Median_gross_rent"
+ },
+ Evictions: {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-020-evictions",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: thermal,
+ getPropValue: f => f.properties.evictions,
+ propName: "evictions"
+ },
+ "Renter Occupied Households": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-021-renter-occupied-households",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: ocean,
+ getPropValue: f => f.properties.renter_occupied_households,
+ propName: "renter_occupied_households"
+ },
+ "Rent Burden": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-022-rent-burden",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: thermal,
+ getPropValue: f => f.properties.rent_burden,
+ propName: "rent_burden"
+ },
+ "Households with Children": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-024-households-children",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: space,
+ getPropValue: f => f.properties.pc_household_with_children_under_18,
+ propName: "pc_household_with_children_under_18"
+ },
+ "Households with Seniors": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-025-households-seniors",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: ocean,
+ getPropValue: f => f.properties.pc_household_with_individuals_65_ovr,
+ propName: "pc_household_with_individuals_65_ovr"
+ },
+ "Householders Living Alone": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-026-householders-living-alone",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: planet,
+ getPropValue: f => f.properties.pc_householders_living_alone,
+ propName: "pc_householders_living_alone"
+ },
+ "Owner Occupied Households": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-027-owner-occupied-households",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: space,
+ getPropValue: f => f.properties.pc_owner_occupied_housing_units,
+ propName: "pc_owner_occupied_housing_units"
+ },
+ "Percent Renter Occupied": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-028-percent-renter-occupied",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: thermal,
+ getPropValue: f => f.properties.pctrenter_occupied,
+ propName: "pctrenter_occupied"
+ },
+ "Shaking Intensity": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-029-shaking-intensity",
+ data: data.slide_data.features,
+ scaleType: "ordinal",
+ color: [earthquakeColorScheme[7], earthquakeColorScheme[9]],
+ propName: "pgv_site_mean_mmi_txt",
+ categories: ["Very strong (VII)", "Severe (VIII)"]
+ },
+ "Wet Season Mean Deformation Intensity": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-030-wet-season-mean-deformation-intensity",
+ data: data.slide_data.features,
+ scaleType: "ordinal",
+ color: [
+ earthquakeColorScheme[5],
+ earthquakeColorScheme[6],
+ earthquakeColorScheme[7],
+ earthquakeColorScheme[9]
+ ],
+ propName: "pgd_total_wet_mean_di",
+ categories: ["Low", "Moderate", "High", "Very High"]
+ },
+ "Dry Season Mean Deformation Intensity": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-033-dry-season-mean-deformation-intensity",
+ data: data.slide_data.features,
+ scaleType: "ordinal",
+ color: [earthquakeColorScheme[4], earthquakeColorScheme[5]],
+ propName: "pgd_landslide_dry_mean_di",
+ categories: ["None", "Low"]
+ },
+ "Census Reponse Rate": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-034-census-reponse-rate",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: thermal,
+ getPropValue: f => f.properties.census_response_rate,
+ propName: "census_response_rate"
+ },
+ "Voters 18 to 25": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-037-voters-18-25",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: earth,
+ getPropValue: f => f.properties.pct_18_25,
+ propName: "pct_18_25"
+ },
+ "Voters 26 to 32": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-038-voters-26-32",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: earth,
+ getPropValue: f => f.properties.pct_26_32,
+ propName: "pct_26_32"
+ },
+ "Voters 33 to 39": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-039-voters-33-39",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: earth,
+ getPropValue: f => f.properties.pct_33_39,
+ propName: "pct_33_39"
+ },
+ "Voters 40 to 49": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-040-voters-40-49",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: earth,
+ getPropValue: f => f.properties.pct_40_49,
+ propName: "pct_40_49"
+ },
+ "Voters 50 plus": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-041-voters-50-plus",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: earth,
+ getPropValue: f => f.properties.pct_50_plus,
+ propName: "pct_50_plus"
+ },
+ "Change in Ridership by Census Block": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-042-change-ridership",
+ data: data.slide_data.features,
+ scaleType: "threshold",
+ color: purpleGreenDivergent10,
+ propName: "stops_pct_change",
+ categories: [-100, -75, -50, -25, 0, 25, 50, 75, 100]
+ },
+ "Eviction Rate": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-043-eviction-rate",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: space,
+ getPropValue: f => f.properties.eviction_rate,
+ propName: "eviction_rate"
+ },
+ "Poverty Rate": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-044-poverty-rate",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: ocean,
+ getPropValue: f => f.properties.poverty_rate,
+ propName: "poverty_rate"
+ },
+ "Camp Reports": {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-045-camp-reports",
+ data: data.slide_data.features,
+ scaleType: "equal",
+ color: ocean,
+ getPropValue: f => f.properties.count,
+ propName: "count"
+ }
+});
+
+// Slide 016 - points of interest
+const poiIconMapping = {
+ School: {
+ x: 0,
+ y: 0,
+ width: 250,
+ height: 250,
+ mask: true
+ },
+ Hospital: {
+ x: 250,
+ y: 0,
+ width: 250,
+ height: 250,
+ mask: true
+ },
+ BEECN: {
+ x: 500,
+ y: 0,
+ width: 250,
+ height: 250,
+ mask: true
+ },
+ "Fire Station": {
+ x: 0,
+ y: 250,
+ width: 250,
+ height: 250,
+ mask: true
+ },
+ Pin: {
+ x: 250,
+ y: 250,
+ width: 250,
+ height: 250,
+ mask: true
+ },
+ COMMCTR: {
+ x: 500,
+ y: 250,
+ width: 250,
+ height: 250,
+ mask: true
+ }
+};
+
+const poiIconZoomScale = zoom =>
+ zoom > 11.5
+ ? 5.5
+ : zoom > 10.5
+ ? 5
+ : zoom > 9.5
+ ? 4
+ : zoom > 8.5
+ ? 3
+ : zoom > 7.5
+ ? 2
+ : 1;
+
+const poiGetIconColor = f =>
+ f.properties.type === "BEECN"
+ ? [0, 0, 0, 255]
+ : f.properties.type === "COMMCTR"
+ ? civicPurple
+ : f.properties.type === "Fire Station"
+ ? civicPink
+ : f.properties.type === "School"
+ ? civicYellow
+ : f.properties.type === "Hospital"
+ ? civicBlue
+ : [0, 0, 0, 255];
+
+// Slide 015 - Change in Ridership by Route
+const divergingScale = scaleThreshold()
+ .domain([-100, -75, -50, -25, 0, 25, 50, 75, 100])
+ .range(purpleGreenDivergent10);
+
+const ridershipRouteGetColor = f => {
+ const value = f.properties.pct_change;
+ return divergingScale(value);
+};
+
+export const slides = data => ({
+ "bike parking": {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-001-bike-parking",
+ data: data.slide_meta.boundary,
+ opacity: 1,
+ getLineColor: () => civicBlue,
+ getLineWidth: () => 45
+ },
+ map: {
+ mapType: "ScatterPlotMap",
+ id: "scatterplot-layer-slide-001-bike-parking",
+ data: data.slide_data.features,
+ getFillColor: () => civicBlue,
+ getLineColor: () => civicBlue,
+ getRadius: () => 50
+ }
+ },
+ "bike lanes": {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-002-bike-lanes",
+ data: data.slide_meta.boundary,
+ opacity: 0,
+ getLineColor: () => civicYellow,
+ getLineWidth: () => 45
+ },
+ map: {
+ mapType: "PathMap",
+ id: "path-layer-slide-002-bike-lanes",
+ data: data.slide_data.features,
+ getColor: () => civicYellow,
+ getWidth: () => 25
+ }
+ },
+ parks: {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-003-parks",
+ data: data.slide_meta.boundary,
+ opacity: 1,
+ getLineColor: () => civicGreen,
+ getLineWidth: () => 45
+ },
+ map: {
+ mapType: "SmallPolygonMap",
+ id: "polygon-layer-slide-003-parks",
+ data: data.slide_data.features,
+ getPolygon: f => f.geometry.coordinates,
+ getLineColor: () => civicGreen,
+ getLineWidth: () => 7.5,
+ getFillColor: () => civicGreen
+ }
+ },
+ "multi-use trails": {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-004-multi-use-trails",
+ data: data.slide_meta.boundary,
+ opacity: 0,
+ getLineColor: () => civicPink,
+ getLineWidth: () => 45
+ },
+ map: {
+ mapType: "PathMap",
+ id: "path-layer-slide-004-multi-use-trails",
+ data: data.slide_data.features,
+ getColor: () => civicPink,
+ getWidth: () => 25
+ }
+ },
+ "community gardens": {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-005-community-gardens",
+ data: data.slide_meta.boundary,
+ opacity: 1,
+ getLineColor: () => civicGreen,
+ getLineWidth: () => 45
+ },
+ map: {
+ mapType: "SmallPolygonMap",
+ id: "polygon-layer-slide-005-community-gardens",
+ data: data.slide_data.features,
+ getLineColor: () => civicGreen,
+ getLineWidth: () => 5,
+ getFillColor: () => civicGreen
+ }
+ },
+ "bike greenways": {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-008-bike-greenways",
+ data: data.slide_meta.boundary,
+ opacity: 0,
+ getLineColor: () => civicGreen,
+ getLineWidth: () => 45
+ },
+ map: {
+ mapType: "PathMap",
+ id: "path-layer-slide-008-bike-greenways",
+ data: data.slide_data.features,
+ getColor: () => civicGreen,
+ getWidth: () => 25
+ }
+ },
+ "rail stops": {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-009-rail-stops",
+ data: data.slide_meta.boundary,
+ opacity: 1,
+ getLineColor: () => civicPurple,
+ getLineWidth: () => 45
+ },
+ map: {
+ mapType: "ScatterPlotMap",
+ id: "scatterplot-layer-slide-009-rail-stops",
+ data: data.slide_data.features,
+ getFillColor: () => civicPurple,
+ getLineColor: () => civicPurple,
+ getRadius: () => 40
+ }
+ },
+ "grocery stores": {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-010-grocery-stores",
+ data: data.slide_meta.boundary,
+ opacity: 1,
+ getLineColor: () => civicYellow,
+ getLineWidth: () => 100
+ },
+ map: {
+ mapType: "ScatterPlotMap",
+ id: "scatterplot-layer-slide-010-grocery-stores",
+ data: data.slide_data.features,
+ getFillColor: () => civicYellow,
+ getLineColor: () => civicYellow,
+ getRadius: () => 100,
+ highlightColor: [255, 140, 0, 155]
+ }
+ },
+ demolitions: {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-011-demolitions",
+ data: data.slide_meta.boundary,
+ opacity: 1,
+ getLineColor: () => civicPink,
+ getLineWidth: () => 45
+ },
+ map: {
+ mapType: "ScatterPlotMap",
+ id: "scatterplot-layer-slide-011-demolitions",
+ data: data.slide_data.features,
+ getFillColor: () => civicPink,
+ getLineColor: () => civicPink,
+ getRadius: () => 100
+ }
+ },
+ "camp sweeps": {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-012-camps-sweeps",
+ data: data.slide_meta.boundary,
+ opacity: 1,
+ getLineColor: () => civicBlue,
+ getLineWidth: () => 45
+ },
+ map: {
+ mapType: "ScatterPlotMap",
+ id: "scatterplot-layer-slide-012-camps-sweeps",
+ data: data.slide_data.features,
+ getFillColor: () => civicBlue,
+ getLineColor: () => civicBlue,
+ getRadius: () => 100
+ }
+ },
+ "camp reports": {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-013-camp-reports",
+ data: data.slide_meta.boundary,
+ opacity: 1,
+ getLineColor: () => civicPurple,
+ getLineWidth: () => 45
+ },
+ map: {
+ mapType: "ScatterPlotMap",
+ id: "scatterplot-layer-slide-013-camp-reports",
+ data: data.slide_data.features,
+ opacity: 0.1,
+ getFillColor: () => civicPurple,
+ getLineColor: () => civicPurple,
+ getRadius: () => 100
+ }
+ },
+ "bus stops": {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-014-bus-stops",
+ data: data.slide_meta.boundary,
+ opacity: 1,
+ getLineColor: () => civicBlue,
+ getLineWidth: () => 45
+ },
+ map: {
+ mapType: "ScatterPlotMap",
+ id: "scatterplot-layer-slide-014-bus-stops",
+ data: data.slide_data.features,
+ getFillColor: () => civicBlue,
+ getLineColor: () => civicBlue,
+ getRadius: () => 40
+ }
+ },
+ "Change in Ridership by Route": {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-015-change-ridership-route",
+ data: data.slide_meta.boundary,
+ opacity: 0,
+ getLineColor: () => [0, 0, 0, 0],
+ getLineWidth: () => 45
+ },
+ map: {
+ mapType: "PathMap",
+ id: "path-layer-slide-015-change-ridership-route",
+ data: data.slide_data.features,
+ opacity: 0.8,
+ getColor: ridershipRouteGetColor,
+ getWidth: () => 25,
+ rounded: true
+ }
+ },
+ "points of interest": {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-016-poi",
+ data: data.slide_meta.boundary,
+ opacity: 0,
+ getLineColor: () => [0, 0, 0, 255],
+ getLineWidth: () => 45
+ },
+ map: {
+ mapType: "IconMap",
+ id: "icon-layer-slide-016-poi",
+ data: data.slide_data.features,
+ opacity: 0.75,
+ iconAtlas: "https://i.imgur.com/xgTAROe.png",
+ iconMapping: poiIconMapping,
+ sizeScale: poiIconZoomScale,
+ getPosition: f => (f.geometry === null ? [0, 0] : f.geometry.coordinates),
+ getIcon: f => f.properties.type,
+ getSize: () => 11,
+ getColor: poiGetIconColor
+ }
+ },
+ "Building Permits": {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-017-building-permits",
+ data: data.slide_meta.boundary,
+ opacity: 0,
+ getLineColor: () => [0, 0, 0, 255],
+ getLineWidth: () => 45
+ },
+ map: {
+ mapType: "ScreenGridMap",
+ id: "screengrid-layer-slide-017-building-permits",
+ data: data.slide_data.features,
+ opacity: 0.75,
+ colorRange: earth,
+ cellSizePixels: 35
+ }
+ },
+ "Safety Hotline": {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-031-safety-hotline",
+ data: data.slide_meta.boundary,
+ opacity: 1,
+ getLineColor: () => civicBlue,
+ getLineWidth: () => 45
+ },
+ map: {
+ mapType: "ScatterPlotMap",
+ id: "scatterplot-layer-slide-031-safety-hotline",
+ data: data.slide_data.features,
+ opacity: 0.15,
+ getFillColor: () => civicBlue,
+ getLineColor: () => civicBlue,
+ getRadius: () => 30
+ }
+ },
+ Crashes: {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-032-crashes",
+ data: data.slide_meta.boundary,
+ opacity: 1,
+ getLineColor: () => civicPink,
+ getLineWidth: () => 45
+ },
+ map: {
+ mapType: "ScatterPlotMap",
+ id: "scatterplot-layer-slide-032-crashes",
+ data: data.slide_data.features,
+ opacity: 0.15,
+ getFillColor: () => civicPink,
+ getLineColor: () => civicPink,
+ getRadius: () => 30
+ }
+ },
+ "Bike Counts": {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-035-bike-counts",
+ data: data.slide_meta.boundary,
+ opacity: 1,
+ getLineColor: () => civicPink,
+ getLineWidth: () => 45
+ },
+ map: {
+ mapType: "ScatterPlotMap",
+ id: "scatterplot-layer-slide-035-bike-counts",
+ data: data.slide_data.features,
+ getPosition: f => (f.geometry === null ? [0, 0] : f.geometry.coordinates),
+ opacity: 0.6,
+ getFillColor: () => civicPink,
+ getLineColor: () => civicPink,
+ getRadius: f => Math.sqrt(f.properties.year_2017 / Math.PI) * 10
+ }
+ },
+ "Bike Estimates": {
+ boundary: {
+ mapType: "BoundaryMap",
+ id: "boundary-layer-slide-036-bike-estimates",
+ data: data.slide_meta.boundary,
+ opacity: 1,
+ getLineColor: () => civicPurple,
+ getLineWidth: () => 45
+ },
+ map: {
+ mapType: "ScatterPlotMap",
+ id: "scatterplot-layer-slide-036-bike-estimates",
+ data: data.slide_data.features,
+ getPosition: f => (f.geometry === null ? [0, 0] : f.geometry.coordinates),
+ opacity: 0.3,
+ getFillColor: () => civicPurple,
+ getLineColor: () => civicPurple,
+ getRadius: f => Math.sqrt(f.properties.year_2016 / Math.PI) * 10
+ }
+ }
+});
diff --git a/packages/ui-maps/src/Sandbox/sandboxGeocoder.css b/packages/ui-maps/src/Sandbox/sandboxGeocoder.css
new file mode 100644
index 000000000..2c67ff010
--- /dev/null
+++ b/packages/ui-maps/src/Sandbox/sandboxGeocoder.css
@@ -0,0 +1,11 @@
+.mapboxgl-map {
+ font: 12px/20px "Roboto Condensed", "Helvetica Neue", Helvetica, sans-serif !important;
+}
+
+.mapboxgl-ctrl-geocoder {
+ font-family: "Roboto Condensed", "Helvetica Neue", Helvetica, sans-serif !important;
+}
+
+input {
+ font-family: "Roboto Condensed", "Helvetica Neue", Helvetica, sans-serif !important;
+}
diff --git a/packages/ui-maps/src/ScatterPlotMap/ScatterPlotMap.js b/packages/ui-maps/src/ScatterPlotMap/ScatterPlotMap.js
new file mode 100644
index 000000000..10d10e829
--- /dev/null
+++ b/packages/ui-maps/src/ScatterPlotMap/ScatterPlotMap.js
@@ -0,0 +1,107 @@
+import React from "react";
+import PropTypes from "prop-types";
+import DeckGL, { ScatterplotLayer } from "deck.gl";
+
+const ScatterPlotMap = props => {
+ const {
+ stroked,
+ getLineWidth,
+ getFillColor,
+ getLineColor,
+ getCursor,
+ viewport,
+ data,
+ getPosition,
+ opacity,
+ getRadius,
+ radiusScale,
+ autoHighlight,
+ highlightColor,
+ onLayerClick,
+ visible,
+ tooltipInfo,
+ x,
+ y,
+ onHover,
+ children
+ } = props;
+
+ const tooltip = React.Children.map(children, child => {
+ return React.cloneElement(child, {
+ tooltipInfo,
+ x,
+ y
+ });
+ });
+
+ const tooltipRender = tooltipInfo && x && y ? tooltip : null;
+
+ return (
+
+
+
+
+ {tooltipRender}
+
+ );
+};
+
+ScatterPlotMap.propTypes = {
+ viewport: PropTypes.shape({}),
+ data: PropTypes.arrayOf(PropTypes.shape({})).isRequired,
+ getPosition: PropTypes.func,
+ opacity: PropTypes.number,
+ getRadius: PropTypes.func,
+ radiusScale: PropTypes.number,
+ autoHighlight: PropTypes.bool,
+ highlightColor: PropTypes.arrayOf(PropTypes.number),
+ onLayerClick: PropTypes.func,
+ visible: PropTypes.bool,
+ tooltipInfo: PropTypes.shape({}),
+ x: PropTypes.number,
+ y: PropTypes.number,
+ onHover: PropTypes.func,
+ children: PropTypes.node,
+ stroked: PropTypes.bool,
+ getLineColor: PropTypes.oneOfType([PropTypes.func, PropTypes.array]),
+ getLineWidth: PropTypes.oneOfType([PropTypes.func, PropTypes.number]),
+ getFillColor: PropTypes.oneOfType([PropTypes.func, PropTypes.array]),
+ getCursor: PropTypes.func
+};
+
+ScatterPlotMap.defaultProps = {
+ getPosition: d => d.geometry.coordinates,
+ opacity: 0.8,
+ getRadius: () => 50,
+ radiusScale: 1,
+ visible: true,
+ highlightColor: [0, 255, 0, 255],
+ stroked: false,
+ getLineColor: () => [0, 0, 0],
+ getLineWidth: () => 1,
+ getFillColor: () => [0, 0, 0],
+ getCursor: () => "crosshair"
+};
+
+export default ScatterPlotMap;
diff --git a/packages/ui-maps/src/ScatterPlotMap/ScatterPlotMap.test.js b/packages/ui-maps/src/ScatterPlotMap/ScatterPlotMap.test.js
new file mode 100644
index 000000000..25caa6d3e
--- /dev/null
+++ b/packages/ui-maps/src/ScatterPlotMap/ScatterPlotMap.test.js
@@ -0,0 +1,33 @@
+import React from "react";
+import { shallow } from "enzyme";
+import ScatterPlotMap from "./ScatterPlotMap";
+
+describe("ScatterPlotMap", () => {
+ const data = [
+ {
+ type: "Feature",
+ geometry: {
+ type: "Point",
+ coordinates: [0, 0]
+ },
+ properties: {
+ name: "Null Island"
+ }
+ }
+ ];
+
+ const defaultProps = { data };
+
+ it("should render a DeckGL component", () => {
+ const wrapper = shallow( );
+
+ expect(wrapper.find(".DeckGL")).to.have.length(1);
+ });
+
+ it("should render child ScatterPlotMap component", () => {
+ const wrapper = shallow( );
+
+ expect(wrapper.find(".DeckGL").children()).to.have.length(1);
+ expect(wrapper.find(".ScatterPlotMap")).to.have.length(1);
+ });
+});
diff --git a/packages/ui-maps/src/ScreenGridMap/ScreenGridMap.js b/packages/ui-maps/src/ScreenGridMap/ScreenGridMap.js
new file mode 100644
index 000000000..3aa8a79db
--- /dev/null
+++ b/packages/ui-maps/src/ScreenGridMap/ScreenGridMap.js
@@ -0,0 +1,105 @@
+import PropTypes from "prop-types";
+import React from "react";
+import DeckGL, { ScreenGridLayer } from "deck.gl";
+
+const ScreenGridMap = props => {
+ const {
+ viewport,
+ data,
+ getPosition,
+ opacity,
+ colorDomain,
+ colorRange,
+ cellSizePixels,
+ autoHighlight,
+ onLayerClick,
+ visible,
+ gpuAggregation,
+ getSize,
+ getWeight,
+ getCursor,
+ aggregation,
+ tooltipInfo,
+ x,
+ y,
+ onHover,
+ children
+ } = props;
+
+ const tooltip = React.Children.map(children, child => {
+ return React.cloneElement(child, {
+ tooltipInfo,
+ x,
+ y
+ });
+ });
+
+ const tooltipRender = tooltipInfo && x && y ? tooltip : null;
+
+ return (
+
+
+
+
+ {tooltipRender}
+
+ );
+};
+
+ScreenGridMap.propTypes = {
+ viewport: PropTypes.shape({}),
+ data: PropTypes.arrayOf(PropTypes.shape({})).isRequired,
+ getPosition: PropTypes.func,
+ opacity: PropTypes.number,
+ colorDomain: PropTypes.arrayOf(PropTypes.number),
+ colorRange: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)),
+ cellSizePixels: PropTypes.number,
+ autoHighlight: PropTypes.bool,
+ onLayerClick: PropTypes.func,
+ visible: PropTypes.bool,
+ gpuAggregation: PropTypes.bool,
+ getSize: PropTypes.func,
+ getWeight: PropTypes.func,
+ getCursor: PropTypes.func,
+ aggregation: PropTypes.oneOf(["SUM", "MIN", "MEAN", "MAX"]),
+ tooltipInfo: PropTypes.shape({}),
+ x: PropTypes.number,
+ y: PropTypes.number,
+ onHover: PropTypes.func,
+ children: PropTypes.node
+};
+
+ScreenGridMap.defaultProps = {
+ getPosition: d => d.geometry.coordinates,
+ opacity: 0.8,
+ colorRange: [[255, 255, 204], [161, 218, 180], [65, 182, 196], [34, 94, 168]],
+ cellSizePixels: 25,
+ autoHighlight: true,
+ visible: true,
+ gpuAggregation: false,
+ getSize: () => 1,
+ getWeight: () => 1,
+ getCursor: () => "crosshair",
+ aggregation: "SUM"
+};
+
+export default ScreenGridMap;
diff --git a/packages/ui-maps/src/ScreenGridMap/ScreenGridMap.test.js b/packages/ui-maps/src/ScreenGridMap/ScreenGridMap.test.js
new file mode 100644
index 000000000..bb4299ca5
--- /dev/null
+++ b/packages/ui-maps/src/ScreenGridMap/ScreenGridMap.test.js
@@ -0,0 +1,33 @@
+import React from "react";
+import { shallow } from "enzyme";
+import ScreenGridMap from "./ScreenGridMap";
+
+describe("ScreenGridMap", () => {
+ const data = [
+ {
+ type: "Feature",
+ geometry: {
+ type: "Point",
+ coordinates: [0, 0]
+ },
+ properties: {
+ name: "Null Island"
+ }
+ }
+ ];
+
+ const defaultProps = { data };
+
+ it("should render a DeckGL component", () => {
+ const wrapper = shallow( );
+
+ expect(wrapper.find(".DeckGL")).to.have.length(1);
+ });
+
+ it("should render child ScreenGridMap component", () => {
+ const wrapper = shallow( );
+
+ expect(wrapper.find(".DeckGL").children()).to.have.length(1);
+ expect(wrapper.find(".ScreenGridMap")).to.have.length(1);
+ });
+});
diff --git a/packages/ui-maps/src/VectorTilesMap/VectorTilesMap.js b/packages/ui-maps/src/VectorTilesMap/VectorTilesMap.js
new file mode 100644
index 000000000..a93684df8
--- /dev/null
+++ b/packages/ui-maps/src/VectorTilesMap/VectorTilesMap.js
@@ -0,0 +1,119 @@
+import React from "react";
+import { Source, Layer } from "react-map-gl";
+import { string, shape, number, arrayOf, oneOfType } from "prop-types";
+
+const VectorTilesMap = React.memo(props => {
+ const {
+ vectorTilesID,
+ vectorTilesURL,
+ layerID,
+ layerType,
+ sourceLayer,
+ paint,
+ layerPosition,
+ index,
+ multipleLayers,
+ filter
+ } = props;
+
+ const sourceLayerProp = {
+ "source-layer": sourceLayer
+ };
+
+ const metaProps = {
+ "sandbox:index": index
+ };
+
+ const greaterThan = />/;
+ const lessThan = /</;
+
+ const formatFilter = arr => {
+ const [filterKey, ...rest] = arr;
+ if (filterKey.search(greaterThan) > -1) {
+ return [filterKey.replace(greaterThan, ">"), ...rest];
+ }
+ if (filterKey.search(lessThan) > -1) {
+ return [filterKey.replace(lessThan, "<"), ...rest];
+ }
+ return arr;
+ };
+
+ const showMultiLayers =
+ multipleLayers.length > 0 &&
+ multipleLayers.map(layer => {
+ const {
+ layerPosition: multiLayerPosition,
+ sourceLayer: multiSourceLayer,
+ layerID: multiLayerID,
+ layerType: multiLayerType,
+ paint: multiPaint,
+ hover = false
+ } = layer;
+
+ const multiSourceLayerProp = {
+ "source-layer": multiSourceLayer
+ };
+
+ const filterProp =
+ filter.length > 0 && hover ? { filter: formatFilter(filter) } : {};
+
+ return (
+
+ );
+ });
+
+ const filterProp = filter.length > 0 ? { filter: formatFilter(filter) } : {};
+ return (
+
+ {showMultiLayers || (
+
+ )}
+
+ );
+});
+
+VectorTilesMap.propTypes = {
+ vectorTilesURL: string,
+ vectorTilesID: string,
+ layerID: string,
+ layerType: string,
+ sourceLayer: string,
+ paint: shape({}),
+ layerPosition: string,
+ index: number,
+ filter: arrayOf(oneOfType([string, number])),
+ multipleLayers: arrayOf(
+ shape({
+ layerID: string,
+ layerType: string,
+ sourceLayer: string,
+ paint: shape({})
+ })
+ )
+};
+
+VectorTilesMap.defaultProps = {
+ multipleLayers: [],
+ filter: []
+};
+
+export default VectorTilesMap;
diff --git a/packages/ui-maps/src/index.js b/packages/ui-maps/src/index.js
new file mode 100644
index 000000000..7f83190e7
--- /dev/null
+++ b/packages/ui-maps/src/index.js
@@ -0,0 +1,47 @@
+import { DemoJSONLoader, civicFormat } from "@hackoregon/utils";
+import { VisualizationColors, BrandColors } from "@hackoregon/ui-themes";
+import { LineChart } from "@hackoregon/ui-charts";
+import {
+ Checkbox,
+ Placeholder,
+ ButtonNew,
+ Dialog,
+ Dropdown
+} from "@hackoregon/ui-core";
+import { Logo } from "@hackoregon/ui-brand";
+
+export { default as BaseMap } from "./BaseMap/BaseMap";
+export { default as ScatterPlotMap } from "./ScatterPlotMap/ScatterPlotMap";
+export { default as ScreenGridMap } from "./ScreenGridMap/ScreenGridMap";
+export { default as PathMap } from "./PathMap/PathMap";
+export { default as IconMap } from "./IconMap/IconMap";
+export { default as MapOverlay } from "./MapOverlay/MapOverlay";
+export { default as BoundaryMap } from "./BoundaryMap/BoundaryMap";
+export { default as MapTooltip } from "./MapTooltip/MapTooltip";
+export { default as CivicSandboxMap } from "./CivicSandboxMap/CivicSandboxMap";
+export { default as MultiLayerMap } from "./MultiLayerMap/MultiLayerMap";
+export { default as ComparisonMap } from "./ComparisonMap/ComparisonMap";
+export { default as VectorTilesMap } from "./VectorTilesMap/VectorTilesMap";
+export {
+ default as CivicSandboxDashboard
+} from "./CivicSandboxDashboard/CivicSandboxDashboard";
+export { default as Sandbox } from "./Sandbox/Sandbox";
+export { default as PolygonPreview } from "./PolygonPreview/PolygonPreview";
+export { default as MapLegend } from "./MapLegend/MapLegend";
+export {
+ default as PackageSelectorBox
+} from "./PackageSelectorBox/PackageSelectorBox";
+
+export {
+ DemoJSONLoader,
+ VisualizationColors,
+ civicFormat,
+ BrandColors,
+ LineChart,
+ Placeholder,
+ Logo,
+ Checkbox,
+ ButtonNew,
+ Dialog,
+ Dropdown
+};
diff --git a/packages/ui-maps/src/styleConstants.js b/packages/ui-maps/src/styleConstants.js
new file mode 100644
index 000000000..144ca4ee6
--- /dev/null
+++ b/packages/ui-maps/src/styleConstants.js
@@ -0,0 +1,15 @@
+export const ICONS = {
+ eye: "fa fa-eye",
+ link: "fa fa-link",
+ check: "fa fa-check",
+ download: "fa fa-cloud-download",
+ hamburger: "fa fa-bars",
+ info: "fa fa-info-circle",
+ arrowDown: "fa fa-arrow-down",
+ arrowUp: "fa fa-arrow-up",
+ improve: "fa fa-commenting-o"
+};
+
+export default {
+ ICONS
+};
diff --git a/packages/ui-maps/src/utils/StatefulWrapper.js b/packages/ui-maps/src/utils/StatefulWrapper.js
new file mode 100644
index 000000000..154ad8aee
--- /dev/null
+++ b/packages/ui-maps/src/utils/StatefulWrapper.js
@@ -0,0 +1,53 @@
+import React, { Component, Fragment } from "react";
+import { func, shape } from "prop-types";
+
+/**
+ * Helper function set up dynamic state in controlled form components for Storybook stories
+ * Takes in an `initialState` object with any number of properties
+ * Returns a function as a child component and provides `get` and `set` helpers
+ * to update the controlled state.
+ *
+ * EXAMPLE:
+ *
+ * {({ get, set }) => {
+ * return (
+ * set({ value: newValue }) }
+ * value={get("value")}
+ * />
+ * );
+ * }}
+ *
+ *
+ * ⚠️ Do not set `value` as a knob when using this wrapper, it causes issues with
+ * Civic's deployed version of Storybook that you will not see locally ⚠️
+ */
+class StatefulWrapper extends Component {
+ static propTypes = {
+ children: func.isRequired,
+ initialState: shape().isRequired
+ };
+
+ constructor(props) {
+ super(props);
+ /* eslint-disable react/destructuring-assignment */
+ this.state = {
+ ...this.props.initialState
+ };
+ this.get = this.get.bind(this);
+ this.set = this.set.bind(this);
+ }
+
+ // Getter for any value in state
+ get = stateKey => this.state[stateKey];
+
+ // Setter for any value in state
+ set = newStateObject => this.setState(newStateObject);
+
+ render() {
+ const { children } = this.props;
+ return {children({ get: this.get, set: this.set })} ;
+ }
+}
+
+export default StatefulWrapper;
diff --git a/packages/ui-maps/stories/BaseMap.story.js b/packages/ui-maps/stories/BaseMap.story.js
new file mode 100644
index 000000000..1b67d19b0
--- /dev/null
+++ b/packages/ui-maps/stories/BaseMap.story.js
@@ -0,0 +1,352 @@
+/* eslint-disable import/no-extraneous-dependencies */
+import { storiesOf } from "@storybook/react";
+import {
+ withKnobs,
+ select,
+ number,
+ boolean,
+ object,
+ button
+} from "@storybook/addon-knobs";
+import { action } from "@storybook/addon-actions";
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+import { BaseMap, MapOverlay, DemoJSONLoader } from "../src";
+import notes from "./baseMap.notes.md";
+import StatefulWrapper from "../src/utils/StatefulWrapper";
+
+const GROUP_IDS = {
+ DESIGN: "Design",
+ CUSTOM: "Custom"
+};
+
+const MAP_STYLE_OPTIONS = {
+ light: "light",
+ dark: "dark",
+ disaster: "disaster-game",
+ pencil: "pencil"
+};
+
+const ZOOM_OPTIONS = {
+ range: true,
+ min: 1,
+ max: 24,
+ step: 1
+};
+
+const PITCH_OPTIONS = {
+ range: true,
+ min: 0,
+ max: 60,
+ step: 1
+};
+
+const ANIMATION_OPTIONS = {
+ range: true,
+ min: 0,
+ max: 5000,
+ step: 10
+};
+
+const animatedMapProps = {
+ lon: -122.65,
+ lat: 45.5
+};
+
+const containerWrapper = css`
+ height: 100vh;
+ min-height: 500px;
+`;
+
+export default () =>
+ storiesOf("Component Lib|Maps/Base Map", module)
+ .addDecorator(withKnobs)
+ .add(
+ "Standard",
+ () => {
+ const civicMapStyle = select(
+ "CIVIC Map Styles:",
+ MAP_STYLE_OPTIONS,
+ MAP_STYLE_OPTIONS["Hack Oregon Light"],
+ GROUP_IDS.DESIGN
+ );
+
+ return ;
+ },
+ {
+ notes
+ }
+ )
+ .add(
+ "Custom",
+ () => {
+ const civicMapStyle = select(
+ "CIVIC Map Styles:",
+ MAP_STYLE_OPTIONS,
+ MAP_STYLE_OPTIONS["Hack Oregon Dark"],
+ GROUP_IDS.CUSTOM
+ );
+
+ const initialLongitude = number(
+ "Initial Longitude:",
+ -122.6765,
+ {},
+ GROUP_IDS.CUSTOM
+ );
+
+ const initialLatitude = number(
+ "Initial Latitude:",
+ 45.5231,
+ {},
+ GROUP_IDS.CUSTOM
+ );
+
+ const initialZoom = number(
+ "Initial Zoom:",
+ 9.5,
+ ZOOM_OPTIONS,
+ GROUP_IDS.CUSTOM
+ );
+
+ const initialPitch = number(
+ "Initial Pitch:",
+ 0,
+ PITCH_OPTIONS,
+ GROUP_IDS.CUSTOM
+ );
+
+ const height = number("Height:", 500, {}, GROUP_IDS.CUSTOM);
+
+ const navigation = boolean("Navigation:", true, GROUP_IDS.CUSTOM);
+
+ const useScrollZoom = boolean("Scroll Zoom:", false, GROUP_IDS.CUSTOM);
+
+ const onBaseMapClick = info => action("Base Map Clicked")(info);
+
+ return (
+
+ );
+ },
+ {
+ notes
+ }
+ )
+ .add(
+ "Example: Animate to Coordinates",
+ () => {
+ button("OMSI", () => {
+ animatedMapProps.lon = -122.665567;
+ animatedMapProps.lat = 45.508549;
+ });
+
+ button("Rocky Butte", () => {
+ animatedMapProps.lon = -122.564674;
+ animatedMapProps.lat = 45.54554;
+ });
+
+ const animationDuration = number("Duration", 1000, ANIMATION_OPTIONS);
+
+ return (
+
+ );
+ },
+ {
+ notes
+ }
+ )
+ .add(
+ "Example: With Geocoder",
+ () => {
+ const geocoder = boolean("Geocoder:", true, GROUP_IDS.CUSTOM);
+
+ const geocoderOptions = object(
+ "Geocoder Options:",
+ {
+ placeholder: "🚀search to blast off✨",
+ zoom: 9.5
+ },
+ GROUP_IDS.CUSTOM
+ );
+
+ const locationMarker = boolean(
+ "Location Marker:",
+ true,
+ GROUP_IDS.CUSTOM
+ );
+
+ const mapGLOptions = object(
+ "MapGL Options:",
+ {
+ dragPan: false
+ },
+ GROUP_IDS.CUSTOM
+ );
+
+ return (
+
+ {({ get, set }) => {
+ return (
+ {
+ set({ coord });
+ }}
+ geocoderOptions={geocoderOptions}
+ locationMarker={locationMarker}
+ locationMarkerCoord={get("coord")}
+ mapGLOptions={mapGLOptions}
+ />
+ );
+ }}
+
+ );
+ },
+ {
+ notes
+ }
+ )
+ .add(
+ "Example: No Interactivity",
+ () => {
+ const scrollZoomOption = boolean(
+ "Scroll Zoom:",
+ false,
+ GROUP_IDS.CUSTOM
+ );
+ const dragPanOption = boolean("Drag Pan:", false, GROUP_IDS.CUSTOM);
+ const dragRotateOption = boolean(
+ "Drag Rotate:",
+ false,
+ GROUP_IDS.CUSTOM
+ );
+ const doubleClickZoomOption = boolean(
+ "Double Click Zoom:",
+ false,
+ GROUP_IDS.CUSTOM
+ );
+ const touchZoomOption = boolean("Touch Zoom:", false, GROUP_IDS.CUSTOM);
+ const touchRotateOption = boolean(
+ "Touch Rotate:",
+ false,
+ GROUP_IDS.CUSTOM
+ );
+ const keyboardOption = boolean("Keyboard:", false, GROUP_IDS.CUSTOM);
+
+ return (
+
+ );
+ },
+ {
+ notes
+ }
+ )
+ .add(
+ "Example: Use Container Height",
+ () => {
+ const useContainerHeight = boolean(
+ "Use Container Height:",
+ true,
+ GROUP_IDS.CUSTOM
+ );
+
+ return (
+
+
+
+ );
+ },
+ {
+ notes
+ }
+ )
+ .add(
+ "Example: With Scale Bar",
+ () => {
+ return (
+
+
+
+ );
+ },
+ {
+ notes
+ }
+ )
+ .add(
+ "Example: Fit Bounds",
+ () => {
+ const CIVIC_API_URL =
+ "https://service.civicpdx.org/disaster-resilience/api/DisasterNeighborhoodView/" +
+ "?format=json&offset=75&limit=1";
+ return (
+
+ {data => {
+ return (
+
+
+
+
+
+ );
+ }}
+
+ );
+ },
+ {
+ notes
+ }
+ );
diff --git a/packages/ui-maps/stories/BoundaryMap.story.js b/packages/ui-maps/stories/BoundaryMap.story.js
new file mode 100644
index 000000000..03b2d444e
--- /dev/null
+++ b/packages/ui-maps/stories/BoundaryMap.story.js
@@ -0,0 +1,82 @@
+import React from "react";
+/* eslint-disable import/no-extraneous-dependencies */
+import { storiesOf } from "@storybook/react";
+import { withKnobs, number, boolean, color } from "@storybook/addon-knobs";
+
+import { checkA11y } from "@storybook/addon-a11y";
+import { BaseMap, BoundaryMap, PathMap, DemoJSONLoader } from "../src";
+
+const mapData = [
+ "https://service.civicpdx.org/neighborhood-development/sandbox/slides/bikelanes/"
+];
+
+const demoMap = () => (
+
+ {data => {
+ const getPolygon = d => d.coordinates;
+
+ const colorPicker = color("Boundary Color:", "#19B7AA");
+
+ const colorOption1 = colorPicker
+ .slice(5, -1)
+ .split(",")
+ .map(n => parseInt(n, 10))
+ .filter((n, i) => i < 3);
+
+ const colorOption2 = [25, 183, 170, 255];
+
+ const boundaryColor =
+ colorPicker.charAt(0) !== "#" ? colorOption1 : colorOption2;
+
+ const getLineColor = () => boundaryColor;
+
+ const getLineWidth = () => 45;
+
+ const lineWidthScaleOptions = {
+ range: true,
+ min: 1,
+ max: 10,
+ step: 1
+ };
+
+ const lineWidthScale = number(
+ "Boundary Width Scale:",
+ 1,
+ lineWidthScaleOptions
+ );
+
+ const filled = boolean("Boundary Filled:", false);
+
+ return (
+
+
+ [255, 178, 38, 255]}
+ opacity={1}
+ getPath={f => f.geometry.coordinates}
+ getWidth={() => 40}
+ widthScale={1}
+ rounded
+ highlightColor={[200, 200, 200, 85]}
+ />
+
+ );
+ }}
+
+);
+
+export default () =>
+ storiesOf("Component Lib|Maps/Boundary Map", module)
+ .addDecorator(withKnobs)
+ .addDecorator(checkA11y)
+ .add("Simple usage", demoMap);
diff --git a/packages/ui-maps/stories/CivicSandboxDashboard.story.js b/packages/ui-maps/stories/CivicSandboxDashboard.story.js
new file mode 100644
index 000000000..6f8eb0f56
--- /dev/null
+++ b/packages/ui-maps/stories/CivicSandboxDashboard.story.js
@@ -0,0 +1,242 @@
+/* eslint-disable no-nested-ternary */
+/* eslint-disable import/no-extraneous-dependencies */
+import { Component } from "react";
+import { storiesOf } from "@storybook/react";
+import { withKnobs, boolean } from "@storybook/addon-knobs";
+import { checkA11y } from "@storybook/addon-a11y";
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+import {
+ BaseMap,
+ CivicSandboxMap,
+ CivicSandboxDashboard,
+ DemoJSONLoader
+} from "../src";
+import { wallOfText } from "./shared";
+
+const dashboardDescription = css`
+ padding: 0 1% 0 5%;
+`;
+
+const dataURLs = [
+ "https://service.civicpdx.org/neighborhood-development/sandbox/foundations/population/"
+];
+
+const createTextViz = (selectedFoundation, title, propName) => {
+ return {
+ visualizationType: "Text",
+ title,
+ data: selectedFoundation.properties[propName]
+ };
+};
+
+const createDonutViz = (selectedFoundation, title, propName) => {
+ return {
+ visualizationType: "PercentDonut",
+ title,
+ data: [
+ {
+ x: title,
+ y: selectedFoundation.properties[propName] / 31000
+ },
+ {
+ x: null,
+ y: 1 - selectedFoundation.properties[propName] / 31000
+ }
+ ]
+ };
+};
+
+class DashboardStory extends Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ dashboardIsOpen: false,
+ selectedFoundationDatum: {},
+ selectedFoundationDatumID: ""
+ };
+ }
+
+ componentDidUpdate(prevProps, prevState) {
+ const {
+ selectedFoundationDatumID: prevSelectedFoundationDatumID
+ } = prevState;
+ const { selectedFoundationDatumID } = this.state;
+ if (prevSelectedFoundationDatumID !== selectedFoundationDatumID) {
+ this.toggleDashboardOpen();
+ }
+ }
+
+ toggleDashboard = () => {
+ this.setState(prevState => ({
+ dashboardIsOpen: !prevState.dashboardIsOpen
+ }));
+ };
+
+ toggleDashboardOpen = () => {
+ this.setState({ dashboardIsOpen: true });
+ };
+
+ setselectedFoundationDatum = info => {
+ this.setState({
+ selectedFoundationDatum: info.object,
+ selectedFoundationDatumID: info.object.id
+ });
+ };
+
+ render() {
+ // eslint-disable-next-line react/prop-types
+ const { data } = this.props;
+
+ if (data === null) return null;
+
+ const {
+ dashboardIsOpen,
+ selectedFoundationDatum,
+ selectedFoundationDatumID
+ } = this.state;
+
+ // eslint-disable-next-line react/prop-types
+ const populationData = data;
+
+ const planetColorScheme = [
+ [247, 244, 249, 155],
+ [231, 225, 239, 155],
+ [212, 185, 218, 155],
+ [201, 148, 199, 155],
+ [223, 101, 176, 155],
+ [231, 41, 138, 155],
+ [206, 18, 86, 155],
+ [152, 0, 67, 155],
+ [103, 0, 31, 155]
+ ];
+
+ const foundation = {
+ mapType: "ChoroplethMap",
+ id: "choropleth-layer-foundation-population",
+ opacity: 1,
+ data: populationData.slide_data.features,
+ getLineColor: f => {
+ return f.id === selectedFoundationDatumID
+ ? [30, 144, 255, 255]
+ : [0, 0, 0, 55];
+ },
+ getLineWidth: f => {
+ return f.id === selectedFoundationDatumID ? 175 : 1;
+ },
+ scaleType: "equal",
+ color: planetColorScheme,
+ getPropValue: f => f.properties.total_population,
+ propName: "total_population",
+ highlightColor: [30, 144, 255, 100],
+ onLayerClick: foundationDatum =>
+ this.setselectedFoundationDatum(foundationDatum),
+ updateTriggers: {
+ getLineColor: selectedFoundationDatumID,
+ getLineWidth: selectedFoundationDatumID
+ }
+ };
+
+ const mapLayers = [
+ {
+ data: foundation,
+ visible: true
+ }
+ ];
+
+ // Dashboard Visualization
+ let textData = {};
+ if (selectedFoundationDatum.properties) {
+ textData = createTextViz(
+ selectedFoundationDatum,
+ "Neighborhood Population",
+ "total_population"
+ );
+ }
+
+ let donutData = {};
+ if (selectedFoundationDatum.properties) {
+ donutData = createDonutViz(
+ selectedFoundationDatum,
+ "Neighborhood Population",
+ "total_population"
+ );
+ }
+
+ const textVisible = boolean("Text:", false);
+ const donutVisible = boolean("Percent Donut:", true);
+
+ const dashboardArray = [
+ {
+ data: textData,
+ visible: textVisible
+ },
+ {
+ data: donutData,
+ visible: donutVisible
+ }
+ ];
+
+ const dashboardData = dashboardArray
+ .filter(d => d.visible)
+ .map(d => d.data);
+
+ // Dashboard Description
+ const dashboardInformation = (
+
+
+ {
+ "How has ridership changed throughout Tri-Met's service area over time?"
+ }
+
+
{wallOfText}
+
{wallOfText}
+
{wallOfText}
+
{wallOfText}
+
{wallOfText}
+
{wallOfText}
+
{wallOfText}
+
{wallOfText}
+
Source: census.gov ACS
+
+ );
+ const dashboardDescriptionVisible = boolean("Include Description:", false);
+
+ return (
+
+
+
+
+
+
+ {dashboardDescriptionVisible ? dashboardInformation : null}
+
+
+
+ );
+ }
+}
+
+export default () =>
+ storiesOf("Component Lib|CIVIC Platform/CIVIC Sandbox Dashboard", module)
+ .addDecorator(withKnobs)
+ .addDecorator(checkA11y)
+ .add("Simple usage", () => (
+
+ {data => }
+
+ ));
diff --git a/packages/ui-maps/stories/ComparisonMap.story.js b/packages/ui-maps/stories/ComparisonMap.story.js
new file mode 100644
index 000000000..a940708de
--- /dev/null
+++ b/packages/ui-maps/stories/ComparisonMap.story.js
@@ -0,0 +1,197 @@
+import React from "react";
+/* eslint-disable import/no-extraneous-dependencies */
+import { storiesOf } from "@storybook/react";
+import {
+ withKnobs,
+ boolean,
+ select,
+ number,
+ text
+} from "@storybook/addon-knobs";
+import { action } from "@storybook/addon-actions";
+import { at } from "lodash";
+import { scaleQuantize, extent } from "d3";
+import {
+ BaseMap,
+ ComparisonMap,
+ MapOverlay,
+ DemoJSONLoader,
+ VisualizationColors
+} from "../src";
+import notes from "./comparisonMap.notes.md";
+
+const GROUP_IDS = {
+ DESIGN: "Design",
+ DATA: "Data"
+};
+
+const MAP_STYLE_OPTIONS = {
+ light: "light",
+ dark: "dark",
+ disaster: "disaster-game"
+};
+
+const heightOptions = {
+ range: true,
+ min: 100,
+ max: 1500,
+ step: 25
+};
+
+const sequentialColorOptions = {
+ thermal: VisualizationColors.sequential.thermal,
+ planet: VisualizationColors.sequential.planet,
+ space: VisualizationColors.sequential.space,
+ earth: VisualizationColors.sequential.earth,
+ ocean: VisualizationColors.sequential.ocean
+};
+
+const selectColorOptions = {
+ thermal: "thermal",
+ planet: "planet",
+ space: "space",
+ earth: "earth",
+ ocean: "ocean"
+};
+
+const API_URL =
+ "https://gist.githubusercontent.com/mendozaline/ab3da9bb53c17bf95690f9bf9fdd3e5a/raw/9b39324ea3df7e6e2cebc7aab7b1868289947ff3/test.json";
+
+export default () =>
+ storiesOf("Component Lib|Maps/Comparison Map", module)
+ .addDecorator(withKnobs)
+ .add(
+ "Standard",
+ () => {
+ const civicMapStyleLeft = select(
+ "CIVIC Map Styles - left:",
+ MAP_STYLE_OPTIONS,
+ MAP_STYLE_OPTIONS.light,
+ GROUP_IDS.DESIGN
+ );
+
+ const civicMapStyleRight = select(
+ "CIVIC Map Styles - right:",
+ MAP_STYLE_OPTIONS,
+ MAP_STYLE_OPTIONS.dark,
+ GROUP_IDS.DESIGN
+ );
+
+ const height = number("Height:", 550, heightOptions, GROUP_IDS.DESIGN);
+
+ const sliderStartPosition = 50;
+
+ const initialViewport = {
+ latitude: 45.5780256,
+ longitude: -122.3997374,
+ zoom: 9.1
+ };
+
+ const leftMapColorScheme = select(
+ "Color Scheme - Left:",
+ selectColorOptions,
+ "thermal",
+ GROUP_IDS.DESIGN
+ );
+
+ const rightMapColorScheme = select(
+ "Color Scheme - Right:",
+ selectColorOptions,
+ "ocean",
+ GROUP_IDS.DESIGN
+ );
+
+ const showDivider = boolean("Show Divider", true, GROUP_IDS.DESIGN);
+ const leftMapTitle = text("Map Title - Left", "", GROUP_IDS.DESIGN);
+ const rightMapTitle = text("Map Title - Right", "", GROUP_IDS.DESIGN);
+
+ const leftTitleColor = text(
+ "Map color - Left",
+ "black",
+ GROUP_IDS.DESIGN
+ );
+ const rightTitleColor = text(
+ "Title Color - Right",
+ "white",
+ GROUP_IDS.DESIGN
+ );
+
+ const onLayerClick = info => action("Layer Clicked:")(info);
+ const fetchURL = text("Data API URL:", API_URL, GROUP_IDS.DATA);
+
+ return (
+
+ {data => {
+ const featuresArrayPath = text(
+ "Features Array Path:",
+ "features",
+ GROUP_IDS.DATA
+ );
+ const featuresData = at(data, featuresArrayPath)[0];
+
+ const leftMapDataProperty = text(
+ "Field Name - Left:",
+ "IncomeMedianHH",
+ GROUP_IDS.DATA
+ );
+ const leftColorScale = scaleQuantize()
+ .domain(
+ extent(featuresData, d => +d.properties[leftMapDataProperty])
+ )
+ .range(sequentialColorOptions[leftMapColorScheme]);
+
+ const rightMapDataProperty = text(
+ "Field Name - Right:",
+ "Pct_RegisteredVoters",
+ GROUP_IDS.DATA
+ );
+ const rightColorScale = scaleQuantize()
+ .domain(
+ extent(featuresData, d => +d.properties[rightMapDataProperty])
+ )
+ .range(sequentialColorOptions[rightMapColorScheme]);
+
+ const leftMap = (
+
+
+ leftColorScale(+f.properties[leftMapDataProperty])
+ }
+ onLayerClick={onLayerClick}
+ />
+
+ );
+
+ const rightMap = (
+
+
+ rightColorScale(+f.properties[rightMapDataProperty])
+ }
+ onLayerClick={onLayerClick}
+ />
+
+ );
+
+ return (
+
+ );
+ }}
+
+ );
+ },
+ { notes }
+ );
diff --git a/packages/ui-maps/stories/HeatMap.story.js b/packages/ui-maps/stories/HeatMap.story.js
new file mode 100644
index 000000000..4635ba1e6
--- /dev/null
+++ b/packages/ui-maps/stories/HeatMap.story.js
@@ -0,0 +1,245 @@
+/* eslint-disable import/no-extraneous-dependencies */
+import React from "react";
+import { storiesOf } from "@storybook/react";
+import {
+ withKnobs,
+ select,
+ object,
+ text,
+ number
+} from "@storybook/addon-knobs";
+import { checkA11y } from "@storybook/addon-a11y";
+import { min, max } from "d3";
+import { at } from "lodash";
+import { BaseMap, DemoJSONLoader } from "../src";
+import notes from "./heatmap.notes.md";
+
+const GROUP_IDS = {
+ HEAT_MAP: "Style",
+ HEAT_MAP_DATA: "Data"
+};
+
+const colorOptions = {
+ Inferno: [
+ 0,
+ "rgba(0,0,0,0)",
+ 0.2,
+ "#420a68",
+ 0.4,
+ "#932667",
+ 0.6,
+ "#dd513a",
+ 0.8,
+ "#fca50a",
+ 1,
+ "#fcffa4"
+ ],
+ Viridis: [
+ 0,
+ "rgba(0,0,0,0)",
+ 0.2,
+ "#414487",
+ 0.4,
+ "#2a788e",
+ 0.6,
+ "#22a884",
+ 0.8,
+ "#7ad151",
+ 1,
+ "#fde725"
+ ],
+ Plasma: [
+ 0,
+ "rgba(0,0,0,0)",
+ 0.2,
+ "#6a00a8",
+ 0.4,
+ "#b12a90",
+ 0.6,
+ "#e16462",
+ 0.8,
+ "#fca636",
+ 1,
+ "#f0f921"
+ ],
+ Magma: [
+ 0,
+ "rgba(0,0,0,0)",
+ 0.2,
+ "#3b0f70",
+ 0.4,
+ "#8c2981",
+ 0.6,
+ "#de4968",
+ 0.8,
+ "#fe9f6d",
+ 1,
+ "#fcfdbf"
+ ],
+ Warm: [
+ 0,
+ "rgba(0,0,0,0)",
+ 0.2,
+ "rgb(191, 60, 175)",
+ 0.4,
+ "rgb(254, 75, 131)",
+ 0.6,
+ "rgb(255, 120, 71)",
+ 0.8,
+ "rgb(226, 183, 47)",
+ 1,
+ "rgb(175, 240, 91)"
+ ],
+ Cool: [
+ 0,
+ "rgba(0,0,0,0)",
+ 0.2,
+ "rgb(76, 110, 219)",
+ 0.4,
+ "rgb(35, 171, 216)",
+ 0.6,
+ "rgb(29, 223, 163)",
+ 0.8,
+ "rgb(82, 246, 103)",
+ 1,
+ "rgb(175, 240, 91)"
+ ]
+};
+
+const heatMapDataURL =
+ "https://service.civicpdx.org/transportation-systems/trimet-stop-events/disturbance-stops/" +
+ "?format=json&limit=500&offset=0";
+
+const heatMapRadiusOptions = {
+ range: true,
+ min: 1,
+ max: 50,
+ step: 1
+};
+
+const heatMapIntensityOptions = {
+ range: true,
+ min: 1,
+ max: 5,
+ step: 0.5
+};
+
+const heatMapOpacityOptions = {
+ range: true,
+ min: 0,
+ max: 1,
+ step: 0.05
+};
+
+export default () =>
+ storiesOf("Component Lib|Maps/Heat Map", module)
+ .addDecorator(withKnobs)
+ .addDecorator(checkA11y)
+ .add(
+ "Standard",
+ () => {
+ const heatMapRadius = number(
+ "Radius:",
+ 25,
+ heatMapRadiusOptions,
+ GROUP_IDS.HEAT_MAP
+ );
+
+ const heatMapOpacity = number(
+ "Opacity:",
+ 0.9,
+ heatMapOpacityOptions,
+ GROUP_IDS.HEAT_MAP
+ );
+
+ const heatMapIntensity = number(
+ "Intensity:",
+ 1,
+ heatMapIntensityOptions,
+ GROUP_IDS.HEAT_MAP
+ );
+
+ const heatMapColorGradient = select(
+ "Color Gradient:",
+ colorOptions,
+ colorOptions.Inferno,
+ GROUP_IDS.HEAT_MAP
+ );
+
+ const heatMapColorExpression = [
+ "interpolate",
+ ["linear"],
+ ["heatmap-density"],
+ ...heatMapColorGradient
+ ];
+
+ const heatMapAPIURL = text(
+ "API URL:",
+ heatMapDataURL,
+ GROUP_IDS.HEAT_MAP_DATA
+ );
+
+ return (
+
+ {data => {
+ const dataPath = text(
+ "GeoJSON Path:",
+ "results",
+ GROUP_IDS.HEAT_MAP_DATA
+ );
+ const GeoJSONData = at(data, dataPath)[0];
+
+ const heatMapDataProperty = "time_diff";
+ const heatMapWeightExpression = [
+ "interpolate",
+ ["linear"],
+ ["get", heatMapDataProperty],
+ min(
+ GeoJSONData.features,
+ d => d.properties[heatMapDataProperty]
+ ),
+ 0,
+ max(
+ GeoJSONData.features,
+ d => d.properties[heatMapDataProperty]
+ ),
+ 1
+ ];
+
+ const heatMapWeight = object(
+ "heatmap-weight:",
+ heatMapWeightExpression,
+ GROUP_IDS.HEAT_MAP_DATA
+ );
+
+ const heatmapLayer = {
+ "heatmap-radius": heatMapRadius,
+ "heatmap-opacity": heatMapOpacity,
+ "heatmap-intensity": heatMapIntensity,
+ "heatmap-color": heatMapColorExpression,
+ "heatmap-weight": heatMapWeight
+ };
+
+ return (
+
+
+
+ );
+ }}
+
+ );
+ },
+ { notes }
+ );
diff --git a/packages/ui-maps/stories/IconMap.story.js b/packages/ui-maps/stories/IconMap.story.js
new file mode 100644
index 000000000..374f0d4af
--- /dev/null
+++ b/packages/ui-maps/stories/IconMap.story.js
@@ -0,0 +1,258 @@
+/* eslint-disable no-nested-ternary */
+import React from "react";
+/* eslint-disable import/no-extraneous-dependencies */
+import { storiesOf } from "@storybook/react";
+import { withKnobs, number, boolean } from "@storybook/addon-knobs";
+import { action } from "@storybook/addon-actions";
+import { checkA11y } from "@storybook/addon-a11y";
+import { BaseMap, IconMap, MapTooltip, DemoJSONLoader } from "../src";
+
+const opacityOptions = {
+ range: true,
+ min: 0,
+ max: 1,
+ step: 0.1
+};
+
+const poiIconMapping = {
+ School: {
+ x: 0,
+ y: 0,
+ width: 250,
+ height: 250,
+ mask: true
+ },
+ Hospital: {
+ x: 250,
+ y: 0,
+ width: 250,
+ height: 250,
+ mask: true
+ },
+ BEECN: {
+ x: 500,
+ y: 0,
+ width: 250,
+ height: 250,
+ mask: true
+ },
+ "Fire Station": {
+ x: 0,
+ y: 250,
+ width: 250,
+ height: 250,
+ mask: true
+ },
+ Pin: {
+ x: 250,
+ y: 250,
+ width: 250,
+ height: 250,
+ mask: true
+ },
+ COMMCTR: {
+ x: 500,
+ y: 250,
+ width: 250,
+ height: 250,
+ mask: true
+ }
+};
+
+const poiIconZoomScale = zoom =>
+ zoom > 11.5
+ ? 10
+ : zoom > 10.5
+ ? 8
+ : zoom > 9.5
+ ? 6
+ : zoom > 8.5
+ ? 4
+ : zoom > 7.5
+ ? 2
+ : 1;
+
+const getPosition = f =>
+ f.geometry ? f.geometry.coordinates : [-124.664355, 45.615779];
+
+const getIcon = d => d.properties.type;
+
+const iconSizeOptions = {
+ range: true,
+ min: 1,
+ max: 15,
+ step: 1
+};
+
+const poiGetIconColor = f =>
+ f.properties.type === "BEECN"
+ ? [0, 0, 0, 255]
+ : f.properties.type === "COMMCTR"
+ ? [114, 29, 124, 255]
+ : f.properties.type === "Fire Station"
+ ? [220, 69, 86, 255]
+ : f.properties.type === "School"
+ ? [255, 178, 38, 255]
+ : f.properties.type === "Hospital"
+ ? [30, 98, 189, 255]
+ : [0, 0, 0, 255];
+
+const mapData = [
+ "https://service.civicpdx.org/disaster-resilience/sandbox/slides/poi/"
+];
+
+const demoMap = () => (
+
+ {data => {
+ const opacity = number("Opacity:", 1, opacityOptions);
+ const iconSize = number("Icon Size:", 10, iconSizeOptions);
+ const getSize = () => iconSize;
+ return (
+
+
+ action("Layer clicked:", { depth: 2 })(info, info.object)
+ }
+ />
+
+ );
+ }}
+
+);
+
+const tooltipMap = () => (
+
+ {data => {
+ const opacity = number("Opacity:", 1, opacityOptions);
+ const iconSize = number("Icon Size:", 10, iconSizeOptions);
+ const getSize = () => iconSize;
+ return (
+
+
+ action("Layer clicked:", { depth: 2 })(info, info.object)
+ }
+ >
+
+
+
+ );
+ }}
+
+);
+
+class TouchScreenDemo extends React.Component {
+ state = {
+ pointsData: [
+ {
+ geometry: {
+ coordinates: [-122.6658475, 45.5084872]
+ },
+ properties: {
+ type: "BEECN"
+ }
+ }
+ ]
+ };
+
+ onClick = ({ lngLat }) => {
+ const { pointsData } = this.state;
+ this.setState({
+ pointsData: [
+ ...pointsData,
+ {
+ geometry: {
+ coordinates: lngLat
+ },
+ properties: {
+ type: "Pin"
+ }
+ }
+ ]
+ });
+ };
+
+ clearPoints = () => {
+ this.setState({ pointsData: [] });
+ };
+
+ render() {
+ const { pointsData } = this.state;
+
+ const touchZoomRotateOption = boolean("Touch Zoom/Rotate:", true);
+ const doubleClickZoomOption = boolean("Double Click Zoom:", true);
+ const dragPanOption = boolean("Drag Pan:", true);
+ const dragRotateOption = boolean("Drag Rotate:", true);
+
+ const getIconColor = f =>
+ f.properties.type === "BEECN" ? [238, 73, 92] : [25, 183, 170];
+
+ return (
+
+
+ 7}
+ getColor={getIconColor}
+ />
+
+
+
+ );
+ }
+}
+
+export default () =>
+ storiesOf("Component Lib|Maps/Icon Map", module)
+ .addDecorator(withKnobs)
+ .addDecorator(checkA11y)
+ .add("Simple usage", demoMap)
+ .add("With tooltip", tooltipMap)
+ .add("TouchScreen Demo", () => );
diff --git a/packages/ui-maps/stories/MapOverlay.story.js b/packages/ui-maps/stories/MapOverlay.story.js
new file mode 100644
index 000000000..67319719a
--- /dev/null
+++ b/packages/ui-maps/stories/MapOverlay.story.js
@@ -0,0 +1,423 @@
+/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable no-nested-ternary */
+import React from "react";
+import { storiesOf } from "@storybook/react";
+import {
+ withKnobs,
+ select,
+ object,
+ optionsKnob as options,
+ boolean,
+ number,
+ text
+} from "@storybook/addon-knobs";
+import { action } from "@storybook/addon-actions";
+import { checkA11y } from "@storybook/addon-a11y";
+import { scaleQuantize, extent } from "d3";
+import { at } from "lodash";
+import {
+ civicFormat,
+ BaseMap,
+ MapOverlay,
+ MapTooltip,
+ DemoJSONLoader
+} from "../src";
+import { getKeyNames } from "./shared";
+import notes from "./mapOverlay.notes.md";
+
+const GROUP_IDS = {
+ MARKER: "Design",
+ DATA: "Data",
+ CUSTOM: "Custom"
+};
+
+const opacityOptions = {
+ range: true,
+ min: 0,
+ max: 1,
+ step: 0.05
+};
+
+const strokeWidthOptions = {
+ range: true,
+ min: 0,
+ max: 200,
+ step: 1
+};
+
+const colorSchemeOptions = {
+ Thermal: [
+ [255, 255, 204],
+ [255, 237, 160],
+ [254, 217, 118],
+ [254, 178, 76],
+ [253, 141, 60],
+ [252, 78, 42],
+ [227, 26, 28],
+ [189, 0, 38],
+ [128, 0, 38]
+ ],
+ Planet: [
+ [247, 244, 249],
+ [231, 225, 239],
+ [212, 185, 218],
+ [201, 148, 199],
+ [223, 101, 176],
+ [231, 41, 138],
+ [206, 18, 86],
+ [152, 0, 67],
+ [103, 0, 31]
+ ],
+ Space: [
+ [247, 252, 253],
+ [224, 236, 244],
+ [191, 211, 230],
+ [158, 188, 218],
+ [140, 150, 198],
+ [140, 107, 177],
+ [136, 65, 157],
+ [129, 15, 124],
+ [77, 0, 75]
+ ],
+ Earth: [
+ [255, 247, 251],
+ [236, 226, 240],
+ [208, 209, 230],
+ [166, 189, 219],
+ [103, 169, 207],
+ [54, 144, 192],
+ [2, 129, 138],
+ [1, 108, 89],
+ [1, 70, 54]
+ ],
+ Ocean: [
+ [255, 255, 217],
+ [237, 248, 177],
+ [199, 233, 180],
+ [127, 205, 187],
+ [65, 182, 196],
+ [29, 145, 192],
+ [34, 94, 168],
+ [37, 52, 148],
+ [8, 29, 88]
+ ]
+};
+
+const CIVIC_API_URL =
+ "https://service.civicpdx.org/disaster-resilience/api/DisasterNeighborhoodView/?format=json&limit=102";
+
+export default () =>
+ storiesOf("Component Lib|Maps/Map Overlay", module)
+ .addDecorator(checkA11y)
+ .addDecorator(withKnobs)
+ .add(
+ "Standard",
+ () => {
+ const getFillColor = object(
+ "Fill Color:",
+ [25, 183, 170],
+ GROUP_IDS.MARKER
+ );
+ const getLineColor = object(
+ "Stroke Color",
+ [112, 122, 122],
+ GROUP_IDS.MARKER
+ );
+ const getLineWidth = number(
+ "Stroke Width",
+ 1,
+ strokeWidthOptions,
+ GROUP_IDS.MARKER
+ );
+ const opacity = number(
+ "Opacity:",
+ 0.9,
+ opacityOptions,
+ GROUP_IDS.MARKER
+ );
+ return (
+
+ {data => {
+ return (
+
+
+
+ );
+ }}
+
+ );
+ },
+ { notes }
+ )
+ .add(
+ "Custom",
+ () => {
+ const getFillColor = object(
+ "Fill Color:",
+ [25, 183, 170],
+ GROUP_IDS.MARKER
+ );
+ const getLineColor = object(
+ "Stroke Color",
+ [112, 122, 122],
+ GROUP_IDS.MARKER
+ );
+ const getLineWidth = number(
+ "Stroke Width",
+ 1,
+ strokeWidthOptions,
+ GROUP_IDS.MARKER
+ );
+ const opacity = number(
+ "Opacity:",
+ 0.9,
+ opacityOptions,
+ GROUP_IDS.MARKER
+ );
+
+ const filled = boolean("Filled:", true, GROUP_IDS.CUSTOM);
+ const stroked = boolean("Stroked:", true, GROUP_IDS.CUSTOM);
+ const autoHighlight = boolean(
+ "Auto Highlight:",
+ true,
+ GROUP_IDS.CUSTOM
+ );
+ const highlightColor = object(
+ "Highlight Color:",
+ [255, 255, 0, 155],
+ GROUP_IDS.CUSTOM
+ );
+
+ const onLayerClick = info => action("Layer Clicked:")(info);
+ const fetchURL = text("Data API URL:", CIVIC_API_URL, GROUP_IDS.DATA);
+
+ return (
+
+ {data => {
+ const featuresArrayPath = text(
+ "Features Array Path:",
+ "results.features",
+ GROUP_IDS.DATA
+ );
+ const featuresData = at(data, featuresArrayPath)[0];
+ return (
+
+
+
+ );
+ }}
+
+ );
+ },
+ { notes }
+ )
+ .add(
+ "Example: Choropleth Map",
+ () => {
+ const colorOptions = {
+ Thermal: "Thermal",
+ Planet: "Planet",
+ Space: "Space",
+ Earth: "Earth",
+ Ocean: "Ocean"
+ };
+ const colorScheme = select(
+ "Fill Color:",
+ colorOptions,
+ colorOptions.Ocean,
+ GROUP_IDS.MARKER
+ );
+
+ const onLayerClick = info => action("Layer Clicked:")(info);
+ const fetchURL = text("Data API URL:", CIVIC_API_URL, GROUP_IDS.DATA);
+
+ return (
+
+ {data => {
+ const featuresArrayPath = text(
+ "Features Array Path:",
+ "results.features",
+ GROUP_IDS.DATA
+ );
+
+ const featuresData = at(data, featuresArrayPath)[0];
+
+ const polygonFieldName = text(
+ "Field Name - Polygons:",
+ "injuriestotal_day",
+ GROUP_IDS.DATA
+ );
+
+ const findDataMinMax = extent(featuresData, f =>
+ parseFloat(f.properties[polygonFieldName])
+ );
+
+ const colorScale = scaleQuantize()
+ .domain(findDataMinMax)
+ .range(colorSchemeOptions[colorScheme]);
+
+ return (
+
+
+ colorScale(f.properties[polygonFieldName])
+ }
+ onLayerClick={onLayerClick}
+ />
+
+ );
+ }}
+
+ );
+ },
+ { notes }
+ )
+ .add(
+ "Example: Choropleth + Circle Map",
+ () => {
+ const opacity = number(
+ "Opacity:",
+ 0.9,
+ opacityOptions,
+ GROUP_IDS.MARKER
+ );
+
+ const colorOptions = {
+ Thermal: "Thermal",
+ Planet: "Planet",
+ Space: "Space",
+ Earth: "Earth",
+ Ocean: "Ocean"
+ };
+ const colorScheme = select(
+ "Fill Color - Polygons:",
+ colorOptions,
+ colorOptions.Ocean,
+ GROUP_IDS.MARKER
+ );
+ const circleFillColor = object(
+ "Fill Color - Circles:",
+ [255, 182, 193, 200],
+ GROUP_IDS.MARKER
+ );
+ const radiusScaleKnob = number(
+ "Radius Scale:",
+ 50,
+ {},
+ GROUP_IDS.MARKER
+ );
+ const radiusScale = radiusScaleKnob || 1;
+
+ const onLayerClick = info => action("Layer Clicked:")(info);
+ const fetchURL = text("Data API URL:", CIVIC_API_URL, GROUP_IDS.DATA);
+
+ return (
+
+ {data => {
+ const featuresArrayPath = text(
+ "Features Array Path:",
+ "results.features",
+ GROUP_IDS.DATA
+ );
+ const featuresData = at(data, featuresArrayPath)[0];
+
+ const polygonFieldName = text(
+ "Field Name - Polygons:",
+ "casualtiestotal_day",
+ GROUP_IDS.DATA
+ );
+
+ const circleFieldName = text(
+ "Field Name - Circles:",
+ "casualtiestotal_night",
+ GROUP_IDS.DATA
+ );
+
+ const polygonMinMax = extent(featuresData, f =>
+ parseFloat(f.properties[polygonFieldName])
+ );
+ const polygonColorScale = scaleQuantize()
+ .domain(polygonMinMax)
+ .range(colorSchemeOptions[colorScheme]);
+
+ return (
+
+ {
+ return f.geometry.type === "Point"
+ ? circleFillColor
+ : f.geometry.type === "Polygon" ||
+ f.geometry.type === "MultiPolygon"
+ ? polygonColorScale(f.properties[polygonFieldName])
+ : [0, 0, 0];
+ }}
+ radiusScale={radiusScale}
+ circleFieldName={circleFieldName}
+ onLayerClick={onLayerClick}
+ />
+
+ );
+ }}
+
+ );
+ },
+ { notes }
+ )
+ .add(
+ "Example: With Tooltip",
+ () => {
+ const onLayerClick = info => action("Layer Clicked:")(info);
+
+ const formatOption = options(
+ "Tooltip value format",
+ getKeyNames(civicFormat),
+ "numericShort",
+ { display: "select" },
+ GROUP_IDS.LABELS
+ );
+
+ return (
+
+ {data => (
+
+
+ civicFormat[formatOption](f)}
+ formatSecondaryField={f => civicFormat[formatOption](f)}
+ />
+
+
+ )}
+
+ );
+ },
+ { notes }
+ );
diff --git a/packages/ui-maps/stories/MultiLayerMap.story.js b/packages/ui-maps/stories/MultiLayerMap.story.js
new file mode 100644
index 000000000..8480cefe8
--- /dev/null
+++ b/packages/ui-maps/stories/MultiLayerMap.story.js
@@ -0,0 +1,737 @@
+/* eslint-disable import/no-extraneous-dependencies */
+import React from "react";
+import { storiesOf } from "@storybook/react";
+import {
+ withKnobs,
+ text,
+ number,
+ select,
+ object,
+ optionsKnob as options
+} from "@storybook/addon-knobs";
+import { action } from "@storybook/addon-actions";
+import { checkA11y } from "@storybook/addon-a11y";
+import { at } from "lodash";
+import { BaseMap, MultiLayerMap, DemoJSONLoader } from "../src";
+
+import notes from "./multiLayerMap.notes";
+
+const GROUP_IDS = {
+ DESIGN: "Design",
+ DATA: "Data"
+};
+
+const CIVIC_COLORS = {
+ "(none)": "",
+ civicBlue: "civicBlue",
+ civicGreen: "civicGreen",
+ civicPurple: "civicPurple",
+ civicPink: "civicPink",
+ civicYellow: "civicYellow",
+ thermal: "thermal",
+ planet: "planet",
+ space: "space",
+ earth: "earth",
+ ocean: "ocean",
+ purpleGreen: "purpleGreen",
+ purpleOrange: "purpleOrange"
+};
+
+const opacityOptions = {
+ range: true,
+ min: 0.1,
+ max: 1,
+ step: 0.05
+};
+
+const iconSizeOptions = {
+ range: true,
+ min: 1,
+ max: 100,
+ step: 1
+};
+
+export default () =>
+ storiesOf("Component Lib|Maps/MultiLayer Map", module)
+ .addDecorator(withKnobs)
+ .addDecorator(checkA11y)
+ .add(
+ "Path Map",
+ () => {
+ const lineWidth = number("Line Width:", 25, {}, GROUP_IDS.DESIGN);
+
+ const opacity = number(
+ "Opacity:",
+ 0.7,
+ opacityOptions,
+ GROUP_IDS.DESIGN
+ );
+
+ const PATH_MAP_SCALE_TYPE_COLOR_OPTIONS = {
+ none: "",
+ threshold: "threshold",
+ ordinal: "ordinal",
+ equal: "equal"
+ };
+
+ const lineColor = select(
+ "CIVIC Color:",
+ CIVIC_COLORS,
+ CIVIC_COLORS.civicGreen,
+ GROUP_IDS.DESIGN
+ );
+
+ const scaleTypeColor = options(
+ "Scale Type:",
+ PATH_MAP_SCALE_TYPE_COLOR_OPTIONS,
+ "",
+ {
+ display: "inline-radio"
+ },
+ GROUP_IDS.DESIGN
+ );
+
+ const fieldName = text("Field Name:", "shape_leng", GROUP_IDS.DESIGN);
+
+ const dataRange = object("Data Range:", [], GROUP_IDS.DESIGN);
+
+ const colorRange = object("Color Range:", [], GROUP_IDS.DESIGN);
+
+ const pathMapAPIURL =
+ "https://service.civicpdx.org/neighborhood-development/api/bike_greenways" +
+ "?format=json&limit=280";
+
+ const fetchURL = text("API URL:", pathMapAPIURL, GROUP_IDS.DATA);
+
+ const onLayerClick = info => action("Line Clicked:")(info);
+
+ return (
+
+ {data => {
+ const featuresArrayPath = text(
+ "Features Array Path:",
+ "results.features",
+ GROUP_IDS.DATA
+ );
+
+ const featuresData = at(data, featuresArrayPath)[0];
+
+ const pathMapLayer = {
+ mapType: "PathMap",
+ id: "storybook-pathmap-00",
+ data: featuresData,
+ lineWidth,
+ opacity,
+ civicColor: lineColor,
+ scaleType: {
+ color: scaleTypeColor
+ },
+ fieldName: {
+ color: fieldName
+ },
+ dataRange,
+ colorRange,
+ onLayerClick
+ };
+
+ return (
+
+
+
+
+
+ );
+ }}
+
+ );
+ },
+ {
+ notes: notes.pathNotes
+ }
+ )
+ .add(
+ "ScatterPlot Map",
+ () => {
+ const circleRadius = number("radius:", 25, {}, GROUP_IDS.DESIGN);
+
+ const circleOpacity = number(
+ "opacity:",
+ 0.7,
+ opacityOptions,
+ GROUP_IDS.DESIGN
+ );
+
+ const SCATTERPLOT_SCALE_TYPE_COLOR_OPTIONS = {
+ none: "",
+ ordinal: "ordinal",
+ threshold: "threshold"
+ };
+
+ const circleColor = select(
+ "CIVIC Color:",
+ CIVIC_COLORS,
+ CIVIC_COLORS.civicGreen,
+ GROUP_IDS.DESIGN
+ );
+
+ const scaleTypeColor = options(
+ "Scale Type (color):",
+ SCATTERPLOT_SCALE_TYPE_COLOR_OPTIONS,
+ "",
+ {
+ display: "inline-radio"
+ },
+ GROUP_IDS.DESIGN
+ );
+
+ const fieldNameColor = text(
+ "Field Name (color):",
+ "condition",
+ GROUP_IDS.DESIGN
+ );
+
+ const dataRange = object("Data Range:", [], GROUP_IDS.DESIGN);
+
+ const colorRange = object("Color Range:", [], GROUP_IDS.DESIGN);
+
+ const SCATTERPLOT_SCALE_TYPE_AREA_OPTIONS = {
+ none: "",
+ "circle area": "circle area"
+ };
+
+ const scaleTypeArea = options(
+ "Scale Type (area):",
+ SCATTERPLOT_SCALE_TYPE_AREA_OPTIONS,
+ "",
+ {
+ display: "inline-radio"
+ },
+ GROUP_IDS.DESIGN
+ );
+
+ const fieldNameArea = text(
+ "Field Name (area):",
+ "dbh",
+ GROUP_IDS.DESIGN
+ );
+
+ const radiusScaleKnob = number(
+ "Radius Scale:",
+ 50,
+ {},
+ GROUP_IDS.DESIGN
+ );
+ const radiusScale = radiusScaleKnob || 1;
+
+ const scatterPlotAPIURL =
+ "https://service.civicpdx.org/neighborhood-development/api/trees" +
+ "?format=json&limit=1500&offset=2000";
+
+ const fetchAPIURL = text("API URL:", scatterPlotAPIURL, GROUP_IDS.DATA);
+
+ const onLayerClick = info => action("Circle Clicked:")(info);
+
+ return (
+
+ {data => {
+ const featuresArrayPath = text(
+ "Features Array Path:",
+ "results.features",
+ GROUP_IDS.DATA
+ );
+
+ const featuresData = at(data, featuresArrayPath)[0];
+
+ const scatterPlotMapLayer = {
+ mapType: "ScatterPlotMap",
+ id: "storybook-scatterplotmap-00",
+ data: featuresData,
+ radius: circleRadius,
+ opacity: circleOpacity,
+ civicColor: circleColor,
+ scaleType: {
+ area: scaleTypeArea,
+ color: scaleTypeColor
+ },
+ fieldName: {
+ area: fieldNameArea,
+ color: fieldNameColor
+ },
+ radiusScale,
+ dataRange,
+ colorRange,
+ onLayerClick
+ };
+
+ return (
+
+
+
+
+
+ );
+ }}
+
+ );
+ },
+ {
+ notes: notes.scatterPlotNotes
+ }
+ )
+ .add(
+ "Screen Grid Map",
+ () => {
+ const squareColor = select(
+ "CIVIC Colors:",
+ CIVIC_COLORS,
+ CIVIC_COLORS.thermal,
+ GROUP_IDS.DESIGN
+ );
+
+ const squareSize = number("Square Size:", 10, {}, GROUP_IDS.DESIGN);
+
+ const squareOpacity = number(
+ "Opacity:",
+ 0.7,
+ opacityOptions,
+ GROUP_IDS.DESIGN
+ );
+
+ const fieldNameWeight = text(
+ "Field Name (weight):",
+ "",
+ GROUP_IDS.DESIGN
+ );
+
+ const screenGridMapAPIURL =
+ "https://service.civicpdx.org/neighborhood-development/api/retail_locations" +
+ "?format=json&limit=500";
+
+ const fetchAPIURL = text(
+ "API URL:",
+ screenGridMapAPIURL,
+ GROUP_IDS.DATA
+ );
+
+ return (
+
+ {data => {
+ const featuresArrayPath = text(
+ "Features Array Path:",
+ "results.features",
+ GROUP_IDS.DATA
+ );
+
+ const featuresData = at(data, featuresArrayPath)[0];
+
+ const screenGridMapLayer = {
+ mapType: "ScreenGridMap",
+ id: "storybook-screengridmap-00",
+ data: featuresData,
+ fieldName: {
+ weight: fieldNameWeight
+ },
+ squareSize,
+ opacity: squareOpacity,
+ civicColor: squareColor
+ };
+
+ return (
+
+
+
+
+
+ );
+ }}
+
+ );
+ },
+ {
+ notes: notes.screenGridNotes
+ }
+ )
+ .add(
+ "Icon Map",
+ () => {
+ const iconSize = number(
+ "Icon Size:",
+ 10,
+ iconSizeOptions,
+ GROUP_IDS.DESIGN
+ );
+
+ const iconOpacity = number(
+ "Opacity:",
+ 0.7,
+ opacityOptions,
+ GROUP_IDS.DESIGN
+ );
+
+ const iconAtlas = text(
+ "Icon Atlas:",
+ "https://i.imgur.com/xgTAROe.png",
+ GROUP_IDS.DESIGN
+ );
+
+ const iconMapping = object(
+ "Icon Mapping:",
+ {
+ School: {
+ x: 0,
+ y: 0,
+ width: 250,
+ height: 250,
+ mask: true
+ },
+ Hospital: {
+ x: 250,
+ y: 0,
+ width: 250,
+ height: 250,
+ mask: true
+ },
+ BEECN: {
+ x: 500,
+ y: 0,
+ width: 250,
+ height: 250,
+ mask: true
+ },
+ "Fire Station": {
+ x: 0,
+ y: 250,
+ width: 250,
+ height: 250,
+ mask: true
+ },
+ Pin: {
+ x: 250,
+ y: 250,
+ width: 250,
+ height: 250,
+ mask: true
+ },
+ COMMCTR: {
+ x: 500,
+ y: 250,
+ width: 250,
+ height: 250,
+ mask: true
+ }
+ },
+ GROUP_IDS.DESIGN
+ );
+
+ const ICON_SCALE_TYPE_COLOR_OPTIONS = {
+ ordinal: "ordinal"
+ };
+
+ const scaleType = options(
+ "Scale Type:",
+ ICON_SCALE_TYPE_COLOR_OPTIONS,
+ "ordinal",
+ {
+ display: "inline-radio"
+ },
+ GROUP_IDS.DESIGN
+ );
+
+ const fieldName = text("Field Name:", "type", GROUP_IDS.DESIGN);
+
+ const dataRange = object(
+ "Data Range:",
+ ["BEECN", "COMMCTR", "Fire Station", "School", "Hospital"],
+ GROUP_IDS.DESIGN
+ );
+
+ const colorRange = object(
+ "Color Range:",
+ [
+ [0, 0, 0],
+ [114, 29, 124],
+ [220, 69, 86],
+ [255, 178, 38],
+ [30, 98, 189]
+ ],
+ GROUP_IDS.DESIGN
+ );
+
+ const iconMapAPIURL =
+ "https://service.civicpdx.org/disaster-resilience/sandbox/slides/poi/";
+
+ const fetchAPIURL = text("API URL:", iconMapAPIURL, GROUP_IDS.DATA);
+
+ const onLayerClick = info => action("Icon Clicked:")(info);
+
+ return (
+
+ {data => {
+ const featuresArrayPath = text(
+ "Features Array Path:",
+ "slide_data.features",
+ GROUP_IDS.DATA
+ );
+
+ const featuresData = at(data, featuresArrayPath)[0];
+ const dataFilterNulls = featuresData
+ ? featuresData.filter(d => d.geometry)
+ : [];
+
+ const iconMapLayer = {
+ mapType: "IconMap",
+ id: "storybook-icon-map",
+ data: dataFilterNulls,
+ iconSize,
+ opacity: iconOpacity,
+ iconAtlas,
+ iconMapping,
+ scaleType: {
+ color: scaleType
+ },
+ fieldName: {
+ color: fieldName
+ },
+ dataRange,
+ colorRange,
+ onLayerClick
+ };
+
+ return (
+
+
+
+
+
+ );
+ }}
+
+ );
+ },
+ {
+ notes: notes.iconNotes
+ }
+ )
+ .add(
+ "Small Polygon Map",
+ () => {
+ const polygonOpacity = number(
+ "Opacity:",
+ 0.7,
+ opacityOptions,
+ GROUP_IDS.DESIGN
+ );
+
+ const polygonColor = select(
+ "Civic Color:",
+ CIVIC_COLORS,
+ CIVIC_COLORS.civicGreen,
+ GROUP_IDS.DESIGN
+ );
+
+ const POLYGON_SCALE_TYPE_COLOR_OPTIONS = {
+ none: "",
+ threshold: "threshold",
+ ordinal: "ordinal"
+ };
+
+ const scaleTypeSelection = options(
+ "Scale Type:",
+ POLYGON_SCALE_TYPE_COLOR_OPTIONS,
+ "",
+ {
+ display: "inline-radio"
+ },
+ GROUP_IDS.DESIGN
+ );
+
+ const fieldName = text("Field Name:", "acres", GROUP_IDS.DESIGN);
+
+ const dataRange = object("Data Range:", [], GROUP_IDS.DESIGN);
+
+ const colorRange = object("Color Range:", [], GROUP_IDS.DESIGN);
+
+ const smallPolygonMapAPIURL =
+ "https://service.civicpdx.org/neighborhood-development/api/parks" +
+ "?format=json&limit=100";
+
+ const fetchAPIURL = text(
+ "API URL:",
+ smallPolygonMapAPIURL,
+ GROUP_IDS.DATA
+ );
+
+ const onLayerClick = info => action("Polygon Clicked:")(info);
+
+ return (
+
+ {data => {
+ const featuresArrayPath = text(
+ "Features Array Path:",
+ "results.features",
+ GROUP_IDS.DATA
+ );
+
+ const featuresData = at(data, featuresArrayPath)[0];
+
+ const smallPolygonMapLayer = {
+ mapType: "SmallPolygonMap",
+ id: "storybook-small-polygon-map",
+ data: featuresData,
+ opacity: polygonOpacity,
+ civicColor: polygonColor,
+ scaleType: {
+ color: scaleTypeSelection
+ },
+ fieldName: {
+ color: fieldName
+ },
+ dataRange,
+ colorRange,
+ onLayerClick
+ };
+
+ return (
+
+
+
+
+
+ );
+ }}
+
+ );
+ },
+ {
+ notes: notes.smallPolygonNotes
+ }
+ )
+ .add(
+ "Choropleth Map",
+ () => {
+ const polygonOpacity = number(
+ "Opacity:",
+ 0.7,
+ opacityOptions,
+ GROUP_IDS.DESIGN
+ );
+
+ const polygonColor = select(
+ "CIVIC Color:",
+ CIVIC_COLORS,
+ CIVIC_COLORS.thermal,
+ GROUP_IDS.DESIGN
+ );
+
+ const CHOROPLETH_SCALE_TYPE_COLOR_OPTIONS = {
+ equal: "equal",
+ threshold: "threshold",
+ ordinal: "ordinal"
+ };
+
+ const scaleTypeSelection = options(
+ "Scale Type:",
+ CHOROPLETH_SCALE_TYPE_COLOR_OPTIONS,
+ "equal",
+ {
+ display: "inline-radio"
+ },
+ GROUP_IDS.DESIGN
+ );
+
+ const choroplethMapAPIURL =
+ "https://service.civicpdx.org/disaster-resilience/api/DisasterNeighborhoodView/" +
+ "?format=json&limit=102";
+
+ const fetchURL = text("API URL:", choroplethMapAPIURL, GROUP_IDS.DATA);
+
+ const onLayerClick = info => action("Polygon Clicked:")(info);
+
+ return (
+
+ {data => {
+ const fieldName = text(
+ "Field Name:",
+ "dayoccupants",
+ GROUP_IDS.DESIGN
+ );
+
+ const dataRange = object("Data Range:", [], GROUP_IDS.DESIGN);
+
+ const colorRange = object("Color Range:", [], GROUP_IDS.DESIGN);
+
+ const featuresArrayPath = text(
+ "Features Array Path:",
+ "results.features",
+ GROUP_IDS.DATA
+ );
+
+ const featuresData = at(data, featuresArrayPath)[0];
+
+ const choroplethMap = {
+ mapType: "ChoroplethMap",
+ id: "storybook-choropleth-map",
+ data: featuresData,
+ opacity: polygonOpacity,
+ civicColor: polygonColor,
+ scaleType: {
+ color: scaleTypeSelection
+ },
+ fieldName: {
+ color: fieldName
+ },
+ dataRange,
+ colorRange,
+ onLayerClick
+ };
+
+ return (
+
+
+
+
+
+ );
+ }}
+
+ );
+ },
+ {
+ notes: notes.choroplethNotes
+ }
+ );
diff --git a/packages/ui-maps/stories/PathMap.notes.md b/packages/ui-maps/stories/PathMap.notes.md
new file mode 100644
index 000000000..cc142e31e
--- /dev/null
+++ b/packages/ui-maps/stories/PathMap.notes.md
@@ -0,0 +1,34 @@
+# Path Map Component
+
+## Standard
+
+The Standard story shows the standard usage of the Path Map Component for the CIVIC platform. Path Map includes the standard styling.
+
+These properties can be set in the standard story:
+
+- `getColor`
+- `getWidth`
+- `opacity`
+- `data`
+- `getPath`
+
+## Custom
+
+The Custom story shows all the possible properties that can be passed to the Path Map Component for customization.
+
+- `data` : expects an array of objects.
+- `getPath` : expects a function that returns an array of coordinates for each path. It is compatible with GeoJSON LineStrings.
+- `getColor` : expects a function or an array in `[r, g, b, [a]]` format, where `a` is a number between 0 and 255. If an array is provided, the color is applied to all objects. If a function is provided, it is called on each object to set the fill color.
+- `getWidth` : expects a function or a number. If a number is provided it is used as the width for all objects. If a function is provided, it is called on each object to set the width.
+- `opacity` : expects a number between 0 and 1.
+- `widthScale` : expects a number.
+- `rounded` : expects a boolean value.
+- `autoHighlight` : expects a boolean value.
+- `highlightColor` : expects an array in the `[r, g, b, [a]]` format.
+- `onLayerClick` : expects a function.
+
+In this example we are styling the `getColor` prop based on a data attribute. We have a preset color scheme and use D3's `scaleThreshold()` to calculate a scale based on the provided data.
+
+## Example: With Tooltip
+
+The Example: With Tooltip story shows an example of using the MapTooltip component with the Path Map component.
diff --git a/packages/ui-maps/stories/PathMap.story.js b/packages/ui-maps/stories/PathMap.story.js
new file mode 100644
index 000000000..1cbecc3f2
--- /dev/null
+++ b/packages/ui-maps/stories/PathMap.story.js
@@ -0,0 +1,269 @@
+import React from "react";
+/* eslint-disable import/no-extraneous-dependencies */
+import { storiesOf } from "@storybook/react";
+import {
+ withKnobs,
+ number,
+ select,
+ boolean,
+ object
+} from "@storybook/addon-knobs";
+import { action } from "@storybook/addon-actions";
+import { checkA11y } from "@storybook/addon-a11y";
+import { scaleThreshold } from "d3";
+import { BaseMap, PathMap, MapTooltip, DemoJSONLoader } from "../src";
+import notes from "./PathMap.notes.md";
+
+const colorSchemeOptions = {
+ "Red Yellow Blue":
+ "[[165,0,38,255],[215,48,39,255],[244,109,67,255],[253,174,97,255],[254,224,144,255],[224,243,248,255],[171,217,233,255],[116,173,209,255],[69,117,180,255],[49,54,149,255]]",
+ "Purple Green":
+ "[[64,0,75,255],[118,42,131,255],[153,112,171,255],[194,165,207,255],[231,212,232,255],[217,240,211,255],[166,219,160,255],[90,174,97,255],[27,120,55,255],[0,68,27,255]]",
+ "Red Blue":
+ "[[103,0,31,255],[178,24,43,255],[214,96,77,255],[244,165,130,255],[253,219,199,255],[209,229,240,255],[146,197,222,255],[67,147,195,255],[33,102,172,255],[5,48,97,255]]"
+};
+
+const opacityOptions = {
+ range: true,
+ min: 0,
+ max: 1,
+ step: 0.05
+};
+
+const getWidthOptions = {
+ range: true,
+ min: 0,
+ max: 100,
+ step: 1
+};
+
+const widthScaleOptions = {
+ range: true,
+ min: 1,
+ max: 10,
+ step: 0.5
+};
+
+const GROUP_IDS = {
+ MARKER: "Marker",
+ DATA: "Data"
+};
+
+const mapData = [
+ "https://service.civicpdx.org/transportation-systems/sandbox/slides/routechange/"
+];
+
+const highlightColor = [125, 125, 125, 125];
+
+const parseColors = colorScheme => JSON.parse(colorScheme);
+
+const getPath = f => f.geometry.coordinates;
+
+// const getWidthSandard = () => 15;
+
+const standardColor = [25, 183, 170, 255];
+
+export default () => {
+ storiesOf("Component Lib|Maps/Path Map", module)
+ .addDecorator(withKnobs)
+ .addDecorator(checkA11y)
+ .add(
+ "Standard",
+ () => {
+ const getColor = object("Color: ", standardColor, GROUP_IDS.MARKER);
+
+ const opacity = number(
+ "Opacity:",
+ 0.95,
+ opacityOptions,
+ GROUP_IDS.MARKER
+ );
+
+ const getWidth = number(
+ "Width:",
+ 15,
+ getWidthOptions,
+ GROUP_IDS.MARKER
+ );
+
+ return (
+
+ {allData => {
+ const data = object(
+ "Data",
+ allData.slide_data.features,
+ GROUP_IDS.DATA
+ );
+ return (
+
+
+
+ );
+ }}
+
+ );
+ },
+ { notes }
+ )
+ .add(
+ "Custom",
+ () => {
+ const colorScheme = select(
+ "Color Scheme:",
+ colorSchemeOptions,
+ colorSchemeOptions["Purple Green"],
+ GROUP_IDS.MARKER
+ );
+ const colors = parseColors(colorScheme);
+
+ const divergingScale = scaleThreshold()
+ .domain([-100, -75, -50, -25, 0, 25, 50, 75, 100])
+ .range(colors);
+
+ const getPathColor = f => {
+ const value = f.properties.pct_change;
+ return divergingScale(value);
+ };
+
+ const opacity = number(
+ "Opacity:",
+ 0.95,
+ opacityOptions,
+ GROUP_IDS.MARKER
+ );
+
+ const getWidth = number(
+ "Width:",
+ 15,
+ getWidthOptions,
+ GROUP_IDS.MARKER
+ );
+
+ const widthScale = number(
+ "Width Scale:",
+ 1,
+ widthScaleOptions,
+ GROUP_IDS.MARKER
+ );
+
+ const rounded = boolean("Rounded:", true, GROUP_IDS.MARKER);
+
+ const autoHighlight = boolean(
+ "Auto Highlight:",
+ true,
+ GROUP_IDS.MARKER
+ );
+
+ const getHighlightColor = object(
+ "Highlight Color: ",
+ highlightColor,
+ GROUP_IDS.MARKER
+ );
+
+ return (
+
+ {allData => {
+ const data = object(
+ "Data",
+ allData.slide_data.features,
+ GROUP_IDS.DATA
+ );
+ return (
+
+
+ action("Layer clicked:", { depth: 2 })(info, info.object)
+ }
+ />
+
+ );
+ }}
+
+ );
+ },
+ { notes }
+ )
+ .add(
+ "Example: With Tooltip",
+ () => {
+ const getColor = object(
+ "Color: ",
+ [25, 183, 170, 255],
+ GROUP_IDS.MARKER
+ );
+
+ const opacity = number(
+ "Opacity:",
+ 0.95,
+ opacityOptions,
+ GROUP_IDS.MARKER
+ );
+
+ const getWidth = number(
+ "Width:",
+ 15,
+ getWidthOptions,
+ GROUP_IDS.MARKER
+ );
+
+ return (
+
+ {allData => {
+ const data = object(
+ "Data",
+ allData.slide_data.features,
+ GROUP_IDS.DATA
+ );
+ return (
+
+
+
+
+
+ );
+ }}
+
+ );
+ },
+ { notes }
+ );
+};
diff --git a/packages/ui-maps/stories/PolygonPreview.story.js b/packages/ui-maps/stories/PolygonPreview.story.js
new file mode 100644
index 000000000..8f8c137e2
--- /dev/null
+++ b/packages/ui-maps/stories/PolygonPreview.story.js
@@ -0,0 +1,90 @@
+import React from "react";
+import { storiesOf } from "@storybook/react";
+import { checkA11y } from "@storybook/addon-a11y";
+import { withKnobs, number, color } from "@storybook/addon-knobs";
+import { PolygonPreview } from "../src";
+import { storybookStyles } from "./storyStyles";
+import notes from "./polygonPreview.notes.md";
+
+const samplePoint = {
+ id: 0,
+ type: "Feature",
+ geometry: {
+ type: "Polygon",
+ coordinates: [
+ [
+ [-122.6507145389833, 45.55771642087534],
+ [-122.6429083130228, 45.55768675715896],
+ [-122.642924772506, 45.55543377124673],
+ [-122.6419502534144, 45.55543013845755],
+ [-122.6419502775427, 45.55542500723561],
+ [-122.6419529152384, 45.55487846776824],
+ [-122.641962565704, 45.55287959912901],
+ [-122.6419668259788, 45.55199860134397],
+ [-122.6419674959041, 45.551853081804],
+ [-122.6419675319362, 45.55185301812312],
+ [-122.6441730057121, 45.55184500387901],
+ [-122.6441735946454, 45.55184499289508],
+ [-122.6441739151976, 45.55180837833925],
+ [-122.6441839704287, 45.55066323416661],
+ [-122.6441843046813, 45.55062528713896],
+ [-122.6442052647039, 45.5482388379995],
+ [-122.6442052619851, 45.54823876603911],
+ [-122.6442238844498, 45.5451662460016],
+ [-122.6462921868976, 45.5451742829583],
+ [-122.6514269624085, 45.54519408041318],
+ [-122.6544906299285, 45.54520577691916],
+ [-122.6544697722047, 45.54825033847385],
+ [-122.6544697391407, 45.54825554190931],
+ [-122.6557272236104, 45.54825872017683],
+ [-122.6557271679942, 45.54826501320888],
+ [-122.6556857698879, 45.55318269183213],
+ [-122.6556744486651, 45.55452821736427],
+ [-122.6537235596823, 45.55452259005197],
+ [-122.6537111723565, 45.55548240641392],
+ [-122.65175628134, 45.55547546087733],
+ [-122.6517247726077, 45.55755954630334],
+ [-122.6517223252097, 45.55772105883007],
+ [-122.6507145389833, 45.55771642087534]
+ ]
+ ]
+ },
+ properties: {
+ name: "SABIN"
+ }
+};
+
+export default () =>
+ storiesOf("Component Lib|Maps/PolygonPreview", module)
+ .addDecorator(withKnobs)
+ .addDecorator(checkA11y)
+ .addDecorator(story => (
+
+ ))
+ .add(
+ "Point",
+ () => {
+ return (
+
+ );
+ },
+ { notes }
+ );
diff --git a/packages/ui-maps/stories/Sandbox.story.js b/packages/ui-maps/stories/Sandbox.story.js
new file mode 100644
index 000000000..54a2af5b6
--- /dev/null
+++ b/packages/ui-maps/stories/Sandbox.story.js
@@ -0,0 +1,413 @@
+/* eslint-disable react/no-access-state-in-setstate */
+/* eslint-disable react/destructuring-assignment */
+/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable no-console */
+import { Component } from "react";
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+import { storiesOf } from "@storybook/react";
+import "react-select/dist/react-select.css";
+import { isArray } from "lodash";
+import { Sandbox } from "../src";
+import { foundations, slides } from "../src/Sandbox/constants";
+
+/* global fetch */
+
+class SandboxStory extends Component {
+ constructor() {
+ super();
+ this.state = {
+ data: {
+ packages: {},
+ foundations: {},
+ slides: {}
+ },
+ hasFetched: false,
+ selectedPackage: "Sweeps",
+ selectedFoundation: "",
+ selectedSlide: [],
+ defaultFoundation: {},
+ defaultSlides: [],
+ drawerVisible: true,
+ slideData: [],
+ foundationData: {},
+ allSlides: [],
+ foundationMapProps: {}
+ };
+
+ this.updateFoundation = this.updateFoundation.bind(this);
+ this.updateSlide = this.updateSlide.bind(this);
+ this.updateSlide2 = this.updateSlide2.bind(this);
+ this.updatePackage = this.updatePackage.bind(this);
+ this.toggleDrawer = this.toggleDrawer.bind(this);
+ this.fetchSlideData = this.fetchSlideData.bind(this);
+ this.fetchFoundationData = this.fetchFoundationData.bind(this);
+ this.fetchSlideDataByDate = this.fetchSlideDataByDate.bind(this);
+ this.initialDataSetup = this.initialDataSetup.bind(this);
+ }
+
+ componentDidMount() {
+ fetch("https://sandbox.civicpdx.org/civic-sandbox")
+ .then(res => res)
+ .then(res => res.json())
+ .then(data => this.setState({ data: data.body, hasFetched: true }));
+ }
+
+ componentDidUpdate(prevProps, prevState) {
+ if (
+ this.state.hasFetched !== prevState.hasFetched &&
+ this.state.hasFetched
+ ) {
+ this.initialDataSetup(this.state);
+ }
+ if (this.state.selectedFoundation !== prevState.selectedFoundation) {
+ this.updateFoundation(this.state.selectedFoundation);
+ }
+ if (this.state.selectedSlide !== prevState.selectedSlide) {
+ this.updateSlide2(this.state.selectedSlide);
+ }
+ }
+
+ initialDataSetup = state => {
+ const selectedPackageData = state.data.packages[this.state.selectedPackage];
+ const selectedFoundation = selectedPackageData
+ ? selectedPackageData.default_foundation
+ : "";
+ const selectedSlide = selectedPackageData
+ ? selectedPackageData.default_slide
+ : [];
+ const defaultFoundation =
+ selectedFoundation && state.data.foundations[selectedFoundation];
+ const dataObj = { slide_meta: {}, slide_data: {} };
+ const foundationMapObj = foundations(dataObj)[defaultFoundation.name];
+ const foundationMapProps = {
+ color: foundationMapObj.color,
+ getPropValue: foundationMapObj.getPropValue,
+ propName: foundationMapObj.propName,
+ scaleType: foundationMapObj.scaleType
+ };
+ if (
+ foundationMapObj.scaleType === "ordinal" ||
+ foundationMapObj.scaleType === "threshold"
+ ) {
+ foundationMapProps.categories = foundationMapObj.categories;
+ }
+ const allSlides = state.data.packages[
+ this.state.selectedPackage
+ ].slides.map(slide => {
+ const mapObj = slides(dataObj)[state.data.slides[slide].name];
+ const gray = [238, 238, 238, 255];
+ const color = mapObj.boundary.getLineColor
+ ? mapObj.boundary.getLineColor()
+ : gray;
+ const { mapType } = mapObj.map;
+ return {
+ slideId: slide,
+ slideObj: state.data.slides[slide],
+ label: state.data.slides[slide].name,
+ checked: !!selectedSlide.includes(slide),
+ color,
+ mapType
+ };
+ });
+ const defaultSlides = allSlides
+ .filter(slide => slide.checked === true)
+ .map(slide => state.data.slides[slide.slideId]);
+ this.setState({
+ selectedFoundation,
+ selectedSlide,
+ defaultFoundation,
+ defaultSlides,
+ allSlides,
+ foundationMapProps
+ });
+ };
+
+ updateFoundation = selectedFoundation => {
+ const defaultFoundation = this.state.data.foundations[selectedFoundation];
+ const dataObj = {
+ slide_meta: {},
+ slide_data: {}
+ };
+ const foundationMapObj = foundations(dataObj)[defaultFoundation.name];
+ const foundationMapProps = {
+ color: foundationMapObj.color,
+ getPropValue: foundationMapObj.getPropValue,
+ propName: foundationMapObj.propName,
+ scaleType: foundationMapObj.scaleType
+ };
+ if (
+ foundationMapObj.scaleType === "ordinal" ||
+ foundationMapObj.scaleType === "threshold"
+ ) {
+ foundationMapProps.categories = foundationMapObj.categories;
+ }
+
+ this.fetchFoundationData(defaultFoundation);
+ this.setState({
+ selectedFoundation,
+ defaultFoundation,
+ foundationMapProps
+ });
+ };
+
+ updateSlide2 = selectedSlide => {
+ const selectedSlides = isArray(selectedSlide)
+ ? selectedSlide
+ : selectedSlide.split(",");
+ const defaultSlides = selectedSlides.map(
+ slide => this.state.data.slides[slide]
+ );
+ this.fetchSlideData(defaultSlides);
+ this.setState({ selectedSlide: selectedSlides, defaultSlides });
+ };
+
+ updateSlide = event => {
+ const slideId = event.target.name;
+ const allSlides = this.state.allSlides.map(slide => {
+ if (slide.slideId === slideId) {
+ return {
+ ...slide,
+ checked: !slide.checked
+ };
+ }
+ return slide;
+ });
+ const defaultSlides = allSlides
+ .filter(slide => slide.checked === true)
+ .map(slide => this.state.data.slides[slide.slideId]);
+ const selectedSlides = allSlides
+ .filter(slide => slide.checked === true)
+ .map(slide => slide.slideId);
+
+ this.fetchSlideData(defaultSlides);
+ this.setState({ selectedSlide: selectedSlides, defaultSlides, allSlides });
+ };
+
+ fetchFoundationData = foundation => {
+ const url = foundation.endpoint.includes("https")
+ ? foundation.endpoint
+ : `${foundation.endpoint.slice(0, 4)}s${foundation.endpoint.slice(4)}`;
+ fetch(url)
+ .then(res => {
+ if (!res.ok) {
+ throw Error(res.statusText);
+ }
+ return res;
+ })
+ .then(res => res.json())
+ .then(data => this.setState({ foundationData: data }))
+ .catch(err => console.error(err));
+ };
+
+ fetchSlideData = slideData => {
+ const defaultSlides = [...slideData];
+ const slideDataNames = this.state.slideData.map(
+ slide => Object.keys(slide)[0]
+ );
+ const onlyFetchNewSlides = defaultSlides.filter(
+ slide => !slideDataNames.includes(slide.name)
+ );
+ Promise.all(
+ onlyFetchNewSlides.map(s => {
+ const url = s.endpoint.includes("https")
+ ? s.endpoint
+ : `${s.endpoint.slice(0, 4)}s${s.endpoint.slice(4)}`;
+ return fetch(url)
+ .then(res => {
+ if (!res.ok) {
+ throw Error(res.statusText);
+ }
+ return res;
+ })
+ .then(res => res.json())
+ .then(data => ({ [s.name]: data }))
+ .catch(err => console.error(err));
+ })
+ ).then(data => {
+ this.setState({ slideData: [...this.state.slideData, ...data] });
+ });
+ };
+
+ findAndReplaceSlideData = (slideData, data, slideLabel) => {
+ const slideDataValues = Object.values(slideData);
+ const newSlideData = slideData.map((slide, index) => {
+ const [slideDataName] = Object.keys(slideDataValues[index]);
+ if (slideDataName === slideLabel) {
+ return { [slideLabel]: data };
+ }
+ return slide;
+ });
+ return newSlideData;
+ };
+
+ fetchSlideDataByDate = (slide, date, type) => {
+ let url;
+ if (type === "slide") {
+ url = slide.slideObj.endpoint.includes("https")
+ ? `${slide.slideObj.endpoint}${date}`
+ : `${slide.slideObj.endpoint.slice(
+ 0,
+ 4
+ )}s${slide.slideObj.endpoint.slice(4)}${date}`;
+ } else {
+ url = slide.endpoint.includes("https")
+ ? `${slide.endpoint}${date}`
+ : `${slide.endpoint.slice(0, 4)}s${slide.endpoint.slice(4)}${date}`;
+ }
+ fetch(url)
+ .then(res => {
+ if (!res.ok) {
+ throw Error(res.statusText);
+ }
+ return res;
+ })
+ .then(res => res.json())
+ .then(data => {
+ if (type === "slide") {
+ this.setState({
+ slideData: this.findAndReplaceSlideData(
+ this.state.slideData,
+ data,
+ slide.label
+ )
+ });
+ } else {
+ this.setState({ foundationData: data });
+ }
+ })
+ .catch(err => console.error(err));
+ };
+
+ updatePackage = selectedPackage => {
+ const { data } = this.state;
+ const packageData = data.packages[selectedPackage];
+ const selectedFoundation = packageData.default_foundation;
+ this.updateFoundation(selectedFoundation);
+ const selectedSlide = isArray(packageData.default_slide)
+ ? packageData.default_slide
+ : packageData.default_slide.split(",");
+ this.updateSlide2(selectedSlide);
+ const dataObj = { slide_meta: {}, slide_data: {} };
+ const defaultFoundation = data.foundations[selectedFoundation];
+ const foundationMapObj = foundations(dataObj)[defaultFoundation.name];
+ const foundationMapProps = {
+ color: foundationMapObj.color,
+ getPropValue: foundationMapObj.getPropValue,
+ propName: foundationMapObj.propName,
+ scaleType: foundationMapObj.scaleType
+ };
+ if (
+ foundationMapObj.scaleType === "ordinal" ||
+ foundationMapObj.scaleType === "threshold"
+ ) {
+ foundationMapProps.categories = foundationMapObj.categories;
+ }
+ const defaultSlides = selectedSlide.map(slide => data.slides[slide]);
+ const allSlides = data.packages[selectedPackage].slides.map(slide => {
+ const mapObj = slides(dataObj)[data.slides[slide].name];
+ const gray = [238, 238, 238, 255];
+ const color = mapObj.boundary.getLineColor
+ ? mapObj.boundary.getLineColor()
+ : gray;
+ const { mapType } = mapObj.map;
+ return {
+ slideId: slide,
+ slideObj: data.slides[slide],
+ label: data.slides[slide].name,
+ checked: !!selectedSlide.includes(slide),
+ color,
+ mapType
+ };
+ });
+ this.setState({
+ selectedPackage,
+ selectedFoundation,
+ selectedSlide,
+ defaultFoundation,
+ defaultSlides,
+ allSlides,
+ foundationMapProps
+ });
+ };
+
+ toggleDrawer = () => {
+ this.setState({ drawerVisible: !this.state.drawerVisible });
+ };
+
+ formatData = (defaultFoundation, defaultSlides) => {
+ const formatSlideData = defaultSlides
+ .map(slide => {
+ let data = {
+ slide_meta: {},
+ slide_data: {}
+ };
+ if (this.state.slideData.length) {
+ const findSlide = this.state.slideData.find(slideData => {
+ return slideData[slide.name];
+ });
+ data = findSlide ? findSlide[slide.name] : data;
+ }
+ const slideObj = slides(data)[slide.name];
+
+ return [
+ {
+ data: slideObj ? slideObj.boundary : {}
+ },
+ {
+ data: slideObj ? slideObj.map : {}
+ }
+ ];
+ })
+ .reduce((a, b) => a.concat(b), []);
+ return [
+ {
+ data: this.state.foundationData.slide_data
+ ? foundations(this.state.foundationData)[defaultFoundation.name]
+ : {}
+ },
+ ...formatSlideData
+ ];
+ };
+
+ render() {
+ const styles = css(`
+ margin: 0;
+ padding: 0;
+ width: 100%;
+ font-family: 'Roboto Condensed', 'Helvetica Neue', Helvetica, sans-serif;
+ `);
+
+ return this.state.hasFetched ? (
+
+ ) : null;
+ }
+}
+
+export default () =>
+ storiesOf("Component Lib|CIVIC Platform/Sandbox", module).add(
+ "Sandbox",
+ () =>
+ );
diff --git a/packages/ui-maps/stories/ScatterPlotMap.notes.md b/packages/ui-maps/stories/ScatterPlotMap.notes.md
new file mode 100644
index 000000000..d799992ec
--- /dev/null
+++ b/packages/ui-maps/stories/ScatterPlotMap.notes.md
@@ -0,0 +1,40 @@
+# ScatterPlot Map Component
+
+## Standard
+
+The Standard story shows the standard usage of the ScatterPlot Map Component for the CIVIC platform. ScatterPlot Map includes the standard styling.
+
+These properties can be set in the standard story:
+
+- `getFillColor`
+- `radiusScale`
+- `opacity`
+- `data`
+- `getPosition`
+
+## Custom
+
+The Custom story shows all the possible properties that can be passed to the ScatterPlot Map Component for customization.
+
+- `data` : expects an array of objects.
+- `getPosition` : expects a function that returns the coordinates of each object in data array.
+- `opacity` : expects a number between 0 and 1.
+- `getFillColor` : expects a function or an array in `[r, g, b, [a]]` format, where `a` is a number between 0 and 255. If an array is provided, the color is applied to all objects. If a function is provided, it is called on each object to set the fill color.
+- `getLineColor` : expects a function or an array in `[r, g, b, [a]]` format, where `a` is a number between 0 and 255. If an array is provided, the color is applied to all objects. If a function is provided, it is called on each object to set the fill color.
+- `getRadius` : expects a function or a number. If a number is provided it is used as the radius for all objects. If a function is provided, it is called on each object to set the radius.
+- `radiusScale` : expects a number.
+- `stroked` : expects a boolean value.
+- `getLineWidth` : expects a function or a number. If a number is provided, it is used as the outline width for each object. If a function is provided, it is called on each object to set the outline width.
+- `autoHighlight` : expects a boolean value.
+- `highlightColor` : expects an array in the `[r, g, b, [a]]` format.
+- `onLayerClick` : expects a function.
+
+## Example: With Tooltip
+
+The Example: With Tooltip story shows an example of using the MapTooltip component with the ScatterPlot Map component.
+
+## Example: Data Driven Styling
+
+The Example: Data Driven Styling story shows an example of styling the fill color based on a data attribute. We perform a ternary operation to check if a property is over a certain value and style based on that operation.
+
+We also style the `getRadius` based on a numerical property of each object to create graduated circles.
diff --git a/packages/ui-maps/stories/ScatterPlotMap.story.js b/packages/ui-maps/stories/ScatterPlotMap.story.js
new file mode 100644
index 000000000..cf0df02e1
--- /dev/null
+++ b/packages/ui-maps/stories/ScatterPlotMap.story.js
@@ -0,0 +1,333 @@
+import React from "react";
+/* eslint-disable import/no-extraneous-dependencies */
+import { storiesOf } from "@storybook/react";
+import {
+ withKnobs,
+ number,
+ boolean,
+ object,
+ color
+} from "@storybook/addon-knobs";
+import { action } from "@storybook/addon-actions";
+import { checkA11y } from "@storybook/addon-a11y";
+import { BaseMap, ScatterPlotMap, MapTooltip, DemoJSONLoader } from "../src";
+import notes from "./ScatterPlotMap.notes.md";
+
+const mapData = [
+ "https://service.civicpdx.org/neighborhood-development/sandbox/slides/bikecounts/"
+];
+
+const highlightColor = [255, 165, 0, 155];
+
+const colorOption2 = [25, 183, 170, 255];
+
+const GROUP_IDS = {
+ MARKER: "Marker",
+ DATA: "Data"
+};
+
+const opacityOptions = {
+ range: true,
+ min: 0,
+ max: 1,
+ step: 0.05
+};
+
+const radiusScaleOptions = {
+ range: true,
+ min: 0,
+ max: 25,
+ step: 0.5
+};
+
+const lineWidthOptions = {
+ range: true,
+ min: 0,
+ max: 20,
+ step: 0.5
+};
+
+const getPosition = f =>
+ f.geometry ? f.geometry.coordinates : [-124.664355, 45.615779];
+
+const getFillColorDataDriven = f =>
+ f.properties.year_2017 > 1000 ? [255, 0, 0, 255] : [0, 0, 255, 255];
+
+const getLineColorDataDriven = f =>
+ f.properties.year_2017 > 1000 ? [0, 0, 255, 255] : [255, 0, 0, 255];
+
+const getCircleRadius = f => Math.sqrt(f.properties.year_2017 / Math.PI) * 15;
+
+const colorOption1 = colorPicker => {
+ return colorPicker
+ .slice(5, -1)
+ .split(",")
+ .map(n => parseInt(n, 10))
+ .filter((n, i) => i < 3);
+};
+
+export default () =>
+ storiesOf("Component Lib|Maps/Scatterplot Map", module)
+ .addDecorator(withKnobs)
+ .addDecorator(checkA11y)
+ .add(
+ "Standard",
+ () => {
+ const getFillColor = object(
+ "Fill Color",
+ [25, 183, 170, 255],
+ GROUP_IDS.MARKER
+ );
+
+ const opacity = number(
+ "Opacity:",
+ 0.1,
+ opacityOptions,
+ GROUP_IDS.MARKER
+ );
+
+ const radiusScale = number(
+ "Radius Scale:",
+ 1,
+ radiusScaleOptions,
+ GROUP_IDS.MARKER
+ );
+
+ return (
+
+ {allData => {
+ const data = object(
+ "Data",
+ allData.slide_data.features,
+ GROUP_IDS.DATA
+ );
+ return (
+
+
+
+ );
+ }}
+
+ );
+ },
+ { notes }
+ )
+ .add(
+ "Custom",
+ () => {
+ const fillColorPicker = color(
+ "Fill Color:",
+ "#19B7AA",
+ GROUP_IDS.MARKER
+ );
+
+ const getFillColor =
+ fillColorPicker.charAt(0) !== "#"
+ ? colorOption1(fillColorPicker)
+ : colorOption2;
+
+ const opacity = number(
+ "Opacity:",
+ 0.1,
+ opacityOptions,
+ GROUP_IDS.MARKER
+ );
+
+ const radiusScale = number(
+ "Radius Scale:",
+ 1,
+ radiusScaleOptions,
+ GROUP_IDS.MARKER
+ );
+
+ const stroked = boolean("Stroked:", false, GROUP_IDS.MARKER);
+
+ const lineColorPicker = color(
+ "Stroke Line Color:",
+ "#19B7AA",
+ GROUP_IDS.MARKER
+ );
+
+ const getLineColor =
+ lineColorPicker.charAt(0) !== "#"
+ ? colorOption1(lineColorPicker)
+ : colorOption2;
+
+ const getLineWidth = number(
+ "Stroke Line Width:",
+ 1,
+ lineWidthOptions,
+ GROUP_IDS.MARKER
+ );
+
+ const autoHighlight = boolean(
+ "Auto Highlight:",
+ true,
+ GROUP_IDS.MARKER
+ );
+
+ const highlightColorPicker = color(
+ "Highlight Color:",
+ "#ffa500",
+ GROUP_IDS.MARKER
+ );
+
+ const getHighlightColor =
+ highlightColorPicker.charAt(0) !== "#"
+ ? colorOption1(highlightColorPicker)
+ : highlightColor;
+
+ return (
+
+ {allData => {
+ const data = object(
+ "Data",
+ allData.slide_data.features,
+ GROUP_IDS.DATA
+ );
+
+ return (
+
+
+ action("Layer clicked:", { depth: 2 })(info, info.object)
+ }
+ />
+
+ );
+ }}
+
+ );
+ },
+ { notes }
+ )
+ .add(
+ "Examples: With Tooltip",
+ () => {
+ return (
+
+ {data => {
+ const fillColorPicker = color(
+ "Fill Color:",
+ "#19B7AA",
+ GROUP_IDS.MARKER
+ );
+
+ const getFillColor =
+ fillColorPicker.charAt(0) !== "#"
+ ? colorOption1(fillColorPicker)
+ : colorOption2;
+
+ const opacity = number(
+ "Opacity:",
+ 0.1,
+ opacityOptions,
+ GROUP_IDS.MARKER
+ );
+ const radiusScale = number(
+ "Radius Scale:",
+ 1,
+ radiusScaleOptions,
+ GROUP_IDS.MARKER
+ );
+ return (
+
+
+ action("Layer clicked:", { depth: 2 })(info, info.object)
+ }
+ >
+
+
+
+ );
+ }}
+
+ );
+ },
+ { notes }
+ )
+ .add(
+ "Examples: Data Driven Styling",
+ () => {
+ const opacity = number(
+ "Opacity:",
+ 0.1,
+ opacityOptions,
+ GROUP_IDS.MARKER
+ );
+
+ const radiusScale = number(
+ "Radius Scale:",
+ 1,
+ radiusScaleOptions,
+ GROUP_IDS.MARKER
+ );
+
+ return (
+
+ {allData => {
+ const data = object(
+ "Data",
+ allData.slide_data.features,
+ GROUP_IDS.DATA
+ );
+ return (
+
+
+ action("Layer clicked:", { depth: 2 })(info, info.object)
+ }
+ />
+
+ );
+ }}
+
+ );
+ },
+ { notes }
+ );
diff --git a/packages/ui-maps/stories/ScreenGridMap.notes.md b/packages/ui-maps/stories/ScreenGridMap.notes.md
new file mode 100644
index 000000000..1a7a27a89
--- /dev/null
+++ b/packages/ui-maps/stories/ScreenGridMap.notes.md
@@ -0,0 +1,25 @@
+# ScreenGrid Map Component
+
+## Standard
+
+The Standard story shows the standard usage of the ScreenGrid Map Component for the CIVIC platform. ScreenGrid Map includes the standard styling.
+
+These properties can be set in the standard story:
+
+- `colorRange`
+- `cellSizePixels`
+- `opacity`
+- `data`
+- `getPosition`
+
+## Custom
+
+The Custom story shows all the possible properties that can be passed to the ScreenGrid Map Component for customization.
+
+- `data` : expects an array of objects.
+- `getPosition` : expects a function that returns the coordinates of each object in data array.
+- `opacity` : expects a number between 0 and 1.
+- `autoHighlight` : expects a boolean value.
+- `cellSizePixels` : expects a number.
+- `colorRange` : expects an array of six colors, where each color is in `[r, g, b, [a]]` format. `a` is a number between 0 and 255.
+- `onLayerClick` : expects a function.
diff --git a/packages/ui-maps/stories/ScreenGridMap.story.js b/packages/ui-maps/stories/ScreenGridMap.story.js
new file mode 100644
index 000000000..8c90b5763
--- /dev/null
+++ b/packages/ui-maps/stories/ScreenGridMap.story.js
@@ -0,0 +1,164 @@
+import React from "react";
+/* eslint-disable import/no-extraneous-dependencies */
+import { storiesOf } from "@storybook/react";
+import {
+ withKnobs,
+ number,
+ select,
+ object,
+ boolean
+} from "@storybook/addon-knobs";
+import { action } from "@storybook/addon-actions";
+import { checkA11y } from "@storybook/addon-a11y";
+import { BaseMap, ScreenGridMap, DemoJSONLoader } from "../src";
+import notes from "./ScreenGridMap.notes.md";
+
+const mapData = [
+ "https://service.civicpdx.org/transportation-systems/sandbox/slides/crashes/"
+];
+
+const GROUP_IDS = {
+ MARKER: "Marker",
+ DATA: "Data"
+};
+
+const colorSchemeOptions = {
+ Thermal:
+ "[[255,237,160],[254,217,118],[254,178,76],[253,141,60],[252,78,42],[227,26,28],[189,0,38],[128,0,38]]",
+ Planet:
+ "[[231,225,239],[212,185,218],[201,148,199],[223,101,176],[231,41,138],[206,18,86],[152,0,67],[103,0,31]]",
+ Space:
+ "[[224,236,244],[191,211,230],[158,188,218],[140,150,198],[140,107,177],[136,65,157],[129,15,124],[77,0,75]]",
+ Earth:
+ "[[236,226,240],[208,209,230],[166,189,219],[103,169,207],[54,144,192],[2,129,138],[1,108,89],[1,70,54]]",
+ Ocean:
+ "[[237,248,177],[199,233,180],[127,205,187],[65,182,196],[29,145,192],[34,94,168],[37,52,148],[8,29,88]]"
+};
+
+const cellSizeOptions = {
+ range: true,
+ min: 1,
+ max: 100,
+ step: 1
+};
+
+const opacityOptions = {
+ range: true,
+ min: 0,
+ max: 1,
+ step: 0.05
+};
+
+export default () =>
+ storiesOf("Component Lib|Maps/Screen Grid Map", module)
+ .addDecorator(withKnobs)
+ .addDecorator(checkA11y)
+ .add(
+ "Standard",
+ () => {
+ const opacity = number(
+ "Opacity:",
+ 0.8,
+ opacityOptions,
+ GROUP_IDS.MARKER
+ );
+
+ const colorScheme = select(
+ "Color Scheme:",
+ colorSchemeOptions,
+ colorSchemeOptions.Planet,
+ GROUP_IDS.MARKER
+ );
+ const colorSchemeArray = JSON.parse(colorScheme);
+
+ const cellSize = number(
+ "Cell Size:",
+ 15,
+ cellSizeOptions,
+ GROUP_IDS.MARKER
+ );
+ return (
+
+ {allData => {
+ const data = object(
+ "Data",
+ allData.slide_data.features,
+ GROUP_IDS.DATA
+ );
+ return (
+
+ f.geometry.coordinates}
+ opacity={opacity}
+ colorRange={colorSchemeArray}
+ cellSizePixels={cellSize}
+ />
+
+ );
+ }}
+
+ );
+ },
+ { notes }
+ )
+ .add(
+ "Custom",
+ () => {
+ const opacity = number(
+ "Opacity:",
+ 0.8,
+ opacityOptions,
+ GROUP_IDS.MARKER
+ );
+
+ const colorScheme = select(
+ "Color Scheme:",
+ colorSchemeOptions,
+ colorSchemeOptions.Planet,
+ GROUP_IDS.MARKER
+ );
+ const colorSchemeArray = JSON.parse(colorScheme);
+
+ const cellSize = number(
+ "Cell Size:",
+ 15,
+ cellSizeOptions,
+ GROUP_IDS.MARKER
+ );
+
+ const autoHighlight = boolean(
+ "Auto Highlight:",
+ true,
+ GROUP_IDS.MARKER
+ );
+
+ return (
+
+ {allData => {
+ const data = object(
+ "Data",
+ allData.slide_data.features,
+ GROUP_IDS.DATA
+ );
+ return (
+
+ f.geometry.coordinates}
+ opacity={opacity}
+ colorRange={colorSchemeArray}
+ cellSizePixels={cellSize}
+ autoHighlight={autoHighlight}
+ onLayerClick={info =>
+ action("Layer clicked:", { depth: 2 })(info, info.object)
+ }
+ />
+
+ );
+ }}
+
+ );
+ },
+ { notes }
+ );
diff --git a/packages/ui-maps/stories/VectorTilesMap.story.js b/packages/ui-maps/stories/VectorTilesMap.story.js
new file mode 100644
index 000000000..bc9d70856
--- /dev/null
+++ b/packages/ui-maps/stories/VectorTilesMap.story.js
@@ -0,0 +1,555 @@
+import { storiesOf } from "@storybook/react";
+import {
+ withKnobs,
+ text,
+ object,
+ select,
+ number
+} from "@storybook/addon-knobs";
+import { checkA11y } from "@storybook/addon-a11y";
+import { get } from "lodash";
+import { jsx, css } from "@emotion/core";
+import {
+ BaseMap,
+ VectorTilesMap,
+ ScatterPlotMap,
+ DemoJSONLoader
+} from "../src";
+/** @jsx jsx */
+import notes from "./vectorTilesMap.notes.md";
+
+const GROUP_IDS = {
+ DESIGN: "Design",
+ "VECTOR TILES MAP": "Vector Tiles Map",
+ "VECTOR TILES MAP 2": "Vector Tiles Map 2",
+ "DECK GL MAP": "Deck GL Map",
+ "DECK GL DATA": "Deck GL Data"
+};
+
+const containerWrapper = css`
+ height: 100vh;
+ min-height: 500px;
+`;
+
+const MAP_STYLE_OPTIONS = {
+ "CIVIC Dark": "dark",
+ "CIVIC Light": "light",
+ "Sandbox Dark": "sandbox-dark"
+};
+
+export default () =>
+ storiesOf("Component Lib|Maps/Vector Tiles Map", module)
+ .addDecorator(withKnobs)
+ .addDecorator(checkA11y)
+ .add(
+ "Standard",
+ () => {
+ const civicMapStyle = select(
+ "CIVIC Map Styles:",
+ MAP_STYLE_OPTIONS,
+ MAP_STYLE_OPTIONS["CIVIC Dark"],
+ GROUP_IDS.DESIGN
+ );
+
+ const vectorTilesURL = text(
+ "Mapbox Tileset URL:",
+ "mapbox://themendozaline.dgpl66sy",
+ GROUP_IDS.DESIGN
+ );
+
+ const layerType = text("Layer Type:", "fill", GROUP_IDS.DESIGN);
+
+ const sourceLayer = text(
+ "Source Layer:",
+ "us-counties-c8pk23",
+ GROUP_IDS.DESIGN
+ );
+
+ const paint = object(
+ "Paint:",
+ {
+ "fill-color": [
+ "match",
+ ["get", "STATEFP"],
+ "41",
+ "#FFB226",
+ "#19B7AA"
+ ],
+ "fill-opacity": 0.75
+ },
+ GROUP_IDS.DESIGN
+ );
+
+ const layerPosition = text(
+ "Layer Position:",
+ "waterway-label",
+ GROUP_IDS.DESIGN
+ );
+
+ const vectorTilesID = text(
+ "Vector Tiles ID:",
+ "source-id-01",
+ GROUP_IDS.DESIGN
+ );
+
+ return (
+
+
+
+
+
+ );
+ },
+ { notes }
+ )
+ .add(
+ "Example: Two Sources",
+ () => {
+ const vectorTilesURL01 = text(
+ "Mapbox Tileset URL - 01:",
+ "mapbox://hackoregon.internet-types-b28002-two",
+ GROUP_IDS["VECTOR TILES MAP 1"]
+ );
+
+ const layerType01 = text(
+ "Type - 01:",
+ "fill",
+ GROUP_IDS["VECTOR TILES MAP 1"]
+ );
+
+ const sourceLayer01 = text(
+ "Source Layer - 01:",
+ "us-census-tracts",
+ GROUP_IDS["VECTOR TILES MAP 1"]
+ );
+
+ const paint01 = object(
+ "Paint - 01:",
+ {
+ "fill-color": [
+ "case",
+ ["==", ["get", "total"], 0],
+ "transparent",
+ [
+ "step",
+ [
+ "/",
+ [
+ "get",
+ "total_with_an_internet_subscription_broadband_of_any_type"
+ ],
+ ["get", "total"]
+ ],
+ "#ffffcc",
+ 0.2,
+ "#a1dab4",
+ 0.4,
+ "#41b6c4",
+ 0.6,
+ "#2c7fb8",
+ 0.8,
+ "#253494"
+ ]
+ ],
+ "fill-outline-color": "gray",
+ "fill-opacity": 0.75
+ },
+ GROUP_IDS["VECTOR TILES MAP 1"]
+ );
+
+ const layerPosition01 = text(
+ "Layer Position - 01:",
+ "waterway-label",
+ GROUP_IDS["VECTOR TILES MAP 1"]
+ );
+
+ const vectorTilesID01 = text(
+ "Vector Tiles ID - 01:",
+ "source-01",
+ GROUP_IDS["VECTOR TILES MAP 1"]
+ );
+
+ const vectorTilesURL02 = text(
+ "Mapbox Tileset URL - 02:",
+ "mapbox://hackoregon.demographic-tracts-centroids",
+ GROUP_IDS["VECTOR TILES MAP 2"]
+ );
+
+ const layerType02 = text(
+ "Type - 02:",
+ "circle",
+ GROUP_IDS["VECTOR TILES MAP 2"]
+ );
+
+ const sourceLayer02 = text(
+ "Source Layer - 02:",
+ "us-census-tracts",
+ GROUP_IDS["VECTOR TILES MAP 2"]
+ );
+
+ const paint02 = object(
+ "Paint - 02:",
+ {
+ "circle-color": "gold",
+ "circle-radius": [
+ "interpolate",
+ ["linear"],
+ ["get", "Race: Share Black"],
+ 0,
+ 0,
+ 100,
+ 20
+ ],
+ "circle-opacity": 0.9
+ },
+ GROUP_IDS["VECTOR TILES MAP 2"]
+ );
+
+ const layerPosition02 = text(
+ "Layer Position - 02:",
+ "waterway-label",
+ GROUP_IDS["VECTOR TILES MAP 2"]
+ );
+
+ const vectorTilesID02 = text(
+ "Vector Tiles ID - 02:",
+ "source-02",
+ GROUP_IDS["VECTOR TILES MAP 2"]
+ );
+
+ const civicMapStyle = select(
+ "CIVIC Map Styles - 01:",
+ MAP_STYLE_OPTIONS,
+ MAP_STYLE_OPTIONS["CIVIC Dark"],
+ GROUP_IDS.DESIGN
+ );
+
+ return (
+
+
+
+
+
+
+ );
+ },
+ { notes }
+ )
+ .add(
+ "Example: With Deck.GL Layer",
+ () => {
+ const civicMapStyle = select(
+ "CIVIC Map Styles:",
+ MAP_STYLE_OPTIONS,
+ MAP_STYLE_OPTIONS["CIVIC Dark"],
+ GROUP_IDS["VECTOR TILES MAP"]
+ );
+
+ const vectorTilesURL = text(
+ "Mapbox Tileset URL:",
+ "mapbox://themendozaline.dgpl66sy",
+ GROUP_IDS["VECTOR TILES MAP"]
+ );
+
+ const layerType = text(
+ "Layer Type:",
+ "fill",
+ GROUP_IDS["VECTOR TILES MAP"]
+ );
+
+ const sourceLayer = text(
+ "Source Layer:",
+ "us-counties-c8pk23",
+ GROUP_IDS["VECTOR TILES MAP"]
+ );
+
+ const paint = object(
+ "Paint:",
+ {
+ "fill-color": [
+ "match",
+ ["get", "STATEFP"],
+ "41",
+ "#FFB226",
+ "#19B7AA"
+ ],
+ "fill-opacity": 0.75
+ },
+ GROUP_IDS["VECTOR TILES MAP"]
+ );
+
+ const filter = object("Filter:", [], GROUP_IDS["VECTOR TILES MAP"]);
+
+ const layerPosition = text(
+ "Layer Position:",
+ "waterway-label",
+ GROUP_IDS["VECTOR TILES MAP"]
+ );
+
+ const vectorTilesID = text(
+ "Vector Tiles ID:",
+ "source-03",
+ GROUP_IDS["VECTOR TILES MAP"]
+ );
+
+ const getFillColor = object(
+ "Fill Color",
+ [220, 20, 60, 255],
+ GROUP_IDS["DECK GL MAP"]
+ );
+
+ const opacity = number(
+ "Opacity:",
+ 0.9,
+ {
+ range: true,
+ min: 0,
+ max: 1,
+ step: 0.1
+ },
+ GROUP_IDS["DECK GL MAP"]
+ );
+
+ const getRadius = number(
+ "Radius:",
+ 150,
+ {
+ range: true,
+ min: 1,
+ max: 500,
+ step: 1
+ },
+ GROUP_IDS["DECK GL MAP"]
+ );
+
+ const dataURL =
+ "https://service.civicpdx.org/neighborhood-development/sandbox/slides/bikecounts/?format=json";
+
+ const fetchURL = text("API URL:", dataURL, GROUP_IDS["DECK GL DATA"]);
+
+ return (
+
+
+ {data => {
+ const featuresArrayPath = text(
+ "Features Array Path:",
+ "slide_data.features",
+ GROUP_IDS["DECK GL DATA"]
+ );
+
+ const featuresData = get(data, featuresArrayPath);
+
+ return (
+
+
+
+ d.geometry ? d.geometry.coordinates : [0, 0]
+ }
+ opacity={opacity}
+ getFillColor={getFillColor}
+ getRadius={() => getRadius}
+ />
+
+ );
+ }}
+
+
+ );
+ },
+ { notes }
+ )
+ .add(
+ "Example: One Source and Two Layers",
+ () => {
+ const vectorTilesURL = text(
+ "Mapbox Tileset URL:",
+ "mapbox://hackoregon.computers-household-b28010-two",
+ GROUP_IDS.DESIGN
+ );
+
+ const multipleLayers = object(
+ "Multiple Layers",
+ [
+ {
+ layerID: "layer-counties",
+ layerType: "fill",
+ sourceLayer: "us-counties",
+ paint: {
+ "fill-color": [
+ "case",
+ ["==", ["get", "total"], 0],
+ "transparent",
+ [
+ "step",
+ ["/", ["get", "total_no_computer"], ["get", "total"]],
+ "#ffffcc",
+ 0.2,
+ "#a1dab4",
+ 0.4,
+ "#41b6c4",
+ 0.6,
+ "#2c7fb8",
+ 0.8,
+ "#253494"
+ ]
+ ],
+ "fill-outline-color": "gray",
+ "fill-opacity": 0.75
+ }
+ },
+ {
+ layerID: "layer-census-tracts",
+ layerType: "fill",
+ sourceLayer: "us-census-tracts",
+ paint: {
+ "fill-color": [
+ "case",
+ ["==", ["get", "total"], 0],
+ "transparent",
+ [
+ "step",
+ ["/", ["get", "total_no_computer"], ["get", "total"]],
+ "#ffffcc",
+ 0.2,
+ "#a1dab4",
+ 0.4,
+ "#41b6c4",
+ 0.6,
+ "#2c7fb8",
+ 0.8,
+ "#253494"
+ ]
+ ],
+ "fill-outline-color": "gray",
+ "fill-opacity": 0.75
+ }
+ }
+ ],
+ GROUP_IDS.DESIGN
+ );
+
+ const vectorTilesID = text(
+ "Vector Tiles ID:",
+ "vector-tile-id-01",
+ GROUP_IDS.DESIGN
+ );
+
+ const layerPosition = text(
+ "Layer Position:",
+ "waterway-label",
+ GROUP_IDS.DESIGN
+ );
+
+ const civicMapStyle = select(
+ "CIVIC Map Styles:",
+ MAP_STYLE_OPTIONS,
+ MAP_STYLE_OPTIONS["CIVIC Dark"],
+ GROUP_IDS.DESIGN
+ );
+
+ const filter = object(
+ "Filter:",
+ ["==", "name", null],
+ GROUP_IDS.DESIGN
+ );
+
+ const index = number(
+ "index:",
+ 77,
+ {
+ range: false,
+ min: 0,
+ max: 100,
+ step: 1
+ },
+ GROUP_IDS.DESIGN
+ );
+
+ return (
+
+ console.log(e)}
+ >
+
+
+
+ );
+ },
+ { notes }
+ );
diff --git a/packages/ui-maps/stories/baseMap.notes.md b/packages/ui-maps/stories/baseMap.notes.md
new file mode 100644
index 000000000..70bce2332
--- /dev/null
+++ b/packages/ui-maps/stories/baseMap.notes.md
@@ -0,0 +1,128 @@
+# Base Map Component
+
+## Standard
+
+The Standard story shows the basic usage of the Base Map component for the CIVIC platform.
+
+This prop can be set in the Standard story:
+
+- **civicMapStyle:** the Base Map style
+ - This prop expects either the string `"dark"` or `"light"`
+
+## Custom
+
+The Custom story shows additional props that can be passed to the Base Map component.
+
+These props can be set in the Custom story:
+
+- **initialLongitude:** the initial longitude of the Base Map
+ - This prop expects a decimal between -120 and 120
+- **initialLatitude:** the initial latitude of the Base Map
+ - This prop expects a decimal between -90 and 90
+- **initialZoom:** the initial zoom level of the Base Map
+ - This prop expects a number between 0 and 24
+- **initialPitch:** the initial pitch (tilt) of the Base Map
+ - This prop expects a number between 0 and 60
+- **height:** the height of the Base Map
+ - This prop expects a number
+- **navigation:** whether the Base Map should include zoom and compass buttons
+ - This property expects a boolean
+- **useScrollZoom**: whether to enable scroll to zoom
+ - This property expects a boolean
+- **onBaseMapClick:** this function will be called when the Base Map is clicked
+ - This prop expects a function
+
+## Example: Animate to Coordinates
+
+This story shows how the `animate` prop impacts changing map coordinates, including updating `initialLongitude` and `initialLatitude`.
+
+These props can be set in this story:
+
+- **animationDuration**: Controls how long the "fly to" effect takes. Measured in milliseconds.
+
+These actions can be taken from this story:
+
+- **OMSI**: Sets the BaseMap `initialLongitude` and `initialLatitude` to OMSI's coordinates.
+- **Rocky Butte**: Sets the BaseMap `initialLongitude` and `initialLatitude` to Rocky Butte's coordinates.
+
+## Example: With Geocoder
+
+This story shows how to use a geocoder with the Base Map.
+
+These props can be set in this story:
+
+- **geocoder:** whether the Base Map should include the geocoder
+ - This prop expects a boolean
+- **geocoderOptions:** options for the geocoder search input
+ - The geocoderOptions prop expects an object and may include the following properties:
+ - **placeholder:** the text that appears in the geocoder search input
+ - This property expects a string
+ - **zoom:** the zoom level the geocoder search result will transition to
+ - This property expects a number
+ - **bbox:** bounding box the search results will be limited to
+ - This property expects an array in the format:
+ `[minLongitude, minLatitude, maxLongitude, maxLatitude]`
+ - [Additional geocoder options can be found here.](https://github.com/mapbox/mapbox-gl-geocoder/blob/master/API.md)
+- **geocoderOnChange:** a function that updates the coordinates of the location marker
+ - This prop expects a function
+- **locationMarker:** whether to include an ❌ marker at the location of the geocoder results
+ - This prop expects a boolean
+- **locationMarkerCoord:** the coordinates of the location marker
+ - The locationMarkerCoord prop expects an object and must include the following properties:
+ - **latitude:** the latitude of the location marker
+ - This prop expects a decimal between -90 and 90
+ - **longitude:** the longitude of the location marker
+ - This prop expects a decimal between -120 and 120
+- **mapGLOptions:** interaction properties for the Base Map
+ - Please refer to the "Example: No Interactivity" story for more information
+
+## Example: No Interactivity
+
+This story shows how to make the Base Map static.
+
+These props can be set in this story:
+
+- **mapGLOptions:** interaction properties for the Base Map
+ - The mapGLOptions prop expects an object and may include the following properties:
+ - **scrollZoom:** enable scroll to zoom
+ - This property expects a boolean
+ - **dragPan:** enable drag to pan
+ - This property expects a boolean
+ - **dragRotate:** enable drag to rotate
+ - This property expects a boolean
+ - **doubleClickZoom:** enable double click to zoom
+ - This property expects a boolean
+ - **touchZoom:** enable multitouch zoom
+ - This property expects a boolean
+ - **touchRotate:** enable multitouch rotate
+ - This property expects a boolean
+ - **keyboard:** enable keyboard shortcuts
+ - This property expects a boolean
+ - [Additional mapGLOptions options can be found here.](https://github.com/uber/react-map-gl/blob/master/docs/components/interactive-map.md)
+
+## Example: Use Container Height
+
+This story shows how to make the Base Map's height responsive.
+
+The Base Map component must be wrapped in a `div` for this to work correctly and its CSS `height` property set to `100vh`. You can also set a `min-height` property to prevent the Base Map's height from becoming too short.
+
+This prop can be set in this story:
+
+- **useContainerHeight:** whether the Base Map should adjust according to the height of its parent container
+ - This prop expects a boolean
+
+## Example: With Scale Bar
+
+This story shows how to include a scale bar on the Base Map.
+
+- **scaleBar:** whether the Base Map should include a scale bar
+ - This prop expects a boolean
+- **scaleBarOptions:** options for the scale bar
+ - The scaleBarOptions prop expects an object and must include the following properties:
+ - **maxWidth:** the maximum length of the scale bar
+ - This property expects a number
+ - **units:** distance units displayed by the scale bar
+ - This property expects 1 of the following strings:
+ - `"imperial"`
+ - `"metric"`
+ - `"nautical"`
diff --git a/packages/ui-maps/stories/comparisonMap.notes.md b/packages/ui-maps/stories/comparisonMap.notes.md
new file mode 100644
index 000000000..f11791e2b
--- /dev/null
+++ b/packages/ui-maps/stories/comparisonMap.notes.md
@@ -0,0 +1,24 @@
+# Comparison Map Component
+
+## Standard
+
+The Standard story shows the basic usage of the Comparison Map component for the CIVIC platform.
+
+These props can be set in the Standard story:
+
+- **leftMap:** the map that will appear on the left side
+ - This prop expects a map component
+- **rightMap:** the map that will appear on the right side
+ - This prop expects a map component
+- **height:** the height of the map components
+ - This prop expects a number
+- **sliderStartPosition:** the initial position of the comparison slider
+ - This prop expects a number between 0 and 100
+- **initialViewport:** the initial position of the map
+ - The initialViewport prop expects an object and may include the following properties:
+ - **"latitude":** the initial latitude of the map components
+ - This prop expects a decimal between -90 and 90
+ - **"longitude":** the initial longitude of the map components
+ - This prop expects a decimal between -120 and 120
+ - **"zoom":** the initial zoom level of the map components
+ - This prop expects a number between 0 and 24
diff --git a/packages/ui-maps/stories/heatmap.notes.md b/packages/ui-maps/stories/heatmap.notes.md
new file mode 100644
index 000000000..009aea693
--- /dev/null
+++ b/packages/ui-maps/stories/heatmap.notes.md
@@ -0,0 +1,75 @@
+# Heat Map Implementation
+
+## Standard
+
+The Standard story shows the basic implementation of a heat map for the CIVIC platform.
+
+**NOTE:** Creating a heat map differs from other maps because the heat map is not a separate component.
+Instead to create a heat map, you access the `Map` instance from Mapbox GL's API directly through the Base Map component.
+
+These props can be passed to the Base Map component for the Standard implementation of a heat map:
+
+- **mapboxData:** point data to be visualized
+
+ - This prop expects a valid [GeoJSON object](https://tools.ietf.org/html/rfc7946#section-3)
+
+- **mapboxDataId:** unique data source name
+
+ - This prop expects a string
+
+- **mapboxLayerType:** type of Mapbox layer
+
+ - This prop expects the string `"heatmap"`
+
+- **mapboxLayerId:** unique layer name
+
+ - This prop expects a string
+
+- **mapboxLayerOptions:** paint properties for the heat map layer
+ - The mapboxLayerOptions prop expects an object with the following properties:
+ - **"heatmap-radius":** radius of influence of one heat map point in pixels
+ - This property expects a number or a [Mapbox expression](https://docs.mapbox.com/mapbox-gl-js/style-spec/#expressions)
+ - **"heatmap-opacity":** opacity of the heat map layer
+ - This property expects a number between 0 and 1 or a [Mapbox expression](https://docs.mapbox.com/mapbox-gl-js/style-spec/#expressions)
+ - **"heatmap-intensity":** controls the intensity of the heat map
+ - This property expects a number or a [Mapbox expression](https://docs.mapbox.com/mapbox-gl-js/style-spec/#expressions)
+ - **"heatmap-color":** the color of each pixel based on its density value
+ - This property expects a [Mapbox expression](https://docs.mapbox.com/mapbox-gl-js/style-spec/#expressions)
+ - **"heatmap-weight"**: how much an individual point contributes to the heat map
+ - This property expects a number or [Mapbox expression](https://docs.mapbox.com/mapbox-gl-js/style-spec/#expressions)
+
+The **mapboxLayerOptions** object could look something like this:
+
+```json
+{
+ "heatmap-radius": 25,
+ "heatmap-opacity": 0.9,
+ "heatmap-intensity": 1,
+ "heatmap-color": [
+ "interpolate",
+ ["linear"],
+ ["heatmap-density"],
+ 0, // lowest density value
+ "rgba(0,0,0,0)", // lowest color value for the heat map
+ 0.2,
+ "#420a68",
+ 0.4,
+ "#932667",
+ 0.6,
+ "#dd513a",
+ 0.8,
+ "#fca50a",
+ 1, // highest density value
+ "#fcffa4" // highest color value for the heat map
+ ],
+ "heatmap-weight": [
+ "interpolate",
+ ["linear"],
+ ["get", "time_diff"], // field from properties object from GeoJSON
+ 7, // minimum value for visualized property
+ 0,
+ 907, // maximum value for visualized property
+ 1
+ ]
+}
+```
diff --git a/packages/ui-maps/stories/index.story.js b/packages/ui-maps/stories/index.story.js
new file mode 100644
index 000000000..ae6bd17fd
--- /dev/null
+++ b/packages/ui-maps/stories/index.story.js
@@ -0,0 +1,37 @@
+/* eslint-disable import/no-extraneous-dependencies */
+// eslint-disable-next-line no-unused-vars
+import React from "react";
+import { storiesOf } from "@storybook/react";
+import { checkA11y } from "@storybook/addon-a11y";
+
+// DO NOT REMOVE OR MODIFY THIS COMMENT - hygen component generator import injection
+import polygonPreviewStory from "./PolygonPreview.story"; // TODO: Move this to the appropriate location
+import baseMapStory from "./BaseMap.story";
+import boundaryMapStory from "./BoundaryMap.story";
+import multiLayerMapStory from "./MultiLayerMap.story";
+import comparisonMapStory from "./ComparisonMap.story";
+import heatMapStory from "./HeatMap.story";
+import iconMapStory from "./IconMap.story";
+import mapOverlayStory from "./MapOverlay.story";
+import pathMapStory from "./PathMap.story";
+import scatterPlotMapStory from "./ScatterPlotMap.story";
+import screenGridMapStory from "./ScreenGridMap.story";
+import vectorTilesMapStory from "./VectorTilesMap.story";
+
+// maps
+storiesOf("Component Lib|Maps", module)
+ .addParameters({ options: { showPanel: false } })
+ .addDecorator(checkA11y);
+// .add("Maps Style Guide", () => );
+baseMapStory();
+boundaryMapStory();
+heatMapStory();
+iconMapStory();
+mapOverlayStory();
+pathMapStory();
+scatterPlotMapStory();
+screenGridMapStory();
+multiLayerMapStory();
+comparisonMapStory();
+vectorTilesMapStory();
+polygonPreviewStory();
diff --git a/packages/ui-maps/stories/mapOverlay.notes.md b/packages/ui-maps/stories/mapOverlay.notes.md
new file mode 100644
index 000000000..b4a5295fc
--- /dev/null
+++ b/packages/ui-maps/stories/mapOverlay.notes.md
@@ -0,0 +1,66 @@
+# MapOverlay Component
+
+## Standard
+
+The Standard story shows the basic usage of the MapOverlay component for the CIVIC platform.
+
+These props can be set in the Standard story:
+
+- **data:** this prop expects an [array of feature objects](https://tools.ietf.org/html/rfc7946#section-3.2)
+- **getFillColor:** the color of each feature
+ - This prop expects an array in `[r, g, b, [a]]` format or a function
+ - Each value in the array should be between 0 and 255
+ - The fourth value in the array is optional and represents opacity
+ - If an array is provided, the color is applied to all features
+ - If a function is provided, it is called on each feature to set the fill color
+- **getLineColor:** the color of the stroke for each feature
+ - This prop expects an array in `[r, g, b, [a]]` format or a function
+ - Each value in the array should be between 0 and 255
+ - The fourth value in the array is optional and represents opacity
+ - If an array is provided, the color is applied to all features
+ - If a function is provided, it is called on each feature to set the fill color
+- **getLineWidth:** the width of the stroke for each feature
+ - This prop expects a number or a function
+ - If a number is provided, it is used as the stroke width for all features
+ - If a function is provided, it is called on each feature to set the stroke width
+- **opacity:** the opacity of each feature
+ - This prop expects a decimal between 0 and 1
+
+## Custom
+
+The Custom story shows additional props that can be passed to the MapOverlay component.
+
+These props can be set in the Custom story:
+
+- **filled:** whether features are filled with a color
+ - This prop expects a boolean value
+- **stroked:** whether features are outlined with a color
+ - This prop expects a boolean value
+- **autoHighlight:** whether current feature when hovered over is highlighted
+ - This prop expects a boolean value
+- **highlightColor:** the color used to highlight a feature
+ - This prop expects an array in the `[r, g, b, [a]]` format
+ - Each value in the array should be between 0 and 255
+ - The fourth value in the array is optional and represents opacity
+- **onLayerClick:** this function will be called when a feature is clicked
+ - This prop expects a function
+
+## Example: Choropleth Map
+
+This story shows how the MapOverlay component can be used to create a choropleth map.
+
+## Example: Choropleth + Circle Map
+
+This story shows how the MapOverlay component can be used to create a choropleth map with circles displayed in the center of each polygon.
+
+These additional props can be set in the Choropleth + Circle Map story:
+
+- **circleFieldName:** the name of the property to be visualized as circles
+ - This property requires a string
+ - This value name will come from one of the properties found in each feature object in the data array
+- **radiusScale:** a radius multiplier for all circles
+ - This property requires a number greater than 1
+
+## Example: With Tooltip
+
+This story shows how the MapOverlay component can be used with the MapTooltip component.
diff --git a/packages/ui-maps/stories/multiLayerMap.notes.js b/packages/ui-maps/stories/multiLayerMap.notes.js
new file mode 100644
index 000000000..d57022428
--- /dev/null
+++ b/packages/ui-maps/stories/multiLayerMap.notes.js
@@ -0,0 +1,526 @@
+/* eslint-disable */
+const createMapTypeProp = mapType => `
+- **mapType:** the type of map layer to create
+ - This property requires the string \`"${mapType}"\`
+`;
+
+const idProp = `
+- **id:** a unique identifier for the map layer
+ - This property requires a string
+`;
+
+const createDataProp = (vizType, geoType) => `
+- **data:** the geospatial data to be visualized as ${vizType}
+ - This property requires an array of [feature objects](https://tools.ietf.org/html/rfc7946#section-3.2) with a geometry type of \`${geoType}\`
+`;
+
+const createOpacityProp = geometryType => `
+- **opacity:** the opacity of the ${geometryType}
+ - This property requires a decimal greater than 0 and less than or equal to 1
+`;
+
+const createSizeProp = (geometryType, type) => `
+- **${geometryType}${type}:** the width of the ${geometryType}s
+ - This property requires a number greater than 1
+`;
+
+const civicCategoricalColorOptions = `
+ - civicBlue
+ - civicGreen
+ - civicPurple
+ - civicPink
+ - civicYellow
+`;
+
+const civicSequentialColorOptions = `
+ - thermal
+ - planet
+ - space
+ - earth
+ - ocean
+`;
+
+const createColorProp = (geometryType, colorType) => `
+- **civicColor:** the color of the ${geometryType}
+ - This property will make all ${geometryType} the same color
+ - This property expects one of the following strings:
+ ${colorType}
+`;
+
+const createScaleTypeProp = ({
+ threshold = false,
+ equal = false,
+ ordinal = false
+}) => `
+- **scaleType:** indicates how the data should be grouped into classes/bins
+ - This property expects an object with a key set to \`"color"\` and one of the following strings as its value:
+ ${
+ threshold
+ ? "- threshold: divides the data into classes/bins for diverging data"
+ : "."
+ }
+ ${
+ equal ? "- equal: divides the data into equally spaced classes/bins" : "."
+ }
+ ${
+ ordinal
+ ? "- ordinal: divides the data into classes/bins for categorical data"
+ : "."
+ }
+
+ - For example: \`{"color": "ordinal"}\`
+`;
+
+const createCustomColorProp = (
+ geometryType,
+ { threshold = false, equal = false, ordinal = false }
+) => `
+- **civicColor:** the color scheme used to color the ${geometryType}
+ ${
+ threshold
+ ? `- This property requires one of these diverging color schemes as a string if the \`scaleType\` is set to \`threshold\`:
+ - purpleGreen
+ - purpleOrange`
+ : ""
+ }
+ ${
+ equal
+ ? `- This property requires one of these sequential color schemes as a string if the \`scaleType\` is set to \`equal\`:
+ - thermal
+ - planet
+ - space
+ - earth
+ - ocean`
+ : ""
+ }
+ ${
+ ordinal
+ ? `- This property requires no value if \`scaleType\` is set to \`ordinal\``
+ : ""
+ }
+`;
+
+const fieldNameProp = `
+- **fieldName:** the name of the property to be visualized
+ - This property requires an object with a key set to \`"color"\` and the value set to a string of the name of a data property if a \`scaleType\` is selected
+ - The value name will usually come from one of the properties found in each feature object in the data array
+ - For example: \`{"color": "pct_college_grad"}\`
+`;
+
+const createOnClickProp = geometryType => `
+- **onLayerClick:** this function will be called when ${geometryType} is clicked
+ - This property expects a function
+`;
+
+const baseNotes = `
+# MultiLayer Map Component
+
+The MultiLayer Map component is a more convenient way to display multiple map layers on the same Base Map.
+
+These props can be passed to the MultiLayer Map component:
+
+- **mapLayers:** the different map layers to be displayed
+ - This prop expects an array of objects
+ - Each object has a collection of properties made up of the values described below each map type.
+
+----
+
+`;
+
+const pathNotes = `
+${baseNotes}
+
+## Path Map
+
+This story shows the basic implementation of a Path Map for the MultiLayer Map component.
+
+These properties can be used to create a path map layer object:
+${createMapTypeProp("PathMap")}
+${idProp}
+${createDataProp("lines", "LineString")}
+${createSizeProp("line", "Width")}
+${createOpacityProp("lines")}
+${createColorProp("lines", civicCategoricalColorOptions)}
+${createScaleTypeProp({ threshold: true, equal: true, ordinal: true })}
+${createCustomColorProp("lines", {
+ threshold: true,
+ equal: true,
+ ordinal: true
+})}
+${fieldNameProp}
+
+- **dataRange:** an array of possible values for the data property selected in \`fieldName\`
+ - This property requires an array of numbers in ascending order if the \`scaleType\` is set to \`threshold\`
+ - The \`dataRange\` values serve as the breakpoints for the threshold scale
+ - The \`dataRange\` array must have 8 numbers if you are using a \`civicColor\` diverging color scheme
+ - For example: \`[-100, -75, -50, -25, 25, 50, 75, 100]\`
+ - The \`dataRange\` array must have 1 number fewer than its \`colorRange\` if you are using a custom color scheme
+ - For example:
+ - \`dataRange\`: \`[0.25, 0.5, 0.75]\`
+ - \`colorRange\`: \`[[255,0,0], [255,165,0], [255,255,0], [0,128,0]]\`
+ - This property is optional if the \`scaleType\` is set to \`equal\`
+ - The \`dataRange\` values signifies the minimum and maximum values for the data property set in \`fieldName\`
+ - The \`dataRange\` is automatically calculated if the array is left empty
+ - The \`dataRange\` accepts an array of 2 numbers
+ - For example: \`[0, 45876]\`
+ - This property requires an array of strings if the \`scaleType\` is set to \`ordinal\`
+ - The \`dataRange\` represents all possible unique values of the data property set in \`fieldName\`
+ - For example: \`["Democrat", "Republican", "Independent"]\` or \`["None", "Low", "Medium", "High"]\`
+
+- **colorRange:** an array of custom color values that overrides \`civicColor\`
+ - This property expects an array of arrays
+ - Each array in the array should represent an RGB color code in the following format: \`[r, g, b, [a]]\`
+ - The fourth value in the array is optional and represents the color's opacity
+ - Each number in the array should be between 0 and 255
+ - For example: \`[[216,179,101,128], [245,245,245,128], [90,180,172,128]]\`
+ - This property is optional if the \`scaleType\` is set to \`threshold\`
+ - The \`colorRange\` array must have 1 value more than the its \`dataRange\`
+ - For example:
+ - \`dataRange\`: \`[0.25, 0.5, 0.75]\`
+ - \`colorRange\`: \`[[255,0,0], [255,165,0], [255,255,0], [0,128,0]]\`
+ - Data values less than the number at index 0 of the \`dataRange\` will have the color at index 0 of the \`colorRange\`
+ - Data values less than the number at index 1 but greater or equal to the number at index 0 of the \`dataRange\` will have the color at index 1 of the \`colorRange\`
+ - And so on...
+ - This property is optional if the \`scaleType\` is set to \`equal\`
+ - This property is required if the \`scaleType\` is set to \`ordinal\`
+ - The \`colorRange\` array must have then same number of values as its \`dataRange\`
+ - For example:
+ - \`dataRange\`: \`["Democrat", "Republican", "Green"]\`
+ - \`colorRange\`: \`[[0,0,255], [255,165,0], [0,255,0]]\`
+ - The index of each value in \`dataRange\` will determine which color from the \`colorRange\` it's assigned
+ - Thus the value at index 0 in the \`dataRange\` will have the color at index 0 of the \`colorRange\`
+
+${createOnClickProp("a line")}
+`;
+
+const scatterPlotNotes = `
+${baseNotes}
+
+## ScatterPlot Map
+
+This story shows the basic implementation of a ScatterPlot Map for the MultiLayer Map component.
+
+These properties can be used to create a scatter plot map layer object:
+${createMapTypeProp("ScatterPlotMap")}
+${idProp}
+${createDataProp("circles", "Point")}
+
+- **radius:** the width of the circles
+ - This property requires a number greater than 1
+
+${createOpacityProp("circles")}
+${createColorProp("circles", civicCategoricalColorOptions)}
+- **scaleType (color):** indicates how the data should be grouped into classes/bins
+ - This property expects an object with a key set to \`"color"\` and one of the following strings as its value:
+ - ordinal: divides the data into classes/bins for categorical data
+ - For example: \`{"color": "ordinal"}\`
+
+${createCustomColorProp("lines", {
+ threshold: false,
+ equal: false,
+ ordinal: true
+})}
+
+- **fieldName (color):** the name of the property to be visualized
+ - This property requires an object with a key set to \`"color"\` and the value set to a string of the name of a data property if a \`scaleType\` is selected
+ - The value name will usually come from one of the properties found in each feature object in the data array
+ - For example: \`{"color": "pct_college_grad"}\`
+
+- **dataRange:** an array of possible values for the data property selected in \`fieldName\`
+ - This property requires an array of strings if the \`scaleType\` is set to \`ordinal\`
+ - The \`dataRange\` represents all possible unique values of the data property set in \`fieldName\`
+ - For example: \`["Democrat", "Republican", "Independent"]\` or \`["None", "Low", "Medium", "High"]\`
+
+- **colorRange:** an array of custom color values that overrides \`civicColor\`
+ - This property expects an array of arrays
+ - Each array in the array should represent an RGB color code in the following format: \`[r, g, b, [a]]\`
+ - The fourth value in the array is optional and represents the color's opacity
+ - Each number in the array should be between 0 and 255
+ - For example: \`[[216,179,101,128], [245,245,245,128], [90,180,172,128]]\`
+ - This property is required if the \`scaleType\` is set to \`ordinal\`
+ - The \`colorRange\` array must have then same number of values as its \`dataRange\`
+ - For example:
+ - \`dataRange\`: \`["Democrat", "Republican", "Green"]\`
+ - \`colorRange\`: \`[[0,0,255], [255,165,0], [0,255,0]]\`
+ - The index of each value in \`dataRange\` will determine which color from the \`colorRange\` it's assigned
+ - Thus the value at index 0 in the \`dataRange\` will have the color at index 0 of the \`colorRange\`
+
+- **scaleType (area):** indicates how circles should be sized
+ - This property expects an object with a key set to \`"area"\` and one of the following strings as its value:
+ - circle area: sizes the circles by its area according to the value set in \`fieldName\` area
+ - For example: \`{"area": "circle area"}\`
+
+- **fieldName (area):** the name of the property to be visualized
+ - This property requires an object with a key set to \`"area"\` and the value set to a string of the name of a data property if a \`scaleType\` area is selected
+ - The value name will usually come from one of the properties found in each feature object in the data array
+ - For example: \`{"area": "bike_count"}\`
+
+- **radiusScale:** a radius multiplier for all circles
+ - This property requires a number greater than 1
+
+${createOnClickProp("a circle")}
+`;
+
+const screenGridNotes = `
+${baseNotes}
+
+## Screen Grid Map
+
+This story shows the basic implementation of a Screen Grid Map for the MultiLayer Map component.
+
+These properties can be used to create a screen grid map layer object:
+
+${createMapTypeProp("ScreenGridMap")}
+${idProp}
+${createDataProp("squares", "Point")}
+${createSizeProp("square", "Size")}
+${createOpacityProp("squares")}
+${createColorProp("squares", civicSequentialColorOptions)}
+`;
+
+const iconNotes = `
+${baseNotes}
+
+## Icon Map
+
+This story shows the basic implementation of an Icon Map for the MultiLayer Map component.
+
+These properties can be used to create an icon map layer object:
+
+${createMapTypeProp("IconMap")}
+${idProp}
+${createDataProp("icons", "Point")}
+${createSizeProp("icon", "Size")}
+${createOpacityProp("icons")}
+
+- **iconAtlas:** a sprite of icons
+ - This property requires a URL as a string
+ - For example: \`"https://i.imgur.com/xgTAROe.png"\`
+
+- **iconMapping:** an object describing the position and attributes of the icons in the iconAtlas
+ - This property requires an object with the following keys:
+ - **x:** the x position of the icon in the iconAtlas
+ - This property expects a number
+ - **y:** the y position of the icon in the iconAtlas
+ - This property expects a number
+ - **width:** width of the icon in the iconAtlas
+ - This property expects a number
+ - **height:** height of the icon in the iconAtlas
+ - This property expects a number
+ - **mask:** whether a color is applied to the icon
+ - This property expects a boolean
+ - For example:
+
+~~~json
+{
+ "School": {
+ "x": 0,
+ "y": 0,
+ "width": 250,
+ "height": 250,
+ "mask": true
+ },
+ "Hospital": {
+ "x": 250,
+ "y": 0,
+ "width": 250,
+ "height": 250,
+ "mask": true
+ },
+ "BEECN": {
+ "x": 500,
+ "y": 0,
+ "width": 250,
+ "height": 250,
+ "mask": true
+ },
+ "Fire Station": {
+ "x": 0,
+ "y": 250,
+ "width": 250,
+ "height": 250,
+ "mask": true
+ },
+ "Pin": {
+ "x": 250,
+ "y": 250,
+ "width": 250,
+ "height": 250,
+ "mask": true
+ },
+ "COMMCTR": {
+ "x": 500,
+ "y": 250,
+ "width": 250,
+ "height": 250,
+ "mask": true
+ }
+}
+~~~
+
+- **scaleType:** indicates how the data should be grouped into classes/bins
+ - This property requires an object with a key set to \`"color"\` and the string \`"ordinal"\`as its value
+ - For example: \`{"color": "ordinal"}\`
+
+- **fieldName:** the name of the property that assigns an icon type to a point
+ - This property requires an object with a key set to \`"color"\` and the value set to a string of the name of a data property
+ - The value name will usually come from one of the properties found in each feature object in the data array
+ - For example: \`{"color": "icon_type"}\`
+
+- **dataRange:** an array of possible icons for the data property selected in \`fieldName\`
+ - This property requires an array of strings
+ - The \`dataRange\` represents all possible unique values of the data property set in \`fieldName\`
+ - For example: \`["BEECN", "COMMCTR", "Fire Station", "School", "Hospital"]\`
+
+- **colorRange:** an array of custom color values
+ - This property requires an array of arrays
+ - Each array in the array should represent an RGB color code in the following format: \`[r, g, b, [a]]\`
+ - The fourth value in the array is optional and represents the color's opacity
+ - Each number in the array should be between 0 and 255
+ - The \`colorRange\` array must have then same number of values as its \`dataRange\`
+ - For example:
+ - \`dataRange\`: \`["BEECN", "COMMCTR", "Fire Station", "School", "Hospital"]\`
+ - \`colorRange\`: \`[[0,0,0], [114,29,124], [220,69,86], [255,178,38], [30,98,189]]\`
+ - The index of each icon name in the \`dataRange\` will determine which color from the \`colorRange\` it is assigned
+ - Thus the icon name at index 0 in the \`dataRange\` will have the color at index 0 of the \`colorRange\`
+ - And so on...
+
+${createOnClickProp("an icon")}
+`;
+
+const smallPolygonNotes = `
+${baseNotes}
+
+## Small Polygon Map
+
+This story shows the basic implementation of a Small Polygon Map for the MultiLayer Map component.
+
+These properties can be used to create a small polygon map layer object:
+
+${createMapTypeProp("SmallPolygonMap")}
+${idProp}
+${createDataProp("polygons", "Polygon")}
+${createOpacityProp("polygons")}
+${createColorProp("polygons", civicCategoricalColorOptions)}
+${createScaleTypeProp({ threshold: true, equal: false, ordinal: true })}
+${createCustomColorProp("polygons", {
+ threshold: true,
+ equal: false,
+ ordinal: true
+})}
+${fieldNameProp}
+
+- **dataRange:** an array of possible values for the data property selected in \`fieldName\`
+ - This property requires an array of numbers in ascending order if the \`scaleType\` is set to \`threshold\`
+ - The \`dataRange\` values serve as the breakpoints for the threshold scale
+ - The \`dataRange\` array must have 8 numbers if you are using a \`civicColor\` diverging color scheme
+ - For example: \`[-100, -75, -50, -25, 25, 50, 75, 100]\`
+ - The \`dataRange\` array must have 1 number fewer than its \`colorRange\` if you are using a custom color scheme
+ - For example:
+ - \`dataRange\`: \`[0.25, 0.5, 0.75]\`
+ - \`colorRange\`: \`[[255,0,0], [255,165,0], [255,255,0], [0,128,0]]\`
+ - This property requires an array of strings if the \`scaleType\` is set to \`ordinal\`
+ - The \`dataRange\` represents all possible unique values of the data property set in \`fieldName\`
+ - For example: \`["Democrat", "Republican", "Independent"]\` or \`["None", "Low", "Medium", "High"]\`
+
+- **colorRange:** an array of custom color values that overrides \`civicColor\`
+ - This property expects an array of arrays
+ - Each array in the array should represent an RGB color code in the following format: \`[r, g, b, [a]]\`
+ - The fourth value in the array is optional and represents the color's opacity
+ - Each number in the array should be between 0 and 255
+ - For example: \`[[216,179,101,128], [245,245,245,128], [90,180,172,128]]\`
+ - This property is optional if the \`scaleType\` is set to \`threshold\`
+ - The \`colorRange\` array must have 1 value more than the its \`dataRange\`
+ - For example:
+ - \`dataRange\`: \`[0.25, 0.5, 0.75]\`
+ - \`colorRange\`: \`[[255,0,0], [255,165,0], [255,255,0], [0,128,0]]\`
+ - Data values less than the number at index 0 of the \`dataRange\` will have the color at index 0 of the \`colorRange\`
+ - Data values less than the number at index 1 but greater or equal to the number at index 0 of the \`dataRange\` will have the color at index 1 of the \`colorRange\`
+ - And so on...
+ - This property is required if the \`scaleType\` is set to \`ordinal\`
+ - The \`colorRange\` array must have then same number of values as its \`dataRange\`
+ - For example:
+ - \`dataRange\`: \`["Democrat", "Republican", "Green"]\`
+ - \`colorRange\`: \`[[0,0,255], [255,165,0], [0,255,0]]\`
+ - The index of each value in \`dataRange\` will determine which color from the \`colorRange\` it's assigned
+ - Thus the value at index 0 in the \`dataRange\` will have the color at index 0 of the \`colorRange\`
+${createOnClickProp("a polygon")}
+`;
+
+const choroplethNotes = `
+${baseNotes}
+
+## Choropleth Map
+
+This story shows the basic implementation of a Choropleth Map for the MultiLayer Map component.
+
+These properties can be used to create a choropleth map layer object:
+
+${createMapTypeProp("ChoroplethMap")}
+${idProp}
+${createDataProp("polygons", "Polygon")}
+${createOpacityProp("polygons")}
+${createScaleTypeProp({ threshold: true, equal: true, ordinal: true })}
+${createCustomColorProp("polygons", {
+ threshold: true,
+ equal: true,
+ ordinal: true
+})}
+${fieldNameProp}
+
+- **dataRange:** an array of possible values for the data property selected in \`fieldName\`
+ - This property requires an array of numbers in ascending order if the \`scaleType\` is set to \`threshold\`
+ - The \`dataRange\` values serve as the breakpoints for the threshold scale
+ - The \`dataRange\` array must have 8 numbers if you are using a \`civicColor\` diverging color scheme
+ - For example: \`[-100, -75, -50, -25, 25, 50, 75, 100]\`
+ - The \`dataRange\` array must have 1 number fewer than its \`colorRange\` if you are using a custom color scheme
+ - For example:
+ - \`dataRange\`: \`[0.25, 0.5, 0.75]\`
+ - \`colorRange\`: \`[[255,0,0], [255,165,0], [255,255,0], [0,128,0]]\`
+ - This property is optional if the \`scaleType\` is set to \`equal\`
+ - The \`dataRange\` values signifies the minimum and maximum values for the data property set in \`fieldName\`
+ - The \`dataRange\` is automatically calculated if the array is left empty
+ - The \`dataRange\` accepts an array of 2 numbers
+ - For example: \`[0, 45876]\`
+ - This property requires an array of strings if the \`scaleType\` is set to \`ordinal\`
+ - The \`dataRange\` represents all possible unique values of the data property set in \`fieldName\`
+ - For example: \`["Democrat", "Republican", "Independent"]\` or \`["None", "Low", "Medium", "High"]\`
+
+- **colorRange:** an array of custom color values that overrides \`civicColor\`
+ - This property expects an array of arrays
+ - Each array in the array should represent an RGB color code in the following format: \`[r, g, b, [a]]\`
+ - The fourth value in the array is optional and represents the color's opacity
+ - Each number in the array should be between 0 and 255
+ - For example: \`[[216,179,101,128], [245,245,245,128], [90,180,172,128]]\`
+ - This property is optional if the \`scaleType\` is set to \`threshold\`
+ - The \`colorRange\` array must have 1 value more than the its \`dataRange\`
+ - For example:
+ - \`dataRange\`: \`[0.25, 0.5, 0.75]\`
+ - \`colorRange\`: \`[[255,0,0], [255,165,0], [255,255,0], [0,128,0]]\`
+ - Data values less than the number at index 0 of the \`dataRange\` will have the color at index 0 of the \`colorRange\`
+ - Data values less than the number at index 1 but greater or equal to the number at index 0 of the \`dataRange\` will have the color at index 1 of the \`colorRange\`
+ - And so on...
+ - This property is optional if the \`scaleType\` is set to \`equal\`
+ - This property is required if the \`scaleType\` is set to \`ordinal\`
+ - The \`colorRange\` array must have then same number of values as its \`dataRange\`
+ - For example:
+ - \`dataRange\`: \`["Democrat", "Republican", "Green"]\`
+ - \`colorRange\`: \`[[0,0,255], [255,165,0], [0,255,0]]\`
+ - The index of each value in \`dataRange\` will determine which color from the \`colorRange\` it's assigned
+ - Thus the value at index 0 in the \`dataRange\` will have the color at index 0 of the \`colorRange\`
+
+${createOnClickProp("a polygon")}
+
+
+`;
+
+const notes = {
+ pathNotes,
+ scatterPlotNotes,
+ screenGridNotes,
+ iconNotes,
+ smallPolygonNotes,
+ choroplethNotes
+};
+
+export default notes;
diff --git a/packages/ui-maps/stories/polygonPreview.notes.md b/packages/ui-maps/stories/polygonPreview.notes.md
new file mode 100644
index 000000000..66fe70cbb
--- /dev/null
+++ b/packages/ui-maps/stories/polygonPreview.notes.md
@@ -0,0 +1,5 @@
+# PolygonPreview Component
+
+## Standard
+
+The Standard story shows uses the standard usage of the PolygonPreview for the CIVIC platform. PolygonPreview includes standard styling.
diff --git a/packages/ui-maps/stories/shared.js b/packages/ui-maps/stories/shared.js
new file mode 100644
index 000000000..f68428133
--- /dev/null
+++ b/packages/ui-maps/stories/shared.js
@@ -0,0 +1,72 @@
+import React from "react";
+
+export const wallOfText =
+ "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
+export const WallOfRichText = () => (
+
+
Lorem ipsum dolor sit amet , consectetur adipisicing elit,
+
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+
+ Ut enim ad
+ minim veniam, quis nostrud
+ exercitation ullamco laboris
+
+ nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
+ reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
+ officia deserunt mollit anim id est laborum.
+
+);
+const firstRepeatInWallOfText = wallOfText.split(" ").reduce((p, n, i) => {
+ if (typeof p === "number") return p;
+ if (p[n]) return i;
+ // eslint-disable-next-line no-param-reassign
+ p[n] = true;
+ return p;
+}, {});
+export const randomLorem = () =>
+ wallOfText.split(" ")[
+ Math.floor((Math.random() * 100) % firstRepeatInWallOfText)
+ ];
+
+export const colors = [
+ "#a6cee3",
+ "#1f78b4",
+ "#b2df8a",
+ "#33a02c",
+ "#fb9a99",
+ "#e31a1c",
+ "#fdbf6f",
+ "#ff7f00",
+ "#cab2d6",
+ "#6a3d9a",
+ "#ffff99",
+ "#b15928",
+ "#8dd3c7",
+ "#fb8072",
+ "#80b1d3",
+ "#bebada",
+ "#ffed6f",
+ "#fdb462",
+ "#b3de69",
+ "#fccde5",
+ "#d9d9d9",
+ "#bc80bd",
+ "#ccebc5",
+ "#ffffb3"
+];
+export const randomizer = () => Math.random() * 100;
+export const getColors = (datum, idx) =>
+ // eslint-disable-next-line no-undef
+ arguments.length === 2 ? colors[idx] : colors[datum];
+export const getRandomValuesArray = (numsOf, func) =>
+ [...new Array(numsOf)].map(func);
+export const objectRandomizer = () => ({ x: randomLorem(), y: randomizer() });
+
+export const getKeyNames = obj => {
+ const keyNames = {};
+ Object.keys(obj).forEach(key => {
+ keyNames[key] = key;
+ });
+ return keyNames;
+};
diff --git a/packages/ui-maps/stories/storyStyles.js b/packages/ui-maps/stories/storyStyles.js
new file mode 100644
index 000000000..563706296
--- /dev/null
+++ b/packages/ui-maps/stories/storyStyles.js
@@ -0,0 +1,59 @@
+/*
+ Styles used in Storybook.
+ Only styles that are needed exclusively in Storybook are defined here.
+*/
+
+import { BrandColors } from "../src";
+
+const storybookStyles = {
+ // The display area for components
+ main: {
+ backgroundColor: "white",
+ margin: 15,
+ maxWidth: 800
+ },
+
+ // Use CSS grid to center UI components in the Storybook display area
+ storyGrid: {
+ display: "grid",
+ gridTemplateColumns: "1fr 2fr 1fr",
+ gridTemplateRows: "1fr 1fr 1fr",
+ gridGap: "10px"
+ },
+
+ storyGridItem: {
+ gridRow: 2,
+ gridColumn: 2,
+ alignSelf: "center",
+ justifyContent: "center"
+ },
+
+ // Show inverted logos on a dark background in the Branding Logos story
+ invertedLogo: {
+ backgroundColor: BrandColors.primary.hex,
+ margin: 20,
+ padding: 20
+ },
+
+ logo: {
+ paddingLeft: 20
+ },
+
+ // Display a solid color
+ solidColorSample: {
+ display: "flex"
+ },
+
+ // Brand color palette
+ colorBlock: {
+ height: 125,
+ width: 300,
+ marginLeft: 0,
+ marginTop: 10,
+ marginRight: 20,
+ marginBottom: 10
+ }
+};
+
+// eslint-disable-next-line import/prefer-default-export
+export { storybookStyles };
diff --git a/packages/ui-maps/stories/vectorTilesMap.notes.md b/packages/ui-maps/stories/vectorTilesMap.notes.md
new file mode 100644
index 000000000..d21c1945a
--- /dev/null
+++ b/packages/ui-maps/stories/vectorTilesMap.notes.md
@@ -0,0 +1,46 @@
+# Vector Tiles Map Component
+
+## Standard
+
+The Standard story shows the basic usage of the Vector Tiles Map component for the CIVIC platform.
+
+These props can be passed to the Vector Tiles Map component in the Standard implementation:
+
+- **vectorTilesID:** unique id for the vector tiles data source
+
+ - This prop requires a string
+
+- **vectorTilesURL:** URL for a Mapbox tileset
+
+ - This prop requires a string
+ - For example: `mapbox://mapbox.mapbox-streets-v8`
+
+- **layerID:** unique id for the layer
+
+ - This prop requires a string
+
+- **layerType:** type of map layer
+
+ - This prop requires a string
+ - For example: `fill`, `circle`, `line`
+
+- **sourceLayer:** layer to use from a vector tile source
+
+ - This prop requires a string
+ - For example: `water`, `poi_label`
+
+- **paint:** paint properties for the layer
+ - This prop requires an object
+ - Addition information can be found in the [Mapbox Style Specification](https://docs.mapbox.com/mapbox-gl-js/style-spec/#layers) for each layer type:
+ - For example:
+
+```json
+{
+ "fill-color": "#DC4556",
+ "fill-opacity": 0.75
+}
+```
+
+- **layerPosition:** id of an existing layer to insert the new layer before
+ - This prop requires a string
+ - For example: `waterway-label`, `bridge-path`
diff --git a/packages/ui-themes/.babelrc b/packages/ui-themes/.babelrc
new file mode 100644
index 000000000..9e5af5886
--- /dev/null
+++ b/packages/ui-themes/.babelrc
@@ -0,0 +1,3 @@
+{
+ "extends": "@hackoregon/civic-babel-presets/.babelrc"
+}
\ No newline at end of file
diff --git a/packages/ui-themes/README.md b/packages/ui-themes/README.md
new file mode 100644
index 000000000..33938acc4
--- /dev/null
+++ b/packages/ui-themes/README.md
@@ -0,0 +1,19 @@
+# @hackoregon/ui-themes
+
+---
+
+This package contains theming related components, including the default theme.
+
+This package is in alpha, and may have breaking changes.
+
+## Installation
+
+_Latest version:_
+
+```
+yarn add @hackoregon/ui-themes@ci
+```
+
+## Documentation
+
+Documentation is in [Storybook](https://hackoregon.github.io/civic/)
diff --git a/packages/ui-themes/package.json b/packages/ui-themes/package.json
new file mode 100644
index 000000000..e65de6b4f
--- /dev/null
+++ b/packages/ui-themes/package.json
@@ -0,0 +1,39 @@
+{
+ "name": "@hackoregon/ui-themes",
+ "version": "0.0.5",
+ "sideEffects": false,
+ "description": "Common library for CIVIC theme components",
+ "main": "dist/index.js",
+ "modules": "es/index.js",
+ "scripts": {
+ "build:esm": "rimraf es && babel src --out-dir es --copy-files --no-comments",
+ "build:cjs": "rimraf dist && babel src --out-dir dist --copy-files --no-comments",
+ "build": "BABEL_ENV=esm yarn run build:esm && BABEL_ENV=cjs yarn run build:cjs",
+ "configure": "yarn run build",
+ "test": "BABEL_ENV=test mocha --opts ./mocha.options ./src/**/*.test.js",
+ "test:watch": "yarn test -w",
+ "lint": "eslint src stories",
+ "storybook": "node scripts/storybook.js",
+ "start": "node scripts/start.js"
+ },
+ "repository": "git+https://github.com/hackoregon/civic.git",
+ "author": "jaron@civicsoftwarefoundation.org",
+ "license": "MIT",
+ "private": false,
+ "devDependencies": {
+ "@babel/cli": "^7.0.0",
+ "@babel/core": "^7.0.0",
+ "eslint": "^5.15.1",
+ "mocha": "^6.0.2",
+ "rimraf": "^2.6.2"
+ },
+ "dependencies": {
+ "@material-ui/core": "^4.4.0",
+ "lodash": "^4.17.11",
+ "react": "^16.8.4",
+ "react-dom": "^16.8.4"
+ },
+ "publishConfig": {
+ "access": "public"
+ }
+}
diff --git a/packages/ui-themes/scripts/start.js b/packages/ui-themes/scripts/start.js
new file mode 100644
index 000000000..efa32c755
--- /dev/null
+++ b/packages/ui-themes/scripts/start.js
@@ -0,0 +1,3 @@
+console.log(
+ "`yarn start` doesn't work here. Maybe you meant to run `yarn storybook` at project root?"
+);
diff --git a/packages/ui-themes/scripts/storybook.js b/packages/ui-themes/scripts/storybook.js
new file mode 100644
index 000000000..eb59d3969
--- /dev/null
+++ b/packages/ui-themes/scripts/storybook.js
@@ -0,0 +1,3 @@
+console.log(
+ "`yarn storybook` doesn't work here. Maybe you meant to run `yarn storybook` at project root?"
+);
diff --git a/packages/ui-themes/src/_Constants/index.js b/packages/ui-themes/src/_Constants/index.js
new file mode 100644
index 000000000..821937f55
--- /dev/null
+++ b/packages/ui-themes/src/_Constants/index.js
@@ -0,0 +1,2 @@
+export const browserDefaultSize = 16; // Don't modify
+export const defaultFontSize = 22; // all rem based off of this default value
diff --git a/packages/ui-themes/src/_Storybook/storyStyles.js b/packages/ui-themes/src/_Storybook/storyStyles.js
new file mode 100644
index 000000000..731828b44
--- /dev/null
+++ b/packages/ui-themes/src/_Storybook/storyStyles.js
@@ -0,0 +1,59 @@
+/*
+ Styles used in Storybook.
+ Only styles that are needed exclusively in Storybook are defined here.
+*/
+
+import { BrandColors } from "../../dist";
+
+const storybookStyles = {
+ // The display area for components
+ main: {
+ backgroundColor: "white",
+ margin: 15,
+ maxWidth: 800
+ },
+
+ // Use CSS grid to center UI components in the Storybook display area
+ storyGrid: {
+ display: "grid",
+ gridTemplateColumns: "1fr 2fr 1fr",
+ gridTemplateRows: "1fr 1fr 1fr",
+ gridGap: "10px"
+ },
+
+ storyGridItem: {
+ gridRow: 2,
+ gridColumn: 2,
+ alignSelf: "center",
+ justifyContent: "center"
+ },
+
+ // Show inverted logos on a dark background in the Branding Logos story
+ invertedLogo: {
+ backgroundColor: BrandColors.primary.hex,
+ margin: 20,
+ padding: 20
+ },
+
+ logo: {
+ paddingLeft: 20
+ },
+
+ // Display a solid color
+ solidColorSample: {
+ display: "flex"
+ },
+
+ // Brand color palette
+ colorBlock: {
+ height: 125,
+ width: 300,
+ marginLeft: 0,
+ marginTop: 10,
+ marginRight: 20,
+ marginBottom: 10
+ }
+};
+
+// eslint-disable-next-line import/prefer-default-export
+export default storybookStyles;
diff --git a/packages/ui-themes/src/_Themes/Brand/BrandColors.js b/packages/ui-themes/src/_Themes/Brand/BrandColors.js
new file mode 100644
index 000000000..e8913b00e
--- /dev/null
+++ b/packages/ui-themes/src/_Themes/Brand/BrandColors.js
@@ -0,0 +1,55 @@
+export default {
+ // Plum
+ primary: {
+ rgb: "rgb(34,15,37)",
+ rgba: "rgba(34,15,37,1)",
+ hex: "#201024"
+ },
+ // Salmon
+ secondary: {
+ rgb: "rgb(220,69,86)",
+ rgba: "rgba(220,69,86,1)",
+ hex: "#DC4556"
+ },
+ // Plum
+ tertiary: {
+ rgb: "rgb(34,15,37)",
+ rgba: "rgba(34,15,37,1)",
+ hex: "#201024"
+ },
+ medium: {
+ rgb: "rgb(170,164,171)",
+ rgba: "rgba(170,164,171,1)",
+ hex: "#AAA4AB"
+ },
+ subdued: {
+ rgb: "rgb(243,242,243)",
+ rgba: "rgba(243,242,243,1)",
+ hex: "#F3F2F3"
+ },
+ action: {
+ rgb: "rgb(30,98,189)",
+ rgba: "rgba(30,98,189,1)",
+ hex: "#1E62BD"
+ },
+ background: {
+ rgb: "rgb(255,254,254)",
+ rgba: "rgba(255,254,254,1)",
+ hex: "#FFFEFE"
+ },
+ plumLight: {
+ rgb: "rgb(114,99,113)",
+ rgba: "rgba(114,99,113,1)",
+ hex: "#726371"
+ },
+ heroPurple: {
+ rgb: "rgb(70,34,99)",
+ rgba: "rgba(70,34,99,1)",
+ hex: "#462263"
+ },
+ error: {
+ hex: "#DE3F8B",
+ rgb: "rgb(222,63,139)",
+ rgba: "rgb(222,63,139,1)"
+ }
+};
diff --git a/packages/ui-themes/src/_Themes/Brand/BrandTheme.js b/packages/ui-themes/src/_Themes/Brand/BrandTheme.js
new file mode 100644
index 000000000..25a3fc4b6
--- /dev/null
+++ b/packages/ui-themes/src/_Themes/Brand/BrandTheme.js
@@ -0,0 +1,125 @@
+// Use with emotion's Global component
+import colors from "./BrandColors";
+/* Add all of this and BRANDING to theme for 2018 */
+export default {
+ /* Base */
+
+ html: {
+ fontSize: "1rem",
+ lineHeight: "1.4",
+ backgroundColor: colors.background.hex,
+ fontFamily: "Merriweather",
+ fontWeight: "400",
+ color: colors.primary.hex,
+ minHeight: "100%" /* [3] */,
+ WebkitTextSizeAdjust: "100%" /* [4] */,
+ msTextSizeAdjust: "100%" /* [4] */,
+ MozOsxFontSmoothing: "grayscale" /* [5] */,
+ WebkitFontSmoothing: "antialiased" /* [5] */,
+ WebkitOverflowScrolling: "touch",
+ WebkitTapHighlightColor: "rgba(0, 0, 0, 0)"
+ },
+
+ body: {
+ margin: 0,
+ display: "flex",
+ flexDirection: "column"
+ },
+
+ a: {
+ color: colors.action,
+ textDecoration: "none",
+ cursor: "pointer",
+ opacity: "0.9",
+ transition: "all 0.25s ease-in-out",
+
+ ":hover": {
+ color: colors.action.hex,
+ textDecoration: "none",
+ cursor: "pointer",
+ opacity: 1
+ }
+ },
+
+ /* Global Styles from product_design */
+
+ /* Typography */
+ p: {
+ fontSize: "1em",
+ color: colors.tertiary.hex
+ },
+
+ h1: {
+ fontSize: "2.25rem",
+ lineHeight: "2.625rem",
+ fontFamily: "'Rubik', sans-serif",
+ fontWeight: "500"
+ },
+
+ h2: {
+ fontSize: "1.625rem",
+ lineHeight: "2.125rem",
+ fontFamily: "'Rubik', sans-serif",
+ fontWeight: "400"
+ },
+
+ h3: {
+ fontSize: "1.125rem",
+ lineHeight: "1.625rem",
+ fontFamily: "'Rubik', sans-serif",
+ fontWeight: "500"
+ },
+
+ h4: {
+ fontSize: "1rem",
+ lineHeight: "1.375rem",
+ fontFamily: "'Rubik', sans-serif",
+ fontWeight: "500"
+ },
+
+ h5: {
+ fontSize: "0.875rem",
+ lineHeight: "1.125rem",
+ fontFamily: "'Rubik', sans-serif",
+ fontWeight: "500"
+ },
+
+ h6: {
+ fontSize: "0.75rem",
+ lineHeight: "0.9375rem",
+ fontFamily: "'Rubik', sans-serif",
+ fontWeight: "500"
+ },
+
+ ".Description": {
+ maxWidth: "900px",
+ margin: "0 auto",
+ textAlign: "left",
+ lineHeight: "1.7"
+ },
+
+ ".Title": {
+ fontSize: "3.57rem",
+ lineHeight: "1.2",
+ fontWeight: "300",
+ fontFamily: "'Rubik', sans-serif",
+ marginBottom: "12px"
+ },
+
+ ".DataText": {
+ fontFamily: "Roboto Condensed",
+ fontSize: "0.86rem"
+ },
+
+ ".DataFont": {
+ fontFamily: "Roboto Condensed"
+ },
+
+ ".LargeParagraph": {
+ fontSize: "1.14rem"
+ },
+
+ ".Pullquote": {
+ fontSize: "2.85rem"
+ }
+};
diff --git a/packages/ui-themes/src/_Themes/Brand/UpdatedBrandTheme.js b/packages/ui-themes/src/_Themes/Brand/UpdatedBrandTheme.js
new file mode 100644
index 000000000..25a3fc4b6
--- /dev/null
+++ b/packages/ui-themes/src/_Themes/Brand/UpdatedBrandTheme.js
@@ -0,0 +1,125 @@
+// Use with emotion's Global component
+import colors from "./BrandColors";
+/* Add all of this and BRANDING to theme for 2018 */
+export default {
+ /* Base */
+
+ html: {
+ fontSize: "1rem",
+ lineHeight: "1.4",
+ backgroundColor: colors.background.hex,
+ fontFamily: "Merriweather",
+ fontWeight: "400",
+ color: colors.primary.hex,
+ minHeight: "100%" /* [3] */,
+ WebkitTextSizeAdjust: "100%" /* [4] */,
+ msTextSizeAdjust: "100%" /* [4] */,
+ MozOsxFontSmoothing: "grayscale" /* [5] */,
+ WebkitFontSmoothing: "antialiased" /* [5] */,
+ WebkitOverflowScrolling: "touch",
+ WebkitTapHighlightColor: "rgba(0, 0, 0, 0)"
+ },
+
+ body: {
+ margin: 0,
+ display: "flex",
+ flexDirection: "column"
+ },
+
+ a: {
+ color: colors.action,
+ textDecoration: "none",
+ cursor: "pointer",
+ opacity: "0.9",
+ transition: "all 0.25s ease-in-out",
+
+ ":hover": {
+ color: colors.action.hex,
+ textDecoration: "none",
+ cursor: "pointer",
+ opacity: 1
+ }
+ },
+
+ /* Global Styles from product_design */
+
+ /* Typography */
+ p: {
+ fontSize: "1em",
+ color: colors.tertiary.hex
+ },
+
+ h1: {
+ fontSize: "2.25rem",
+ lineHeight: "2.625rem",
+ fontFamily: "'Rubik', sans-serif",
+ fontWeight: "500"
+ },
+
+ h2: {
+ fontSize: "1.625rem",
+ lineHeight: "2.125rem",
+ fontFamily: "'Rubik', sans-serif",
+ fontWeight: "400"
+ },
+
+ h3: {
+ fontSize: "1.125rem",
+ lineHeight: "1.625rem",
+ fontFamily: "'Rubik', sans-serif",
+ fontWeight: "500"
+ },
+
+ h4: {
+ fontSize: "1rem",
+ lineHeight: "1.375rem",
+ fontFamily: "'Rubik', sans-serif",
+ fontWeight: "500"
+ },
+
+ h5: {
+ fontSize: "0.875rem",
+ lineHeight: "1.125rem",
+ fontFamily: "'Rubik', sans-serif",
+ fontWeight: "500"
+ },
+
+ h6: {
+ fontSize: "0.75rem",
+ lineHeight: "0.9375rem",
+ fontFamily: "'Rubik', sans-serif",
+ fontWeight: "500"
+ },
+
+ ".Description": {
+ maxWidth: "900px",
+ margin: "0 auto",
+ textAlign: "left",
+ lineHeight: "1.7"
+ },
+
+ ".Title": {
+ fontSize: "3.57rem",
+ lineHeight: "1.2",
+ fontWeight: "300",
+ fontFamily: "'Rubik', sans-serif",
+ marginBottom: "12px"
+ },
+
+ ".DataText": {
+ fontFamily: "Roboto Condensed",
+ fontSize: "0.86rem"
+ },
+
+ ".DataFont": {
+ fontFamily: "Roboto Condensed"
+ },
+
+ ".LargeParagraph": {
+ fontSize: "1.14rem"
+ },
+
+ ".Pullquote": {
+ fontSize: "2.85rem"
+ }
+};
diff --git a/packages/ui-themes/src/_Themes/MapGL/remoteResources.js b/packages/ui-themes/src/_Themes/MapGL/remoteResources.js
new file mode 100644
index 000000000..4665eccf7
--- /dev/null
+++ b/packages/ui-themes/src/_Themes/MapGL/remoteResources.js
@@ -0,0 +1,10 @@
+export default {
+ MAPBOX_TOKEN:
+ "pk.eyJ1IjoiaGFja29yZWdvbiIsImEiOiJjamk0MGZhc2cwNDl4M3FsdHAwaG54a3BnIn0.Fq1KA0IUwpeKQlFIoaEn_Q",
+ // Hosted Themes
+ CIVIC_LIGHT: "mapbox://styles/hackoregon/cjiazbo185eib2srytwzleplg",
+ CIVIC_PENCIL: "mapbox://styles/hackoregon/ck0blt1d63wrm1cqhcnccrf9s",
+ CIVIC_DARK: "mapbox://styles/mapbox/dark-v9",
+ SANDBOX_DARK: "mapbox://styles/hackoregon/cjyluzgci27k41crxywr2gqnr",
+ DISASTER_GAME: "mapbox://styles/hackoregon/cjzki4sok5wgd1cmxadz9xdxi"
+};
diff --git a/packages/ui-themes/src/_Themes/MaterialUI/MaterialUITheme.js b/packages/ui-themes/src/_Themes/MaterialUI/MaterialUITheme.js
new file mode 100644
index 000000000..f700bfd71
--- /dev/null
+++ b/packages/ui-themes/src/_Themes/MaterialUI/MaterialUITheme.js
@@ -0,0 +1,89 @@
+import { createMuiTheme } from "@material-ui/core/styles";
+import BrandColors from "../Brand/BrandColors";
+
+// Brand Colors
+const civicPrimary = BrandColors.primary.hex;
+const civicPlumLight = BrandColors.plumLight.hex;
+const civicMedium = BrandColors.medium.hex;
+const civicSubdued = BrandColors.subdued.hex;
+const civicAction = BrandColors.action.hex;
+const civicError = BrandColors.error.hex;
+
+// Typography
+const dataSanSerif = "Roboto Condensed, Helvetica Neue, Helvetica, sans-serif";
+const sanSerif = "Rubik, Helvetica Neue, Helvetica, sans-serif";
+
+// Animation
+const animationSpeed = 4;
+
+const MaterialTheme = createMuiTheme({
+ palette: {
+ common: { black: "rgba(0, 0, 0, 1)", white: "#fff" },
+ background: {
+ paper: "rgba(243, 242, 243, 1)",
+ default: "rgba(255, 255, 255, 1)"
+ },
+ primary: {
+ light: civicPlumLight,
+ main: civicPrimary,
+ dark: civicPrimary,
+ contrastText: "#fff" // must override emotion theme if link
+ },
+ secondary: {
+ light: civicAction,
+ main: civicAction,
+ dark: civicAction,
+ contrastText: "#fff"
+ },
+ error: {
+ light: civicError,
+ main: civicError,
+ dark: civicError,
+ contrastText: "#fff"
+ },
+ text: {
+ primary: civicPrimary,
+ secondary: civicPrimary,
+ disabled: civicSubdued,
+ hint: civicMedium
+ }
+ },
+ shape: {
+ borderRadius: 0
+ },
+ typography: {
+ fontFamily: dataSanSerif,
+ button: {
+ fontFamily: sanSerif
+ },
+ h6: {
+ fontFamily: sanSerif
+ }
+ },
+ transitions: {
+ duration: {
+ shortest: 150 / animationSpeed,
+ shorter: 200 / animationSpeed,
+ short: 250 / animationSpeed,
+ standard: 300 / animationSpeed,
+ complex: 375 / animationSpeed,
+ enteringScreen: 225 / animationSpeed,
+ leavingScreen: 195 / animationSpeed
+ }
+ },
+ props: {
+ MuiButtonBase: {
+ disableRipple: true // No more ripple, on the whole application 💣!
+ }
+ },
+ overrides: {
+ MuiMenuItem: {
+ root: {
+ minHeight: "unset",
+ lineHeight: "unset"
+ }
+ }
+ }
+});
+
+export default MaterialTheme;
diff --git a/packages/ui-themes/src/_Themes/Victory/VictoryCrazyTheme.js b/packages/ui-themes/src/_Themes/Victory/VictoryCrazyTheme.js
new file mode 100644
index 000000000..80d1a6bca
--- /dev/null
+++ b/packages/ui-themes/src/_Themes/Victory/VictoryCrazyTheme.js
@@ -0,0 +1,335 @@
+import { assign } from "lodash";
+
+// * *
+// * BRANDING *
+// * *
+
+// *
+// * Colors
+// *
+
+const civicPrimary = "red";
+const civicSecondary = "orange";
+const civicTertiary = "yellow";
+const civicSecondaryLighter = "green";
+const civicSecondaryLightest = "blue";
+
+// * *
+// * DATA VISUALIZATION ONLY BELOW *
+// * *
+
+const civicCategoricalColor1 = "red";
+const civicCategoricalColor2 = "orange";
+const civicCategoricalColor3 = "yellow";
+const civicCategoricalColor4 = "green";
+const civicCategoricalColor5 = "blue";
+
+export const colors = [
+ civicCategoricalColor1,
+ civicCategoricalColor2,
+ civicCategoricalColor3,
+ civicCategoricalColor4,
+ civicCategoricalColor5,
+ civicTertiary
+];
+
+// *
+// * Typography
+// *
+const comicSans = "Comic Sans MS, cursive, sans-serif";
+const letterSpacing = "normal";
+const fontSize = 12;
+const fontWeight = "normal";
+// *
+// * Layout
+// *
+const padding = 8;
+const horizontalBarPadding = 2;
+const baseProps = {
+ width: 650,
+ height: 350,
+ padding: 50
+};
+const tooltipProps = {
+ x: 325,
+ y: 0,
+ orientation: "bottom",
+ pointerLength: 0,
+ cornerRadius: 0
+};
+// *
+// * Labels
+// *
+const baseLabelStyles = {
+ fontFamily: comicSans,
+ fontSize,
+ fontWeight,
+ letterSpacing,
+ padding,
+ fill: civicPrimary
+};
+
+const centeredLabelStyles = assign({ textAnchor: "middle" }, baseLabelStyles);
+
+const pieLabelStyles = {
+ fontFamily: comicSans,
+ fontSize: "16px",
+ fontWeight: "bold"
+};
+
+const axisLabelStyles = {
+ fontFamily: comicSans,
+ fontSize: "14px",
+ fontWeight: "bold"
+};
+
+// *
+// * Strokes
+// *
+const strokeDasharray = "10, 5";
+const strokeLinecap = "round";
+const strokeLinejoin = "round";
+
+export default {
+ area: assign(
+ {
+ style: {
+ data: {
+ fill: "white",
+ stroke: civicPrimary,
+ strokeWidth: 1
+ },
+ labels: centeredLabelStyles
+ }
+ },
+ baseProps
+ ),
+ areaScatter: assign(
+ {
+ style: {
+ data: {
+ fill: "white",
+ stroke: civicPrimary,
+ strokeWidth: 1
+ }
+ }
+ },
+ baseProps
+ ),
+ axis: assign(
+ {
+ style: {
+ axis: {
+ fill: "transparent",
+ stroke: civicSecondaryLighter,
+ strokeWidth: 2,
+ strokeLinecap,
+ strokeLinejoin
+ },
+ axisLabel: assign({}, centeredLabelStyles, {
+ padding,
+ stroke: "transparent"
+ }),
+ grid: {
+ fill: "transparent",
+ stroke: civicSecondaryLightest,
+ strokeDasharray,
+ strokeLinecap,
+ strokeLinejoin
+ },
+ ticks: {
+ fill: "transparent",
+ padding,
+ size: 5,
+ stroke: civicSecondaryLighter,
+ strokeWidth: 1,
+ strokeLinecap,
+ strokeLinejoin
+ },
+ tickLabels: assign({}, baseLabelStyles, {
+ fill: civicPrimary,
+ stroke: "transparent"
+ })
+ }
+ },
+ baseProps
+ ),
+ axisLabel: assign(
+ {
+ style: axisLabelStyles
+ },
+ baseProps
+ ),
+ bar: assign(
+ {
+ style: {
+ data: {
+ fill: civicTertiary,
+ padding: horizontalBarPadding,
+ stroke: "transparent",
+ strokeWidth: 0,
+ width: 20
+ },
+ labels: baseLabelStyles
+ }
+ },
+ baseProps
+ ),
+ candlestick: assign(
+ {
+ style: {
+ data: {
+ stroke: civicSecondaryLighter
+ },
+ labels: centeredLabelStyles
+ },
+ candleColors: {
+ positive: "#ffffff",
+ negative: civicSecondaryLighter
+ }
+ },
+ baseProps
+ ),
+ chart: assign(
+ {
+ animate: { duration: 1000 }
+ },
+ baseProps
+ ),
+ errorbar: assign(
+ {
+ style: {
+ data: {
+ fill: "transparent",
+ opacity: 1,
+ stroke: civicSecondaryLighter,
+ strokeWidth: 2
+ },
+ labels: assign({}, centeredLabelStyles, {
+ stroke: "transparent",
+ strokeWidth: 0
+ })
+ }
+ },
+ baseProps
+ ),
+ group: assign(
+ {
+ colorScale: colors
+ },
+ baseProps
+ ),
+ legend: {
+ colorScale: colors,
+ gutter: 10,
+ orientation: "vertical",
+ titleOrientation: "top",
+ style: {
+ data: {
+ type: "circle"
+ },
+ labels: baseLabelStyles,
+ title: assign({}, baseLabelStyles, { padding: 5 })
+ }
+ },
+ line: assign(
+ {
+ style: {
+ data: {
+ fill: "transparent",
+ opacity: 1,
+ stroke: civicSecondaryLighter,
+ strokeWidth: 2
+ },
+ labels: assign({}, baseLabelStyles, {
+ stroke: "transparent",
+ strokeWidth: 0,
+ textAnchor: "start"
+ })
+ }
+ },
+ baseProps
+ ),
+ pie: assign(
+ {
+ colorScale: colors,
+ style: {
+ data: {
+ padding,
+ stroke: "white",
+ strokeWidth: 2
+ },
+ labels: assign({}, baseLabelStyles, {
+ padding: 20,
+ stroke: "transparent",
+ strokeWidth: 0
+ })
+ }
+ },
+ baseProps
+ ),
+ pieLabel: assign(
+ {
+ style: pieLabelStyles
+ },
+ baseProps
+ ),
+ scatter: assign(
+ {
+ style: {
+ data: {
+ fill: civicSecondaryLighter,
+ opacity: 1,
+ stroke: "transparent",
+ strokeWidth: 0
+ },
+ labels: assign({}, centeredLabelStyles, {
+ stroke: "transparent"
+ })
+ }
+ },
+ baseProps
+ ),
+ stack: assign(
+ {
+ colorScale: colors
+ },
+ baseProps
+ ),
+ tooltip: assign(
+ {
+ style: {
+ data: {
+ fill: "transparent",
+ stroke: "transparent",
+ strokeWidth: 0
+ },
+ labels: centeredLabelStyles,
+ customHoverColor: civicSecondary
+ },
+ flyoutStyle: {
+ stroke: "transparent",
+ strokeWidth: 1,
+ fill: civicSecondaryLightest
+ },
+ flyoutProps: {
+ cornerRadius: 10,
+ pointerLength: 10
+ }
+ },
+ tooltipProps
+ ),
+ voronoi: assign(
+ {
+ style: {
+ data: {
+ fill: "transparent",
+ stroke: "transparent",
+ strokeWidth: 0
+ },
+ labels: centeredLabelStyles
+ }
+ },
+ baseProps
+ )
+};
diff --git a/packages/ui-themes/src/_Themes/Victory/VictoryTheme.js b/packages/ui-themes/src/_Themes/Victory/VictoryTheme.js
new file mode 100644
index 000000000..37fe7ffa0
--- /dev/null
+++ b/packages/ui-themes/src/_Themes/Victory/VictoryTheme.js
@@ -0,0 +1,312 @@
+import { assign } from "lodash";
+import VisualizationColors from "../VisualizationColors";
+import BrandColors from "../Brand/BrandColors";
+
+const { victoryColors } = VisualizationColors;
+
+// Brand Colors
+const civicPrimary = BrandColors.primary.hex;
+const civicTertiary = BrandColors.plumLight.hex; // keeping plumLight for bar fill
+const civicSecondaryLighter = BrandColors.medium.hex;
+const civicSecondaryLightest = BrandColors.subdued.hex;
+
+// *
+// * Typography
+// *
+const sansSerif = "Roboto Condensed, Helvetica Neue, Helvetica, sans-serif";
+const letterSpacing = "normal";
+const fontSize = 12;
+const fontWeight = "normal";
+// *
+// * Layout
+// *
+const padding = 8;
+const horizontalBarPadding = 2;
+const baseProps = {
+ width: 650,
+ height: 350,
+ padding: 50
+};
+const tooltipProps = {
+ x: 325,
+ y: 0,
+ orientation: "bottom",
+ pointerLength: 0,
+ cornerRadius: 0
+};
+// *
+// * Labels
+// *
+const baseLabelStyles = {
+ fontFamily: sansSerif,
+ fontSize,
+ fontWeight,
+ letterSpacing,
+ padding,
+ fill: civicPrimary
+};
+
+const centeredLabelStyles = assign({ textAnchor: "middle" }, baseLabelStyles);
+
+const pieLabelStyles = {
+ fontFamily: sansSerif,
+ fontSize: "16px",
+ fontWeight: "bold"
+};
+
+const axisLabelStyles = {
+ fontFamily: sansSerif,
+ fontSize: "14px",
+ fontWeight: "bold"
+};
+
+// *
+// * Strokes
+// *
+const strokeDasharray = "10, 5";
+const strokeLinecap = "round";
+const strokeLinejoin = "round";
+
+export default {
+ area: assign(
+ {
+ style: {
+ data: {
+ fill: "white",
+ stroke: civicPrimary,
+ strokeWidth: 1
+ },
+ labels: centeredLabelStyles
+ }
+ },
+ baseProps
+ ),
+ areaScatter: assign(
+ {
+ style: {
+ data: {
+ fill: "white",
+ stroke: civicPrimary,
+ strokeWidth: 1
+ }
+ }
+ },
+ baseProps
+ ),
+ axis: assign(
+ {
+ style: {
+ axis: {
+ fill: "transparent",
+ stroke: civicSecondaryLighter,
+ strokeWidth: 2,
+ strokeLinecap,
+ strokeLinejoin
+ },
+ axisLabel: assign({}, centeredLabelStyles, {
+ padding,
+ stroke: "transparent"
+ }),
+ grid: {
+ fill: "transparent",
+ stroke: civicSecondaryLightest,
+ strokeDasharray,
+ strokeLinecap,
+ strokeLinejoin
+ },
+ ticks: {
+ fill: "transparent",
+ padding,
+ size: 5,
+ stroke: civicSecondaryLighter,
+ strokeWidth: 1,
+ strokeLinecap,
+ strokeLinejoin
+ },
+ tickLabels: assign({}, baseLabelStyles, {
+ fill: civicPrimary,
+ stroke: "transparent"
+ })
+ }
+ },
+ baseProps
+ ),
+ axisLabel: assign(
+ {
+ style: axisLabelStyles
+ },
+ baseProps
+ ),
+ bar: assign(
+ {
+ style: {
+ data: {
+ fill: civicTertiary,
+ padding: horizontalBarPadding,
+ stroke: "transparent",
+ strokeWidth: 0,
+ width: 20
+ },
+ labels: baseLabelStyles
+ }
+ },
+ baseProps
+ ),
+ candlestick: assign(
+ {
+ style: {
+ data: {
+ stroke: civicSecondaryLighter
+ },
+ labels: centeredLabelStyles
+ },
+ candleColors: {
+ positive: "#ffffff",
+ negative: civicSecondaryLighter
+ }
+ },
+ baseProps
+ ),
+ chart: assign(
+ {
+ animate: { duration: 1000 }
+ },
+ baseProps
+ ),
+ errorbar: assign(
+ {
+ style: {
+ data: {
+ fill: "transparent",
+ opacity: 1,
+ stroke: civicSecondaryLighter,
+ strokeWidth: 2
+ },
+ labels: assign({}, centeredLabelStyles, {
+ stroke: "transparent",
+ strokeWidth: 0
+ })
+ }
+ },
+ baseProps
+ ),
+ group: assign(
+ {
+ colorScale: victoryColors
+ },
+ baseProps
+ ),
+ legend: {
+ colorScale: victoryColors,
+ gutter: 10,
+ orientation: "vertical",
+ titleOrientation: "top",
+ style: {
+ data: {
+ type: "circle"
+ },
+ labels: baseLabelStyles,
+ title: assign({}, baseLabelStyles, { padding: 5 })
+ }
+ },
+ line: assign(
+ {
+ style: {
+ data: {
+ fill: "transparent",
+ opacity: 1,
+ stroke: civicSecondaryLighter,
+ strokeWidth: 2
+ },
+ labels: assign({}, baseLabelStyles, {
+ stroke: "transparent",
+ strokeWidth: 0,
+ textAnchor: "start"
+ })
+ }
+ },
+ baseProps
+ ),
+ pie: assign(
+ {
+ colorScale: victoryColors,
+ style: {
+ data: {
+ padding,
+ stroke: "white",
+ strokeWidth: 2
+ },
+ labels: assign({}, baseLabelStyles, {
+ padding: 20,
+ stroke: "transparent",
+ strokeWidth: 0
+ })
+ }
+ },
+ baseProps
+ ),
+ pieLabel: assign(
+ {
+ style: pieLabelStyles
+ },
+ baseProps
+ ),
+ scatter: assign(
+ {
+ style: {
+ data: {
+ fill: civicSecondaryLighter,
+ opacity: 1,
+ stroke: "transparent",
+ strokeWidth: 0
+ },
+ labels: assign({}, centeredLabelStyles, {
+ stroke: "transparent"
+ })
+ }
+ },
+ baseProps
+ ),
+ stack: assign(
+ {
+ colorScale: victoryColors
+ },
+ baseProps
+ ),
+ tooltip: assign(
+ {
+ style: {
+ data: {
+ fill: "transparent",
+ stroke: "transparent",
+ strokeWidth: 0
+ },
+ labels: centeredLabelStyles,
+ customHoverColor: civicPrimary
+ },
+ flyoutStyle: {
+ stroke: civicPrimary,
+ strokeWidth: 0.25,
+ fill: civicSecondaryLightest
+ },
+ flyoutProps: {
+ cornerRadius: 10,
+ pointerLength: 10
+ }
+ },
+ tooltipProps
+ ),
+ voronoi: assign(
+ {
+ style: {
+ data: {
+ fill: "transparent",
+ stroke: "transparent",
+ strokeWidth: 0
+ },
+ labels: centeredLabelStyles
+ }
+ },
+ baseProps
+ )
+};
diff --git a/packages/ui-themes/src/_Themes/VisualizationColors.js b/packages/ui-themes/src/_Themes/VisualizationColors.js
new file mode 100644
index 000000000..3748e82c5
--- /dev/null
+++ b/packages/ui-themes/src/_Themes/VisualizationColors.js
@@ -0,0 +1,108 @@
+import BrandColors from "./Brand/BrandColors";
+
+const categorical = {
+ pink: {
+ rgb: "rgb(220,69,86)",
+ rgba: "rgba(220,69,86,1)",
+ mapFormatRGBA: [220, 69, 86, 255],
+ hex: "#DC4556"
+ },
+ // Called "teal" in style story
+ green: {
+ rgb: "rgb(25,183,170)",
+ rgba: "rgba(25,183,170,1)",
+ mapFormatRGBA: [25, 183, 170, 255],
+ hex: "#19B7AA"
+ },
+ blue: {
+ rgb: "rgb(30,98,189)",
+ rgba: "rgba(30,98,189,1)",
+ mapFormatRGBA: [30, 98, 189, 255],
+ hex: "#1E62BD"
+ },
+ purple: {
+ rgb: "rgb(114,29,124)",
+ rgba: "rgba(114,29,124,1)",
+ mapFormatRGBA: [114, 29, 124, 255],
+ hex: "#721D7C"
+ },
+ yellow: {
+ rgb: "rgb(255,178,31)",
+ rgba: "rgba(255,178,38,1)",
+ mapFormatRGBA: [255, 178, 38, 255],
+ hex: "#FFB226"
+ }
+};
+
+const victoryColors = [
+ categorical.pink.hex,
+ categorical.green.hex,
+ categorical.blue.hex,
+ categorical.purple.hex,
+ categorical.yellow.hex,
+ BrandColors.plumLight.hex
+];
+
+const sequential = {
+ thermal: [
+ [255, 255, 204, 200],
+ [255, 237, 160, 200],
+ [254, 217, 118, 200],
+ [254, 178, 76, 200],
+ [253, 141, 60, 200],
+ [252, 78, 42, 200],
+ [227, 26, 28, 200],
+ [189, 0, 38, 200],
+ [128, 0, 38, 200]
+ ],
+ planet: [
+ [247, 244, 249, 200],
+ [231, 225, 239, 200],
+ [212, 185, 218, 200],
+ [201, 148, 199, 200],
+ [223, 101, 176, 200],
+ [231, 41, 138, 200],
+ [206, 18, 86, 200],
+ [152, 0, 67, 200],
+ [103, 0, 31, 200]
+ ],
+ space: [
+ [247, 252, 253, 200],
+ [224, 236, 244, 200],
+ [191, 211, 230, 200],
+ [158, 188, 218, 200],
+ [140, 150, 198, 200],
+ [140, 107, 177, 200],
+ [136, 65, 157, 200],
+ [129, 15, 124, 200],
+ [77, 0, 75, 200]
+ ],
+ earth: [
+ [255, 247, 251, 200],
+ [236, 226, 240, 200],
+ [208, 209, 230, 200],
+ [166, 189, 219, 200],
+ [103, 169, 207, 200],
+ [54, 144, 192, 200],
+ [2, 129, 138, 200],
+ [1, 108, 89, 200],
+ [1, 70, 54, 200]
+ ],
+ ocean: [
+ [255, 255, 217, 200],
+ [237, 248, 177, 200],
+ [199, 233, 180, 200],
+ [127, 205, 187, 200],
+ [65, 182, 196, 200],
+ [29, 145, 192, 200],
+ [34, 94, 168, 200],
+ [37, 52, 148, 200],
+ [8, 29, 88, 200]
+ ]
+};
+
+export default {
+ categorical,
+ victoryColors,
+ sequential
+};
diff --git a/packages/ui-themes/src/_Themes/index.js b/packages/ui-themes/src/_Themes/index.js
new file mode 100644
index 000000000..253d0ab43
--- /dev/null
+++ b/packages/ui-themes/src/_Themes/index.js
@@ -0,0 +1,8 @@
+export { default as VisualizationColors } from "./VisualizationColors";
+export { default as BrandColors } from "./Brand/BrandColors";
+export { default as BrandTheme } from "./Brand/BrandTheme";
+export { default as UpdatedBrandTheme } from "./Brand/UpdatedBrandTheme";
+export { default as VictoryTheme } from "./Victory/VictoryTheme";
+export { default as VictoryCrazyTheme } from "./Victory/VictoryCrazyTheme";
+export { default as MaterialTheme } from "./MaterialUI/MaterialUITheme";
+export { default as MapGLResources } from "./MapGL/remoteResources";
diff --git a/packages/ui-themes/src/fonts.css b/packages/ui-themes/src/fonts.css
new file mode 100644
index 000000000..be74d5a2f
--- /dev/null
+++ b/packages/ui-themes/src/fonts.css
@@ -0,0 +1,8 @@
+/* Rubik for Headings */
+@import url("https://fonts.googleapis.com/css?family=Rubik:300,300i,400,400i,500,500i,700,700i,900,900i");
+
+/* Merriweather for paragraphs */
+@import url("https://fonts.googleapis.com/css?family=Merriweather:300,300i,400,400i,700,700i,900,900i");
+
+/* Roboto Condensed for data and tiny type */
+@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed:300,300i,400,400i,700,700i");
diff --git a/packages/ui-themes/src/index.js b/packages/ui-themes/src/index.js
new file mode 100644
index 000000000..8a9a98c0c
--- /dev/null
+++ b/packages/ui-themes/src/index.js
@@ -0,0 +1,17 @@
+import "./fonts.css";
+
+// CONSTANTS
+export { browserDefaultSize, defaultFontSize } from "./_Constants";
+
+// THEMES
+export {
+ VisualizationColors,
+ BrandColors,
+ BrandTheme,
+ UpdatedBrandTheme,
+ VictoryTheme,
+ VictoryCrazyTheme,
+ MaterialTheme
+} from "./_Themes";
+
+export { default as storybookStyles } from "./_Storybook/storyStyles";
diff --git a/packages/ui-themes/stories/index.story.js b/packages/ui-themes/stories/index.story.js
new file mode 100644
index 000000000..66bc50799
--- /dev/null
+++ b/packages/ui-themes/stories/index.story.js
@@ -0,0 +1,10 @@
+// If there was theme story it would live here
+
+// import React from "react";
+// import { storiesOf } from "@storybook/react";
+// import { checkA11y } from "@storybook/addon-a11y";
+
+// storiesOf("Welcome|Theme", module)
+// .addParameters({ options: { showPanel: false } })
+// .addDecorator(checkA11y)
+// .add("Theme", () => )
diff --git a/packages/utils/.babelrc b/packages/utils/.babelrc
new file mode 100644
index 000000000..9e5af5886
--- /dev/null
+++ b/packages/utils/.babelrc
@@ -0,0 +1,3 @@
+{
+ "extends": "@hackoregon/civic-babel-presets/.babelrc"
+}
\ No newline at end of file
diff --git a/packages/utils/README.md b/packages/utils/README.md
new file mode 100644
index 000000000..f8a6f8bf5
--- /dev/null
+++ b/packages/utils/README.md
@@ -0,0 +1,19 @@
+# @hackoregon/utils
+
+---
+
+This package contains useful internal utility functions.
+
+This package is in alpha, and may have breaking changes.
+
+## Installation
+
+_Latest version:_
+
+```
+yarn add @hackoregon/utils@ci
+```
+
+## Documentation
+
+Documentation is in [Storybook](https://hackoregon.github.io/civic/)
diff --git a/packages/utils/mocha.conf.js b/packages/utils/mocha.conf.js
new file mode 100644
index 000000000..227482341
--- /dev/null
+++ b/packages/utils/mocha.conf.js
@@ -0,0 +1,50 @@
+/* eslint-disable import/no-extraneous-dependencies */
+process.env.NODE_ENV = "test";
+
+require("@babel/register")();
+
+// chai syntax
+const chai = require("chai");
+// dom object in node
+const jsdom = require("jsdom");
+
+const { JSDOM } = jsdom;
+
+// stubbing/spying library
+const sinon = require("sinon");
+const sinonChai = require("sinon-chai");
+
+// enzyme configuration
+const enzyme = require("enzyme");
+const Adapter = require("enzyme-adapter-react-16");
+
+enzyme.configure({ adapter: new Adapter() });
+
+// global setup
+global.assert = chai.assert;
+global.expect = chai.expect;
+global.chai = chai;
+global.sinon = sinon;
+
+// dom setup
+const { document } = new JSDOM(``, {
+ url: "http://localhost"
+}).window;
+global.document = document;
+global.navigator = {
+ userAgent: "node.js"
+};
+global.window = document.defaultView;
+
+// we're going to emulate the dom with this part here
+const exposedProperties = ["window", "navigator", "document"];
+Object.keys(document.defaultView).forEach(property => {
+ if (typeof global[property] === "undefined") {
+ exposedProperties.push(property);
+ global[property] = document.defaultView[property];
+ }
+});
+
+// chai setup
+chai.use(sinonChai);
+chai.use(require("chai-enzyme")());
diff --git a/packages/utils/mocha.options b/packages/utils/mocha.options
new file mode 100644
index 000000000..faeb0b4fd
--- /dev/null
+++ b/packages/utils/mocha.options
@@ -0,0 +1,6 @@
+--require ignore-styles
+--require source-map-support/register
+--colors
+--recursive
+--require ./mocha.conf.js
+--ui bdd
\ No newline at end of file
diff --git a/packages/utils/package.json b/packages/utils/package.json
new file mode 100644
index 000000000..590b6d2d5
--- /dev/null
+++ b/packages/utils/package.json
@@ -0,0 +1,55 @@
+{
+ "name": "@hackoregon/utils",
+ "version": "0.0.4",
+ "sideEffects": false,
+ "description": "Common utils for CIVIC",
+ "main": "dist/index.js",
+ "modules": "es/index.js",
+ "scripts": {
+ "build:esm": "rimraf es && babel src --out-dir es --copy-files --no-comments",
+ "build:cjs": "rimraf dist && babel src --out-dir dist --copy-files --no-comments",
+ "build": "BABEL_ENV=esm yarn run build:esm && BABEL_ENV=cjs yarn run build:cjs",
+ "configure": "yarn run build",
+ "test": "BABEL_ENV=test mocha --opts ./mocha.options ./src/**/*.test.js",
+ "test:watch": "yarn test -w",
+ "lint": "eslint src stories",
+ "storybook": "node scripts/storybook.js",
+ "start": "node scripts/start.js"
+ },
+ "repository": "git+https://github.com/hackoregon/civic.git",
+ "author": "jaron@civicsoftwarefoundation.org",
+ "license": "MIT",
+ "private": false,
+ "devDependencies": {
+ "@babel/cli": "^7.0.0",
+ "@babel/core": "^7.0.0",
+ "@babel/register": "^7.0.0",
+ "@storybook/addon-a11y": "^5.3.18",
+ "@storybook/react": "^5.3.18",
+ "chai": "^4.2.0",
+ "chai-enzyme": "^1.0.0-beta.1",
+ "enzyme": "^3.9.0",
+ "enzyme-adapter-react-16": "^1.11.2",
+ "eslint": "^5.15.1",
+ "ignore-styles": "^5.0.1",
+ "jsdom": "^14.0.0",
+ "mocha": "^6.0.2",
+ "rimraf": "^2.6.2",
+ "sinon": "^7.2.7",
+ "sinon-chai": "^3.3.0",
+ "source-map-support": "^0.4.11"
+ },
+ "dependencies": {
+ "@emotion/core": "^10.0.15",
+ "d3-format": "1.3.0",
+ "d3-time-format": "^2.1.3",
+ "lodash": "^4.17.11",
+ "prop-types": "^15.7.2",
+ "react": "^16.8.4",
+ "react-dom": "^16.8.4",
+ "shortid": "^2.2.14"
+ },
+ "publishConfig": {
+ "access": "public"
+ }
+}
diff --git a/packages/utils/scripts/start.js b/packages/utils/scripts/start.js
new file mode 100644
index 000000000..efa32c755
--- /dev/null
+++ b/packages/utils/scripts/start.js
@@ -0,0 +1,3 @@
+console.log(
+ "`yarn start` doesn't work here. Maybe you meant to run `yarn storybook` at project root?"
+);
diff --git a/packages/utils/scripts/storybook.js b/packages/utils/scripts/storybook.js
new file mode 100644
index 000000000..eb59d3969
--- /dev/null
+++ b/packages/utils/scripts/storybook.js
@@ -0,0 +1,3 @@
+console.log(
+ "`yarn storybook` doesn't work here. Maybe you meant to run `yarn storybook` at project root?"
+);
diff --git a/packages/utils/src/DataChecker/DataChecker.js b/packages/utils/src/DataChecker/DataChecker.js
new file mode 100644
index 000000000..55c317c15
--- /dev/null
+++ b/packages/utils/src/DataChecker/DataChecker.js
@@ -0,0 +1,91 @@
+import { Fragment } from "react";
+import PropTypes from "prop-types";
+/** @jsx jsx */
+import { jsx, css } from "@emotion/core";
+import shortid from "shortid";
+import checkData from "../utils/checkData";
+
+const wrapperStyle = css`
+ margin: 0 auto;
+ max-width: 900px;
+ width: 90%;
+`;
+
+const DataChecker = ({
+ data,
+ dataIsObject,
+ dataAccessors,
+ optionalKeys,
+ message,
+ children
+}) => {
+ const keys = Object.keys(dataAccessors);
+ const values = Object.values(dataAccessors);
+ const results = checkData(data, values, dataIsObject, optionalKeys);
+ const component = results.allKeysValid ? (
+ children
+ ) : (
+
+
{message}
+ {results.invalidType && (
+
Invalid Type - check if array or object is expected
+ )}
+
Data Accessors
+ {keys.map((key, index) => {
+ const isValid =
+ results[values[index]].valid === results[values[index]].total;
+ const validCount = results[values[index]].valid;
+ const totalCount = results[values[index]].total;
+ const keyValue = values[index];
+ const invalidStyle = !isValid
+ ? css`
+ color: red;
+ `
+ : css``;
+ return (
+
+
+ {isValid ? "✅ " : "⛔️ "}
+ {`${key}: `}
+
+ {JSON.stringify(keyValue, undefined, 2)}
+ {!isValid && (
+
+
+
+ {validCount === 0
+ ? `${key} is invalid. "${keyValue}" not found in data`
+ : `${key} is invalid. "${keyValue}" missing in ${totalCount -
+ validCount}/${totalCount} objects in data`}
+
+
+ )}
+
+ );
+ })}
+
Data
+
+ data:
+ {!dataIsObject && JSON.stringify(data, undefined, 2)}
+
+
+ );
+ return component;
+};
+
+DataChecker.propTypes = {
+ data: PropTypes.oneOfType([
+ PropTypes.shape({}),
+ PropTypes.arrayOf(PropTypes.shape({}))
+ ]).isRequired,
+ dataAccessors: PropTypes.objectOf(PropTypes.string).isRequired,
+ message: PropTypes.string,
+ optionalKeys: PropTypes.shape({})
+};
+
+DataChecker.defaultProps = {
+ message: "Invalid Data",
+ dataIsObject: false
+};
+
+export default DataChecker;
diff --git a/packages/utils/src/DemoJSONLoader/DemoJSONLoader.js b/packages/utils/src/DemoJSONLoader/DemoJSONLoader.js
new file mode 100644
index 000000000..7f2b3051d
--- /dev/null
+++ b/packages/utils/src/DemoJSONLoader/DemoJSONLoader.js
@@ -0,0 +1,42 @@
+// eslint-disable-next-line
+import React, { useState, useEffect } from "react";
+import { string, arrayOf, func } from "prop-types";
+/* global fetch */
+
+const DemoJSONLoader = props => {
+ const [data, setData] = useState(null);
+
+ useEffect(() => {
+ const promisesArr = props.urls.map(url => {
+ return fetch(url)
+ .then(response => response)
+ .then(response =>
+ response.ok
+ ? response.json()
+ : {
+ error: `${response.status}: ${response.statusText}`,
+ slide_meta: {},
+ slide_data: {}
+ }
+ );
+ });
+ Promise.all(promisesArr)
+ .then(response => setData(response))
+ .catch(error => {
+ throw new Error(error);
+ });
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [...props.urls]);
+
+ if (data === null) {
+ return null;
+ }
+ return data.length === 1 ? props.children(data[0]) : props.children(data);
+};
+
+DemoJSONLoader.propTypes = {
+ urls: arrayOf(string).isRequired,
+ children: func
+};
+
+export default DemoJSONLoader;
diff --git a/packages/utils/src/ErrorBoundary/ErrorBoundary.js b/packages/utils/src/ErrorBoundary/ErrorBoundary.js
new file mode 100644
index 000000000..762ec2ef7
--- /dev/null
+++ b/packages/utils/src/ErrorBoundary/ErrorBoundary.js
@@ -0,0 +1,36 @@
+import { Component } from "react";
+import { oneOfType, node, object, string } from "prop-types";
+
+class ErrorBoundary extends Component {
+ static propTypes = {
+ children: oneOfType([node, object]),
+ customErrorComponent: oneOfType([node, string]),
+ customMessage: string
+ };
+
+ static defaultProps = {
+ children: null,
+ customErrorComponent: null,
+ customMessage: null
+ };
+
+ state = { hasError: false, error: null, info: null };
+
+ componentDidCatch(error, info) {
+ // info.componentStack has error call stack
+ this.setState({ hasError: true, error, info });
+ }
+
+ render() {
+ const { customMessage, customErrorComponent, children } = this.props;
+ const { error, hasError, info } = this.state;
+
+ if (hasError) {
+ console.warn(customMessage, { error, info }); // eslint-disable-line
+ return customErrorComponent || null;
+ }
+ return children;
+ }
+}
+
+export default ErrorBoundary;
diff --git a/packages/utils/src/StatefulWrapper/StatefulWrapper.js b/packages/utils/src/StatefulWrapper/StatefulWrapper.js
new file mode 100644
index 000000000..154ad8aee
--- /dev/null
+++ b/packages/utils/src/StatefulWrapper/StatefulWrapper.js
@@ -0,0 +1,53 @@
+import React, { Component, Fragment } from "react";
+import { func, shape } from "prop-types";
+
+/**
+ * Helper function set up dynamic state in controlled form components for Storybook stories
+ * Takes in an `initialState` object with any number of properties
+ * Returns a function as a child component and provides `get` and `set` helpers
+ * to update the controlled state.
+ *
+ * EXAMPLE:
+ *
+ * {({ get, set }) => {
+ * return (
+ * set({ value: newValue }) }
+ * value={get("value")}
+ * />
+ * );
+ * }}
+ *
+ *
+ * ⚠️ Do not set `value` as a knob when using this wrapper, it causes issues with
+ * Civic's deployed version of Storybook that you will not see locally ⚠️
+ */
+class StatefulWrapper extends Component {
+ static propTypes = {
+ children: func.isRequired,
+ initialState: shape().isRequired
+ };
+
+ constructor(props) {
+ super(props);
+ /* eslint-disable react/destructuring-assignment */
+ this.state = {
+ ...this.props.initialState
+ };
+ this.get = this.get.bind(this);
+ this.set = this.set.bind(this);
+ }
+
+ // Getter for any value in state
+ get = stateKey => this.state[stateKey];
+
+ // Setter for any value in state
+ set = newStateObject => this.setState(newStateObject);
+
+ render() {
+ const { children } = this.props;
+ return {children({ get: this.get, set: this.set })} ;
+ }
+}
+
+export default StatefulWrapper;
diff --git a/packages/utils/src/index.js b/packages/utils/src/index.js
new file mode 100644
index 000000000..ebf8c44ba
--- /dev/null
+++ b/packages/utils/src/index.js
@@ -0,0 +1,13 @@
+export { default as DemoJSONLoader } from "./DemoJSONLoader/DemoJSONLoader";
+export { default as ErrorBoundary } from "./ErrorBoundary/ErrorBoundary";
+export { default as StatefulWrapper } from "./StatefulWrapper/StatefulWrapper";
+export { default as DataChecker } from "./DataChecker/DataChecker";
+export { default as civicFormat } from "./utils/civicFormat";
+export { default as ungroupBy } from "./utils/ungroupBy";
+export { default as protectData } from "./utils/protectData";
+export { default as isClient } from "./utils/isClient";
+export { default as getKeyNames } from "./utils/getKeyNames";
+export { default as groupByKey } from "./utils/groupByKey";
+export { default as randomLorem } from "./utils/randomLorem";
+export { default as WallOfRichText } from "./utils/WallOfRichText";
+export { default as wallOfText } from "./utils/wallOfText";
diff --git a/packages/utils/src/utils/WallOfRichText.js b/packages/utils/src/utils/WallOfRichText.js
new file mode 100644
index 000000000..fd5260721
--- /dev/null
+++ b/packages/utils/src/utils/WallOfRichText.js
@@ -0,0 +1,19 @@
+import React from "react";
+
+const WallOfRichText = () => (
+
+
Lorem ipsum dolor sit amet , consectetur adipisicing elit,
+
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+
+ Ut enim ad
+ minim veniam, quis nostrud
+ exercitation ullamco laboris
+
+ nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
+ reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
+ officia deserunt mollit anim id est laborum.
+
+);
+
+export default WallOfRichText;
diff --git a/packages/utils/src/utils/checkData.js b/packages/utils/src/utils/checkData.js
new file mode 100644
index 000000000..cf27ab6d8
--- /dev/null
+++ b/packages/utils/src/utils/checkData.js
@@ -0,0 +1,30 @@
+const checkKey = (data, key, optionalKeys = {}) => {
+ // If key is optional, skip
+ if (optionalKeys[key]) {
+ return { valid: 0, total: 0 };
+ }
+
+ const valid = data.filter(datum => key in datum).length;
+ const total = data.length;
+ return { valid, total };
+};
+
+const checkData = (data, dataKeys, dataIsObject = false, optionalKeys) => {
+ const results = {};
+ const isArray = Array.isArray(data) && Array.isArray(dataKeys);
+ const validType = (!dataIsObject && isArray) || (dataIsObject && !isArray);
+ results.invalidType = !validType;
+ const dataAsArray = dataIsObject ? [data] : data;
+ // eslint-disable-next-line no-return-assign
+ const keyChecks =
+ validType &&
+ dataKeys.map(key => {
+ results[key] = checkKey(dataAsArray, key, optionalKeys);
+ return checkKey(dataAsArray, key, optionalKeys);
+ });
+ results.allKeysValid =
+ validType && keyChecks.every(key => key.valid === key.total);
+ return results;
+};
+
+export default checkData;
diff --git a/packages/utils/src/utils/checkData.test.js b/packages/utils/src/utils/checkData.test.js
new file mode 100644
index 000000000..311c0bea9
--- /dev/null
+++ b/packages/utils/src/utils/checkData.test.js
@@ -0,0 +1,157 @@
+import checkData from "./checkData";
+
+describe("checkData", () => {
+ it("should add an error for invalid types", () => {
+ expect(checkData({}, ["doorKey", "houseKey"])).to.eql({
+ allKeysValid: false,
+ invalidType: true
+ });
+ expect(checkData({ keyType: "door" }, "doorKey")).to.eql({
+ allKeysValid: false,
+ invalidType: true
+ });
+ expect(checkData({}, ["doorKey", "houseKey"])).to.eql({
+ allKeysValid: false,
+ invalidType: true
+ });
+ });
+
+ it("should work for a simple test case", () => {
+ expect(
+ checkData(
+ [
+ { keyType: "door", lockType: "door" },
+ { keyType: "car", lockType: "plane" }
+ ],
+ ["keyType"]
+ )
+ ).to.eql({
+ allKeysValid: true,
+ invalidType: false,
+ keyType: { valid: 2, total: 2 }
+ });
+ });
+
+ it("should ignore unchecked keys", () => {
+ expect(
+ checkData(
+ [
+ { keyType: "door", lockType: "door", junk: "trunk" },
+ { keyType: "car", lockType: "plane" }
+ ],
+ ["keyType"]
+ )
+ ).to.eql({
+ allKeysValid: true,
+ invalidType: false,
+ keyType: { valid: 2, total: 2 }
+ });
+ });
+
+ it("should handle multiple keys", () => {
+ expect(
+ checkData(
+ [
+ { keyType: "door", lockType: "door", junk: "trunk" },
+ { keyType: "car", lockType: "plane" }
+ ],
+ ["keyType", "lockType"]
+ )
+ ).to.eql({
+ allKeysValid: true,
+ invalidType: false,
+ keyType: { valid: 2, total: 2 },
+ lockType: { valid: 2, total: 2 }
+ });
+ });
+
+ it("should handle invalid data properly", () => {
+ expect(
+ checkData(
+ [
+ { keyType: "door", lockType: "door", junk: "trunk" },
+ { keyType: "car", lockType: "plane" }
+ ],
+ ["keyType", "lockType", "junk"]
+ )
+ ).to.eql({
+ allKeysValid: false,
+ invalidType: false,
+ keyType: { valid: 2, total: 2 },
+ lockType: { valid: 2, total: 2 },
+ junk: { valid: 1, total: 2 }
+ });
+ });
+
+ it("should handle invalid keys properly", () => {
+ expect(
+ checkData(
+ [
+ { keyType: "door", lockType: "door", junk: "trunk" },
+ { keyType: "car", lockType: "plane" }
+ ],
+ ["keyType", "lockType", "category"]
+ )
+ ).to.eql({
+ allKeysValid: false,
+ invalidType: false,
+ keyType: { valid: 2, total: 2 },
+ lockType: { valid: 2, total: 2 },
+ category: { valid: 0, total: 2 }
+ });
+ });
+
+ it("should work for a simple object test case", () => {
+ expect(
+ checkData({ keyType: "door", lockType: "door" }, ["keyType"], true)
+ ).to.eql({
+ allKeysValid: true,
+ invalidType: false,
+ keyType: { valid: 1, total: 1 }
+ });
+ });
+
+ it("should handle object multiple keys", () => {
+ expect(
+ checkData(
+ { keyType: "door", lockType: "door", junk: "trunk" },
+ ["keyType", "lockType"],
+ true
+ )
+ ).to.eql({
+ allKeysValid: true,
+ invalidType: false,
+ keyType: { valid: 1, total: 1 },
+ lockType: { valid: 1, total: 1 }
+ });
+ });
+
+ it("should handle object missing keys properly", () => {
+ expect(
+ checkData(
+ { keyType: "door", lockType: "door" },
+ ["keyType", "lockType", "junk"],
+ true
+ )
+ ).to.eql({
+ allKeysValid: false,
+ invalidType: false,
+ keyType: { valid: 1, total: 1 },
+ lockType: { valid: 1, total: 1 },
+ junk: { valid: 0, total: 1 }
+ });
+ });
+
+ it("should error when dataIsObject = true and passed array", () => {
+ expect(
+ checkData(
+ [{ keyType: "door", lockType: "door" }],
+ ["keyType", "lockType", "junk"],
+ true
+ )
+ ).to.eql({
+ allKeysValid: false,
+ invalidType: true
+ });
+ });
+});
diff --git a/packages/utils/src/utils/civicFormat.js b/packages/utils/src/utils/civicFormat.js
new file mode 100644
index 000000000..0467fe6b6
--- /dev/null
+++ b/packages/utils/src/utils/civicFormat.js
@@ -0,0 +1,109 @@
+import { format } from "d3-format";
+import { timeFormat } from "d3-time-format";
+import { startCase, toLower } from "lodash";
+
+const scales = [
+ [1000000000000, "trillion"],
+ [1000000000, "billion"],
+ [1000000, "million"]
+];
+
+const abbreviateLarge = number => {
+ let num;
+ let scale;
+
+ for (let i = 0; i <= scales.length; i += 1) {
+ if (Math.abs(number) >= scales[i][0]) {
+ num = format(".2~r")(number / scales[i][0]);
+ scale = scales[i][1]; // eslint-disable-line prefer-destructuring
+ break;
+ }
+ }
+
+ return `${num} ${scale}`;
+};
+
+const numeric = d => {
+ let formatted;
+
+ // We want to specifically format numbers greater than one million.
+ if (Math.abs(d) >= 1000000) {
+ formatted = abbreviateLarge(d);
+ } else {
+ formatted = format(",.0f")(d);
+ }
+
+ return formatted;
+};
+
+const roundedDecimal = d => format(",.2f")(d);
+
+const scalesShort = [
+ [1000000000000, "t"],
+ [1000000000, "b"],
+ [1000000, "m"],
+ [1000, "k"]
+];
+
+const abbreviateLargeShort = number => {
+ let num;
+ let scale;
+
+ for (let i = 0; i <= scalesShort.length; i += 1) {
+ if (Math.abs(number) >= scalesShort[i][0]) {
+ num = format(".2~r")(number / scalesShort[i][0]);
+ scale = scalesShort[i][1]; // eslint-disable-line prefer-destructuring
+ break;
+ }
+ }
+
+ return `${num}${scale}`;
+};
+
+const numericShort = d => {
+ let formatted;
+
+ // We want to specifically format numbers greater than one thousand.
+ if (Math.abs(d) >= 1000) {
+ formatted = abbreviateLargeShort(d);
+ } else {
+ formatted = format(",.0f")(d);
+ }
+
+ return formatted;
+};
+
+const decimalToPercent = num => {
+ let formatted;
+
+ if (Number.isInteger(num)) {
+ formatted = format(",~%")(num);
+ } else {
+ formatted = format(",.1%")(num);
+ }
+
+ return formatted;
+};
+
+const year = format(".0f");
+const percentage = format(".0%");
+const dollars = d => `$${numeric(d)}`;
+
+const titleCase = str => startCase(toLower(str));
+const unformatted = d => d;
+const monthYear = timeFormat("%B %Y");
+
+const civicFormat = {
+ numeric,
+ roundedDecimal,
+ year,
+ percentage,
+ dollars,
+ titleCase,
+ unformatted,
+ monthYear,
+ numericShort,
+ decimalToPercent
+};
+
+export default civicFormat;
diff --git a/packages/utils/src/utils/civicFormat.test.js b/packages/utils/src/utils/civicFormat.test.js
new file mode 100644
index 000000000..bd0fe995b
--- /dev/null
+++ b/packages/utils/src/utils/civicFormat.test.js
@@ -0,0 +1,59 @@
+import civicFormat from "./civicFormat";
+
+describe("civicFormat", () => {
+ it("should format numbers correctly", () => {
+ expect(civicFormat.numeric(0.1)).to.eql("0");
+ expect(civicFormat.numeric(0.5)).to.eql("1");
+ expect(civicFormat.numeric(1000)).to.eql("1,000");
+ expect(civicFormat.numeric(1500)).to.eql("1,500");
+ expect(civicFormat.numeric(1000000)).to.eql("1 million");
+ expect(civicFormat.numeric(7300000)).to.eql("7.3 million");
+ expect(civicFormat.numeric(-7300000)).to.eql("-7.3 million");
+ expect(civicFormat.numeric(73000000000)).to.eql("73 billion");
+ });
+
+ it("should format to rounded decimal correctly", () => {
+ expect(civicFormat.roundedDecimal(1)).to.eql("1.00");
+ expect(civicFormat.roundedDecimal(0.5)).to.eql("0.50");
+ expect(civicFormat.roundedDecimal(1.001)).to.eql("1.00");
+ expect(civicFormat.roundedDecimal(0.1501)).to.eql("0.15");
+ expect(civicFormat.roundedDecimal(100000.0000001)).to.eql("100,000.00");
+ expect(civicFormat.roundedDecimal(1000000.0000001)).to.eql("1,000,000.00");
+ expect(civicFormat.roundedDecimal(-0.7300001)).to.eql("-0.73");
+ });
+
+ it("should abbriviate numbers correctly", () => {
+ expect(civicFormat.numericShort(0.1)).to.eql("0");
+ expect(civicFormat.numericShort(0.5)).to.eql("1");
+ expect(civicFormat.numericShort(1000)).to.eql("1k");
+ expect(civicFormat.numericShort(1500)).to.eql("1.5k");
+ expect(civicFormat.numericShort(1000000)).to.eql("1m");
+ expect(civicFormat.numericShort(7300000)).to.eql("7.3m");
+ expect(civicFormat.numericShort(-7300000)).to.eql("-7.3m");
+ expect(civicFormat.numericShort(73000000000)).to.eql("73b");
+ });
+
+ it("takes decimal, changes to percentage", () => {
+ expect(civicFormat.decimalToPercent(0)).to.eql("0%");
+ expect(civicFormat.decimalToPercent(0.3456)).to.eql("34.6%");
+ expect(civicFormat.decimalToPercent(1.3456)).to.eql("134.6%");
+ expect(civicFormat.decimalToPercent(-1.3456)).to.eql("-134.6%");
+ expect(civicFormat.decimalToPercent(1)).to.eql("100%");
+ expect(civicFormat.decimalToPercent(10)).to.eql("1,000%");
+ expect(civicFormat.decimalToPercent(100)).to.eql("10,000%");
+ expect(civicFormat.decimalToPercent(1000)).to.eql("100,000%");
+ expect(civicFormat.decimalToPercent(10000)).to.eql("1,000,000%");
+ expect(civicFormat.decimalToPercent(-10000)).to.eql("-1,000,000%");
+ });
+
+ it("should format percentages correctly", () => {
+ expect(civicFormat.percentage(0.75)).to.eql("75%");
+ expect(civicFormat.percentage(0.2379)).to.eql("24%");
+ });
+
+ it("should format dollars correctly", () => {
+ expect(civicFormat.dollars(12)).to.eql("$12");
+ expect(civicFormat.dollars(230.5)).to.eql("$231");
+ expect(civicFormat.dollars(7300000)).to.eql("$7.3 million");
+ });
+});
diff --git a/packages/utils/src/utils/getKeyNames.js b/packages/utils/src/utils/getKeyNames.js
new file mode 100644
index 000000000..dd291fbbb
--- /dev/null
+++ b/packages/utils/src/utils/getKeyNames.js
@@ -0,0 +1,9 @@
+const getKeyNames = obj => {
+ const keyNames = {};
+ Object.keys(obj).forEach(key => {
+ keyNames[key] = key;
+ });
+ return keyNames;
+};
+
+export default getKeyNames;
diff --git a/packages/utils/src/utils/groupByKey.js b/packages/utils/src/utils/groupByKey.js
new file mode 100644
index 000000000..002738901
--- /dev/null
+++ b/packages/utils/src/utils/groupByKey.js
@@ -0,0 +1,23 @@
+/*
+function groupBy
+ @data: array of objects with the same properties
+ @dataSeriesKey: the key that the objects should be grouped by
+ @sortByKey: the key that the objects should be sorted by
+
+ This component is used by the horizontal bar chart to transform data for the stacked bar chart. It takes an array of objects and transforms it into an array of arrays of objects where each array containes one of each of the different values based on the dataSeriesKey.
+ */
+
+const groupByKey = (data, dataSeriesKey, sortByKey) => {
+ const groupedObj = data.reduce((result, item) => {
+ return {
+ ...result,
+ [item[dataSeriesKey]]: [...(result[item[dataSeriesKey]] || []), item]
+ };
+ }, {});
+ return Object.keys(groupedObj).map(key => {
+ const arr = groupedObj[key];
+ return arr.sort((a, b) => (a[sortByKey] > b[sortByKey] ? 1 : -1));
+ });
+};
+
+export default groupByKey;
diff --git a/packages/utils/src/utils/groupByKey.test.js b/packages/utils/src/utils/groupByKey.test.js
new file mode 100644
index 000000000..0f4662af2
--- /dev/null
+++ b/packages/utils/src/utils/groupByKey.test.js
@@ -0,0 +1,75 @@
+import groupByKey from "./groupByKey";
+
+const SAMPLE_DATA = [
+ { name: "Poodle", x: "2017", y: 7 },
+ { name: "Terrier", x: "2017", y: 2 },
+ { name: "Bulldog", x: "2017", y: 3 },
+ { name: "Poodle", x: "2018", y: 2 },
+ { name: "Terrier", x: "2018", y: 5 },
+ { name: "Bulldog", x: "2018", y: 4 },
+ { name: "Poodle", x: "2019", y: 1 },
+ { name: "Terrier", x: "2019", y: 2 },
+ { name: "Bulldog", x: "2019", y: 3 }
+];
+
+const FORMATTED_DATA = [
+ [
+ { name: "Poodle", x: "2017", y: 7 },
+ { name: "Poodle", x: "2018", y: 2 },
+ { name: "Poodle", x: "2019", y: 1 }
+ ],
+ [
+ { name: "Terrier", x: "2017", y: 2 },
+ { name: "Terrier", x: "2018", y: 5 },
+ { name: "Terrier", x: "2019", y: 2 }
+ ],
+ [
+ { name: "Bulldog", x: "2017", y: 3 },
+ { name: "Bulldog", x: "2018", y: 4 },
+ { name: "Bulldog", x: "2019", y: 3 }
+ ]
+];
+
+const UNSTRUCTURED_DATA = [
+ { name: "Poodle", x: "2017", y: 7 },
+ { name: "Terrier", x: "2019", y: 2 },
+ { name: "Poodle", x: "2018", y: 2 },
+ { name: "Terrier", x: "2018", y: 5 },
+ { name: "Poodle", x: "2019", y: 1 },
+ { name: "Bulldog", x: "2018", y: 4 },
+ { name: "Terrier", x: "2017", y: 2 },
+ { name: "Bulldog", x: "2017", y: 3 },
+ { name: "Bulldog", x: "2019", y: 3 },
+ { name: "Poodle", x: "2035", y: 10 }
+];
+
+const FORMATTED_UNSTRUCTURED_DATA = [
+ [
+ { name: "Poodle", x: "2017", y: 7 },
+ { name: "Poodle", x: "2018", y: 2 },
+ { name: "Poodle", x: "2019", y: 1 },
+ { name: "Poodle", x: "2035", y: 10 }
+ ],
+ [
+ { name: "Terrier", x: "2017", y: 2 },
+ { name: "Terrier", x: "2018", y: 5 },
+ { name: "Terrier", x: "2019", y: 2 }
+ ],
+ [
+ { name: "Bulldog", x: "2017", y: 3 },
+ { name: "Bulldog", x: "2018", y: 4 },
+ { name: "Bulldog", x: "2019", y: 3 }
+ ]
+];
+
+describe("groupByKey", () => {
+ it("should format data properly", () => {
+ expect(groupByKey(SAMPLE_DATA, "name", "x")).to.eql(FORMATTED_DATA);
+ });
+
+ it("should format unstructured data properly", () => {
+ expect(groupByKey(UNSTRUCTURED_DATA, "name", "x")).to.eql(
+ FORMATTED_UNSTRUCTURED_DATA
+ );
+ });
+});
diff --git a/packages/utils/src/utils/isClient.js b/packages/utils/src/utils/isClient.js
new file mode 100644
index 000000000..be0d6bf4c
--- /dev/null
+++ b/packages/utils/src/utils/isClient.js
@@ -0,0 +1,3 @@
+const isClient = typeof document !== "undefined";
+
+export default isClient;
diff --git a/packages/utils/src/utils/protectData.js b/packages/utils/src/utils/protectData.js
new file mode 100644
index 000000000..466221529
--- /dev/null
+++ b/packages/utils/src/utils/protectData.js
@@ -0,0 +1,27 @@
+import { fromPairs } from "lodash";
+
+const c = ""; // U+200B (zero-width space character)
+
+/**
+ * This function protects data attributes from being accessed by d3-interpolate
+ * to work around https://github.com/FormidableLabs/victory/issues/928
+ *
+ * @param {array} data - An array of data objects
+ * @param {object} dataAccessors - An object with { dataKey, dataValue, etc ..}
+ * @return {array} An array with each element transformed for each dataAcccessor to add a zero-width space character
+ */
+
+function protectData(data, dataAccessors) {
+ return data.map(d => {
+ return {
+ ...d,
+ ...fromPairs(
+ Object.values(dataAccessors).map(property => {
+ return [property, `${d[property]}${c}`];
+ })
+ )
+ };
+ });
+}
+
+export default protectData;
diff --git a/packages/utils/src/utils/randomLorem.js b/packages/utils/src/utils/randomLorem.js
new file mode 100644
index 000000000..07af378c4
--- /dev/null
+++ b/packages/utils/src/utils/randomLorem.js
@@ -0,0 +1,16 @@
+import wallOfText from "./wallOfText";
+
+const firstRepeatInWallOfText = wallOfText.split(" ").reduce((p, n, i) => {
+ if (typeof p === "number") return p;
+ if (p[n]) return i;
+ // eslint-disable-next-line no-param-reassign
+ p[n] = true;
+ return p;
+}, {});
+
+const randomLorem = () =>
+ wallOfText.split(" ")[
+ Math.floor((Math.random() * 100) % firstRepeatInWallOfText)
+ ];
+
+export default randomLorem;
diff --git a/packages/utils/src/utils/ungroupBy.js b/packages/utils/src/utils/ungroupBy.js
new file mode 100644
index 000000000..58a1a2d2e
--- /dev/null
+++ b/packages/utils/src/utils/ungroupBy.js
@@ -0,0 +1,34 @@
+/*
+ function ungroupBy
+ @data: array of objects with the same properties
+ @dataSeriesKeys: array of strings of properties of data
+ @dataSeriesLabels: optional array of strings with labels for dataSeriesKeys
+*/
+
+const ungroupBy = (data, dataSeriesKeys, dataSeriesLabels) => {
+ const arr = [];
+ const labels = [];
+
+ if (!dataSeriesLabels) {
+ labels.push(...dataSeriesKeys);
+ } else if (dataSeriesKeys.length === dataSeriesLabels.length) {
+ labels.push(...dataSeriesLabels);
+ } else {
+ labels.push(...dataSeriesKeys);
+ }
+
+ dataSeriesKeys.forEach((key, index) => {
+ arr.push(
+ ...data.map(obj => {
+ const retObj = Object.assign({}, obj);
+ retObj.value = obj[key];
+ retObj.type = labels[index];
+ dataSeriesKeys.forEach(k => delete retObj[k]);
+ return retObj;
+ })
+ );
+ });
+ return arr;
+};
+
+export default ungroupBy;
diff --git a/packages/utils/src/utils/ungroupBy.test.js b/packages/utils/src/utils/ungroupBy.test.js
new file mode 100644
index 000000000..f40b8b9a0
--- /dev/null
+++ b/packages/utils/src/utils/ungroupBy.test.js
@@ -0,0 +1,98 @@
+import ungroupBy from "./ungroupBy";
+
+const SAMPLE_DATA = [
+ {
+ id: 1,
+ neighborhood: "ROSE CITY PARK",
+ pct_18_25: 0.11,
+ pct_26_32: 0.27,
+ year: 2006
+ },
+ {
+ id: 2,
+ neighborhood: "ROSE CITY PARK",
+ pct_18_25: 0.12,
+ pct_26_32: 0.27,
+ year: 2007
+ }
+];
+
+const FORMATTED_DATA = [
+ {
+ id: 1,
+ neighborhood: "ROSE CITY PARK",
+ type: "pct_18_25",
+ year: 2006,
+ value: 0.11
+ },
+ {
+ id: 2,
+ neighborhood: "ROSE CITY PARK",
+ type: "pct_18_25",
+ year: 2007,
+ value: 0.12
+ },
+ {
+ id: 1,
+ neighborhood: "ROSE CITY PARK",
+ type: "pct_26_32",
+ year: 2006,
+ value: 0.27
+ },
+ {
+ id: 2,
+ neighborhood: "ROSE CITY PARK",
+ type: "pct_26_32",
+ year: 2007,
+ value: 0.27
+ }
+];
+
+const FORMATTED_DATA_LABELS = [
+ {
+ id: 1,
+ neighborhood: "ROSE CITY PARK",
+ type: "18-25",
+ year: 2006,
+ value: 0.11
+ },
+ {
+ id: 2,
+ neighborhood: "ROSE CITY PARK",
+ type: "18-25",
+ year: 2007,
+ value: 0.12
+ },
+ {
+ id: 1,
+ neighborhood: "ROSE CITY PARK",
+ type: "26-32",
+ year: 2006,
+ value: 0.27
+ },
+ {
+ id: 2,
+ neighborhood: "ROSE CITY PARK",
+ type: "26-32",
+ year: 2007,
+ value: 0.27
+ }
+];
+
+describe("ungroupBy", () => {
+ it("should format data properly", () => {
+ expect(ungroupBy(SAMPLE_DATA, ["pct_18_25", "pct_26_32"])).to.eql(
+ FORMATTED_DATA
+ );
+ });
+ it("should format data properly and apply labels", () => {
+ expect(
+ ungroupBy(SAMPLE_DATA, ["pct_18_25", "pct_26_32"], ["18-25", "26-32"])
+ ).to.eql(FORMATTED_DATA_LABELS);
+ });
+ it("should handle an improper labels array", () => {
+ expect(
+ ungroupBy(SAMPLE_DATA, ["pct_18_25", "pct_26_32"], ["18-25"])
+ ).to.eql(FORMATTED_DATA);
+ });
+});
diff --git a/packages/utils/src/utils/wallOfText.js b/packages/utils/src/utils/wallOfText.js
new file mode 100644
index 000000000..7d2cddc27
--- /dev/null
+++ b/packages/utils/src/utils/wallOfText.js
@@ -0,0 +1,4 @@
+const wallOfText =
+ "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
+
+export default wallOfText;
diff --git a/packages/utils/stories/index.story.js b/packages/utils/stories/index.story.js
new file mode 100644
index 000000000..6a09b57d3
--- /dev/null
+++ b/packages/utils/stories/index.story.js
@@ -0,0 +1,10 @@
+/* eslint-disable import/no-extraneous-dependencies */
+import { storiesOf } from "@storybook/react";
+import { checkA11y } from "@storybook/addon-a11y";
+
+// DO NOT REMOVE OR MODIFY THIS COMMENT - hygen component generator import injection
+
+storiesOf("Welcome|Utils", module)
+ .addParameters({ options: { showPanel: false } })
+ .addDecorator(checkA11y);
+// DO NOT REMOVE OR MODIFY THIS COMMENT - hygen component generator story injection
diff --git a/yarn.lock b/yarn.lock
index 2d357ea99..81ae7bb7f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -18,13 +18,30 @@
optionalDependencies:
chokidar "^2.0.4"
-"@babel/code-frame@7.0.0", "@babel/code-frame@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8"
+"@babel/code-frame@7.5.5":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d"
+ integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==
dependencies:
"@babel/highlight" "^7.0.0"
-"@babel/core@7.4.3", "@babel/core@^7.0.0", "@babel/core@^7.1.0", "@babel/core@^7.3.4":
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
+ integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==
+ dependencies:
+ "@babel/highlight" "^7.8.3"
+
+"@babel/compat-data@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.9.6.tgz#3f604c40e420131affe6f2c8052e9a275ae2049b"
+ integrity sha512-5QPTrNen2bm7RBc7dsOmcA5hbrS4O2Vhmk5XOL4zWW/zD/hV0iinpefDlkm+tBBy8kDtFaaeEvmAqt+nURAV2g==
+ dependencies:
+ browserslist "^4.11.1"
+ invariant "^2.2.4"
+ semver "^5.5.0"
+
+"@babel/core@^7.0.0", "@babel/core@^7.1.0", "@babel/core@^7.3.4":
version "7.4.3"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.3.tgz#198d6d3af4567be3989550d97e068de94503074f"
dependencies:
@@ -43,21 +60,24 @@
semver "^5.4.1"
source-map "^0.5.0"
-"@babel/core@^7.4.3":
- version "7.4.5"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.5.tgz#081f97e8ffca65a9b4b0fdc7e274e703f000c06a"
- dependencies:
- "@babel/code-frame" "^7.0.0"
- "@babel/generator" "^7.4.4"
- "@babel/helpers" "^7.4.4"
- "@babel/parser" "^7.4.5"
- "@babel/template" "^7.4.4"
- "@babel/traverse" "^7.4.5"
- "@babel/types" "^7.4.4"
- convert-source-map "^1.1.0"
+"@babel/core@^7.4.5", "@babel/core@^7.7.5":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.6.tgz#d9aa1f580abf3b2286ef40b6904d390904c63376"
+ integrity sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==
+ dependencies:
+ "@babel/code-frame" "^7.8.3"
+ "@babel/generator" "^7.9.6"
+ "@babel/helper-module-transforms" "^7.9.0"
+ "@babel/helpers" "^7.9.6"
+ "@babel/parser" "^7.9.6"
+ "@babel/template" "^7.8.6"
+ "@babel/traverse" "^7.9.6"
+ "@babel/types" "^7.9.6"
+ convert-source-map "^1.7.0"
debug "^4.1.0"
- json5 "^2.1.0"
- lodash "^4.17.11"
+ gensync "^1.0.0-beta.1"
+ json5 "^2.1.2"
+ lodash "^4.17.13"
resolve "^1.3.2"
semver "^5.4.1"
source-map "^0.5.0"
@@ -72,103 +92,149 @@
source-map "^0.5.0"
trim-right "^1.0.1"
-"@babel/generator@^7.4.0", "@babel/generator@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.4.4.tgz#174a215eb843fc392c7edcaabeaa873de6e8f041"
+"@babel/generator@^7.4.0", "@babel/generator@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.6.tgz#5408c82ac5de98cda0d77d8124e99fa1f2170a43"
+ integrity sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==
dependencies:
- "@babel/types" "^7.4.4"
+ "@babel/types" "^7.9.6"
jsesc "^2.5.1"
- lodash "^4.17.11"
+ lodash "^4.17.13"
source-map "^0.5.0"
- trim-right "^1.0.1"
-"@babel/helper-annotate-as-pure@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32"
+"@babel/helper-annotate-as-pure@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee"
+ integrity sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==
dependencies:
- "@babel/types" "^7.0.0"
+ "@babel/types" "^7.8.3"
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f"
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz#c84097a427a061ac56a1c30ebf54b7b22d241503"
+ integrity sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==
dependencies:
- "@babel/helper-explode-assignable-expression" "^7.1.0"
- "@babel/types" "^7.0.0"
+ "@babel/helper-explode-assignable-expression" "^7.8.3"
+ "@babel/types" "^7.8.3"
-"@babel/helper-builder-react-jsx@^7.3.0":
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4"
+"@babel/helper-builder-react-jsx-experimental@^7.9.0":
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.5.tgz#0b4b3e04e6123f03b404ca4dfd6528fe6bb92fe3"
+ integrity sha512-HAagjAC93tk748jcXpZ7oYRZH485RCq/+yEv9SIWezHRPv9moZArTnkUNciUNzvwHUABmiWKlcxJvMcu59UwTg==
dependencies:
- "@babel/types" "^7.3.0"
+ "@babel/helper-annotate-as-pure" "^7.8.3"
+ "@babel/helper-module-imports" "^7.8.3"
+ "@babel/types" "^7.9.5"
+
+"@babel/helper-builder-react-jsx@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.8.3.tgz#dee98d7d79cc1f003d80b76fe01c7f8945665ff6"
+ integrity sha512-JT8mfnpTkKNCboTqZsQTdGo3l3Ik3l7QIt9hh0O9DYiwVel37VoJpILKM4YFbP2euF32nkQSb+F9cUk9b7DDXQ==
+ dependencies:
+ "@babel/types" "^7.8.3"
esutils "^2.0.0"
-"@babel/helper-call-delegate@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43"
+"@babel/helper-builder-react-jsx@^7.9.0":
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz#16bf391990b57732700a3278d4d9a81231ea8d32"
+ integrity sha512-weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw==
dependencies:
- "@babel/helper-hoist-variables" "^7.4.4"
- "@babel/traverse" "^7.4.4"
- "@babel/types" "^7.4.4"
+ "@babel/helper-annotate-as-pure" "^7.8.3"
+ "@babel/types" "^7.9.0"
-"@babel/helper-create-class-features-plugin@^7.4.0", "@babel/helper-create-class-features-plugin@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.4.4.tgz#fc3d690af6554cc9efc607364a82d48f58736dba"
+"@babel/helper-compilation-targets@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.9.6.tgz#1e05b7ccc9d38d2f8b40b458b380a04dcfadd38a"
+ integrity sha512-x2Nvu0igO0ejXzx09B/1fGBxY9NXQlBW2kZsSxCJft+KHN8t9XWzIvFxtPHnBOAXpVsdxZKZFbRUC8TsNKajMw==
dependencies:
- "@babel/helper-function-name" "^7.1.0"
- "@babel/helper-member-expression-to-functions" "^7.0.0"
- "@babel/helper-optimise-call-expression" "^7.0.0"
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-replace-supers" "^7.4.4"
- "@babel/helper-split-export-declaration" "^7.4.4"
+ "@babel/compat-data" "^7.9.6"
+ browserslist "^4.11.1"
+ invariant "^2.2.4"
+ levenary "^1.1.1"
+ semver "^5.5.0"
-"@babel/helper-define-map@^7.4.0", "@babel/helper-define-map@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz#6969d1f570b46bdc900d1eba8e5d59c48ba2c12a"
+"@babel/helper-create-class-features-plugin@^7.4.0", "@babel/helper-create-class-features-plugin@^7.8.3":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.9.6.tgz#965c8b0a9f051801fd9d3b372ca0ccf200a90897"
+ integrity sha512-6N9IeuyHvMBRyjNYOMJHrhwtu4WJMrYf8hVbEHD3pbbbmNOk1kmXSQs7bA4dYDUaIx4ZEzdnvo6NwC3WHd/Qow==
dependencies:
- "@babel/helper-function-name" "^7.1.0"
- "@babel/types" "^7.4.4"
- lodash "^4.17.11"
+ "@babel/helper-function-name" "^7.9.5"
+ "@babel/helper-member-expression-to-functions" "^7.8.3"
+ "@babel/helper-optimise-call-expression" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/helper-replace-supers" "^7.9.6"
+ "@babel/helper-split-export-declaration" "^7.8.3"
-"@babel/helper-explode-assignable-expression@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6"
+"@babel/helper-create-regexp-features-plugin@^7.8.3", "@babel/helper-create-regexp-features-plugin@^7.8.8":
+ version "7.8.8"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz#5d84180b588f560b7864efaeea89243e58312087"
+ integrity sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==
dependencies:
- "@babel/traverse" "^7.1.0"
- "@babel/types" "^7.0.0"
+ "@babel/helper-annotate-as-pure" "^7.8.3"
+ "@babel/helper-regex" "^7.8.3"
+ regexpu-core "^4.7.0"
-"@babel/helper-function-name@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53"
+"@babel/helper-define-map@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz#a0655cad5451c3760b726eba875f1cd8faa02c15"
+ integrity sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==
dependencies:
- "@babel/helper-get-function-arity" "^7.0.0"
- "@babel/template" "^7.1.0"
- "@babel/types" "^7.0.0"
+ "@babel/helper-function-name" "^7.8.3"
+ "@babel/types" "^7.8.3"
+ lodash "^4.17.13"
-"@babel/helper-get-function-arity@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3"
+"@babel/helper-explode-assignable-expression@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz#a728dc5b4e89e30fc2dfc7d04fa28a930653f982"
+ integrity sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==
dependencies:
- "@babel/types" "^7.0.0"
+ "@babel/traverse" "^7.8.3"
+ "@babel/types" "^7.8.3"
-"@babel/helper-hoist-variables@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz#0298b5f25c8c09c53102d52ac4a98f773eb2850a"
+"@babel/helper-function-name@^7.1.0", "@babel/helper-function-name@^7.8.3", "@babel/helper-function-name@^7.9.5":
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c"
+ integrity sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==
dependencies:
- "@babel/types" "^7.4.4"
+ "@babel/helper-get-function-arity" "^7.8.3"
+ "@babel/template" "^7.8.3"
+ "@babel/types" "^7.9.5"
-"@babel/helper-member-expression-to-functions@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f"
+"@babel/helper-get-function-arity@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5"
+ integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==
dependencies:
- "@babel/types" "^7.0.0"
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-hoist-variables@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz#1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134"
+ integrity sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==
+ dependencies:
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-member-expression-to-functions@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c"
+ integrity sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==
+ dependencies:
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498"
+ integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==
+ dependencies:
+ "@babel/types" "^7.8.3"
-"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.0.0-beta.49":
+"@babel/helper-module-imports@^7.0.0-beta.49":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d"
dependencies:
"@babel/types" "^7.0.0"
-"@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.4.3", "@babel/helper-module-transforms@^7.4.4":
+"@babel/helper-module-transforms@^7.4.3":
version "7.4.4"
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz#96115ea42a2f139e619e98ed46df6019b94414b8"
dependencies:
@@ -179,55 +245,80 @@
"@babel/types" "^7.4.4"
lodash "^4.17.11"
-"@babel/helper-optimise-call-expression@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5"
- dependencies:
- "@babel/types" "^7.0.0"
-
-"@babel/helper-plugin-utils@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250"
-
-"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.4.4.tgz#a47e02bc91fb259d2e6727c2a30013e3ac13c4a2"
- dependencies:
- lodash "^4.17.11"
-
-"@babel/helper-remap-async-to-generator@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f"
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.0.0"
- "@babel/helper-wrap-function" "^7.1.0"
- "@babel/template" "^7.1.0"
- "@babel/traverse" "^7.1.0"
- "@babel/types" "^7.0.0"
-
-"@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.4.0", "@babel/helper-replace-supers@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz#aee41783ebe4f2d3ab3ae775e1cc6f1a90cefa27"
- dependencies:
- "@babel/helper-member-expression-to-functions" "^7.0.0"
- "@babel/helper-optimise-call-expression" "^7.0.0"
- "@babel/traverse" "^7.4.4"
- "@babel/types" "^7.4.4"
-
-"@babel/helper-simple-access@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c"
- dependencies:
- "@babel/template" "^7.1.0"
- "@babel/types" "^7.0.0"
-
-"@babel/helper-split-export-declaration@^7.4.0", "@babel/helper-split-export-declaration@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677"
- dependencies:
- "@babel/types" "^7.4.4"
-
-"@babel/helper-wrap-function@^7.1.0", "@babel/helper-wrap-function@^7.2.0":
+"@babel/helper-module-transforms@^7.9.0":
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5"
+ integrity sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==
+ dependencies:
+ "@babel/helper-module-imports" "^7.8.3"
+ "@babel/helper-replace-supers" "^7.8.6"
+ "@babel/helper-simple-access" "^7.8.3"
+ "@babel/helper-split-export-declaration" "^7.8.3"
+ "@babel/template" "^7.8.6"
+ "@babel/types" "^7.9.0"
+ lodash "^4.17.13"
+
+"@babel/helper-optimise-call-expression@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9"
+ integrity sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==
+ dependencies:
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670"
+ integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==
+
+"@babel/helper-regex@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.8.3.tgz#139772607d51b93f23effe72105b319d2a4c6965"
+ integrity sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==
+ dependencies:
+ lodash "^4.17.13"
+
+"@babel/helper-remap-async-to-generator@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz#273c600d8b9bf5006142c1e35887d555c12edd86"
+ integrity sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.8.3"
+ "@babel/helper-wrap-function" "^7.8.3"
+ "@babel/template" "^7.8.3"
+ "@babel/traverse" "^7.8.3"
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-replace-supers@^7.8.3", "@babel/helper-replace-supers@^7.8.6", "@babel/helper-replace-supers@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz#03149d7e6a5586ab6764996cd31d6981a17e1444"
+ integrity sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==
+ dependencies:
+ "@babel/helper-member-expression-to-functions" "^7.8.3"
+ "@babel/helper-optimise-call-expression" "^7.8.3"
+ "@babel/traverse" "^7.9.6"
+ "@babel/types" "^7.9.6"
+
+"@babel/helper-simple-access@^7.1.0", "@babel/helper-simple-access@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae"
+ integrity sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==
+ dependencies:
+ "@babel/template" "^7.8.3"
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-split-export-declaration@^7.4.0", "@babel/helper-split-export-declaration@^7.4.4", "@babel/helper-split-export-declaration@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9"
+ integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==
+ dependencies:
+ "@babel/types" "^7.8.3"
+
+"@babel/helper-validator-identifier@^7.9.0", "@babel/helper-validator-identifier@^7.9.5":
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80"
+ integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==
+
+"@babel/helper-wrap-function@^7.2.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa"
dependencies:
@@ -236,20 +327,32 @@
"@babel/traverse" "^7.1.0"
"@babel/types" "^7.2.0"
-"@babel/helpers@^7.4.3", "@babel/helpers@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.4.4.tgz#868b0ef59c1dd4e78744562d5ce1b59c89f2f2a5"
+"@babel/helper-wrap-function@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz#9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610"
+ integrity sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==
dependencies:
- "@babel/template" "^7.4.4"
- "@babel/traverse" "^7.4.4"
- "@babel/types" "^7.4.4"
+ "@babel/helper-function-name" "^7.8.3"
+ "@babel/template" "^7.8.3"
+ "@babel/traverse" "^7.8.3"
+ "@babel/types" "^7.8.3"
-"@babel/highlight@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4"
+"@babel/helpers@^7.4.3", "@babel/helpers@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.6.tgz#092c774743471d0bb6c7de3ad465ab3d3486d580"
+ integrity sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==
dependencies:
+ "@babel/template" "^7.8.3"
+ "@babel/traverse" "^7.9.6"
+ "@babel/types" "^7.9.6"
+
+"@babel/highlight@^7.0.0", "@babel/highlight@^7.8.3":
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079"
+ integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.9.0"
chalk "^2.0.0"
- esutils "^2.0.2"
js-tokens "^4.0.0"
"@babel/node@^7.0.0", "@babel/node@^7.2.2":
@@ -266,37 +369,40 @@
version "7.4.3"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.4.3.tgz#eb3ac80f64aa101c907d4ce5406360fe75b7895b"
-"@babel/parser@^7.4.0", "@babel/parser@^7.4.3":
+"@babel/parser@^7.4.0":
version "7.4.4"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.4.4.tgz#5977129431b8fe33471730d255ce8654ae1250b6"
-"@babel/parser@^7.4.4", "@babel/parser@^7.4.5":
- version "7.4.5"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.4.5.tgz#04af8d5d5a2b044a2a1bffacc1e5e6673544e872"
+"@babel/parser@^7.4.3", "@babel/parser@^7.8.6", "@babel/parser@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7"
+ integrity sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==
-"@babel/plugin-proposal-async-generator-functions@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e"
+"@babel/plugin-proposal-async-generator-functions@^7.2.0", "@babel/plugin-proposal-async-generator-functions@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f"
+ integrity sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-remap-async-to-generator" "^7.1.0"
- "@babel/plugin-syntax-async-generators" "^7.2.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/helper-remap-async-to-generator" "^7.8.3"
+ "@babel/plugin-syntax-async-generators" "^7.8.0"
-"@babel/plugin-proposal-class-properties@7.4.0", "@babel/plugin-proposal-class-properties@^7.0.0":
+"@babel/plugin-proposal-class-properties@^7.0.0":
version "7.4.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.0.tgz#d70db61a2f1fd79de927eea91f6411c964e084b8"
dependencies:
"@babel/helper-create-class-features-plugin" "^7.4.0"
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-proposal-class-properties@^7.3.3":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.4.tgz#93a6486eed86d53452ab9bab35e368e9461198ce"
+"@babel/plugin-proposal-class-properties@^7.7.0":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e"
+ integrity sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.4.4"
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-create-class-features-plugin" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-proposal-decorators@7.4.0", "@babel/plugin-proposal-decorators@^7.0.0":
+"@babel/plugin-proposal-decorators@^7.0.0":
version "7.4.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.0.tgz#8e1bfd83efa54a5f662033afcc2b8e701f4bb3a9"
dependencies:
@@ -311,6 +417,14 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-do-expressions" "^7.2.0"
+"@babel/plugin-proposal-dynamic-import@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz#38c4fe555744826e97e2ae930b0fb4cc07e66054"
+ integrity sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.0"
+
"@babel/plugin-proposal-export-default-from@^7.0.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.2.0.tgz#737b0da44b9254b6152fe29bb99c64e5691f6f68"
@@ -325,6 +439,14 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-export-namespace-from" "^7.2.0"
+"@babel/plugin-proposal-function-bind@^7.0.0":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.8.3.tgz#e34a1e984771b84b6e5322745edeadca7e500ced"
+ integrity sha512-6q7VAHJQa9x4P6Lm6h6KHoJUEhx2r1buFKseHICe0ogb1LWxducO4tsQp3hd/7BVBo485YBsn6tJnpuwWm/9cA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/plugin-syntax-function-bind" "^7.8.3"
+
"@babel/plugin-proposal-function-sent@^7.0.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.2.0.tgz#f707d78551f49162e152d477fba32357341915d1"
@@ -333,13 +455,21 @@
"@babel/helper-wrap-function" "^7.2.0"
"@babel/plugin-syntax-function-sent" "^7.2.0"
-"@babel/plugin-proposal-json-strings@^7.0.0", "@babel/plugin-proposal-json-strings@^7.2.0":
+"@babel/plugin-proposal-json-strings@^7.0.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317"
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-json-strings" "^7.2.0"
+"@babel/plugin-proposal-json-strings@^7.2.0", "@babel/plugin-proposal-json-strings@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz#da5216b238a98b58a1e05d6852104b10f9a70d6b"
+ integrity sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/plugin-syntax-json-strings" "^7.8.0"
+
"@babel/plugin-proposal-logical-assignment-operators@^7.0.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.2.0.tgz#8a5cea6c42a7c87446959e02fff5fad012c56f57"
@@ -354,6 +484,14 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.2.0"
+"@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2"
+ integrity sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
+
"@babel/plugin-proposal-numeric-separator@^7.0.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.2.0.tgz#646854daf4cd22fd6733f6076013a936310443ac"
@@ -361,26 +499,37 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-numeric-separator" "^7.2.0"
-"@babel/plugin-proposal-object-rest-spread@7.4.3", "@babel/plugin-proposal-object-rest-spread@^7.0.0":
+"@babel/plugin-proposal-numeric-separator@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8"
+ integrity sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/plugin-syntax-numeric-separator" "^7.8.3"
+
+"@babel/plugin-proposal-object-rest-spread@^7.0.0":
version "7.4.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.3.tgz#be27cd416eceeba84141305b93c282f5de23bbb4"
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-object-rest-spread" "^7.2.0"
-"@babel/plugin-proposal-object-rest-spread@^7.3.2", "@babel/plugin-proposal-object-rest-spread@^7.4.3", "@babel/plugin-proposal-object-rest-spread@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz#1ef173fcf24b3e2df92a678f027673b55e7e3005"
+"@babel/plugin-proposal-object-rest-spread@^7.4.3", "@babel/plugin-proposal-object-rest-spread@^7.6.2", "@babel/plugin-proposal-object-rest-spread@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz#7a093586fcb18b08266eb1a7177da671ac575b63"
+ integrity sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-object-rest-spread" "^7.2.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
+ "@babel/plugin-transform-parameters" "^7.9.5"
-"@babel/plugin-proposal-optional-catch-binding@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5"
+"@babel/plugin-proposal-optional-catch-binding@^7.2.0", "@babel/plugin-proposal-optional-catch-binding@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz#9dee96ab1650eed88646ae9734ca167ac4a9c5c9"
+ integrity sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-optional-catch-binding" "^7.2.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
"@babel/plugin-proposal-optional-chaining@^7.0.0":
version "7.2.0"
@@ -389,6 +538,14 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-optional-chaining" "^7.2.0"
+"@babel/plugin-proposal-optional-chaining@^7.9.0":
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58"
+ integrity sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.0"
+
"@babel/plugin-proposal-pipeline-operator@^7.0.0":
version "7.3.2"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.3.2.tgz#cc6be43c8455422f2faca39b9355558f0bff5a3f"
@@ -403,25 +560,27 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-throw-expressions" "^7.2.0"
-"@babel/plugin-proposal-unicode-property-regex@^7.4.0", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz#501ffd9826c0b91da22690720722ac7cb1ca9c78"
+"@babel/plugin-proposal-unicode-property-regex@^7.4.0", "@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3":
+ version "7.8.8"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz#ee3a95e90cdc04fe8cd92ec3279fa017d68a0d1d"
+ integrity sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-regex" "^7.4.4"
- regexpu-core "^4.5.4"
+ "@babel/helper-create-regexp-features-plugin" "^7.8.8"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-syntax-async-generators@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f"
+"@babel/plugin-syntax-async-generators@^7.2.0", "@babel/plugin-syntax-async-generators@^7.8.0":
+ version "7.8.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
+ integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.0"
"@babel/plugin-syntax-decorators@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz#c50b1b957dcc69e4b1127b65e1c33eef61570c1b"
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.8.3.tgz#8d2c15a9f1af624b0025f961682a9d53d3001bda"
+ integrity sha512-8Hg4dNNT9/LcA1zQlfwuKR8BUc/if7Q7NkTam9sGTcJphLwpf2g4S42uhspQrIrR+dpzE0dtTqBVFoHl8GtnnQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-do-expressions@^7.2.0":
version "7.2.0"
@@ -429,12 +588,19 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-dynamic-import@7.2.0", "@babel/plugin-syntax-dynamic-import@^7.0.0", "@babel/plugin-syntax-dynamic-import@^7.2.0":
+"@babel/plugin-syntax-dynamic-import@^7.0.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612"
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
+"@babel/plugin-syntax-dynamic-import@^7.2.0", "@babel/plugin-syntax-dynamic-import@^7.8.0":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
+ integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
"@babel/plugin-syntax-export-default-from@^7.2.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz#edd83b7adc2e0d059e2467ca96c650ab6d2f3820"
@@ -447,11 +613,19 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-flow@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz#a765f061f803bc48f240c26f8747faf97c26bf7c"
+"@babel/plugin-syntax-flow@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.8.3.tgz#f2c883bd61a6316f2c89380ae5122f923ba4527f"
+ integrity sha512-innAx3bUbA0KSYj2E2MNFSn9hiCeowOFLxlsuhXzw8hMQnzkDomUr9QCD7E9VF60NmnG1sNTuuv6Qf4f8INYsg==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
+
+"@babel/plugin-syntax-function-bind@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.8.3.tgz#17d722cd8efc9bb9cf8bc59327f2b26295b352f7"
+ integrity sha512-gEYag4Q3CfqlQcJQQw/KSWdV2husGOnIsOsRlyzkoaNqj2V/V/CSdSJDCGSl67oJ1bdIYP6TjORWPH561dSJpA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-function-sent@^7.2.0":
version "7.2.0"
@@ -465,17 +639,19 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-json-strings@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470"
+"@babel/plugin-syntax-json-strings@^7.2.0", "@babel/plugin-syntax-json-strings@^7.8.0":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
+ integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-jsx@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7"
+"@babel/plugin-syntax-jsx@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94"
+ integrity sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-logical-assignment-operators@^7.2.0":
version "7.2.0"
@@ -489,23 +665,45 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
+"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
+ integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
"@babel/plugin-syntax-numeric-separator@^7.2.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.2.0.tgz#7470fe070c2944469a756752a69a6963135018be"
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.2.0":
+"@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz#0e3fb63e09bea1b11e96467271c8308007e7c41f"
+ integrity sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.3"
+
+"@babel/plugin-syntax-object-rest-spread@^7.0.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e"
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-optional-catch-binding@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c"
+"@babel/plugin-syntax-object-rest-spread@^7.2.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
+ integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-optional-catch-binding@^7.2.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.0":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
+ integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
"@babel/plugin-syntax-optional-chaining@^7.2.0":
version "7.2.0"
@@ -513,6 +711,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
+"@babel/plugin-syntax-optional-chaining@^7.8.0":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
+ integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
"@babel/plugin-syntax-pipeline-operator@^7.3.0":
version "7.3.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.3.0.tgz#06146d1cd0da3bb5f8354f9ec17f13e007182709"
@@ -525,149 +730,140 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-typescript@^7.2.0":
- version "7.3.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz#a7cc3f66119a9f7ebe2de5383cce193473d65991"
+"@babel/plugin-syntax-top-level-await@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz#3acdece695e6b13aaf57fc291d1a800950c71391"
+ integrity sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-arrow-functions@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550"
+"@babel/plugin-transform-arrow-functions@^7.2.0", "@babel/plugin-transform-arrow-functions@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz#82776c2ed0cd9e1a49956daeb896024c9473b8b6"
+ integrity sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-async-to-generator@^7.4.0", "@babel/plugin-transform-async-to-generator@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.4.tgz#a3f1d01f2f21cadab20b33a82133116f14fb5894"
+"@babel/plugin-transform-async-to-generator@^7.4.0", "@babel/plugin-transform-async-to-generator@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz#4308fad0d9409d71eafb9b1a6ee35f9d64b64086"
+ integrity sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==
dependencies:
- "@babel/helper-module-imports" "^7.0.0"
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-remap-async-to-generator" "^7.1.0"
+ "@babel/helper-module-imports" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/helper-remap-async-to-generator" "^7.8.3"
-"@babel/plugin-transform-block-scoped-functions@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190"
+"@babel/plugin-transform-block-scoped-functions@^7.2.0", "@babel/plugin-transform-block-scoped-functions@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz#437eec5b799b5852072084b3ae5ef66e8349e8a3"
+ integrity sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-block-scoping@^7.4.0", "@babel/plugin-transform-block-scoping@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz#c13279fabf6b916661531841a23c4b7dae29646d"
+"@babel/plugin-transform-block-scoping@^7.4.0", "@babel/plugin-transform-block-scoping@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz#97d35dab66857a437c166358b91d09050c868f3a"
+ integrity sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- lodash "^4.17.11"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ lodash "^4.17.13"
-"@babel/plugin-transform-classes@7.4.3":
- version "7.4.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.3.tgz#adc7a1137ab4287a555d429cc56ecde8f40c062c"
+"@babel/plugin-transform-classes@^7.4.3", "@babel/plugin-transform-classes@^7.9.5":
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz#800597ddb8aefc2c293ed27459c1fcc935a26c2c"
+ integrity sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.0.0"
- "@babel/helper-define-map" "^7.4.0"
- "@babel/helper-function-name" "^7.1.0"
- "@babel/helper-optimise-call-expression" "^7.0.0"
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-replace-supers" "^7.4.0"
- "@babel/helper-split-export-declaration" "^7.4.0"
+ "@babel/helper-annotate-as-pure" "^7.8.3"
+ "@babel/helper-define-map" "^7.8.3"
+ "@babel/helper-function-name" "^7.9.5"
+ "@babel/helper-optimise-call-expression" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/helper-replace-supers" "^7.8.6"
+ "@babel/helper-split-export-declaration" "^7.8.3"
globals "^11.1.0"
-"@babel/plugin-transform-classes@^7.4.3", "@babel/plugin-transform-classes@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz#0ce4094cdafd709721076d3b9c38ad31ca715eb6"
+"@babel/plugin-transform-computed-properties@^7.2.0", "@babel/plugin-transform-computed-properties@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz#96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b"
+ integrity sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.0.0"
- "@babel/helper-define-map" "^7.4.4"
- "@babel/helper-function-name" "^7.1.0"
- "@babel/helper-optimise-call-expression" "^7.0.0"
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-replace-supers" "^7.4.4"
- "@babel/helper-split-export-declaration" "^7.4.4"
- globals "^11.1.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-computed-properties@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da"
+"@babel/plugin-transform-destructuring@^7.4.3", "@babel/plugin-transform-destructuring@^7.9.5":
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz#72c97cf5f38604aea3abf3b935b0e17b1db76a50"
+ integrity sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-destructuring@7.4.3":
- version "7.4.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.3.tgz#1a95f5ca2bf2f91ef0648d5de38a8d472da4350f"
+"@babel/plugin-transform-dotall-regex@^7.4.3", "@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e"
+ integrity sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-create-regexp-features-plugin" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-destructuring@^7.4.3", "@babel/plugin-transform-destructuring@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.4.tgz#9d964717829cc9e4b601fc82a26a71a4d8faf20f"
+"@babel/plugin-transform-duplicate-keys@^7.2.0", "@babel/plugin-transform-duplicate-keys@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz#8d12df309aa537f272899c565ea1768e286e21f1"
+ integrity sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-dotall-regex@^7.4.3", "@babel/plugin-transform-dotall-regex@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3"
+"@babel/plugin-transform-exponentiation-operator@^7.2.0", "@babel/plugin-transform-exponentiation-operator@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz#581a6d7f56970e06bf51560cd64f5e947b70d7b7"
+ integrity sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-regex" "^7.4.4"
- regexpu-core "^4.5.4"
+ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-duplicate-keys@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz#d952c4930f312a4dbfff18f0b2914e60c35530b3"
+"@babel/plugin-transform-flow-strip-types@^7.9.0":
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.9.0.tgz#8a3538aa40434e000b8f44a3c5c9ac7229bd2392"
+ integrity sha512-7Qfg0lKQhEHs93FChxVLAvhBshOPQDtJUTVHr/ZwQNRccCm4O9D79r9tVSoV8iNwjP1YgfD+e/fgHcPkN1qEQg==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/plugin-syntax-flow" "^7.8.3"
-"@babel/plugin-transform-exponentiation-operator@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008"
+"@babel/plugin-transform-for-of@^7.4.3", "@babel/plugin-transform-for-of@^7.9.0":
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz#0f260e27d3e29cd1bb3128da5e76c761aa6c108e"
+ integrity sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ==
dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0"
- "@babel/helper-plugin-utils" "^7.0.0"
-
-"@babel/plugin-transform-flow-strip-types@7.4.0":
- version "7.4.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.0.tgz#f3c59eecff68c99b9c96eaafe4fe9d1fa8947138"
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-flow" "^7.2.0"
-
-"@babel/plugin-transform-flow-strip-types@^7.0.0":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz#d267a081f49a8705fc9146de0768c6b58dccd8f7"
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-flow" "^7.2.0"
-
-"@babel/plugin-transform-for-of@^7.4.3", "@babel/plugin-transform-for-of@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556"
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-function-name@^7.4.3", "@babel/plugin-transform-function-name@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad"
+"@babel/plugin-transform-function-name@^7.4.3", "@babel/plugin-transform-function-name@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz#279373cb27322aaad67c2683e776dfc47196ed8b"
+ integrity sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==
dependencies:
- "@babel/helper-function-name" "^7.1.0"
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-function-name" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-literals@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1"
+"@babel/plugin-transform-literals@^7.2.0", "@babel/plugin-transform-literals@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz#aef239823d91994ec7b68e55193525d76dbd5dc1"
+ integrity sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-member-expression-literals@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz#fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d"
+"@babel/plugin-transform-member-expression-literals@^7.2.0", "@babel/plugin-transform-member-expression-literals@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz#963fed4b620ac7cbf6029c755424029fa3a40410"
+ integrity sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-modules-amd@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6"
+"@babel/plugin-transform-modules-amd@^7.2.0", "@babel/plugin-transform-modules-amd@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz#8539ec42c153d12ea3836e0e3ac30d5aae7b258e"
+ integrity sha512-zoT0kgC3EixAyIAU+9vfaUVKTv9IxBDSabgHoUCBP6FqEJ+iNiN7ip7NBKcYqbfUDfuC2mFCbM7vbu4qJgOnDw==
dependencies:
- "@babel/helper-module-transforms" "^7.1.0"
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-module-transforms" "^7.9.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ babel-plugin-dynamic-import-node "^2.3.3"
"@babel/plugin-transform-modules-commonjs@^7.0.0":
version "7.4.3"
@@ -677,121 +873,143 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/helper-simple-access" "^7.1.0"
-"@babel/plugin-transform-modules-commonjs@^7.4.3", "@babel/plugin-transform-modules-commonjs@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.4.tgz#0bef4713d30f1d78c2e59b3d6db40e60192cac1e"
+"@babel/plugin-transform-modules-commonjs@^7.4.3", "@babel/plugin-transform-modules-commonjs@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz#64b7474a4279ee588cacd1906695ca721687c277"
+ integrity sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==
dependencies:
- "@babel/helper-module-transforms" "^7.4.4"
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-simple-access" "^7.1.0"
+ "@babel/helper-module-transforms" "^7.9.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/helper-simple-access" "^7.8.3"
+ babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-systemjs@^7.4.0", "@babel/plugin-transform-modules-systemjs@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.4.tgz#dc83c5665b07d6c2a7b224c00ac63659ea36a405"
+"@babel/plugin-transform-modules-systemjs@^7.4.0", "@babel/plugin-transform-modules-systemjs@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.6.tgz#207f1461c78a231d5337a92140e52422510d81a4"
+ integrity sha512-NW5XQuW3N2tTHim8e1b7qGy7s0kZ2OH3m5octc49K1SdAKGxYxeIx7hiIz05kS1R2R+hOWcsr1eYwcGhrdHsrg==
dependencies:
- "@babel/helper-hoist-variables" "^7.4.4"
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-hoist-variables" "^7.8.3"
+ "@babel/helper-module-transforms" "^7.9.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-umd@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae"
+"@babel/plugin-transform-modules-umd@^7.2.0", "@babel/plugin-transform-modules-umd@^7.9.0":
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz#e909acae276fec280f9b821a5f38e1f08b480697"
+ integrity sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ==
dependencies:
- "@babel/helper-module-transforms" "^7.1.0"
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-module-transforms" "^7.9.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-named-capturing-groups-regex@^7.4.2":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.4.tgz#5611d96d987dfc4a3a81c4383bb173361037d68d"
+"@babel/plugin-transform-named-capturing-groups-regex@^7.4.2", "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c"
+ integrity sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==
dependencies:
- regexp-tree "^0.1.0"
+ "@babel/helper-create-regexp-features-plugin" "^7.8.3"
-"@babel/plugin-transform-named-capturing-groups-regex@^7.4.5":
- version "7.4.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz#9d269fd28a370258199b4294736813a60bbdd106"
+"@babel/plugin-transform-new-target@^7.4.0", "@babel/plugin-transform-new-target@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz#60cc2ae66d85c95ab540eb34babb6434d4c70c43"
+ integrity sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==
dependencies:
- regexp-tree "^0.1.6"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-new-target@^7.4.0", "@babel/plugin-transform-new-target@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5"
+"@babel/plugin-transform-object-super@^7.2.0", "@babel/plugin-transform-object-super@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz#ebb6a1e7a86ffa96858bd6ac0102d65944261725"
+ integrity sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/helper-replace-supers" "^7.8.3"
-"@babel/plugin-transform-object-super@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598"
+"@babel/plugin-transform-parameters@^7.4.3", "@babel/plugin-transform-parameters@^7.9.5":
+ version "7.9.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz#173b265746f5e15b2afe527eeda65b73623a0795"
+ integrity sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-replace-supers" "^7.1.0"
+ "@babel/helper-get-function-arity" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-parameters@^7.4.3", "@babel/plugin-transform-parameters@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16"
+"@babel/plugin-transform-property-literals@^7.2.0", "@babel/plugin-transform-property-literals@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz#33194300d8539c1ed28c62ad5087ba3807b98263"
+ integrity sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==
dependencies:
- "@babel/helper-call-delegate" "^7.4.4"
- "@babel/helper-get-function-arity" "^7.0.0"
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-property-literals@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz#03e33f653f5b25c4eb572c98b9485055b389e905"
+"@babel/plugin-transform-react-constant-elements@^7.0.0", "@babel/plugin-transform-react-constant-elements@^7.2.0", "@babel/plugin-transform-react-constant-elements@^7.6.3":
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.9.0.tgz#a75abc936a3819edec42d3386d9f1c93f28d9d9e"
+ integrity sha512-wXMXsToAUOxJuBBEHajqKLFWcCkOSLshTI2ChCFFj1zDd7od4IOxiwLCOObNUvOpkxLpjIuaIdBMmNt6ocCPAw==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-react-constant-elements@7.2.0", "@babel/plugin-transform-react-constant-elements@^7.0.0", "@babel/plugin-transform-react-constant-elements@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.2.0.tgz#ed602dc2d8bff2f0cb1a5ce29263dbdec40779f7"
+"@babel/plugin-transform-react-display-name@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz#70ded987c91609f78353dd76d2fb2a0bb991e8e5"
+ integrity sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.0.0"
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-react-display-name@7.2.0", "@babel/plugin-transform-react-display-name@^7.0.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0"
+"@babel/plugin-transform-react-inline-elements@^7.0.0":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-inline-elements/-/plugin-transform-react-inline-elements-7.8.3.tgz#fc234d02a35bb188ee3f933d068824e067e42b23"
+ integrity sha512-CGKUlW3vtgk6YYrIMyfpohmmpILnaeFwszqwTIcem2LQkK1qWJj5w2yTZ7LJr2IR8F0XQ60AZoM8jgAB4zpxCg==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-builder-react-jsx" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-react-jsx-self@^7.0.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz#461e21ad9478f1031dd5e276108d027f1b5240ba"
+"@babel/plugin-transform-react-jsx-development@^7.9.0":
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.9.0.tgz#3c2a130727caf00c2a293f0aed24520825dbf754"
+ integrity sha512-tK8hWKrQncVvrhvtOiPpKrQjfNX3DtkNLSX4ObuGcpS9p0QrGetKmlySIGR07y48Zft8WVgPakqd/bk46JrMSw==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-jsx" "^7.2.0"
+ "@babel/helper-builder-react-jsx-experimental" "^7.9.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/plugin-syntax-jsx" "^7.8.3"
-"@babel/plugin-transform-react-jsx-source@^7.0.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz#20c8c60f0140f5dd3cd63418d452801cf3f7180f"
+"@babel/plugin-transform-react-jsx-self@^7.9.0":
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.9.0.tgz#f4f26a325820205239bb915bad8e06fcadabb49b"
+ integrity sha512-K2ObbWPKT7KUTAoyjCsFilOkEgMvFG+y0FqOl6Lezd0/13kMkkjHskVsZvblRPj1PHA44PrToaZANrryppzTvQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-jsx" "^7.2.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/plugin-syntax-jsx" "^7.8.3"
-"@babel/plugin-transform-react-jsx@^7.0.0":
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290"
+"@babel/plugin-transform-react-jsx-source@^7.0.0", "@babel/plugin-transform-react-jsx-source@^7.9.0":
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz#89ef93025240dd5d17d3122294a093e5e0183de0"
+ integrity sha512-K6m3LlSnTSfRkM6FcRk8saNEeaeyG5k7AVkBU2bZK3+1zdkSED3qNdsWrUgQBeTVD2Tp3VMmerxVO2yM5iITmw==
dependencies:
- "@babel/helper-builder-react-jsx" "^7.3.0"
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-jsx" "^7.2.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/plugin-syntax-jsx" "^7.8.3"
-"@babel/plugin-transform-regenerator@^7.4.3":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.4.tgz#5b4da4df79391895fca9e28f99e87e22cfc02072"
+"@babel/plugin-transform-react-jsx@^7.9.4":
+ version "7.9.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.4.tgz#86f576c8540bd06d0e95e0b61ea76d55f6cbd03f"
+ integrity sha512-Mjqf3pZBNLt854CK0C/kRuXAnE6H/bo7xYojP+WGtX8glDGSibcwnsWwhwoSuRg0+EBnxPC1ouVnuetUIlPSAw==
dependencies:
- regenerator-transform "^0.13.4"
+ "@babel/helper-builder-react-jsx" "^7.9.0"
+ "@babel/helper-builder-react-jsx-experimental" "^7.9.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/plugin-syntax-jsx" "^7.8.3"
-"@babel/plugin-transform-regenerator@^7.4.5":
- version "7.4.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f"
+"@babel/plugin-transform-regenerator@^7.4.3", "@babel/plugin-transform-regenerator@^7.8.7":
+ version "7.8.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz#5e46a0dca2bee1ad8285eb0527e6abc9c37672f8"
+ integrity sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==
dependencies:
- regenerator-transform "^0.14.0"
+ regenerator-transform "^0.14.2"
-"@babel/plugin-transform-reserved-words@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz#4792af87c998a49367597d07fedf02636d2e1634"
+"@babel/plugin-transform-reserved-words@^7.2.0", "@babel/plugin-transform-reserved-words@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz#9a0635ac4e665d29b162837dd3cc50745dfdf1f5"
+ integrity sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-runtime@7.4.3", "@babel/plugin-transform-runtime@^7.0.0":
+"@babel/plugin-transform-runtime@^7.0.0":
version "7.4.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.4.3.tgz#4d6691690ecdc9f5cb8c3ab170a1576c1f556371"
dependencies:
@@ -800,52 +1018,50 @@
resolve "^1.8.1"
semver "^5.5.1"
-"@babel/plugin-transform-shorthand-properties@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0"
+"@babel/plugin-transform-shorthand-properties@^7.2.0", "@babel/plugin-transform-shorthand-properties@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz#28545216e023a832d4d3a1185ed492bcfeac08c8"
+ integrity sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-spread@^7.2.0":
- version "7.2.2"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406"
+"@babel/plugin-transform-spread@^7.2.0", "@babel/plugin-transform-spread@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz#9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8"
+ integrity sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-sticky-regex@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1"
+"@babel/plugin-transform-sticky-regex@^7.2.0", "@babel/plugin-transform-sticky-regex@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz#be7a1290f81dae767475452199e1f76d6175b100"
+ integrity sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-regex" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/helper-regex" "^7.8.3"
-"@babel/plugin-transform-template-literals@^7.2.0", "@babel/plugin-transform-template-literals@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0"
+"@babel/plugin-transform-template-literals@^7.2.0", "@babel/plugin-transform-template-literals@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz#7bfa4732b455ea6a43130adc0ba767ec0e402a80"
+ integrity sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.0.0"
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-annotate-as-pure" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-typeof-symbol@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2"
+"@babel/plugin-transform-typeof-symbol@^7.2.0", "@babel/plugin-transform-typeof-symbol@^7.8.4":
+ version "7.8.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz#ede4062315ce0aaf8a657a920858f1a2f35fc412"
+ integrity sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-transform-typescript@^7.3.2":
- version "7.4.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.4.5.tgz#ab3351ba35307b79981993536c93ff8be050ba28"
+"@babel/plugin-transform-unicode-regex@^7.4.3", "@babel/plugin-transform-unicode-regex@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz#0cef36e3ba73e5c57273effb182f46b91a1ecaad"
+ integrity sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-syntax-typescript" "^7.2.0"
-
-"@babel/plugin-transform-unicode-regex@^7.4.3", "@babel/plugin-transform-unicode-regex@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f"
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-regex" "^7.4.4"
- regexpu-core "^4.5.4"
+ "@babel/helper-create-regexp-features-plugin" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.8.3"
"@babel/polyfill@^7.0.0":
version "7.4.3"
@@ -854,7 +1070,7 @@
core-js "^2.6.5"
regenerator-runtime "^0.13.2"
-"@babel/preset-env@7.4.3", "@babel/preset-env@^7.0.0":
+"@babel/preset-env@^7.0.0":
version "7.4.3"
resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.4.3.tgz#e71e16e123dc0fbf65a52cbcbcefd072fbd02880"
dependencies:
@@ -907,82 +1123,115 @@
js-levenshtein "^1.1.3"
semver "^5.5.0"
-"@babel/preset-env@^7.4.3", "@babel/preset-env@^7.4.5":
- version "7.4.5"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.4.5.tgz#2fad7f62983d5af563b5f3139242755884998a58"
- dependencies:
- "@babel/helper-module-imports" "^7.0.0"
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-proposal-async-generator-functions" "^7.2.0"
- "@babel/plugin-proposal-json-strings" "^7.2.0"
- "@babel/plugin-proposal-object-rest-spread" "^7.4.4"
- "@babel/plugin-proposal-optional-catch-binding" "^7.2.0"
- "@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
- "@babel/plugin-syntax-async-generators" "^7.2.0"
- "@babel/plugin-syntax-json-strings" "^7.2.0"
- "@babel/plugin-syntax-object-rest-spread" "^7.2.0"
- "@babel/plugin-syntax-optional-catch-binding" "^7.2.0"
- "@babel/plugin-transform-arrow-functions" "^7.2.0"
- "@babel/plugin-transform-async-to-generator" "^7.4.4"
- "@babel/plugin-transform-block-scoped-functions" "^7.2.0"
- "@babel/plugin-transform-block-scoping" "^7.4.4"
- "@babel/plugin-transform-classes" "^7.4.4"
- "@babel/plugin-transform-computed-properties" "^7.2.0"
- "@babel/plugin-transform-destructuring" "^7.4.4"
- "@babel/plugin-transform-dotall-regex" "^7.4.4"
- "@babel/plugin-transform-duplicate-keys" "^7.2.0"
- "@babel/plugin-transform-exponentiation-operator" "^7.2.0"
- "@babel/plugin-transform-for-of" "^7.4.4"
- "@babel/plugin-transform-function-name" "^7.4.4"
- "@babel/plugin-transform-literals" "^7.2.0"
- "@babel/plugin-transform-member-expression-literals" "^7.2.0"
- "@babel/plugin-transform-modules-amd" "^7.2.0"
- "@babel/plugin-transform-modules-commonjs" "^7.4.4"
- "@babel/plugin-transform-modules-systemjs" "^7.4.4"
- "@babel/plugin-transform-modules-umd" "^7.2.0"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5"
- "@babel/plugin-transform-new-target" "^7.4.4"
- "@babel/plugin-transform-object-super" "^7.2.0"
- "@babel/plugin-transform-parameters" "^7.4.4"
- "@babel/plugin-transform-property-literals" "^7.2.0"
- "@babel/plugin-transform-regenerator" "^7.4.5"
- "@babel/plugin-transform-reserved-words" "^7.2.0"
- "@babel/plugin-transform-shorthand-properties" "^7.2.0"
- "@babel/plugin-transform-spread" "^7.2.0"
- "@babel/plugin-transform-sticky-regex" "^7.2.0"
- "@babel/plugin-transform-template-literals" "^7.4.4"
- "@babel/plugin-transform-typeof-symbol" "^7.2.0"
- "@babel/plugin-transform-unicode-regex" "^7.4.4"
- "@babel/types" "^7.4.4"
- browserslist "^4.6.0"
- core-js-compat "^3.1.1"
+"@babel/preset-env@^7.4.5":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.6.tgz#df063b276c6455ec6fcfc6e53aacc38da9b0aea6"
+ integrity sha512-0gQJ9RTzO0heXOhzftog+a/WyOuqMrAIugVYxMYf83gh1CQaQDjMtsOpqOwXyDL/5JcWsrCm8l4ju8QC97O7EQ==
+ dependencies:
+ "@babel/compat-data" "^7.9.6"
+ "@babel/helper-compilation-targets" "^7.9.6"
+ "@babel/helper-module-imports" "^7.8.3"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/plugin-proposal-async-generator-functions" "^7.8.3"
+ "@babel/plugin-proposal-dynamic-import" "^7.8.3"
+ "@babel/plugin-proposal-json-strings" "^7.8.3"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3"
+ "@babel/plugin-proposal-numeric-separator" "^7.8.3"
+ "@babel/plugin-proposal-object-rest-spread" "^7.9.6"
+ "@babel/plugin-proposal-optional-catch-binding" "^7.8.3"
+ "@babel/plugin-proposal-optional-chaining" "^7.9.0"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.8.3"
+ "@babel/plugin-syntax-async-generators" "^7.8.0"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.0"
+ "@babel/plugin-syntax-json-strings" "^7.8.0"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
+ "@babel/plugin-syntax-numeric-separator" "^7.8.0"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.0"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.0"
+ "@babel/plugin-syntax-top-level-await" "^7.8.3"
+ "@babel/plugin-transform-arrow-functions" "^7.8.3"
+ "@babel/plugin-transform-async-to-generator" "^7.8.3"
+ "@babel/plugin-transform-block-scoped-functions" "^7.8.3"
+ "@babel/plugin-transform-block-scoping" "^7.8.3"
+ "@babel/plugin-transform-classes" "^7.9.5"
+ "@babel/plugin-transform-computed-properties" "^7.8.3"
+ "@babel/plugin-transform-destructuring" "^7.9.5"
+ "@babel/plugin-transform-dotall-regex" "^7.8.3"
+ "@babel/plugin-transform-duplicate-keys" "^7.8.3"
+ "@babel/plugin-transform-exponentiation-operator" "^7.8.3"
+ "@babel/plugin-transform-for-of" "^7.9.0"
+ "@babel/plugin-transform-function-name" "^7.8.3"
+ "@babel/plugin-transform-literals" "^7.8.3"
+ "@babel/plugin-transform-member-expression-literals" "^7.8.3"
+ "@babel/plugin-transform-modules-amd" "^7.9.6"
+ "@babel/plugin-transform-modules-commonjs" "^7.9.6"
+ "@babel/plugin-transform-modules-systemjs" "^7.9.6"
+ "@babel/plugin-transform-modules-umd" "^7.9.0"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3"
+ "@babel/plugin-transform-new-target" "^7.8.3"
+ "@babel/plugin-transform-object-super" "^7.8.3"
+ "@babel/plugin-transform-parameters" "^7.9.5"
+ "@babel/plugin-transform-property-literals" "^7.8.3"
+ "@babel/plugin-transform-regenerator" "^7.8.7"
+ "@babel/plugin-transform-reserved-words" "^7.8.3"
+ "@babel/plugin-transform-shorthand-properties" "^7.8.3"
+ "@babel/plugin-transform-spread" "^7.8.3"
+ "@babel/plugin-transform-sticky-regex" "^7.8.3"
+ "@babel/plugin-transform-template-literals" "^7.8.3"
+ "@babel/plugin-transform-typeof-symbol" "^7.8.4"
+ "@babel/plugin-transform-unicode-regex" "^7.8.3"
+ "@babel/preset-modules" "^0.1.3"
+ "@babel/types" "^7.9.6"
+ browserslist "^4.11.1"
+ core-js-compat "^3.6.2"
invariant "^2.2.2"
- js-levenshtein "^1.1.3"
+ levenary "^1.1.1"
semver "^5.5.0"
"@babel/preset-flow@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.0.0.tgz#afd764835d9535ec63d8c7d4caf1c06457263da2"
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.9.0.tgz#fee847c3e090b0b2d9227c1949e4da1d1379280d"
+ integrity sha512-88uSmlshIrlmPkNkEcx3UpSZ6b8n0UGBq0/0ZMZCF/uxAW0XIAUuDHBhIOAh0pvweafH4RxOwi/H3rWhtqOYPA==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-transform-flow-strip-types" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/plugin-transform-flow-strip-types" "^7.9.0"
-"@babel/preset-react@7.0.0", "@babel/preset-react@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0"
+"@babel/preset-modules@^0.1.3":
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72"
+ integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-transform-react-display-name" "^7.0.0"
- "@babel/plugin-transform-react-jsx" "^7.0.0"
- "@babel/plugin-transform-react-jsx-self" "^7.0.0"
- "@babel/plugin-transform-react-jsx-source" "^7.0.0"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
+ "@babel/plugin-transform-dotall-regex" "^7.4.4"
+ "@babel/types" "^7.4.4"
+ esutils "^2.0.2"
-"@babel/preset-typescript@7.3.3":
- version "7.3.3"
- resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.3.3.tgz#88669911053fa16b2b276ea2ede2ca603b3f307a"
+"@babel/preset-react@^7.0.0":
+ version "7.9.4"
+ resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.9.4.tgz#c6c97693ac65b6b9c0b4f25b948a8f665463014d"
+ integrity sha512-AxylVB3FXeOTQXNXyiuAQJSvss62FEotbX2Pzx3K/7c+MKJMdSg6Ose6QYllkdCFA8EInCJVw7M/o5QbLuA4ZQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-transform-typescript" "^7.3.2"
+ "@babel/helper-plugin-utils" "^7.8.3"
+ "@babel/plugin-transform-react-display-name" "^7.8.3"
+ "@babel/plugin-transform-react-jsx" "^7.9.4"
+ "@babel/plugin-transform-react-jsx-development" "^7.9.0"
+ "@babel/plugin-transform-react-jsx-self" "^7.9.0"
+ "@babel/plugin-transform-react-jsx-source" "^7.9.0"
+
+"@babel/register@7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.0.0.tgz#fa634bae1bfa429f60615b754fc1f1d745edd827"
+ integrity sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g==
+ dependencies:
+ core-js "^2.5.7"
+ find-cache-dir "^1.0.0"
+ home-or-tmp "^3.0.0"
+ lodash "^4.17.10"
+ mkdirp "^0.5.1"
+ pirates "^4.0.0"
+ source-map-support "^0.5.9"
"@babel/register@^7.0.0":
version "7.4.0"
@@ -1001,30 +1250,29 @@
dependencies:
regenerator-runtime "^0.12.0"
-"@babel/runtime@7.3.4":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.4.tgz#73d12ba819e365fcf7fd152aed56d6df97d21c83"
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.2.0", "@babel/runtime@^7.4.3", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.6.tgz#a9102eb5cadedf3f31d08a9ecf294af7827ea29f"
+ integrity sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==
dependencies:
- regenerator-runtime "^0.12.0"
+ regenerator-runtime "^0.13.4"
-"@babel/runtime@7.4.3", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4":
+"@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4":
version "7.4.3"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.3.tgz#79888e452034223ad9609187a0ad1fe0d2ad4bdc"
dependencies:
regenerator-runtime "^0.13.2"
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.2.0", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.3", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5":
+"@babel/runtime@^7.4.0":
version "7.4.5"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.5.tgz#582bb531f5f9dc67d2fcb682979894f75e253f12"
dependencies:
regenerator-runtime "^0.13.2"
-"@babel/runtime@^7.5.5":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132"
- integrity sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ==
- dependencies:
- regenerator-runtime "^0.13.2"
+"@babel/standalone@^7.4.5":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.9.6.tgz#7a5f82c6fa29959b12f708213be6de8ec0b79338"
+ integrity sha512-UE0vm/4vuwzGgGNY9wR78ft3DUcHvAU0o/esXas2qjUL8yHMAEc04OmLkb3dfkUwlqbQ4+vC1OLBzwhcoIqLsA==
"@babel/template@^7.0.0":
version "7.4.0"
@@ -1034,13 +1282,14 @@
"@babel/parser" "^7.4.0"
"@babel/types" "^7.4.0"
-"@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237"
+"@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4", "@babel/template@^7.8.3", "@babel/template@^7.8.6":
+ version "7.8.6"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b"
+ integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==
dependencies:
- "@babel/code-frame" "^7.0.0"
- "@babel/parser" "^7.4.4"
- "@babel/types" "^7.4.4"
+ "@babel/code-frame" "^7.8.3"
+ "@babel/parser" "^7.8.6"
+ "@babel/types" "^7.8.6"
"@babel/traverse@^7.0.0":
version "7.4.3"
@@ -1056,40 +1305,28 @@
globals "^11.1.0"
lodash "^4.17.11"
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.4", "@babel/traverse@^7.4.5":
- version "7.4.5"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.4.5.tgz#4e92d1728fd2f1897dafdd321efbff92156c3216"
- dependencies:
- "@babel/code-frame" "^7.0.0"
- "@babel/generator" "^7.4.4"
- "@babel/helper-function-name" "^7.1.0"
- "@babel/helper-split-export-declaration" "^7.4.4"
- "@babel/parser" "^7.4.5"
- "@babel/types" "^7.4.4"
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.8.3", "@babel/traverse@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.6.tgz#5540d7577697bf619cc57b92aa0f1c231a94f442"
+ integrity sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==
+ dependencies:
+ "@babel/code-frame" "^7.8.3"
+ "@babel/generator" "^7.9.6"
+ "@babel/helper-function-name" "^7.9.5"
+ "@babel/helper-split-export-declaration" "^7.8.3"
+ "@babel/parser" "^7.9.6"
+ "@babel/types" "^7.9.6"
debug "^4.1.0"
globals "^11.1.0"
- lodash "^4.17.11"
-
-"@babel/traverse@^7.4.3":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.4.4.tgz#0776f038f6d78361860b6823887d4f3937133fe8"
- dependencies:
- "@babel/code-frame" "^7.0.0"
- "@babel/generator" "^7.4.4"
- "@babel/helper-function-name" "^7.1.0"
- "@babel/helper-split-export-declaration" "^7.4.4"
- "@babel/parser" "^7.4.4"
- "@babel/types" "^7.4.4"
- debug "^4.1.0"
- globals "^11.1.0"
- lodash "^4.17.11"
+ lodash "^4.17.13"
-"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4":
- version "7.4.4"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.4.4.tgz#8db9e9a629bb7c29370009b4b779ed93fe57d5f0"
+"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.9.0", "@babel/types@^7.9.5", "@babel/types@^7.9.6":
+ version "7.9.6"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7"
+ integrity sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==
dependencies:
- esutils "^2.0.2"
- lodash "^4.17.11"
+ "@babel/helper-validator-identifier" "^7.9.5"
+ lodash "^4.17.13"
to-fast-properties "^2.0.0"
"@babel/types@^7.0.0-beta.49":
@@ -1100,6 +1337,11 @@
lodash "^4.17.11"
to-fast-properties "^2.0.0"
+"@base2/pretty-print-object@1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.0.tgz#860ce718b0b73f4009e153541faff2cb6b85d047"
+ integrity sha512-4Th98KlMHr5+JkxfcoDT//6vY8vM+iSPrLNpHhRyLx2CFYi8e2RfqPLdpbnpo0Q5lQC5hNB79yes07zb02fvCw==
+
"@cnakazawa/watch@^1.0.3":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef"
@@ -1135,17 +1377,6 @@
"@deck.gl/core" "^6.4.9"
prop-types "^15.6.0"
-"@emotion/babel-utils@^0.6.4":
- version "0.6.10"
- resolved "https://registry.yarnpkg.com/@emotion/babel-utils/-/babel-utils-0.6.10.tgz#83dbf3dfa933fae9fc566e54fbb45f14674c6ccc"
- dependencies:
- "@emotion/hash" "^0.6.6"
- "@emotion/memoize" "^0.6.6"
- "@emotion/serialize" "^0.9.1"
- convert-source-map "^1.5.1"
- find-root "^1.1.0"
- source-map "^0.7.2"
-
"@emotion/cache@^10.0.15":
version "10.0.15"
resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.15.tgz#b81767b48015aae2689c60373992145c67b8de02"
@@ -1156,16 +1387,17 @@
"@emotion/utils" "0.11.2"
"@emotion/weak-memoize" "0.2.3"
-"@emotion/cache@^10.0.9":
- version "10.0.9"
- resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.9.tgz#e0c7b7a289f7530edcfad4dcf3858bd2e5700a6f"
+"@emotion/cache@^10.0.27", "@emotion/cache@^10.0.9":
+ version "10.0.29"
+ resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.29.tgz#87e7e64f412c060102d589fe7c6dc042e6f9d1e0"
+ integrity sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==
dependencies:
- "@emotion/sheet" "0.9.2"
- "@emotion/stylis" "0.8.3"
- "@emotion/utils" "0.11.1"
- "@emotion/weak-memoize" "0.2.2"
+ "@emotion/sheet" "0.9.4"
+ "@emotion/stylis" "0.8.5"
+ "@emotion/utils" "0.11.3"
+ "@emotion/weak-memoize" "0.2.5"
-"@emotion/core@^10.0.10", "@emotion/core@^10.0.7", "@emotion/core@^10.0.9":
+"@emotion/core@^10.0.10":
version "10.0.10"
resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.0.10.tgz#8d3114e5a2f8b178a7067c603a2937516f180b08"
dependencies:
@@ -1187,6 +1419,18 @@
"@emotion/sheet" "0.9.3"
"@emotion/utils" "0.11.2"
+"@emotion/core@^10.0.20", "@emotion/core@^10.0.9":
+ version "10.0.28"
+ resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.0.28.tgz#bb65af7262a234593a9e952c041d0f1c9b9bef3d"
+ integrity sha512-pH8UueKYO5jgg0Iq+AmCLxBsvuGtvlmiDCOuv8fGNYn3cowFpLN98L8zO56U0H1PjDIyAlXymgL3Wu7u7v6hbA==
+ dependencies:
+ "@babel/runtime" "^7.5.5"
+ "@emotion/cache" "^10.0.27"
+ "@emotion/css" "^10.0.27"
+ "@emotion/serialize" "^0.11.15"
+ "@emotion/sheet" "0.9.4"
+ "@emotion/utils" "0.11.3"
+
"@emotion/css@^10.0.14":
version "10.0.14"
resolved "https://registry.yarnpkg.com/@emotion/css/-/css-10.0.14.tgz#95dacabdd0e22845d1a1b0b5968d9afa34011139"
@@ -1196,32 +1440,24 @@
"@emotion/utils" "0.11.2"
babel-plugin-emotion "^10.0.14"
-"@emotion/css@^10.0.9":
- version "10.0.9"
- resolved "https://registry.yarnpkg.com/@emotion/css/-/css-10.0.9.tgz#ea0df431965a308f6cb1d61386df8ad61e5befb5"
+"@emotion/css@^10.0.27", "@emotion/css@^10.0.9":
+ version "10.0.27"
+ resolved "https://registry.yarnpkg.com/@emotion/css/-/css-10.0.27.tgz#3a7458198fbbebb53b01b2b87f64e5e21241e14c"
+ integrity sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==
dependencies:
- "@emotion/serialize" "^0.11.6"
- "@emotion/utils" "0.11.1"
- babel-plugin-emotion "^10.0.9"
-
-"@emotion/hash@0.7.1":
- version "0.7.1"
- resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.1.tgz#9833722341379fb7d67f06a4b00ab3c37913da53"
+ "@emotion/serialize" "^0.11.15"
+ "@emotion/utils" "0.11.3"
+ babel-plugin-emotion "^10.0.27"
"@emotion/hash@0.7.2", "@emotion/hash@^0.7.1":
version "0.7.2"
resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.2.tgz#53211e564604beb9befa7a4400ebf8147473eeef"
integrity sha512-RMtr1i6E8MXaBWwhXL3yeOU8JXRnz8GNxHvaUfVvwxokvayUY0zoBeWbKw1S9XkufmGEEdQd228pSZXFkAln8Q==
-"@emotion/hash@^0.6.2", "@emotion/hash@^0.6.6":
- version "0.6.6"
- resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.6.6.tgz#62266c5f0eac6941fece302abad69f2ee7e25e44"
-
-"@emotion/is-prop-valid@0.7.3":
- version "0.7.3"
- resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.7.3.tgz#a6bf4fa5387cbba59d44e698a4680f481a8da6cc"
- dependencies:
- "@emotion/memoize" "0.7.1"
+"@emotion/hash@0.8.0":
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413"
+ integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==
"@emotion/is-prop-valid@0.8.2":
version "0.8.2"
@@ -1230,27 +1466,32 @@
dependencies:
"@emotion/memoize" "0.7.2"
-"@emotion/memoize@0.7.1":
- version "0.7.1"
- resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.1.tgz#e93c13942592cf5ef01aa8297444dc192beee52f"
+"@emotion/is-prop-valid@0.8.8":
+ version "0.8.8"
+ resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a"
+ integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==
+ dependencies:
+ "@emotion/memoize" "0.7.4"
"@emotion/memoize@0.7.2":
version "0.7.2"
resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.2.tgz#7f4c71b7654068dfcccad29553520f984cc66b30"
integrity sha512-hnHhwQzvPCW1QjBWFyBtsETdllOM92BfrKWbUTmh9aeOlcVOiXvlPsK4104xH8NsaKfg86PTFsWkueQeUfMA/w==
-"@emotion/memoize@^0.6.1", "@emotion/memoize@^0.6.6":
- version "0.6.6"
- resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.6.6.tgz#004b98298d04c7ca3b4f50ca2035d4f60d2eed1b"
-
-"@emotion/serialize@^0.11.6":
- version "0.11.6"
- resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.6.tgz#78be8b9ee9ff49e0196233ba6ec1c1768ba1e1fc"
- dependencies:
- "@emotion/hash" "0.7.1"
- "@emotion/memoize" "0.7.1"
- "@emotion/unitless" "0.7.3"
- "@emotion/utils" "0.11.1"
+"@emotion/memoize@0.7.4":
+ version "0.7.4"
+ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb"
+ integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==
+
+"@emotion/serialize@^0.11.15", "@emotion/serialize@^0.11.16", "@emotion/serialize@^0.11.6":
+ version "0.11.16"
+ resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.16.tgz#dee05f9e96ad2fb25a5206b6d759b2d1ed3379ad"
+ integrity sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==
+ dependencies:
+ "@emotion/hash" "0.8.0"
+ "@emotion/memoize" "0.7.4"
+ "@emotion/unitless" "0.7.5"
+ "@emotion/utils" "0.11.3"
csstype "^2.5.7"
"@emotion/serialize@^0.11.8":
@@ -1275,32 +1516,30 @@
"@emotion/utils" "0.11.2"
csstype "^2.5.7"
-"@emotion/serialize@^0.9.1":
- version "0.9.1"
- resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.9.1.tgz#a494982a6920730dba6303eb018220a2b629c145"
- dependencies:
- "@emotion/hash" "^0.6.6"
- "@emotion/memoize" "^0.6.6"
- "@emotion/unitless" "^0.6.7"
- "@emotion/utils" "^0.8.2"
-
"@emotion/sheet@0.9.2":
version "0.9.2"
resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.2.tgz#74e5c6b5e489a1ba30ab246ab5eedd96916487c4"
+ integrity sha512-pVBLzIbC/QCHDKJF2E82V2H/W/B004mDFQZiyo/MSR+VC4pV5JLG0TF/zgQDFvP3fZL/5RTPGEmXlYJBMUuJ+A==
"@emotion/sheet@0.9.3":
version "0.9.3"
resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.3.tgz#689f135ecf87d3c650ed0c4f5ddcbe579883564a"
integrity sha512-c3Q6V7Df7jfwSq5AzQWbXHa5soeE4F5cbqi40xn0CzXxWW9/6Mxq48WJEtqfWzbZtW9odZdnRAkwCQwN12ob4A==
-"@emotion/styled-base@^10.0.10":
- version "10.0.10"
- resolved "https://registry.yarnpkg.com/@emotion/styled-base/-/styled-base-10.0.10.tgz#ffb811295c9dcd9b3c12bf93301d7d8bcb02e6f4"
+"@emotion/sheet@0.9.4":
+ version "0.9.4"
+ resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.4.tgz#894374bea39ec30f489bbfc3438192b9774d32e5"
+ integrity sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==
+
+"@emotion/styled-base@^10.0.10", "@emotion/styled-base@^10.0.27":
+ version "10.0.31"
+ resolved "https://registry.yarnpkg.com/@emotion/styled-base/-/styled-base-10.0.31.tgz#940957ee0aa15c6974adc7d494ff19765a2f742a"
+ integrity sha512-wTOE1NcXmqMWlyrtwdkqg87Mu6Rj1MaukEoEmEkHirO5IoHDJ8LgCQL4MjJODgxWxXibGR3opGp1p7YvkNEdXQ==
dependencies:
- "@emotion/is-prop-valid" "0.7.3"
- "@emotion/serialize" "^0.11.6"
- "@emotion/utils" "0.11.1"
- object-assign "^4.1.1"
+ "@babel/runtime" "^7.5.5"
+ "@emotion/is-prop-valid" "0.8.8"
+ "@emotion/serialize" "^0.11.15"
+ "@emotion/utils" "0.11.3"
"@emotion/styled-base@^10.0.14":
version "10.0.14"
@@ -1312,7 +1551,7 @@
"@emotion/serialize" "^0.11.8"
"@emotion/utils" "0.11.2"
-"@emotion/styled@^10.0.10", "@emotion/styled@^10.0.7":
+"@emotion/styled@^10.0.10":
version "10.0.11"
resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-10.0.11.tgz#f749ca95bfe398b3e511b65ea14b16984f049e6d"
dependencies:
@@ -1327,57 +1566,87 @@
"@emotion/styled-base" "^10.0.14"
babel-plugin-emotion "^10.0.14"
-"@emotion/stylis@0.8.3":
- version "0.8.3"
- resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.3.tgz#3ca7e9bcb31b3cb4afbaeb66156d86ee85e23246"
+"@emotion/styled@^10.0.17":
+ version "10.0.27"
+ resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-10.0.27.tgz#12cb67e91f7ad7431e1875b1d83a94b814133eaf"
+ integrity sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==
+ dependencies:
+ "@emotion/styled-base" "^10.0.27"
+ babel-plugin-emotion "^10.0.27"
"@emotion/stylis@0.8.4":
version "0.8.4"
resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.4.tgz#6c51afdf1dd0d73666ba09d2eb6c25c220d6fe4c"
integrity sha512-TLmkCVm8f8gH0oLv+HWKiu7e8xmBIaokhxcEKPh1m8pXiV/akCiq50FvYgOwY42rjejck8nsdQxZlXZ7pmyBUQ==
-"@emotion/stylis@^0.7.0":
- version "0.7.1"
- resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.7.1.tgz#50f63225e712d99e2b2b39c19c70fff023793ca5"
-
-"@emotion/unitless@0.7.3":
- version "0.7.3"
- resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.3.tgz#6310a047f12d21a1036fb031317219892440416f"
+"@emotion/stylis@0.8.5":
+ version "0.8.5"
+ resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04"
+ integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==
"@emotion/unitless@0.7.4":
version "0.7.4"
resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.4.tgz#a87b4b04e5ae14a88d48ebef15015f6b7d1f5677"
integrity sha512-kBa+cDHOR9jpRJ+kcGMsysrls0leukrm68DmFQoMIWQcXdr2cZvyvypWuGYT7U+9kAExUE7+T7r6G3C3A6L8MQ==
-"@emotion/unitless@^0.6.2", "@emotion/unitless@^0.6.7":
- version "0.6.7"
- resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.6.7.tgz#53e9f1892f725b194d5e6a1684a7b394df592397"
+"@emotion/unitless@0.7.5":
+ version "0.7.5"
+ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed"
+ integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
"@emotion/utils@0.11.1":
version "0.11.1"
resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.1.tgz#8529b7412a6eb4b48bdf6e720cc1b8e6e1e17628"
+ integrity sha512-8M3VN0hetwhsJ8dH8VkVy7xo5/1VoBsDOk/T4SJOeXwTO1c4uIqVNx2qyecLFnnUWD5vvUqHQ1gASSeUN6zcTg==
"@emotion/utils@0.11.2":
version "0.11.2"
resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.2.tgz#713056bfdffb396b0a14f1c8f18e7b4d0d200183"
integrity sha512-UHX2XklLl3sIaP6oiMmlVzT0J+2ATTVpf0dHQVyPJHTkOITvXfaSqnRk6mdDhV9pR8T/tHc3cex78IKXssmzrA==
-"@emotion/utils@^0.8.2":
- version "0.8.2"
- resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.8.2.tgz#576ff7fb1230185b619a75d258cbc98f0867a8dc"
-
-"@emotion/weak-memoize@0.2.2":
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.2.tgz#63985d3d8b02530e0869962f4da09142ee8e200e"
+"@emotion/utils@0.11.3":
+ version "0.11.3"
+ resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.3.tgz#a759863867befa7e583400d322652a3f44820924"
+ integrity sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==
"@emotion/weak-memoize@0.2.3":
version "0.2.3"
resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.3.tgz#dfa0c92efe44a1d1a7974fb49ffeb40ef2da5a27"
integrity sha512-zVgvPwGK7c1aVdUVc9Qv7SqepOGRDrqCw7KZPSZziWGxSlbII3gmvGLPzLX4d0n0BMbamBacUrN22zOMyFFEkQ==
+"@emotion/weak-memoize@0.2.5":
+ version "0.2.5"
+ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46"
+ integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==
+
+"@hackoregon/ui-themes@^0.0.4":
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/@hackoregon/ui-themes/-/ui-themes-0.0.4.tgz#d22f102e0259788043af6d145aa984df0078debe"
+ integrity sha512-Ph4qJn5UoUK616rmshfqWAh3hgJ9lCCa0HLmVH7VeJIyXR5Om7coKfDGcpOFqu9W+6vG8CANmZ6sB8yvBSbrrw==
+ dependencies:
+ "@material-ui/core" "^4.4.0"
+ lodash "^4.17.11"
+ react "^16.8.4"
+ react-dom "^16.8.4"
+
+"@hackoregon/webpack-common@3.0.1-ci.137":
+ version "3.0.1-ci.137"
+ resolved "https://registry.yarnpkg.com/@hackoregon/webpack-common/-/webpack-common-3.0.1-ci.137.tgz#6f9e3811bf45d920cd89adbdc0e06565670faf8b"
+ integrity sha512-Tg4lro4R/LgwX3yZjKHd8aH0ke3gkMrOZ+qqp6SgvcVi2uVYy/vviVkOYUMdOTXz+N69avWPNkcot/mLqloQcw==
+ dependencies:
+ autoprefixer "^9.4.10"
+ lodash-webpack-plugin "^0.11.5"
+ webpack "^4.29.6"
+ webpack-blocks "^2.0.0-rc"
+ webpack-bundle-analyzer "^3.1.0"
+ webpack-cli "^3.2.3"
+ webpack-dev-middleware "^3.6.1"
+ webpack-hot-middleware "^2.24.3"
+
"@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==
"@jest/console@^24.7.1":
version "24.7.1"
@@ -2258,6 +2527,7 @@
"@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"
+ integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==
dependencies:
call-me-maybe "^1.0.1"
glob-to-regexp "^0.3.0"
@@ -2265,6 +2535,7 @@
"@nodelib/fs.stat@^1.1.2":
version "1.1.3"
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
+ integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
"@octokit/endpoint@^3.2.0":
version "3.2.3"
@@ -2310,14 +2581,14 @@
url-template "^2.0.8"
"@reach/router@^1.2.1":
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/@reach/router/-/router-1.2.1.tgz#34ae3541a5ac44fa7796e5506a5d7274a162be4e"
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/@reach/router/-/router-1.3.3.tgz#58162860dce6c9449d49be86b0561b5ef46d80db"
+ integrity sha512-gOIAiFhWdiVGSVjukKeNKkCRBLmnORoTPyBihI/jLunICPgxdP30DroAvPQuf1eVfQbfGJQDJkwhJXsNPMnVWw==
dependencies:
- create-react-context "^0.2.1"
+ create-react-context "0.3.0"
invariant "^2.2.3"
prop-types "^15.6.1"
react-lifecycles-compat "^3.0.4"
- warning "^3.0.0"
"@samverschueren/stream-to-observable@^0.3.0":
version "0.3.0"
@@ -2406,432 +2677,440 @@
version "0.7.1"
resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5"
-"@storybook/addon-a11y@^5.0.6":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/addon-a11y/-/addon-a11y-5.1.1.tgz#85aaa37f811447cf4acd043956260b3143ee8c9b"
- dependencies:
- "@storybook/addons" "5.1.1"
- "@storybook/api" "5.1.1"
- "@storybook/client-logger" "5.1.1"
- "@storybook/components" "5.1.1"
- "@storybook/core-events" "5.1.1"
- "@storybook/theming" "5.1.1"
- axe-core "^3.2.2"
- common-tags "^1.8.0"
+"@storybook/addon-a11y@^5.0.6", "@storybook/addon-a11y@^5.3.18":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-a11y/-/addon-a11y-5.3.18.tgz#3f35b2f03a0f292c415d659b5f6f8c00a029c9f7"
+ integrity sha512-DySJg3Q+GqLhVdQNsGwdO7V0cewSzhWdK3LDkZxF0eTvP8rTWG6+SyNFPClYO/MR/i1M6zKMMOoJoT++fu866A==
+ dependencies:
+ "@storybook/addons" "5.3.18"
+ "@storybook/api" "5.3.18"
+ "@storybook/client-logger" "5.3.18"
+ "@storybook/components" "5.3.18"
+ "@storybook/core-events" "5.3.18"
+ "@storybook/theming" "5.3.18"
+ axe-core "^3.3.2"
core-js "^3.0.1"
global "^4.3.2"
- hoist-non-react-statics "^3.3.0"
memoizerific "^1.11.3"
- react "^16.8.4"
+ react "^16.8.3"
react-redux "^7.0.2"
react-sizeme "^2.5.2"
redux "^4.0.1"
+ ts-dedent "^1.1.0"
util-deprecate "^1.0.2"
-"@storybook/addon-actions@^5.0.6":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-5.1.1.tgz#31aceab8f28903eda598234cfd337daee0d38840"
- dependencies:
- "@storybook/addons" "5.1.1"
- "@storybook/api" "5.1.1"
- "@storybook/components" "5.1.1"
- "@storybook/core-events" "5.1.1"
- "@storybook/theming" "5.1.1"
+"@storybook/addon-actions@^5.0.6", "@storybook/addon-actions@^5.3.18":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-5.3.18.tgz#e3e3b1475cebc9bdd2d563822fba9ac662b2601a"
+ integrity sha512-jdBVCcfyWin274Lkwg5cL+1fJ651NCuIWxuJVsmHQtIl2xTjf2MyoMoKQZNdt4xtE+W9w+rS4bYt04elrizThg==
+ dependencies:
+ "@storybook/addons" "5.3.18"
+ "@storybook/api" "5.3.18"
+ "@storybook/client-api" "5.3.18"
+ "@storybook/components" "5.3.18"
+ "@storybook/core-events" "5.3.18"
+ "@storybook/theming" "5.3.18"
core-js "^3.0.1"
fast-deep-equal "^2.0.1"
global "^4.3.2"
- lodash "^4.17.11"
polished "^3.3.1"
prop-types "^15.7.2"
- react "^16.8.4"
- react-inspector "^3.0.2"
+ react "^16.8.3"
+ react-inspector "^4.0.0"
uuid "^3.3.2"
"@storybook/addon-info@^5.0.6":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/addon-info/-/addon-info-5.1.1.tgz#17230d82a5f3aaa3a74c35806f63ff1ce24e01fa"
- dependencies:
- "@storybook/addons" "5.1.1"
- "@storybook/client-logger" "5.1.1"
- "@storybook/components" "5.1.1"
- "@storybook/theming" "5.1.1"
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-info/-/addon-info-5.3.18.tgz#2b02c43eeb79770781eea82104c32a4f12a72da0"
+ integrity sha512-6j+XlBrgHl1ZaFRSFdMYVeQTDWWs1Xhz2jflrLCLY4Y99+pLFBUigzp2EByfIVF9tiDfPwNcFcPo5UvQ+kTwOg==
+ dependencies:
+ "@storybook/addons" "5.3.18"
+ "@storybook/client-logger" "5.3.18"
+ "@storybook/components" "5.3.18"
+ "@storybook/theming" "5.3.18"
core-js "^3.0.1"
global "^4.3.2"
- marksy "^7.0.0"
+ marksy "^8.0.0"
nested-object-assign "^1.0.3"
prop-types "^15.7.2"
- react "^16.8.4"
+ react "^16.8.3"
react-addons-create-fragment "^15.6.2"
react-element-to-jsx-string "^14.0.2"
- react-is "^16.8.4"
+ react-is "^16.8.3"
react-lifecycles-compat "^3.0.4"
util-deprecate "^1.0.2"
-"@storybook/addon-knobs@^5.0.6":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-5.1.1.tgz#8f29e4e75723ad6d5160427207e6e03a3ae1e095"
- dependencies:
- "@storybook/addons" "5.1.1"
- "@storybook/client-api" "5.1.1"
- "@storybook/components" "5.1.1"
- "@storybook/core-events" "5.1.1"
- "@storybook/theming" "5.1.1"
+"@storybook/addon-knobs@^5.0.6", "@storybook/addon-knobs@^5.3.18":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-5.3.18.tgz#60365bb179699cd8dc91df8be947469266012847"
+ integrity sha512-X0WxGKoso3j5mS4c4enM8BvCjbO6Wwfxc++swQTqtANpBZ8k+w0piiEF1fiJf+ssgEAWe5brgIqnQ9kiBGLqKA==
+ dependencies:
+ "@storybook/addons" "5.3.18"
+ "@storybook/api" "5.3.18"
+ "@storybook/client-api" "5.3.18"
+ "@storybook/components" "5.3.18"
+ "@storybook/core-events" "5.3.18"
+ "@storybook/theming" "5.3.18"
+ "@types/react-color" "^3.0.1"
copy-to-clipboard "^3.0.8"
core-js "^3.0.1"
escape-html "^1.0.3"
fast-deep-equal "^2.0.1"
global "^4.3.2"
- lodash "^4.17.11"
+ lodash "^4.17.15"
prop-types "^15.7.2"
qs "^6.6.0"
react-color "^2.17.0"
react-lifecycles-compat "^3.0.4"
- react-select "^2.2.0"
+ react-select "^3.0.8"
"@storybook/addon-links@^5.0.6":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-5.1.1.tgz#a6474959b2bdc132d647efd326380a134d92a483"
- dependencies:
- "@storybook/addons" "5.1.1"
- "@storybook/core-events" "5.1.1"
- "@storybook/router" "5.1.1"
- common-tags "^1.8.0"
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-5.3.18.tgz#6b4aec83e158c000221bfe1f43e4a473f0727193"
+ integrity sha512-rDpsAQUr60BEM83TBh7mwKjaZvqTR+CAAMLAxXN+J8DMoOjymjd2sjq4UVJsOQVTnw3wjIc4+xpAL/eYqkJAIQ==
+ dependencies:
+ "@storybook/addons" "5.3.18"
+ "@storybook/client-logger" "5.3.18"
+ "@storybook/core-events" "5.3.18"
+ "@storybook/csf" "0.0.1"
+ "@storybook/router" "5.3.18"
core-js "^3.0.1"
global "^4.3.2"
prop-types "^15.7.2"
qs "^6.6.0"
+ ts-dedent "^1.1.0"
"@storybook/addon-notes@^5.0.6":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/addon-notes/-/addon-notes-5.1.1.tgz#d6ba934f8286c4296b2cbe4aa8f8b4f4be5683a4"
- dependencies:
- "@storybook/addons" "5.1.1"
- "@storybook/api" "5.1.1"
- "@storybook/client-logger" "5.1.1"
- "@storybook/components" "5.1.1"
- "@storybook/core-events" "5.1.1"
- "@storybook/router" "5.1.1"
- "@storybook/theming" "5.1.1"
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-notes/-/addon-notes-5.3.18.tgz#dc8be958bbb082188c529aa31853e8cad389a642"
+ integrity sha512-P8d5P6+MErodRz2whP1f33ovhGMcOc/g4a+8qatiUotsPbg/2LKNRlY1QSfHWtm26NIGsgOTqSb0z1q6cyMNvQ==
+ dependencies:
+ "@storybook/addons" "5.3.18"
+ "@storybook/api" "5.3.18"
+ "@storybook/client-logger" "5.3.18"
+ "@storybook/components" "5.3.18"
+ "@storybook/core-events" "5.3.18"
+ "@storybook/router" "5.3.18"
+ "@storybook/theming" "5.3.18"
core-js "^3.0.1"
global "^4.3.2"
- markdown-to-jsx "^6.9.3"
+ markdown-to-jsx "^6.10.3"
memoizerific "^1.11.3"
prop-types "^15.7.2"
util-deprecate "^1.0.2"
-"@storybook/addon-storysource@5.0.6":
- version "5.0.6"
- resolved "https://registry.yarnpkg.com/@storybook/addon-storysource/-/addon-storysource-5.0.6.tgz#1f52bdd90e286b5f7d081da6a3e05723a422c995"
+"@storybook/addon-storysource@^5.0.6":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-storysource/-/addon-storysource-5.3.18.tgz#003374d76c0898c3b74aa4cd008f444eb6b63c68"
+ integrity sha512-uMSu505rbcNErAYngV5raVRQ/eMiOtGNA88WxNzD/8h/0EVpEXlBAewiGzAmooNhCa/3O3iPuwka8Cky6aWPOA==
dependencies:
- "@storybook/addons" "5.0.6"
- "@storybook/components" "5.0.6"
- "@storybook/router" "5.0.6"
- "@storybook/theming" "5.0.6"
- core-js "^2.6.5"
+ "@storybook/addons" "5.3.18"
+ "@storybook/components" "5.3.18"
+ "@storybook/router" "5.3.18"
+ "@storybook/source-loader" "5.3.18"
+ "@storybook/theming" "5.3.18"
+ core-js "^3.0.1"
estraverse "^4.2.0"
- loader-utils "^1.2.1"
+ loader-utils "^1.2.3"
prettier "^1.16.4"
- prop-types "^15.6.2"
- react-syntax-highlighter "^8.0.1"
- regenerator-runtime "^0.12.1"
+ prop-types "^15.7.2"
+ react-syntax-highlighter "^11.0.2"
+ regenerator-runtime "^0.13.3"
+ util-deprecate "^1.0.2"
"@storybook/addon-viewport@^5.0.11":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-5.1.1.tgz#4430b647a2f75d89f13f82a0f817221b62e823c4"
- dependencies:
- "@storybook/addons" "5.1.1"
- "@storybook/client-logger" "5.1.1"
- "@storybook/components" "5.1.1"
- "@storybook/core-events" "5.1.1"
- "@storybook/theming" "5.1.1"
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-5.3.18.tgz#9cfeb93e473845436e0c7fb74d590305ff7ef48e"
+ integrity sha512-9ofmbhYm4fU28u9Gasywwul8OLVhKlu1aiLnLfYUd+ZE2r9WuNxGW93m3iIgtccynpANn9phFcgEmWGKfY3vIw==
+ dependencies:
+ "@storybook/addons" "5.3.18"
+ "@storybook/api" "5.3.18"
+ "@storybook/client-logger" "5.3.18"
+ "@storybook/components" "5.3.18"
+ "@storybook/core-events" "5.3.18"
+ "@storybook/theming" "5.3.18"
core-js "^3.0.1"
global "^4.3.2"
memoizerific "^1.11.3"
prop-types "^15.7.2"
util-deprecate "^1.0.2"
-"@storybook/addons@5.0.6":
- version "5.0.6"
- resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-5.0.6.tgz#3ecb7fd8421e6557b1abc71ebede905e8decfebc"
- dependencies:
- "@storybook/channels" "5.0.6"
- "@storybook/client-logger" "5.0.6"
- core-js "^2.6.5"
- global "^4.3.2"
- util-deprecate "^1.0.2"
-
-"@storybook/addons@5.1.1":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-5.1.1.tgz#6457c4f60ae0cc49ad4919c45272b1cc181b217c"
+"@storybook/addons@5.3.18":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-5.3.18.tgz#5cbba6407ef7a802041c5ee831473bc3bed61f64"
+ integrity sha512-ZQjDgTUDFRLvAiBg2d8FgPgghfQ+9uFyXQbtiGlTBLinrPCeQd7J86qiUES0fcGoohCCw0wWKtvB0WF2z1XNDg==
dependencies:
- "@storybook/api" "5.1.1"
- "@storybook/channels" "5.1.1"
- "@storybook/client-logger" "5.1.1"
+ "@storybook/api" "5.3.18"
+ "@storybook/channels" "5.3.18"
+ "@storybook/client-logger" "5.3.18"
+ "@storybook/core-events" "5.3.18"
core-js "^3.0.1"
global "^4.3.2"
util-deprecate "^1.0.2"
-"@storybook/api@5.1.1":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/api/-/api-5.1.1.tgz#9f758fa694644a76a70b9d522d340ddafa9892af"
+"@storybook/api@5.3.18":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/api/-/api-5.3.18.tgz#95582ab90d947065e0e34ed603650a3630dcbd16"
+ integrity sha512-QXaccNCARHzPWOuxYndiebGWBZmwiUvRgB9ji0XTJBS3y8K0ZPb5QyuqiKPaEWUj8dBA8rzdDtkW3Yt95Namaw==
dependencies:
- "@storybook/channels" "5.1.1"
- "@storybook/client-logger" "5.1.1"
- "@storybook/core-events" "5.1.1"
- "@storybook/router" "5.1.1"
- "@storybook/theming" "5.1.1"
+ "@reach/router" "^1.2.1"
+ "@storybook/channels" "5.3.18"
+ "@storybook/client-logger" "5.3.18"
+ "@storybook/core-events" "5.3.18"
+ "@storybook/csf" "0.0.1"
+ "@storybook/router" "5.3.18"
+ "@storybook/theming" "5.3.18"
+ "@types/reach__router" "^1.2.3"
core-js "^3.0.1"
fast-deep-equal "^2.0.1"
global "^4.3.2"
- lodash "^4.17.11"
+ lodash "^4.17.15"
memoizerific "^1.11.3"
prop-types "^15.6.2"
- react "^16.7.0"
+ react "^16.8.3"
semver "^6.0.0"
shallow-equal "^1.1.0"
store2 "^2.7.1"
- telejson "^2.2.1"
+ telejson "^3.2.0"
util-deprecate "^1.0.2"
-"@storybook/channel-postmessage@5.1.1":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-5.1.1.tgz#e322cbcdd9fbef48aadb93c52aa29cb7e1e7aa5c"
+"@storybook/channel-postmessage@5.3.18":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-5.3.18.tgz#93d46740b5cc9b36ddd073f0715b54c4959953bf"
+ integrity sha512-awxBW/aVfNtY9QvYZgsPaMXgUpC2+W3vEyQcl/w4ce0YVH+7yWx3wt3Ku49lQwxZwDrxP3QoC0U+mkPc9hBJwA==
dependencies:
- "@storybook/channels" "5.1.1"
- "@storybook/client-logger" "5.1.1"
+ "@storybook/channels" "5.3.18"
+ "@storybook/client-logger" "5.3.18"
core-js "^3.0.1"
global "^4.3.2"
- telejson "^2.2.1"
-
-"@storybook/channels@5.0.6":
- version "5.0.6"
- resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-5.0.6.tgz#bf056194d633cae873875d6e238c1abadb301dbe"
- dependencies:
- core-js "^2.6.5"
+ telejson "^3.2.0"
-"@storybook/channels@5.1.1":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-5.1.1.tgz#a8947a9e1575dcceabf223c31fc3d49fcf69b442"
+"@storybook/channels@5.3.18":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-5.3.18.tgz#490c9eaa8292b0571c0f665052b12addf7c35f21"
+ integrity sha512-scP/6td/BJSEOgfN+qaYGDf3E793xye7tIw6W+sYqwg+xdMFO39wVXgVZNpQL6sLEwpJZTaPywCjC6p6ksErqQ==
dependencies:
core-js "^3.0.1"
-"@storybook/client-api@5.1.1":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-5.1.1.tgz#a29cc1e78ea15229aa2461a42006e4953b336f5a"
- dependencies:
- "@storybook/addons" "5.1.1"
- "@storybook/client-logger" "5.1.1"
- "@storybook/core-events" "5.1.1"
- "@storybook/router" "5.1.1"
- common-tags "^1.8.0"
+"@storybook/client-api@5.3.18":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-5.3.18.tgz#e71041796f95888de0e4524734418e6b120b060a"
+ integrity sha512-QiXTDUpjdyW19BlocLw07DrkOnEzVaWGJcRze2nSs29IKKuq1Ncv2LOAZt6ySSq0PmIKsjBou3bmS1/aXmDMdw==
+ dependencies:
+ "@storybook/addons" "5.3.18"
+ "@storybook/channel-postmessage" "5.3.18"
+ "@storybook/channels" "5.3.18"
+ "@storybook/client-logger" "5.3.18"
+ "@storybook/core-events" "5.3.18"
+ "@storybook/csf" "0.0.1"
+ "@types/webpack-env" "^1.15.0"
core-js "^3.0.1"
- eventemitter3 "^3.1.0"
+ eventemitter3 "^4.0.0"
global "^4.3.2"
is-plain-object "^3.0.0"
- lodash "^4.17.11"
+ lodash "^4.17.15"
memoizerific "^1.11.3"
qs "^6.6.0"
+ stable "^0.1.8"
+ ts-dedent "^1.1.0"
+ util-deprecate "^1.0.2"
-"@storybook/client-logger@5.0.6":
- version "5.0.6"
- resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-5.0.6.tgz#d183534ccc8c864039113dcc33407e7f1f5d7594"
- dependencies:
- core-js "^2.6.5"
-
-"@storybook/client-logger@5.1.1":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-5.1.1.tgz#e62a214a801079e75b4b101afd73cc66c262701d"
+"@storybook/client-logger@5.3.18":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-5.3.18.tgz#27c9d09d788965db0164be6e168bc3f03adbf88f"
+ integrity sha512-RZjxw4uqZX3Yk27IirbB/pQG+wRsQSSRlKqYa8KQ5bSanm4IrcV9VA1OQbuySW9njE+CexAnakQJ/fENdmurNg==
dependencies:
core-js "^3.0.1"
-"@storybook/components@5.0.6":
- version "5.0.6"
- resolved "https://registry.yarnpkg.com/@storybook/components/-/components-5.0.6.tgz#de77af3443f771d94a692edb719bc0d8c0149daf"
- dependencies:
- "@storybook/addons" "5.0.6"
- "@storybook/client-logger" "5.0.6"
- "@storybook/core-events" "5.0.6"
- "@storybook/router" "5.0.6"
- "@storybook/theming" "5.0.6"
- core-js "^2.6.5"
- global "^4.3.2"
- immer "^1.12.0"
- js-beautify "^1.8.9"
- lodash.pick "^4.4.0"
- lodash.throttle "^4.1.1"
- memoizerific "^1.11.3"
- polished "^2.3.3"
- prop-types "^15.6.2"
- react "^16.8.1"
- react-dom "^16.8.1"
- react-focus-lock "^1.17.7"
- react-helmet-async "^0.2.0"
- react-inspector "^2.3.0"
- react-popper-tooltip "^2.8.0"
- react-syntax-highlighter "^8.0.1"
- react-textarea-autosize "^7.0.4"
- reactjs-popup "^1.3.2"
- recompose "^0.30.0"
- render-fragment "^0.1.1"
-
-"@storybook/components@5.1.1":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/components/-/components-5.1.1.tgz#4ca7343009ebd92cdfb79cfa373628d6f3bb12d0"
+"@storybook/components@5.3.18":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/components/-/components-5.3.18.tgz#528f6ab1660981e948993a04b407a6fad7751589"
+ integrity sha512-LIN4aVCCDY7klOwtuqQhfYz4tHaMADhXEzZpij+3r8N68Inck6IJ1oo9A9umXQPsTioQi8e6FLobH1im90j/2A==
dependencies:
- "@storybook/client-logger" "5.1.1"
- "@storybook/theming" "5.1.1"
+ "@storybook/client-logger" "5.3.18"
+ "@storybook/theming" "5.3.18"
+ "@types/react-syntax-highlighter" "11.0.4"
+ "@types/react-textarea-autosize" "^4.3.3"
core-js "^3.0.1"
global "^4.3.2"
+ lodash "^4.17.15"
markdown-to-jsx "^6.9.1"
memoizerific "^1.11.3"
polished "^3.3.1"
popper.js "^1.14.7"
prop-types "^15.7.2"
- react "^16.8.4"
- react-dom "^16.8.4"
- react-focus-lock "^1.18.3"
+ react "^16.8.3"
+ react-dom "^16.8.3"
+ react-focus-lock "^2.1.0"
react-helmet-async "^1.0.2"
react-popper-tooltip "^2.8.3"
- react-syntax-highlighter "^8.0.1"
+ react-syntax-highlighter "^11.0.2"
react-textarea-autosize "^7.1.0"
- recompose "^0.30.0"
simplebar-react "^1.0.0-alpha.6"
+ ts-dedent "^1.1.0"
-"@storybook/core-events@5.0.6":
- version "5.0.6"
- resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-5.0.6.tgz#ead92a1e463d53fa57151b62192e74f8e3f45b3b"
- dependencies:
- core-js "^2.6.5"
-
-"@storybook/core-events@5.1.1":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-5.1.1.tgz#179ca9e49fb7e81c5ed4ce3a8eb93d90003f6478"
+"@storybook/core-events@5.3.18":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-5.3.18.tgz#e5d335f8a2c7dd46502b8f505006f1e111b46d49"
+ integrity sha512-uQ6NYJ5WODXK8DJ7m8y3yUAtWB3n+6XtYztjY+tdkCsLYvTYDXNS+epV+f5Hu9+gB+/Dm+b5Su4jDD+LZB2QWA==
dependencies:
core-js "^3.0.1"
-"@storybook/core@5.1.1":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/core/-/core-5.1.1.tgz#f2697258fe1d7636e08e29206e8551f36f5d99b8"
+"@storybook/core@5.3.18":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/core/-/core-5.3.18.tgz#3f3c0498275826c1cc4368aba203ac17a6ae5c9c"
+ integrity sha512-XQb/UQb+Ohuaw0GhKKYzvmuuh5Tit93f2cLZD9QCSWUPvDGmLG5g91Y9NbUr4Ap3mANT3NksMNhkAV0GxExEkg==
dependencies:
- "@babel/plugin-proposal-class-properties" "^7.3.3"
- "@babel/plugin-proposal-object-rest-spread" "^7.3.2"
+ "@babel/plugin-proposal-class-properties" "^7.7.0"
+ "@babel/plugin-proposal-object-rest-spread" "^7.6.2"
"@babel/plugin-syntax-dynamic-import" "^7.2.0"
"@babel/plugin-transform-react-constant-elements" "^7.2.0"
"@babel/preset-env" "^7.4.5"
- "@storybook/addons" "5.1.1"
- "@storybook/channel-postmessage" "5.1.1"
- "@storybook/client-api" "5.1.1"
- "@storybook/client-logger" "5.1.1"
- "@storybook/core-events" "5.1.1"
- "@storybook/node-logger" "5.1.1"
- "@storybook/router" "5.1.1"
- "@storybook/theming" "5.1.1"
- "@storybook/ui" "5.1.1"
- airbnb-js-shims "^1 || ^2"
- autoprefixer "^9.4.9"
+ "@storybook/addons" "5.3.18"
+ "@storybook/channel-postmessage" "5.3.18"
+ "@storybook/client-api" "5.3.18"
+ "@storybook/client-logger" "5.3.18"
+ "@storybook/core-events" "5.3.18"
+ "@storybook/csf" "0.0.1"
+ "@storybook/node-logger" "5.3.18"
+ "@storybook/router" "5.3.18"
+ "@storybook/theming" "5.3.18"
+ "@storybook/ui" "5.3.18"
+ airbnb-js-shims "^2.2.1"
+ ansi-to-html "^0.6.11"
+ autoprefixer "^9.7.2"
babel-plugin-add-react-displayname "^0.0.5"
- babel-plugin-emotion "^10.0.9"
- babel-plugin-macros "^2.4.5"
+ babel-plugin-emotion "^10.0.20"
+ babel-plugin-macros "^2.7.0"
babel-preset-minify "^0.5.0 || 0.6.0-alpha.5"
- boxen "^3.0.0"
+ boxen "^4.1.0"
case-sensitive-paths-webpack-plugin "^2.2.0"
- chalk "^2.4.2"
+ chalk "^3.0.0"
cli-table3 "0.5.1"
- commander "^2.19.0"
- common-tags "^1.8.0"
+ commander "^4.0.1"
core-js "^3.0.1"
- css-loader "^2.1.1"
+ corejs-upgrade-webpack-plugin "^2.2.0"
+ css-loader "^3.0.0"
detect-port "^1.3.0"
dotenv-webpack "^1.7.0"
- ejs "^2.6.1"
+ ejs "^2.7.4"
express "^4.17.0"
- file-loader "^3.0.1"
+ file-loader "^4.2.0"
file-system-cache "^1.0.5"
find-cache-dir "^3.0.0"
+ find-up "^4.1.0"
fs-extra "^8.0.1"
+ glob-base "^0.3.0"
global "^4.3.2"
html-webpack-plugin "^4.0.0-beta.2"
- inquirer "^6.2.0"
- interpret "^1.2.0"
+ inquirer "^7.0.0"
+ interpret "^2.0.0"
ip "^1.1.5"
- json5 "^2.1.0"
- lazy-universal-dotenv "^2.0.0"
+ json5 "^2.1.1"
+ lazy-universal-dotenv "^3.0.1"
+ micromatch "^4.0.2"
node-fetch "^2.6.0"
- open "^6.1.0"
+ open "^7.0.0"
+ pnp-webpack-plugin "1.5.0"
postcss-flexbugs-fixes "^4.1.0"
postcss-loader "^3.0.0"
pretty-hrtime "^1.0.3"
qs "^6.6.0"
- raw-loader "^2.0.0"
+ raw-loader "^3.1.0"
react-dev-utils "^9.0.0"
- regenerator-runtime "^0.12.1"
+ regenerator-runtime "^0.13.3"
resolve "^1.11.0"
resolve-from "^5.0.0"
semver "^6.0.0"
serve-favicon "^2.5.0"
shelljs "^0.8.3"
- style-loader "^0.23.1"
- terser-webpack-plugin "^1.2.4"
- url-loader "^1.1.2"
+ style-loader "^1.0.0"
+ terser-webpack-plugin "^2.1.2"
+ ts-dedent "^1.1.0"
+ unfetch "^4.1.0"
+ url-loader "^2.0.1"
util-deprecate "^1.0.2"
- webpack "^4.32.0"
+ webpack "^4.33.0"
webpack-dev-middleware "^3.7.0"
webpack-hot-middleware "^2.25.0"
+ webpack-virtual-modules "^0.2.0"
-"@storybook/node-logger@5.1.1":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-5.1.1.tgz#4874718697c8bc783b606724ce24dd0533ae52a0"
+"@storybook/csf@0.0.1":
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.0.1.tgz#95901507dc02f0bc6f9ac8ee1983e2fc5bb98ce6"
+ integrity sha512-USTLkZze5gkel8MYCujSRBVIrUQ3YPBrLOx7GNk/0wttvVtlzWXAq9eLbQ4p/NicGxP+3T7KPEMVV//g+yubpw==
dependencies:
- chalk "^2.4.2"
+ lodash "^4.17.15"
+
+"@storybook/node-logger@5.3.18":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-5.3.18.tgz#ee278acb8b6f10d456a24c0ff6d59818a0c3ad94"
+ integrity sha512-Go/hdtaPTtjgJP+GYk8VXcOmecrdG7cXm0yyTlatd6s8xXI0txHme1/0MOZmEPows1Ec7KAQ20+NnaCGUPZUUg==
+ dependencies:
+ "@types/npmlog" "^4.1.2"
+ chalk "^3.0.0"
core-js "^3.0.1"
npmlog "^4.1.2"
pretty-hrtime "^1.0.3"
- regenerator-runtime "^0.12.1"
+ regenerator-runtime "^0.13.3"
-"@storybook/react@^5.0.6":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/react/-/react-5.1.1.tgz#9041aaec5f7ce606554a321568c248f86b1b92ab"
+"@storybook/react@^5.0.6", "@storybook/react@^5.3.18":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/react/-/react-5.3.18.tgz#c057b680924e188d44149c3d67dd31aead88b28a"
+ integrity sha512-6yNg+phcrEqEjC2NOiu0mJuxbTwX7yzbkcusIn0S7N/KTXNO7CGvYjAkdjfw0gTLjfuVDZIjDQfoosslvfsj3w==
dependencies:
- "@babel/plugin-transform-react-constant-elements" "^7.2.0"
+ "@babel/plugin-transform-react-constant-elements" "^7.6.3"
"@babel/preset-flow" "^7.0.0"
"@babel/preset-react" "^7.0.0"
- "@storybook/core" "5.1.1"
- "@storybook/node-logger" "5.1.1"
+ "@storybook/addons" "5.3.18"
+ "@storybook/core" "5.3.18"
+ "@storybook/node-logger" "5.3.18"
"@svgr/webpack" "^4.0.3"
+ "@types/webpack-env" "^1.15.0"
+ babel-plugin-add-react-displayname "^0.0.5"
babel-plugin-named-asset-import "^0.3.1"
- babel-plugin-react-docgen "^3.0.0"
- babel-preset-react-app "^9.0.0"
- common-tags "^1.8.0"
+ babel-plugin-react-docgen "^4.0.0"
core-js "^3.0.1"
global "^4.3.2"
- lodash "^4.17.11"
+ lodash "^4.17.15"
mini-css-extract-plugin "^0.7.0"
prop-types "^15.7.2"
react-dev-utils "^9.0.0"
- regenerator-runtime "^0.12.1"
+ regenerator-runtime "^0.13.3"
semver "^6.0.0"
- webpack "^4.28.0"
+ ts-dedent "^1.1.0"
+ webpack "^4.33.0"
-"@storybook/router@5.0.6":
- version "5.0.6"
- resolved "https://registry.yarnpkg.com/@storybook/router/-/router-5.0.6.tgz#1856aaa2771145a7ace804d893fa92bc73418039"
+"@storybook/router@5.3.18":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/router/-/router-5.3.18.tgz#8ab22f1f2f7f957e78baf992030707a62289076e"
+ integrity sha512-6B2U2C75KTSVaCuYYgcubeJGcCSnwsXuEf50hEd5mGqWgHZfojCtGvB7Ko4X+0h8rEC+eNA4p7YBOhlUv9WNrQ==
dependencies:
"@reach/router" "^1.2.1"
- "@storybook/theming" "5.0.6"
- core-js "^2.6.5"
+ "@storybook/csf" "0.0.1"
+ "@types/reach__router" "^1.2.3"
+ core-js "^3.0.1"
global "^4.3.2"
+ lodash "^4.17.15"
memoizerific "^1.11.3"
- qs "^6.5.2"
+ qs "^6.6.0"
+ util-deprecate "^1.0.2"
-"@storybook/router@5.1.1":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/router/-/router-5.1.1.tgz#bebdfd8ae8f80f38b91e6df8648afdf9e95660ba"
+"@storybook/source-loader@5.3.18":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/source-loader/-/source-loader-5.3.18.tgz#39ba28d9664ab8204d6b04ee757772369931e7e5"
+ integrity sha512-oljmLt3KMu17W9FAaEgocsI6wrloWczS26SVXadzbDbL+8Tu6vTeFJSd6HcY+e4JIIKjuze0kmaVhpi6wwPbZQ==
dependencies:
- "@reach/router" "^1.2.1"
+ "@storybook/addons" "5.3.18"
+ "@storybook/client-logger" "5.3.18"
+ "@storybook/csf" "0.0.1"
core-js "^3.0.1"
+ estraverse "^4.2.0"
global "^4.3.2"
- memoizerific "^1.11.3"
- qs "^6.6.0"
+ loader-utils "^1.2.3"
+ prettier "^1.16.4"
+ prop-types "^15.7.2"
+ regenerator-runtime "^0.13.3"
"@storybook/storybook-deployer@^2.3.0":
version "2.8.1"
@@ -2843,167 +3122,165 @@
shelljs "^0.8.1"
yargs "^11.0.0"
-"@storybook/theming@5.0.6":
- version "5.0.6"
- resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-5.0.6.tgz#5827d780eb45a031ad27cd19bd87cd70a818546f"
- dependencies:
- "@emotion/core" "^10.0.7"
- "@emotion/styled" "^10.0.7"
- "@storybook/client-logger" "5.0.6"
- common-tags "^1.8.0"
- core-js "^2.6.5"
- deep-object-diff "^1.1.0"
- emotion-theming "^10.0.7"
- global "^4.3.2"
- lodash.isequal "^4.5.0"
- lodash.mergewith "^4.6.1"
- memoizerific "^1.11.3"
- polished "^2.3.3"
- prop-types "^15.6.2"
- react-inspector "^2.3.1"
-
-"@storybook/theming@5.1.1":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-5.1.1.tgz#605572b650049457dbd102aa5686933ff2202ace"
+"@storybook/theming@5.3.18":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-5.3.18.tgz#35e78de79d9cf8f1248af0dd1c7fa60555761312"
+ integrity sha512-lfFTeLoYwLMKg96N3gn0umghMdAHgJBGuk2OM8Ll84yWtdl9RGnzfiI1Fl7Cr5k95dCF7drLJlJCao1VxUkFSA==
dependencies:
- "@emotion/core" "^10.0.9"
- "@emotion/styled" "^10.0.7"
- "@storybook/client-logger" "5.1.1"
- common-tags "^1.8.0"
+ "@emotion/core" "^10.0.20"
+ "@emotion/styled" "^10.0.17"
+ "@storybook/client-logger" "5.3.18"
core-js "^3.0.1"
deep-object-diff "^1.1.0"
- emotion-theming "^10.0.9"
+ emotion-theming "^10.0.19"
global "^4.3.2"
memoizerific "^1.11.3"
polished "^3.3.1"
prop-types "^15.7.2"
resolve-from "^5.0.0"
-
-"@storybook/ui@5.1.1":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-5.1.1.tgz#8c285102e2f6bd9978ce13ead7141b066c032d6e"
- dependencies:
- "@storybook/addons" "5.1.1"
- "@storybook/api" "5.1.1"
- "@storybook/client-logger" "5.1.1"
- "@storybook/components" "5.1.1"
- "@storybook/core-events" "5.1.1"
- "@storybook/router" "5.1.1"
- "@storybook/theming" "5.1.1"
+ ts-dedent "^1.1.0"
+
+"@storybook/ui@5.3.18":
+ version "5.3.18"
+ resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-5.3.18.tgz#c66f6d94a3c50bb706f4d5b1d5592439110f16f0"
+ integrity sha512-xyXK53fNe9lkGPmXf3Nk+n0gz9gOgXI+fDxetyDLpX79k3DIN/jCKEnv45vXof7OQ45mTmyBvUNTKrNLqKTt5Q==
+ dependencies:
+ "@emotion/core" "^10.0.20"
+ "@storybook/addons" "5.3.18"
+ "@storybook/api" "5.3.18"
+ "@storybook/channels" "5.3.18"
+ "@storybook/client-logger" "5.3.18"
+ "@storybook/components" "5.3.18"
+ "@storybook/core-events" "5.3.18"
+ "@storybook/router" "5.3.18"
+ "@storybook/theming" "5.3.18"
copy-to-clipboard "^3.0.8"
core-js "^3.0.1"
core-js-pure "^3.0.1"
+ emotion-theming "^10.0.19"
fast-deep-equal "^2.0.1"
- fuse.js "^3.4.4"
+ fuse.js "^3.4.6"
global "^4.3.2"
- lodash "^4.17.11"
+ lodash "^4.17.15"
markdown-to-jsx "^6.9.3"
memoizerific "^1.11.3"
polished "^3.3.1"
prop-types "^15.7.2"
qs "^6.6.0"
- react "^16.8.4"
- react-dom "^16.8.4"
- react-draggable "^3.1.1"
+ react "^16.8.3"
+ react-dom "^16.8.3"
+ react-draggable "^4.0.3"
react-helmet-async "^1.0.2"
- react-hotkeys "2.0.0-pre4"
- react-resize-detector "^4.0.5"
- recompose "^0.30.0"
+ react-hotkeys "2.0.0"
+ react-sizeme "^2.6.7"
+ regenerator-runtime "^0.13.2"
resolve-from "^5.0.0"
semver "^6.0.0"
store2 "^2.7.1"
- telejson "^2.2.1"
+ telejson "^3.2.0"
util-deprecate "^1.0.2"
"@svgr/babel-plugin-add-jsx-attribute@^4.2.0":
version "4.2.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz#dadcb6218503532d6884b210e7f3c502caaa44b1"
+ integrity sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig==
"@svgr/babel-plugin-remove-jsx-attribute@^4.2.0":
version "4.2.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz#297550b9a8c0c7337bea12bdfc8a80bb66f85abc"
+ integrity sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ==
"@svgr/babel-plugin-remove-jsx-empty-expression@^4.2.0":
version "4.2.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz#c196302f3e68eab6a05e98af9ca8570bc13131c7"
+ integrity sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w==
"@svgr/babel-plugin-replace-jsx-attribute-value@^4.2.0":
version "4.2.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165"
+ integrity sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w==
-"@svgr/babel-plugin-svg-dynamic-title@^4.3.0":
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.0.tgz#826c7d30f8f98f26bdb4af205a5dfbf1f04d80ec"
+"@svgr/babel-plugin-svg-dynamic-title@^4.3.3":
+ version "4.3.3"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz#2cdedd747e5b1b29ed4c241e46256aac8110dd93"
+ integrity sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w==
"@svgr/babel-plugin-svg-em-dimensions@^4.2.0":
version "4.2.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz#9a94791c9a288108d20a9d2cc64cac820f141391"
+ integrity sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w==
"@svgr/babel-plugin-transform-react-native-svg@^4.2.0":
version "4.2.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz#151487322843359a1ca86b21a3815fd21a88b717"
+ integrity sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw==
"@svgr/babel-plugin-transform-svg-component@^4.2.0":
version "4.2.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697"
+ integrity sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw==
-"@svgr/babel-preset@^4.3.0":
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.0.tgz#8a0bcc95ea7124762699e87a45ab11f408e8765e"
+"@svgr/babel-preset@^4.3.3":
+ version "4.3.3"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.3.tgz#a75d8c2f202ac0e5774e6bfc165d028b39a1316c"
+ integrity sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A==
dependencies:
"@svgr/babel-plugin-add-jsx-attribute" "^4.2.0"
"@svgr/babel-plugin-remove-jsx-attribute" "^4.2.0"
"@svgr/babel-plugin-remove-jsx-empty-expression" "^4.2.0"
"@svgr/babel-plugin-replace-jsx-attribute-value" "^4.2.0"
- "@svgr/babel-plugin-svg-dynamic-title" "^4.3.0"
+ "@svgr/babel-plugin-svg-dynamic-title" "^4.3.3"
"@svgr/babel-plugin-svg-em-dimensions" "^4.2.0"
"@svgr/babel-plugin-transform-react-native-svg" "^4.2.0"
"@svgr/babel-plugin-transform-svg-component" "^4.2.0"
-"@svgr/core@^4.3.0":
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.0.tgz#4a2bcb41e0946679a2ebe6b5bb2edd88ed35706b"
+"@svgr/core@^4.3.3":
+ version "4.3.3"
+ resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.3.tgz#b37b89d5b757dc66e8c74156d00c368338d24293"
+ integrity sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w==
dependencies:
- "@svgr/plugin-jsx" "^4.3.0"
+ "@svgr/plugin-jsx" "^4.3.3"
camelcase "^5.3.1"
- cosmiconfig "^5.2.0"
+ cosmiconfig "^5.2.1"
-"@svgr/hast-util-to-babel-ast@^4.2.0":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.2.0.tgz#dd743435a5f3a8e84a1da067f27b5fae3d7b6b63"
+"@svgr/hast-util-to-babel-ast@^4.3.2":
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz#1d5a082f7b929ef8f1f578950238f630e14532b8"
+ integrity sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==
dependencies:
- "@babel/types" "^7.4.0"
+ "@babel/types" "^7.4.4"
-"@svgr/plugin-jsx@^4.3.0":
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.0.tgz#6be203abc58e187545aa1b9a51df30d051b658e2"
+"@svgr/plugin-jsx@^4.3.3":
+ version "4.3.3"
+ resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz#e2ba913dbdfbe85252a34db101abc7ebd50992fa"
+ integrity sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w==
dependencies:
- "@babel/core" "^7.4.3"
- "@svgr/babel-preset" "^4.3.0"
- "@svgr/hast-util-to-babel-ast" "^4.2.0"
- rehype-parse "^6.0.0"
- unified "^7.1.0"
- vfile "^4.0.0"
+ "@babel/core" "^7.4.5"
+ "@svgr/babel-preset" "^4.3.3"
+ "@svgr/hast-util-to-babel-ast" "^4.3.2"
+ svg-parser "^2.0.0"
-"@svgr/plugin-svgo@^4.2.0":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.2.0.tgz#2a594a2d3312955e75fd87dc77ae51f377c809f3"
+"@svgr/plugin-svgo@^4.3.1":
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz#daac0a3d872e3f55935c6588dd370336865e9e32"
+ integrity sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==
dependencies:
- cosmiconfig "^5.2.0"
+ cosmiconfig "^5.2.1"
merge-deep "^3.0.2"
- svgo "^1.2.1"
+ svgo "^1.2.2"
"@svgr/webpack@^4.0.3":
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.3.0.tgz#4462e05070d91c04806b99c30a703fb2b50b2bb9"
+ version "4.3.3"
+ resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.3.3.tgz#13cc2423bf3dff2d494f16b17eb7eacb86895017"
+ integrity sha512-bjnWolZ6KVsHhgyCoYRFmbd26p8XVbulCzSG53BDQqAr+JOAderYK7CuYrB3bDjHJuF6LJ7Wrr42+goLRV9qIg==
dependencies:
- "@babel/core" "^7.4.3"
+ "@babel/core" "^7.4.5"
"@babel/plugin-transform-react-constant-elements" "^7.0.0"
- "@babel/preset-env" "^7.4.3"
+ "@babel/preset-env" "^7.4.5"
"@babel/preset-react" "^7.0.0"
- "@svgr/core" "^4.3.0"
- "@svgr/plugin-jsx" "^4.3.0"
- "@svgr/plugin-svgo" "^4.2.0"
+ "@svgr/core" "^4.3.3"
+ "@svgr/plugin-jsx" "^4.3.3"
+ "@svgr/plugin-svgo" "^4.3.1"
loader-utils "^1.2.3"
"@turf/bbox@^6.0.1":
@@ -3061,6 +3338,11 @@
dependencies:
"@turf/helpers" "6.x"
+"@types/anymatch@*":
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a"
+ integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==
+
"@types/babel__core@^7.1.0":
version "7.1.0"
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.0.tgz#710f2487dda4dcfd010ca6abb2b4dc7394365c51"
@@ -3090,13 +3372,44 @@
dependencies:
"@babel/types" "^7.3.0"
+"@types/color-name@^1.1.1":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
+ integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
+
+"@types/history@*":
+ version "4.7.5"
+ resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.5.tgz#527d20ef68571a4af02ed74350164e7a67544860"
+ integrity sha512-wLD/Aq2VggCJXSjxEwrMafIP51Z+13H78nXIX0ABEuIGhmB5sNGbR113MOKo+yfw+RDo1ZU3DM6yfnnRF/+ouw==
+
+"@types/html-minifier-terser@^5.0.0":
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.0.tgz#551a4589b6ee2cc9c1dff08056128aec29b94880"
+ integrity sha512-iYCgjm1dGPRuo12+BStjd1HiVQqhlRhWDOQigNxn023HcjnhsiFz9pc6CzJj4HwDCSQca9bxTL4PxJDbkdm3PA==
+
+"@types/is-function@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@types/is-function/-/is-function-1.0.0.tgz#1b0b819b1636c7baf0d6785d030d12edf70c3e83"
+ integrity sha512-iTs9HReBu7evG77Q4EC8hZnqRt57irBDkK9nvmHroiOIVwYMQc4IvYvdRgwKfYepunIY7Oh/dBuuld+Gj9uo6w==
+
"@types/istanbul-lib-coverage@^2.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.0.tgz#1eb8c033e98cf4e1a4cedcaf8bcafe8cb7591e85"
"@types/node@*":
- version "12.0.5"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.5.tgz#ac14404c33d1a789973c45379a67f7f7e58a01b9"
+ version "14.0.1"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.1.tgz#5d93e0a099cd0acd5ef3d5bde3c086e1f49ff68c"
+ integrity sha512-FAYBGwC+W6F9+huFIDtn43cpy7+SzG+atzRiTfdp3inUKL2hXnd4rG8hylJLIh4+hqrQy1P17kvJByE/z825hA==
+
+"@types/npmlog@^4.1.2":
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/@types/npmlog/-/npmlog-4.1.2.tgz#d070fe6a6b78755d1092a3dc492d34c3d8f871c4"
+ integrity sha512-4QQmOF5KlwfxJ5IGXFIudkeLCdMABz03RcUXu+LCb24zmln8QW6aDjuGl4d4XPVLf2j+FnjelHTP7dvceAFbhA==
+
+"@types/parse-json@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
+ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
"@types/prop-types@*":
version "15.7.1"
@@ -3104,8 +3417,38 @@
integrity sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg==
"@types/q@^1.5.1":
- version "1.5.2"
- resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8"
+ version "1.5.4"
+ resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24"
+ integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==
+
+"@types/reach__router@^1.2.3":
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.3.5.tgz#14e1e981cccd3a5e50dc9e969a72de0b9d472f6d"
+ integrity sha512-h0NbqXN/tJuBY/xggZSej1SKQEstbHO7J/omt1tYoFGmj3YXOodZKbbqD4mNDh7zvEGYd7YFrac1LTtAr3xsYQ==
+ dependencies:
+ "@types/history" "*"
+ "@types/react" "*"
+
+"@types/react-color@^3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@types/react-color/-/react-color-3.0.1.tgz#5433e2f503ea0e0831cbc6fd0c20f8157d93add0"
+ integrity sha512-J6mYm43Sid9y+OjZ7NDfJ2VVkeeuTPNVImNFITgQNXodHteKfl/t/5pAR5Z9buodZ2tCctsZjgiMlQOpfntakw==
+ dependencies:
+ "@types/react" "*"
+
+"@types/react-syntax-highlighter@11.0.4":
+ version "11.0.4"
+ resolved "https://registry.yarnpkg.com/@types/react-syntax-highlighter/-/react-syntax-highlighter-11.0.4.tgz#d86d17697db62f98046874f62fdb3e53a0bbc4cd"
+ integrity sha512-9GfTo3a0PHwQeTVoqs0g5bS28KkSY48pp5659wA+Dp4MqceDEa8EHBqrllJvvtyusszyJhViUEap0FDvlk/9Zg==
+ dependencies:
+ "@types/react" "*"
+
+"@types/react-textarea-autosize@^4.3.3":
+ version "4.3.5"
+ resolved "https://registry.yarnpkg.com/@types/react-textarea-autosize/-/react-textarea-autosize-4.3.5.tgz#6c4d2753fa1864c98c0b2b517f67bb1f6e4c46de"
+ integrity sha512-PiDL83kPMTolyZAWW3lyzO6ktooTb9tFTntVy7CA83/qFLWKLJ5bLeRboy6J6j3b1e8h2Eec6gBTEOOJRjV14A==
+ dependencies:
+ "@types/react" "*"
"@types/react-transition-group@^4.2.0":
version "4.2.2"
@@ -3122,28 +3465,52 @@
"@types/prop-types" "*"
csstype "^2.2.0"
+"@types/source-list-map@*":
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9"
+ integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==
+
"@types/stack-utils@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e"
-"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2":
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
+"@types/tapable@*", "@types/tapable@^1.0.5":
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.5.tgz#9adbc12950582aa65ead76bffdf39fe0c27a3c02"
+ integrity sha512-/gG2M/Imw7cQFp8PGvz/SwocNrmKFjFsm5Pb8HdbHkZ1K8pmuPzOX4VeVoiEecFCVf4CsN1r3/BRvx+6sNqwtQ==
-"@types/vfile-message@*":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@types/vfile-message/-/vfile-message-1.0.1.tgz#e1e9895cc6b36c462d4244e64e6d0b6eaf65355a"
+"@types/uglify-js@*":
+ version "3.9.1"
+ resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.9.1.tgz#0ad39d6a72979593f669acdfc7e980d590d3fb94"
+ integrity sha512-rdBIeMQyRBOXogop/EYBvSkYFn9D9yGxUa5hagBVG55KIdSUbp22EACJSHCs6kmmfunojAhf7zJH+Ds06/qLaQ==
+ dependencies:
+ source-map "^0.6.1"
+
+"@types/webpack-env@^1.15.0":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.15.2.tgz#927997342bb9f4a5185a86e6579a0a18afc33b0a"
+ integrity sha512-67ZgZpAlhIICIdfQrB5fnDvaKFcDxpKibxznfYRVAT4mQE41Dido/3Ty+E3xGBmTogc5+0Qb8tWhna+5B8z1iQ==
+
+"@types/webpack-sources@*":
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-0.1.7.tgz#0a330a9456113410c74a5d64180af0cbca007141"
+ integrity sha512-XyaHrJILjK1VHVC4aVlKsdNN5KBTwufMb43cQs+flGxtPAf/1Qwl8+Q0tp5BwEGaI8D6XT1L+9bSWXckgkjTLw==
dependencies:
"@types/node" "*"
- "@types/unist" "*"
+ "@types/source-list-map" "*"
+ source-map "^0.6.1"
-"@types/vfile@^3.0.0":
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/@types/vfile/-/vfile-3.0.2.tgz#19c18cd232df11ce6fa6ad80259bc86c366b09b9"
+"@types/webpack@^4.41.8":
+ version "4.41.13"
+ resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.13.tgz#988d114c8913d039b8a0e0502a7fe4f1f84f3d5e"
+ integrity sha512-RYmIHOWSxnTTa765N6jJBVE45pd2SYNblEYshVDduLw6RhocazNmRzE5/ytvBD8IkDMH6DI+bcrqxh8NILimBA==
dependencies:
+ "@types/anymatch" "*"
"@types/node" "*"
- "@types/unist" "*"
- "@types/vfile-message" "*"
+ "@types/tapable" "*"
+ "@types/uglify-js" "*"
+ "@types/webpack-sources" "*"
+ source-map "^0.6.0"
"@types/yargs@^12.0.2", "@types/yargs@^12.0.9":
version "12.0.11"
@@ -3157,72 +3524,162 @@
"@webassemblyjs/ast@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359"
+ integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==
dependencies:
"@webassemblyjs/helper-module-context" "1.8.5"
"@webassemblyjs/helper-wasm-bytecode" "1.8.5"
"@webassemblyjs/wast-parser" "1.8.5"
+"@webassemblyjs/ast@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964"
+ integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==
+ dependencies:
+ "@webassemblyjs/helper-module-context" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/wast-parser" "1.9.0"
+
"@webassemblyjs/floating-point-hex-parser@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721"
+ integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==
+
+"@webassemblyjs/floating-point-hex-parser@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4"
+ integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==
"@webassemblyjs/helper-api-error@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7"
+ integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==
+
+"@webassemblyjs/helper-api-error@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2"
+ integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==
"@webassemblyjs/helper-buffer@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204"
+ integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==
+
+"@webassemblyjs/helper-buffer@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00"
+ integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==
"@webassemblyjs/helper-code-frame@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e"
+ integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==
dependencies:
"@webassemblyjs/wast-printer" "1.8.5"
+"@webassemblyjs/helper-code-frame@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27"
+ integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==
+ dependencies:
+ "@webassemblyjs/wast-printer" "1.9.0"
+
"@webassemblyjs/helper-fsm@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452"
+ integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==
+
+"@webassemblyjs/helper-fsm@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8"
+ integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==
"@webassemblyjs/helper-module-context@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245"
+ integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==
dependencies:
"@webassemblyjs/ast" "1.8.5"
mamacro "^0.0.3"
+"@webassemblyjs/helper-module-context@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07"
+ integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+
"@webassemblyjs/helper-wasm-bytecode@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61"
+ integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==
+
+"@webassemblyjs/helper-wasm-bytecode@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790"
+ integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==
"@webassemblyjs/helper-wasm-section@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf"
+ integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-buffer" "1.8.5"
"@webassemblyjs/helper-wasm-bytecode" "1.8.5"
"@webassemblyjs/wasm-gen" "1.8.5"
+"@webassemblyjs/helper-wasm-section@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346"
+ integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-buffer" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/wasm-gen" "1.9.0"
+
"@webassemblyjs/ieee754@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e"
+ integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==
+ dependencies:
+ "@xtuc/ieee754" "^1.2.0"
+
+"@webassemblyjs/ieee754@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4"
+ integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==
dependencies:
"@xtuc/ieee754" "^1.2.0"
"@webassemblyjs/leb128@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10"
+ integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==
+ dependencies:
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/leb128@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95"
+ integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==
dependencies:
"@xtuc/long" "4.2.2"
"@webassemblyjs/utf8@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc"
+ integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==
+
+"@webassemblyjs/utf8@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab"
+ integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==
"@webassemblyjs/wasm-edit@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a"
+ integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-buffer" "1.8.5"
@@ -3233,9 +3690,24 @@
"@webassemblyjs/wasm-parser" "1.8.5"
"@webassemblyjs/wast-printer" "1.8.5"
+"@webassemblyjs/wasm-edit@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf"
+ integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-buffer" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/helper-wasm-section" "1.9.0"
+ "@webassemblyjs/wasm-gen" "1.9.0"
+ "@webassemblyjs/wasm-opt" "1.9.0"
+ "@webassemblyjs/wasm-parser" "1.9.0"
+ "@webassemblyjs/wast-printer" "1.9.0"
+
"@webassemblyjs/wasm-gen@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc"
+ integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-wasm-bytecode" "1.8.5"
@@ -3243,18 +3715,41 @@
"@webassemblyjs/leb128" "1.8.5"
"@webassemblyjs/utf8" "1.8.5"
+"@webassemblyjs/wasm-gen@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c"
+ integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/ieee754" "1.9.0"
+ "@webassemblyjs/leb128" "1.9.0"
+ "@webassemblyjs/utf8" "1.9.0"
+
"@webassemblyjs/wasm-opt@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264"
+ integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-buffer" "1.8.5"
"@webassemblyjs/wasm-gen" "1.8.5"
"@webassemblyjs/wasm-parser" "1.8.5"
+"@webassemblyjs/wasm-opt@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61"
+ integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-buffer" "1.9.0"
+ "@webassemblyjs/wasm-gen" "1.9.0"
+ "@webassemblyjs/wasm-parser" "1.9.0"
+
"@webassemblyjs/wasm-parser@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d"
+ integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-api-error" "1.8.5"
@@ -3263,9 +3758,22 @@
"@webassemblyjs/leb128" "1.8.5"
"@webassemblyjs/utf8" "1.8.5"
+"@webassemblyjs/wasm-parser@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e"
+ integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-api-error" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/ieee754" "1.9.0"
+ "@webassemblyjs/leb128" "1.9.0"
+ "@webassemblyjs/utf8" "1.9.0"
+
"@webassemblyjs/wast-parser@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c"
+ integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/floating-point-hex-parser" "1.8.5"
@@ -3274,14 +3782,36 @@
"@webassemblyjs/helper-fsm" "1.8.5"
"@xtuc/long" "4.2.2"
+"@webassemblyjs/wast-parser@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914"
+ integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/floating-point-hex-parser" "1.9.0"
+ "@webassemblyjs/helper-api-error" "1.9.0"
+ "@webassemblyjs/helper-code-frame" "1.9.0"
+ "@webassemblyjs/helper-fsm" "1.9.0"
+ "@xtuc/long" "4.2.2"
+
"@webassemblyjs/wast-printer@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc"
+ integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/wast-parser" "1.8.5"
"@xtuc/long" "4.2.2"
+"@webassemblyjs/wast-printer@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899"
+ integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/wast-parser" "1.9.0"
+ "@xtuc/long" "4.2.2"
+
"@webpack-blocks/assets@^2.0.0-rc":
version "2.0.0-rc"
resolved "https://registry.yarnpkg.com/@webpack-blocks/assets/-/assets-2.0.0-rc.tgz#82f898810a1466d8285d9a1f242a4662204cc112"
@@ -3360,10 +3890,12 @@
"@xtuc/ieee754@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
+ integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
"@xtuc/long@4.2.2":
version "4.2.2"
resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
+ integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
JSONStream@^1.0.4, JSONStream@^1.3.4:
version "1.3.5"
@@ -3379,6 +3911,7 @@ abab@^2.0.0:
abbrev@1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
+ integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
abbrev@1.0.x:
version "1.0.9"
@@ -3401,6 +3934,7 @@ accepts@~1.3.5, accepts@~1.3.7:
acorn-dynamic-import@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948"
+ integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==
acorn-globals@^4.1.0, acorn-globals@^4.3.0:
version "4.3.0"
@@ -3421,23 +3955,30 @@ acorn@^5.5.3:
version "5.7.3"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
-acorn@^6.0.1, acorn@^6.0.4, acorn@^6.0.5, acorn@^6.0.7:
+acorn@^6.0.1, acorn@^6.0.4, acorn@^6.0.7:
version "6.1.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
+acorn@^6.0.5, acorn@^6.4.1:
+ version "6.4.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
+ integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==
+
add-dom-event-listener@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz#6a92db3a0dd0abc254e095c0f1dc14acbbaae310"
dependencies:
object-assign "4.x"
-address@1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9"
+add@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/add/-/add-2.0.6.tgz#248f0a9f6e5a528ef2295dbeec30532130ae2235"
+ integrity sha1-JI8Kn25aUo7yKV2+7DBTITCuIjU=
-address@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/address/-/address-1.1.0.tgz#ef8e047847fcd2c5b6f50c16965f924fd99fe709"
+address@1.1.2, address@^1.0.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6"
+ integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==
agent-base@4, agent-base@^4.1.0, agent-base@~4.2.1:
version "4.2.1"
@@ -3451,9 +3992,18 @@ agentkeepalive@^3.4.1:
dependencies:
humanize-ms "^1.2.1"
-"airbnb-js-shims@^1 || ^2":
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/airbnb-js-shims/-/airbnb-js-shims-2.2.0.tgz#46e1d9d9516f704ef736de76a3b6d484df9a96d8"
+aggregate-error@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0"
+ integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==
+ dependencies:
+ clean-stack "^2.0.0"
+ indent-string "^4.0.0"
+
+airbnb-js-shims@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/airbnb-js-shims/-/airbnb-js-shims-2.2.1.tgz#db481102d682b98ed1daa4c5baa697a05ce5c040"
+ integrity sha512-wJNXPH66U2xjgo1Zwyjf9EydvJ2Si94+vSdk6EERcBfB2VZkeltpqIats0cqIZMLCXP3zcyaUKGYQeIBT6XjsQ==
dependencies:
array-includes "^3.0.3"
array.prototype.flat "^1.2.1"
@@ -3468,7 +4018,7 @@ agentkeepalive@^3.4.1:
object.values "^1.1.0"
promise.allsettled "^1.0.0"
promise.prototype.finally "^3.1.0"
- string.prototype.matchall "^3.0.1"
+ string.prototype.matchall "^4.0.0 || ^3.0.1"
string.prototype.padend "^3.0.0"
string.prototype.padstart "^3.0.0"
symbol.prototype.description "^1.0.0"
@@ -3489,15 +4039,43 @@ airbnb-prop-types@^2.12.0:
prop-types-exact "^1.2.0"
react-is "^16.8.6"
+airbnb-prop-types@^2.15.0:
+ version "2.15.0"
+ resolved "https://registry.yarnpkg.com/airbnb-prop-types/-/airbnb-prop-types-2.15.0.tgz#5287820043af1eb469f5b0af0d6f70da6c52aaef"
+ integrity sha512-jUh2/hfKsRjNFC4XONQrxo/n/3GG4Tn6Hl0WlFQN5PY9OMC9loSCoAYKnZsWaP8wEfd5xcrPloK0Zg6iS1xwVA==
+ dependencies:
+ array.prototype.find "^2.1.0"
+ function.prototype.name "^1.1.1"
+ has "^1.0.3"
+ is-regex "^1.0.4"
+ object-is "^1.0.1"
+ object.assign "^4.1.0"
+ object.entries "^1.1.0"
+ prop-types "^15.7.2"
+ prop-types-exact "^1.2.0"
+ react-is "^16.9.0"
+
ajv-errors@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
+ integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
-ajv-keywords@^3.1.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.0.tgz#4b831e7b531415a7cc518cd404e73f6193c6349d"
+ajv-keywords@^3.1.0, ajv-keywords@^3.4.1:
+ version "3.4.1"
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da"
+ integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==
+
+ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.0:
+ version "6.12.2"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd"
+ integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
-ajv@^6.1.0, ajv@^6.5.5, ajv@^6.9.1:
+ajv@^6.5.5, ajv@^6.9.1:
version "6.10.0"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1"
dependencies:
@@ -3513,6 +4091,7 @@ amdefine@>=0.0.4:
ansi-align@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb"
+ integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==
dependencies:
string-width "^3.0.0"
@@ -3528,22 +4107,37 @@ ansi-escapes@^3.0.0, ansi-escapes@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
+ansi-escapes@^4.2.1:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61"
+ integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==
+ dependencies:
+ type-fest "^0.11.0"
+
ansi-html@0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
+ integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4=
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+ integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
ansi-regex@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
+ integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
ansi-regex@^4.0.0, ansi-regex@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
+ansi-regex@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
+ integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
+
ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
@@ -3551,9 +4145,25 @@ ansi-styles@^2.2.1:
ansi-styles@^3.2.0, ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
dependencies:
color-convert "^1.9.0"
+ansi-styles@^4.1.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
+ integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
+ dependencies:
+ "@types/color-name" "^1.1.1"
+ color-convert "^2.0.1"
+
+ansi-to-html@^0.6.11:
+ version "0.6.14"
+ resolved "https://registry.yarnpkg.com/ansi-to-html/-/ansi-to-html-0.6.14.tgz#65fe6d08bba5dd9db33f44a20aec331e0010dad8"
+ integrity sha512-7ZslfB1+EnFSDO5Ju+ue5Y6It19DRnZXWv8jrGHgIlPna5Mh4jz7BV5jCbQneXNFurQcKoolaaAjHtgSBfOIuA==
+ dependencies:
+ entities "^1.1.2"
+
ansicolors@~0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef"
@@ -3565,13 +4175,23 @@ any-observable@^0.3.0:
anymatch@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
+ integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==
dependencies:
micromatch "^3.1.4"
normalize-path "^2.1.1"
+anymatch@~3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
+ integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
app-root-dir@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/app-root-dir/-/app-root-dir-1.0.2.tgz#38187ec2dea7577fff033ffcb12172692ff6e118"
+ integrity sha1-OBh+wt6nV3//Az/8sSFyaS/24Rg=
append-transform@^1.0.0:
version "1.0.0"
@@ -3582,6 +4202,7 @@ append-transform@^1.0.0:
aproba@^1.0.3, aproba@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
+ integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
aproba@^2.0.0:
version "2.0.0"
@@ -3590,6 +4211,7 @@ aproba@^2.0.0:
are-we-there-yet@~1.1.2:
version "1.1.5"
resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
+ integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==
dependencies:
delegates "^1.0.0"
readable-stream "^2.0.6"
@@ -3597,6 +4219,7 @@ are-we-there-yet@~1.1.2:
argparse@^1.0.7:
version "1.0.10"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+ integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
dependencies:
sprintf-js "~1.0.2"
@@ -3610,14 +4233,17 @@ aria-query@^3.0.0:
arr-diff@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
+ integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
arr-flatten@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
+ integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
arr-union@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
+ integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
array-differ@^1.0.0:
version "1.0.0"
@@ -3634,6 +4260,7 @@ array-filter@^1.0.0:
array-filter@~0.0.0:
version "0.0.1"
resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec"
+ integrity sha1-fajPLiZijtcygDWB/SH2fKzS7uw=
array-find-index@^1.0.1:
version "1.0.2"
@@ -3646,6 +4273,7 @@ array-find@^1.0.0:
array-flatten@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
+ integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
array-flatten@^2.1.0:
version "2.1.2"
@@ -3660,33 +4288,40 @@ array-ify@^1.0.0:
resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
array-includes@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d"
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348"
+ integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==
dependencies:
- define-properties "^1.1.2"
- es-abstract "^1.7.0"
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0"
+ is-string "^1.0.5"
array-map@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"
+ integrity sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=
array-reduce@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b"
+ integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=
array-union@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
+ integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=
dependencies:
array-uniq "^1.0.1"
array-uniq@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
+ integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=
array-unique@^0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
+ integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
array.prototype.find@^2.0.4:
version "2.0.4"
@@ -3696,22 +4331,41 @@ array.prototype.find@^2.0.4:
define-properties "^1.1.2"
es-abstract "^1.7.0"
+array.prototype.find@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.1.tgz#3baca26108ca7affb08db06bf0be6cb3115a969c"
+ integrity sha512-mi+MYNJYLTx2eNYy+Yh6raoQacCsNeeMUaspFPh9Y141lFSsWxxB8V9mM2ye+eqiRs917J6/pJ4M9ZPzenWckA==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.4"
+
array.prototype.flat@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz#812db8f02cad24d3fab65dd67eabe3b8903494a4"
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b"
+ integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==
dependencies:
- define-properties "^1.1.2"
- es-abstract "^1.10.0"
- function-bind "^1.1.1"
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
array.prototype.flatmap@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.1.tgz#3103cd4826ef90019c9b0a4839b2535fa6faf4e9"
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz#1c13f84a178566042dd63de4414440db9222e443"
+ integrity sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg==
dependencies:
- define-properties "^1.1.2"
- es-abstract "^1.10.0"
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
function-bind "^1.1.1"
+array.prototype.map@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array.prototype.map/-/array.prototype.map-1.0.2.tgz#9a4159f416458a23e9483078de1106b2ef68f8ec"
+ integrity sha512-Az3OYxgsa1g7xDYp86l0nnN4bcmuEITGe1rbdEBVkrqkzMgDcbdQ2R7r41pNzti+4NMces3H8gMmuioZUilLgw==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
+ es-array-method-boxes-properly "^1.0.0"
+ is-string "^1.0.4"
+
arrify@^1.0.0, arrify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
@@ -3719,10 +4373,12 @@ arrify@^1.0.0, arrify@^1.0.1:
asap@^2.0.0, asap@~2.0.3:
version "2.0.6"
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
+ integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=
asn1.js@^4.0.0:
version "4.10.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
+ integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==
dependencies:
bn.js "^4.0.0"
inherits "^2.0.1"
@@ -3741,6 +4397,7 @@ assert-plus@1.0.0, assert-plus@^1.0.0:
assert@^1.1.1:
version "1.5.0"
resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb"
+ integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==
dependencies:
object-assign "^4.1.1"
util "0.10.3"
@@ -3752,6 +4409,7 @@ assertion-error@^1.1.0:
assign-symbols@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
+ integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
ast-types-flow@0.0.7, ast-types-flow@^0.0.7:
version "0.0.7"
@@ -3760,10 +4418,12 @@ ast-types-flow@0.0.7, ast-types-flow@^0.0.7:
ast-types@0.11.3:
version "0.11.3"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.3.tgz#c20757fe72ee71278ea0ff3d87e5c2ca30d9edf8"
+ integrity sha512-XA5o5dsNw8MhyW0Q7MWXJWc4oOzZKbdsEJq45h7c8q/d9DwWZ5F2ugUc1PuMLPGsUnphCt/cNDHu8JeBbxf1qA==
-ast-types@0.12.4:
- version "0.12.4"
- resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.12.4.tgz#71ce6383800f24efc9a1a3308f3a6e420a0974d1"
+ast-types@^0.13.2:
+ version "0.13.3"
+ resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.3.tgz#50da3f28d17bdbc7969a3a2d83a0e4a72ae755a7"
+ integrity sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA==
astral-regex@^1.0.0:
version "1.0.0"
@@ -3772,6 +4432,7 @@ astral-regex@^1.0.0:
async-each@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
+ integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
async-foreach@^0.1.3:
version "0.1.3"
@@ -3785,7 +4446,7 @@ async@1.x, async@^1.5.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
-async@^2.1.4, async@^2.4.1, async@^2.6.1:
+async@^2.4.1, async@^2.6.1:
version "2.6.2"
resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381"
dependencies:
@@ -3799,9 +4460,10 @@ atob-lite@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/atob-lite/-/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696"
-atob@^2.1.1:
+atob@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
+ integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
autoprefixer@^9.4.10:
version "9.5.0"
@@ -3814,17 +4476,18 @@ autoprefixer@^9.4.10:
postcss "^7.0.14"
postcss-value-parser "^3.3.1"
-autoprefixer@^9.4.9:
- version "9.6.0"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.0.tgz#0111c6bde2ad20c6f17995a33fad7cf6854b4c87"
+autoprefixer@^9.7.2:
+ version "9.8.0"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.0.tgz#68e2d2bef7ba4c3a65436f662d0a56a741e56511"
+ integrity sha512-D96ZiIHXbDmU02dBaemyAg53ez+6F5yZmapmgKcjm35yEe1uVDYI8hGW3VYoGRaG290ZFf91YxHrR518vC0u/A==
dependencies:
- browserslist "^4.6.1"
- caniuse-lite "^1.0.30000971"
+ browserslist "^4.12.0"
+ caniuse-lite "^1.0.30001061"
chalk "^2.4.2"
normalize-range "^0.1.2"
num2fraction "^1.2.2"
- postcss "^7.0.16"
- postcss-value-parser "^3.3.1"
+ postcss "^7.0.30"
+ postcss-value-parser "^4.1.0"
awesome-typescript-loader@^5.2.1:
version "5.2.1"
@@ -3847,9 +4510,10 @@ aws4@^1.8.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
-axe-core@^3.2.2:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.2.2.tgz#b06d6e9ae4636d706068843272bfaeed3fe97362"
+axe-core@^3.3.2:
+ version "3.5.3"
+ resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.5.3.tgz#5b7c0ee7c5197d546bd3a07c3ef701896f5773e9"
+ integrity sha512-HZpLE7xu05+8AbpqXITGdxp1Xwk8ysAXrg7MiKRY27py3DAyEJpoJQo1727pWF3F+O79V3r+cTWhOzfB49P89w==
axios@^0.18.0:
version "0.18.0"
@@ -3858,6 +4522,13 @@ axios@^0.18.0:
follow-redirects "^1.3.0"
is-buffer "^1.1.5"
+axios@^0.19.0:
+ version "0.19.2"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27"
+ integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==
+ dependencies:
+ follow-redirects "1.5.10"
+
axobject-query@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9"
@@ -3886,30 +4557,42 @@ babel-eslint@^10.0.1:
babel-helper-evaluate-path@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz#a62fa9c4e64ff7ea5cea9353174ef023a900a67c"
+ integrity sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==
babel-helper-flip-expressions@^0.4.3:
version "0.4.3"
resolved "https://registry.yarnpkg.com/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz#3696736a128ac18bc25254b5f40a22ceb3c1d3fd"
+ integrity sha1-NpZzahKKwYvCUlS19AoizrPB0/0=
babel-helper-is-nodes-equiv@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz#34e9b300b1479ddd98ec77ea0bbe9342dfe39684"
+ integrity sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=
+
+babel-helper-is-react-class@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/babel-helper-is-react-class/-/babel-helper-is-react-class-1.0.0.tgz#ef6f3678b05c76dbdeedadead7af98c2724d8431"
+ integrity sha1-7282eLBcdtve7a3q16+YwnJNhDE=
babel-helper-is-void-0@^0.4.3:
version "0.4.3"
resolved "https://registry.yarnpkg.com/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz#7d9c01b4561e7b95dbda0f6eee48f5b60e67313e"
+ integrity sha1-fZwBtFYee5Xb2g9u7kj1tg5nMT4=
babel-helper-mark-eval-scopes@^0.4.3:
version "0.4.3"
resolved "https://registry.yarnpkg.com/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz#d244a3bef9844872603ffb46e22ce8acdf551562"
+ integrity sha1-0kSjvvmESHJgP/tG4izorN9VFWI=
babel-helper-remove-or-void@^0.4.3:
version "0.4.3"
resolved "https://registry.yarnpkg.com/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz#a4f03b40077a0ffe88e45d07010dee241ff5ae60"
+ integrity sha1-pPA7QAd6D/6I5F0HAQ3uJB/1rmA=
babel-helper-to-multiple-sequence-expressions@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz#a3f924e3561882d42fcf48907aa98f7979a4588d"
+ integrity sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==
babel-jest@^24.5.0, babel-jest@^24.7.1:
version "24.7.1"
@@ -3941,13 +4624,21 @@ babel-plugin-add-module-exports@^1.0.0:
babel-plugin-add-react-displayname@^0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz#339d4cddb7b65fd62d1df9db9fe04de134122bd5"
+ integrity sha1-M51M3be2X9YtHfnbn+BN4TQSK9U=
-babel-plugin-dynamic-import-node@2.2.0, babel-plugin-dynamic-import-node@^2.2.0:
+babel-plugin-dynamic-import-node@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.2.0.tgz#c0adfb07d95f4a4495e9aaac6ec386c4d7c2524e"
dependencies:
object.assign "^4.1.0"
+babel-plugin-dynamic-import-node@^2.3.3:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3"
+ integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==
+ dependencies:
+ object.assign "^4.1.0"
+
babel-plugin-emotion@^10.0.14:
version "10.0.14"
resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.14.tgz#c1d0e4621e303507ea7da57daa3cd771939d6df4"
@@ -3964,14 +4655,15 @@ babel-plugin-emotion@^10.0.14:
find-root "^1.1.0"
source-map "^0.5.7"
-babel-plugin-emotion@^10.0.9:
- version "10.0.9"
- resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.9.tgz#04a0404d5a4084d5296357a393d344c0f8303ae4"
+babel-plugin-emotion@^10.0.20, babel-plugin-emotion@^10.0.27, babel-plugin-emotion@^10.0.9:
+ version "10.0.33"
+ resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.33.tgz#ce1155dcd1783bbb9286051efee53f4e2be63e03"
+ integrity sha512-bxZbTTGz0AJQDHm8k6Rf3RQJ8tX2scsfsRyKVgAbiUPUNIRtlK+7JxP+TAd1kRLABFxe0CFm2VdK4ePkoA9FxQ==
dependencies:
"@babel/helper-module-imports" "^7.0.0"
- "@emotion/hash" "0.7.1"
- "@emotion/memoize" "0.7.1"
- "@emotion/serialize" "^0.11.6"
+ "@emotion/hash" "0.8.0"
+ "@emotion/memoize" "0.7.4"
+ "@emotion/serialize" "^0.11.16"
babel-plugin-macros "^2.0.0"
babel-plugin-syntax-jsx "^6.18.0"
convert-source-map "^1.5.0"
@@ -3979,23 +4671,6 @@ babel-plugin-emotion@^10.0.9:
find-root "^1.1.0"
source-map "^0.5.7"
-babel-plugin-emotion@^9.2.11:
- version "9.2.11"
- resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-9.2.11.tgz#319c005a9ee1d15bb447f59fe504c35fd5807728"
- dependencies:
- "@babel/helper-module-imports" "^7.0.0"
- "@emotion/babel-utils" "^0.6.4"
- "@emotion/hash" "^0.6.2"
- "@emotion/memoize" "^0.6.1"
- "@emotion/stylis" "^0.7.0"
- babel-plugin-macros "^2.0.0"
- babel-plugin-syntax-jsx "^6.18.0"
- convert-source-map "^1.5.0"
- find-root "^1.1.0"
- mkdirp "^0.5.1"
- source-map "^0.5.7"
- touch "^2.0.1"
-
babel-plugin-istanbul@^5.1.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.1.tgz#7981590f1956d75d67630ba46f0c22493588c893"
@@ -4010,7 +4685,7 @@ babel-plugin-jest-hoist@^24.6.0:
dependencies:
"@types/babel__traverse" "^7.0.6"
-babel-plugin-lodash@^3.3.2:
+babel-plugin-lodash@^3.2.11, babel-plugin-lodash@^3.3.2:
version "3.3.4"
resolved "https://registry.yarnpkg.com/babel-plugin-lodash/-/babel-plugin-lodash-3.3.4.tgz#4f6844358a1340baed182adbeffa8df9967bc196"
dependencies:
@@ -4020,75 +4695,80 @@ babel-plugin-lodash@^3.3.2:
lodash "^4.17.10"
require-package-name "^2.0.1"
-babel-plugin-macros@2.5.1:
- version "2.5.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.5.1.tgz#4a119ac2c2e19b458c259b9accd7ee34fd57ec6f"
- dependencies:
- "@babel/runtime" "^7.4.2"
- cosmiconfig "^5.2.0"
- resolve "^1.10.0"
-
-babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.4.5:
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz#41f7ead616fc36f6a93180e89697f69f51671181"
+babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.7.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138"
+ integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==
dependencies:
- "@babel/runtime" "^7.4.2"
- cosmiconfig "^5.2.0"
- resolve "^1.10.0"
+ "@babel/runtime" "^7.7.2"
+ cosmiconfig "^6.0.0"
+ resolve "^1.12.0"
babel-plugin-minify-builtins@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz#31eb82ed1a0d0efdc31312f93b6e4741ce82c36b"
+ integrity sha512-wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag==
babel-plugin-minify-constant-folding@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz#f84bc8dbf6a561e5e350ff95ae216b0ad5515b6e"
+ integrity sha512-Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ==
dependencies:
babel-helper-evaluate-path "^0.5.0"
-babel-plugin-minify-dead-code-elimination@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.0.tgz#d23ef5445238ad06e8addf5c1cf6aec835bcda87"
+babel-plugin-minify-dead-code-elimination@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.1.tgz#1a0c68e44be30de4976ca69ffc535e08be13683f"
+ integrity sha512-x8OJOZIrRmQBcSqxBcLbMIK8uPmTvNWPXH2bh5MDCW1latEqYiRMuUkPImKcfpo59pTUB2FT7HfcgtG8ZlR5Qg==
dependencies:
babel-helper-evaluate-path "^0.5.0"
babel-helper-mark-eval-scopes "^0.4.3"
babel-helper-remove-or-void "^0.4.3"
- lodash.some "^4.6.0"
+ lodash "^4.17.11"
babel-plugin-minify-flip-comparisons@^0.4.3:
version "0.4.3"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz#00ca870cb8f13b45c038b3c1ebc0f227293c965a"
+ integrity sha1-AMqHDLjxO0XAOLPB68DyJyk8llo=
dependencies:
babel-helper-is-void-0 "^0.4.3"
-babel-plugin-minify-guarded-expressions@^0.4.3:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.3.tgz#cc709b4453fd21b1f302877444c89f88427ce397"
+babel-plugin-minify-guarded-expressions@^0.4.4:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.4.tgz#818960f64cc08aee9d6c75bec6da974c4d621135"
+ integrity sha512-RMv0tM72YuPPfLT9QLr3ix9nwUIq+sHT6z8Iu3sLbqldzC1Dls8DPCywzUIzkTx9Zh1hWX4q/m9BPoPed9GOfA==
dependencies:
+ babel-helper-evaluate-path "^0.5.0"
babel-helper-flip-expressions "^0.4.3"
babel-plugin-minify-infinity@^0.4.3:
version "0.4.3"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz#dfb876a1b08a06576384ef3f92e653ba607b39ca"
+ integrity sha1-37h2obCKBldjhO8/kuZTumB7Oco=
babel-plugin-minify-mangle-names@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz#bcddb507c91d2c99e138bd6b17a19c3c271e3fd3"
+ integrity sha512-3jdNv6hCAw6fsX1p2wBGPfWuK69sfOjfd3zjUXkbq8McbohWy23tpXfy5RnToYWggvqzuMOwlId1PhyHOfgnGw==
dependencies:
babel-helper-mark-eval-scopes "^0.4.3"
babel-plugin-minify-numeric-literals@^0.4.3:
version "0.4.3"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz#8e4fd561c79f7801286ff60e8c5fd9deee93c0bc"
+ integrity sha1-jk/VYcefeAEob/YOjF/Z3u6TwLw=
babel-plugin-minify-replace@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz#d3e2c9946c9096c070efc96761ce288ec5c3f71c"
+ integrity sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q==
-babel-plugin-minify-simplify@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.0.tgz#1f090018afb90d8b54d3d027fd8a4927f243da6f"
+babel-plugin-minify-simplify@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.1.tgz#f21613c8b95af3450a2ca71502fdbd91793c8d6a"
+ integrity sha512-OSYDSnoCxP2cYDMk9gxNAed6uJDiDz65zgL6h8d3tm8qXIagWGMLWhqysT6DY3Vs7Fgq7YUDcjOomhVUb+xX6A==
dependencies:
+ babel-helper-evaluate-path "^0.5.0"
babel-helper-flip-expressions "^0.4.3"
babel-helper-is-nodes-equiv "^0.0.1"
babel-helper-to-multiple-sequence-expressions "^0.5.0"
@@ -4096,76 +4776,131 @@ babel-plugin-minify-simplify@^0.5.0:
babel-plugin-minify-type-constructors@^0.4.3:
version "0.4.3"
resolved "https://registry.yarnpkg.com/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz#1bc6f15b87f7ab1085d42b330b717657a2156500"
+ integrity sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA=
dependencies:
babel-helper-is-void-0 "^0.4.3"
babel-plugin-named-asset-import@^0.3.1:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.2.tgz#20978ed446b8e1bf4a2f42d0a94c0ece85f75f4f"
+ version "0.3.6"
+ resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.6.tgz#c9750a1b38d85112c9e166bf3ef7c5dbc605f4be"
+ integrity sha512-1aGDUfL1qOOIoqk9QKGIo2lANk+C7ko/fqH0uIyC71x3PEGz0uVP8ISgfEsFuG+FKmjHTvFK/nNM8dowpmUxLA==
-babel-plugin-react-docgen@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-react-docgen/-/babel-plugin-react-docgen-3.1.0.tgz#14b02b363a38cc9e08c871df16960d27ef92030f"
+babel-plugin-react-docgen@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-react-docgen/-/babel-plugin-react-docgen-4.1.0.tgz#1dfa447dac9ca32d625a123df5733a9e47287c26"
+ integrity sha512-vzpnBlfGv8XOhJM2zbPyyqw2OLEbelgZZsaaRRTpVwNKuYuc+pUg4+dy7i9gCRms0uOQn4osX571HRcCJMJCmA==
dependencies:
- lodash "^4.17.11"
- react-docgen "^4.1.0"
+ lodash "^4.17.15"
+ react-docgen "^5.0.0"
recast "^0.14.7"
+babel-plugin-react-transform@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-react-transform/-/babel-plugin-react-transform-2.0.2.tgz#515bbfa996893981142d90b1f9b1635de2995109"
+ integrity sha1-UVu/qZaJOYEULZCx+bFjXeKZUQk=
+ dependencies:
+ lodash "^4.6.1"
+
+babel-plugin-react-transform@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-react-transform/-/babel-plugin-react-transform-3.0.0.tgz#402f25137b7bb66e9b54ead75557dfbc7ecaaa74"
+ integrity sha512-4vJGddwPiHAOgshzZdGwYy4zRjjIr5SMY7gkOaCyIASjgpcsyLTlZNuB5rHOFoaTvGlhfo8/g4pobXPyHqm/3w==
+ dependencies:
+ lodash "^4.6.1"
+
babel-plugin-syntax-jsx@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
+ integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=
babel-plugin-transform-inline-consecutive-adds@^0.4.3:
version "0.4.3"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz#323d47a3ea63a83a7ac3c811ae8e6941faf2b0d1"
+ integrity sha1-Mj1Ho+pjqDp6w8gRro5pQfrysNE=
babel-plugin-transform-member-expression-literals@^6.9.4:
version "6.9.4"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz#37039c9a0c3313a39495faac2ff3a6b5b9d038bf"
+ integrity sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8=
babel-plugin-transform-merge-sibling-variables@^6.9.4:
version "6.9.4"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz#85b422fc3377b449c9d1cde44087203532401dae"
+ integrity sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4=
babel-plugin-transform-minify-booleans@^6.9.4:
version "6.9.4"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz#acbb3e56a3555dd23928e4b582d285162dd2b198"
+ integrity sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=
babel-plugin-transform-property-literals@^6.9.4:
version "6.9.4"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz#98c1d21e255736573f93ece54459f6ce24985d39"
+ integrity sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk=
dependencies:
esutils "^2.0.2"
-babel-plugin-transform-react-remove-prop-types@0.4.24, babel-plugin-transform-react-remove-prop-types@^0.4.24:
+babel-plugin-transform-react-constant-elements@^6.5.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-constant-elements/-/babel-plugin-transform-react-constant-elements-6.23.0.tgz#2f119bf4d2cdd45eb9baaae574053c604f6147dd"
+ integrity sha1-LxGb9NLN1F65uqrldAU8YE9hR90=
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-react-inline-elements@^6.6.5:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-inline-elements/-/babel-plugin-transform-react-inline-elements-6.22.0.tgz#6687211a32b49a52f22c573a2b5504a25ef17c53"
+ integrity sha1-ZochGjK0mlLyLFc6K1UEol7xfFM=
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-transform-react-pure-class-to-function@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-pure-class-to-function/-/babel-plugin-transform-react-pure-class-to-function-1.0.1.tgz#32a649c97d653250b419cfd1489331b0290d9ee4"
+ integrity sha1-MqZJyX1lMlC0Gc/RSJMxsCkNnuQ=
+ dependencies:
+ babel-helper-is-react-class "^1.0.0"
+
+babel-plugin-transform-react-remove-prop-types@^0.2.5:
+ version "0.2.12"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.2.12.tgz#3406696df0b8b456089f9d726d27e7e123d2f929"
+ integrity sha1-NAZpbfC4tFYIn51ybSfn4SPS+Sk=
+
+babel-plugin-transform-react-remove-prop-types@^0.4.24:
version "0.4.24"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a"
babel-plugin-transform-regexp-constructors@^0.4.3:
version "0.4.3"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz#58b7775b63afcf33328fae9a5f88fbd4fb0b4965"
+ integrity sha1-WLd3W2OvzzMyj66aX4j71PsLSWU=
babel-plugin-transform-remove-console@^6.9.4:
version "6.9.4"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz#b980360c067384e24b357a588d807d3c83527780"
+ integrity sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=
babel-plugin-transform-remove-debugger@^6.9.4:
version "6.9.4"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz#42b727631c97978e1eb2d199a7aec84a18339ef2"
+ integrity sha1-QrcnYxyXl44estGZp67IShgznvI=
babel-plugin-transform-remove-undefined@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz#80208b31225766c630c97fa2d288952056ea22dd"
+ integrity sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ==
dependencies:
babel-helper-evaluate-path "^0.5.0"
babel-plugin-transform-simplify-comparison-operators@^6.9.4:
version "6.9.4"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz#f62afe096cab0e1f68a2d753fdf283888471ceb9"
+ integrity sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=
babel-plugin-transform-undefined-to-void@^6.9.4:
version "6.9.4"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz#be241ca81404030678b748717322b89d0c8fe280"
+ integrity sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=
babel-preset-jest@^24.6.0:
version "24.6.0"
@@ -4175,19 +4910,20 @@ babel-preset-jest@^24.6.0:
babel-plugin-jest-hoist "^24.6.0"
"babel-preset-minify@^0.5.0 || 0.6.0-alpha.5":
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/babel-preset-minify/-/babel-preset-minify-0.5.0.tgz#e25bb8d3590087af02b650967159a77c19bfb96b"
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/babel-preset-minify/-/babel-preset-minify-0.5.1.tgz#25f5d0bce36ec818be80338d0e594106e21eaa9f"
+ integrity sha512-1IajDumYOAPYImkHbrKeiN5AKKP9iOmRoO2IPbIuVp0j2iuCcj0n7P260z38siKMZZ+85d3mJZdtW8IgOv+Tzg==
dependencies:
babel-plugin-minify-builtins "^0.5.0"
babel-plugin-minify-constant-folding "^0.5.0"
- babel-plugin-minify-dead-code-elimination "^0.5.0"
+ babel-plugin-minify-dead-code-elimination "^0.5.1"
babel-plugin-minify-flip-comparisons "^0.4.3"
- babel-plugin-minify-guarded-expressions "^0.4.3"
+ babel-plugin-minify-guarded-expressions "^0.4.4"
babel-plugin-minify-infinity "^0.4.3"
babel-plugin-minify-mangle-names "^0.5.0"
babel-plugin-minify-numeric-literals "^0.4.3"
babel-plugin-minify-replace "^0.5.0"
- babel-plugin-minify-simplify "^0.5.0"
+ babel-plugin-minify-simplify "^0.5.1"
babel-plugin-minify-type-constructors "^0.4.3"
babel-plugin-transform-inline-consecutive-adds "^0.4.3"
babel-plugin-transform-member-expression-literals "^6.9.4"
@@ -4200,57 +4936,54 @@ babel-preset-jest@^24.6.0:
babel-plugin-transform-remove-undefined "^0.5.0"
babel-plugin-transform-simplify-comparison-operators "^6.9.4"
babel-plugin-transform-undefined-to-void "^6.9.4"
- lodash.isplainobject "^4.0.6"
+ lodash "^4.17.11"
+
+babel-preset-react-hmre@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/babel-preset-react-hmre/-/babel-preset-react-hmre-1.1.1.tgz#d216e60cb5b8d4c873e19ed0f54eaff1437bc492"
+ integrity sha1-0hbmDLW41Mhz4Z7Q9U6v8UN7xJI=
+ dependencies:
+ babel-plugin-react-transform "^2.0.2"
+ react-transform-catch-errors "^1.0.2"
+ react-transform-hmr "^1.0.3"
+ redbox-react "^1.2.2"
-babel-preset-react-app@^9.0.0:
- version "9.0.0"
- resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.0.0.tgz#703108142bc9dd7173bde6a1a0138a762abc76f9"
- dependencies:
- "@babel/core" "7.4.3"
- "@babel/plugin-proposal-class-properties" "7.4.0"
- "@babel/plugin-proposal-decorators" "7.4.0"
- "@babel/plugin-proposal-object-rest-spread" "7.4.3"
- "@babel/plugin-syntax-dynamic-import" "7.2.0"
- "@babel/plugin-transform-classes" "7.4.3"
- "@babel/plugin-transform-destructuring" "7.4.3"
- "@babel/plugin-transform-flow-strip-types" "7.4.0"
- "@babel/plugin-transform-react-constant-elements" "7.2.0"
- "@babel/plugin-transform-react-display-name" "7.2.0"
- "@babel/plugin-transform-runtime" "7.4.3"
- "@babel/preset-env" "7.4.3"
- "@babel/preset-react" "7.0.0"
- "@babel/preset-typescript" "7.3.3"
- "@babel/runtime" "7.4.3"
- babel-plugin-dynamic-import-node "2.2.0"
- babel-plugin-macros "2.5.1"
- babel-plugin-transform-react-remove-prop-types "0.4.24"
-
-babel-runtime@6.x, babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.26.0, babel-runtime@^6.6.1:
+babel-preset-react-optimize@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/babel-preset-react-optimize/-/babel-preset-react-optimize-1.0.1.tgz#c23509fba7cbc76d7de7050e7d26bcd22bc304e8"
+ integrity sha1-wjUJ+6fLx2195wUOfSa80ivDBOg=
+ dependencies:
+ babel-plugin-transform-react-constant-elements "^6.5.0"
+ babel-plugin-transform-react-inline-elements "^6.6.5"
+ babel-plugin-transform-react-pure-class-to-function "^1.0.1"
+ babel-plugin-transform-react-remove-prop-types "^0.2.5"
+
+babel-runtime@6.x, babel-runtime@^6.2.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0, babel-runtime@^6.6.1:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
dependencies:
core-js "^2.4.0"
regenerator-runtime "^0.11.0"
-babel-standalone@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-standalone/-/babel-standalone-6.26.0.tgz#15fb3d35f2c456695815ebf1ed96fe7f015b6886"
-
-bail@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.4.tgz#7181b66d508aa3055d3f6c13f0a0c720641dde9b"
-
balanced-match@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+ integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
+
+base16@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70"
+ integrity sha1-4pf2DX7BAUp6lxo568ipjAtoHnA=
base64-js@^1.0.2:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3"
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
+ integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==
base@^0.11.1:
version "0.11.2"
resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
+ integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
dependencies:
cache-base "^1.0.1"
class-utils "^0.3.5"
@@ -4260,9 +4993,10 @@ base@^0.11.1:
mixin-deep "^1.2.0"
pascalcase "^0.1.1"
-batch-processor@^1.0.0:
+batch-processor@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/batch-processor/-/batch-processor-1.0.0.tgz#75c95c32b748e0850d10c2b168f6bdbe9891ace8"
+ integrity sha1-dclcMrdI4IUNEMKxaPa9vpiRrOg=
batch@0.6.1:
version "0.6.1"
@@ -4294,10 +5028,24 @@ big.js@^3.1.3:
big.js@^5.2.2:
version "5.2.2"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
+ integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
binary-extensions@^1.0.0:
version "1.13.1"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
+ integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
+
+binary-extensions@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c"
+ integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==
+
+bindings@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
+ integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
+ dependencies:
+ file-uri-to-path "1.0.0"
block-stream@*:
version "0.0.9"
@@ -4305,17 +5053,24 @@ block-stream@*:
dependencies:
inherits "~2.0.0"
-bluebird@^3.3.5, bluebird@^3.5.3:
- version "3.5.5"
- resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f"
+bluebird@^3.3.5, bluebird@^3.5.3, bluebird@^3.5.5:
+ version "3.7.2"
+ resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
+ integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
bluebird@^3.5.1:
version "3.5.4"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.4.tgz#d6cc661595de30d5b3af5fcedd3c0b3ef6ec5714"
-bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
+bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0:
version "4.11.8"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
+ integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
+
+bn.js@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.1.tgz#48efc4031a9c4041b9c99c6941d903463ab62eb5"
+ integrity sha512-IUTD/REb78Z2eodka1QZyyEk66pciRcP6Sroka0aI3tG/iwIdYLrBD62RsubR7vqdt3WyX8p4jxeatzmRSphtA==
body-parser@1.18.3:
version "1.18.3"
@@ -4336,6 +5091,7 @@ body-parser@1.18.3:
body-parser@1.19.0:
version "1.19.0"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
+ integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==
dependencies:
bytes "3.1.0"
content-type "~1.0.4"
@@ -4362,23 +5118,31 @@ bonjour@^3.5.0:
boolbase@^1.0.0, boolbase@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+ integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
-boxen@^3.0.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/boxen/-/boxen-3.2.0.tgz#fbdff0de93636ab4450886b6ff45b92d098f45eb"
+bowser@^1.0.0:
+ version "1.9.4"
+ resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.9.4.tgz#890c58a2813a9d3243704334fa81b96a5c150c9a"
+ integrity sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ==
+
+boxen@^4.1.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64"
+ integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==
dependencies:
ansi-align "^3.0.0"
camelcase "^5.3.1"
- chalk "^2.4.2"
+ chalk "^3.0.0"
cli-boxes "^2.2.0"
- string-width "^3.0.0"
- term-size "^1.2.0"
- type-fest "^0.3.0"
- widest-line "^2.0.0"
+ string-width "^4.1.0"
+ term-size "^2.1.0"
+ type-fest "^0.8.1"
+ widest-line "^3.1.0"
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
dependencies:
balanced-match "^1.0.0"
concat-map "0.0.1"
@@ -4386,6 +5150,7 @@ brace-expansion@^1.1.7:
braces@^2.3.1, braces@^2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
+ integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
dependencies:
arr-flatten "^1.1.0"
array-unique "^0.3.2"
@@ -4398,9 +5163,17 @@ braces@^2.3.1, braces@^2.3.2:
split-string "^3.0.2"
to-regex "^3.0.1"
+braces@^3.0.1, braces@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+ integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+ dependencies:
+ fill-range "^7.0.1"
+
brorand@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
+ integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
browser-process-hrtime@^0.1.2:
version "0.1.3"
@@ -4419,6 +5192,7 @@ browser-stdout@1.3.1:
browserify-aes@^1.0.0, browserify-aes@^1.0.4:
version "1.2.0"
resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
+ integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
dependencies:
buffer-xor "^1.0.3"
cipher-base "^1.0.0"
@@ -4430,6 +5204,7 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4:
browserify-cipher@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
+ integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==
dependencies:
browserify-aes "^1.0.4"
browserify-des "^1.0.0"
@@ -4438,38 +5213,62 @@ browserify-cipher@^1.0.0:
browserify-des@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c"
+ integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==
dependencies:
cipher-base "^1.0.1"
des.js "^1.0.0"
inherits "^2.0.1"
safe-buffer "^5.1.2"
-browserify-rsa@^4.0.0:
+browserify-rsa@^4.0.0, browserify-rsa@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
+ integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=
dependencies:
bn.js "^4.1.0"
randombytes "^2.0.1"
browserify-sign@^4.0.0:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"
- dependencies:
- bn.js "^4.1.1"
- browserify-rsa "^4.0.0"
- create-hash "^1.1.0"
- create-hmac "^1.1.2"
- elliptic "^6.0.0"
- inherits "^2.0.1"
- parse-asn1 "^5.0.0"
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.1.0.tgz#4fe971b379a5aeb4925e06779f9fa1f41d249d70"
+ integrity sha512-VYxo7cDCeYUoBZ0ZCy4UyEUCP3smyBd4DRQM5nrFS1jJjPJjX7rP3oLRpPoWfkhQfyJ0I9ZbHbKafrFD/SGlrg==
+ dependencies:
+ bn.js "^5.1.1"
+ browserify-rsa "^4.0.1"
+ create-hash "^1.2.0"
+ create-hmac "^1.1.7"
+ elliptic "^6.5.2"
+ inherits "^2.0.4"
+ parse-asn1 "^5.1.5"
+ readable-stream "^3.6.0"
browserify-zlib@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
+ integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
dependencies:
pako "~1.0.5"
-browserslist@4.5.4, browserslist@^4.4.2:
+browserslist@4.7.0:
+ version "4.7.0"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.0.tgz#9ee89225ffc07db03409f2fee524dc8227458a17"
+ integrity sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==
+ dependencies:
+ caniuse-lite "^1.0.30000989"
+ electron-to-chromium "^1.3.247"
+ node-releases "^1.1.29"
+
+browserslist@^4.11.1, browserslist@^4.12.0, browserslist@^4.5.2, browserslist@^4.8.5:
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.0.tgz#06c6d5715a1ede6c51fc39ff67fd647f740b656d"
+ integrity sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==
+ dependencies:
+ caniuse-lite "^1.0.30001043"
+ electron-to-chromium "^1.3.413"
+ node-releases "^1.1.53"
+ pkg-up "^2.0.0"
+
+browserslist@^4.4.2:
version "4.5.4"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.5.4.tgz#166c4ecef3b51737a42436ea8002aeea466ea2c7"
dependencies:
@@ -4477,14 +5276,6 @@ browserslist@4.5.4, browserslist@^4.4.2:
electron-to-chromium "^1.3.122"
node-releases "^1.1.13"
-browserslist@^4.5.2, browserslist@^4.6.0, browserslist@^4.6.1:
- version "4.6.1"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.1.tgz#ee5059b1aec18cbec9d055d6cb5e24ae50343a9b"
- dependencies:
- caniuse-lite "^1.0.30000971"
- electron-to-chromium "^1.3.137"
- node-releases "^1.1.21"
-
bser@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719"
@@ -4498,6 +5289,7 @@ btoa-lite@^1.0.0:
buffer-from@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
+ integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
buffer-indexof@^1.0.0:
version "1.1.1"
@@ -4506,18 +5298,29 @@ buffer-indexof@^1.0.0:
buffer-xor@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
+ integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
buffer@^4.3.0:
- version "4.9.1"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
+ version "4.9.2"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8"
+ integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==
dependencies:
base64-js "^1.0.2"
ieee754 "^1.1.4"
isarray "^1.0.0"
+buffer@^5.0.2:
+ version "5.4.3"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.4.3.tgz#3fbc9c69eb713d323e3fc1a895eee0710c072115"
+ integrity sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==
+ dependencies:
+ base64-js "^1.0.2"
+ ieee754 "^1.1.4"
+
builtin-status-codes@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
+ integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
builtins@^1.0.3:
version "1.0.3"
@@ -4538,6 +5341,7 @@ bytes@3.0.0:
bytes@3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
+ integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
cacache@^10.0.4:
version "10.0.4"
@@ -4557,7 +5361,7 @@ cacache@^10.0.4:
unique-filename "^1.1.0"
y18n "^4.0.0"
-cacache@^11.0.1, cacache@^11.3.2:
+cacache@^11.0.1:
version "11.3.2"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.2.tgz#2d81e308e3d258ca38125b676b98b2ac9ce69bfa"
dependencies:
@@ -4576,9 +5380,75 @@ cacache@^11.0.1, cacache@^11.3.2:
unique-filename "^1.1.1"
y18n "^4.0.0"
+cacache@^11.3.2:
+ version "11.3.3"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc"
+ integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==
+ dependencies:
+ bluebird "^3.5.5"
+ chownr "^1.1.1"
+ figgy-pudding "^3.5.1"
+ glob "^7.1.4"
+ graceful-fs "^4.1.15"
+ lru-cache "^5.1.1"
+ mississippi "^3.0.0"
+ mkdirp "^0.5.1"
+ move-concurrently "^1.0.1"
+ promise-inflight "^1.0.1"
+ rimraf "^2.6.3"
+ ssri "^6.0.1"
+ unique-filename "^1.1.1"
+ y18n "^4.0.0"
+
+cacache@^12.0.2:
+ version "12.0.4"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c"
+ integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==
+ dependencies:
+ bluebird "^3.5.5"
+ chownr "^1.1.1"
+ figgy-pudding "^3.5.1"
+ glob "^7.1.4"
+ graceful-fs "^4.1.15"
+ infer-owner "^1.0.3"
+ lru-cache "^5.1.1"
+ mississippi "^3.0.0"
+ mkdirp "^0.5.1"
+ move-concurrently "^1.0.1"
+ promise-inflight "^1.0.1"
+ rimraf "^2.6.3"
+ ssri "^6.0.1"
+ unique-filename "^1.1.1"
+ y18n "^4.0.0"
+
+cacache@^13.0.1:
+ version "13.0.1"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c"
+ integrity sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==
+ dependencies:
+ chownr "^1.1.2"
+ figgy-pudding "^3.5.1"
+ fs-minipass "^2.0.0"
+ glob "^7.1.4"
+ graceful-fs "^4.2.2"
+ infer-owner "^1.0.4"
+ lru-cache "^5.1.1"
+ minipass "^3.0.0"
+ minipass-collect "^1.0.2"
+ minipass-flush "^1.0.5"
+ minipass-pipeline "^1.2.2"
+ mkdirp "^0.5.1"
+ move-concurrently "^1.0.1"
+ p-map "^3.0.0"
+ promise-inflight "^1.0.1"
+ rimraf "^2.7.1"
+ ssri "^7.0.0"
+ unique-filename "^1.1.1"
+
cache-base@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
+ integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
dependencies:
collection-visit "^1.0.0"
component-emitter "^1.2.1"
@@ -4605,26 +5475,31 @@ cacheable-request@^2.1.1:
call-me-maybe@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b"
+ integrity sha1-JtII6onje1y95gJQoV8DHBak1ms=
caller-callsite@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
+ integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=
dependencies:
callsites "^2.0.0"
caller-path@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
+ integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=
dependencies:
caller-callsite "^2.0.0"
callsites@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
+ integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=
callsites@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3"
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
camel-case@3.0.x, camel-case@^3.0.0:
version "3.0.0"
@@ -4633,6 +5508,14 @@ camel-case@3.0.x, camel-case@^3.0.0:
no-case "^2.2.0"
upper-case "^1.1.1"
+camel-case@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.1.tgz#1fc41c854f00e2f7d0139dfeba1542d6896fe547"
+ integrity sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q==
+ dependencies:
+ pascal-case "^3.1.1"
+ tslib "^1.10.0"
+
camelcase-keys@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
@@ -4667,18 +5550,16 @@ camelcase@^5.0.0, camelcase@^5.2.0, camelcase@^5.3.1:
can-use-dom@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/can-use-dom/-/can-use-dom-0.1.0.tgz#22cc4a34a0abc43950f42c6411024a3f6366b45a"
+ integrity sha1-IsxKNKCrxDlQ9CxkEQJKP2NmtFo=
caniuse-lite@^1.0.30000947:
version "1.0.30000957"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000957.tgz#fb1026bf184d7d62c685205358c3b24b9e29f7b3"
-caniuse-lite@^1.0.30000955:
- version "1.0.30000963"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000963.tgz#5be481d5292f22aff5ee0db4a6c049b65b5798b1"
-
-caniuse-lite@^1.0.30000971:
- version "1.0.30000973"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000973.tgz#2f8e8e54f9e6c5b7a631c9e69bfa1093d8cfd360"
+caniuse-lite@^1.0.30000955, caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001043, caniuse-lite@^1.0.30001061:
+ version "1.0.30001061"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001061.tgz#80ca87ef14eb543a7458e7fd2b5e2face3458c9f"
+ integrity sha512-SMICCeiNvMZnyXpuoO+ot7FHpMVPlrsR+HmfByj6nY4xYDHXLqMTbgH7ecEkDNXWkH1vaip+ZS0D7VTXwM1KYQ==
capture-exit@^2.0.0:
version "2.0.0"
@@ -4694,17 +5575,14 @@ cardinal@~0.4.2:
redeyed "~0.4.0"
case-sensitive-paths-webpack-plugin@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz#3371ef6365ef9c25fa4b81c16ace0e9c7dc58c3e"
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz#23ac613cc9a856e4f88ff8bb73bbb5e989825cf7"
+ integrity sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
-ccount@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.4.tgz#9cf2de494ca84060a2a8d2854edd6dfb0445f386"
-
chai-as-promised@^7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.1.tgz#08645d825deb8696ee61725dbf590c012eb00ca0"
@@ -4731,6 +5609,7 @@ chai@^4.1.2, chai@^4.2.0:
chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
+ integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
dependencies:
ansi-styles "^3.2.1"
escape-string-regexp "^1.0.5"
@@ -4746,6 +5625,38 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
+chalk@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
+ integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+change-case@3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.0.1.tgz#ee5f5ad0415ad1ad9e8072cf49cd4cfa7660a554"
+ integrity sha1-7l9a0EFa0a2egHLPSc1M+nZgpVQ=
+ dependencies:
+ camel-case "^3.0.0"
+ constant-case "^2.0.0"
+ dot-case "^2.1.0"
+ header-case "^1.0.0"
+ is-lower-case "^1.1.0"
+ is-upper-case "^1.1.0"
+ lower-case "^1.1.1"
+ lower-case-first "^1.0.0"
+ no-case "^2.2.0"
+ param-case "^2.1.0"
+ pascal-case "^2.0.0"
+ path-case "^2.1.0"
+ sentence-case "^2.1.0"
+ snake-case "^2.1.0"
+ swap-case "^1.1.0"
+ title-case "^2.1.0"
+ upper-case "^1.1.1"
+ upper-case-first "^1.1.0"
+
change-case@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.1.0.tgz#0e611b7edc9952df2e8513b27b42de72647dd17e"
@@ -4770,21 +5681,20 @@ change-case@^3.1.0:
upper-case "^1.1.1"
upper-case-first "^1.1.0"
-change-emitter@^0.1.2:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/change-emitter/-/change-emitter-0.1.6.tgz#e8b2fe3d7f1ab7d69a32199aff91ea6931409515"
-
character-entities-legacy@^1.0.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz#3c729991d9293da0ede6dddcaf1f2ce1009ee8b4"
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1"
+ integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==
character-entities@^1.0.0:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.3.tgz#bbed4a52fe7ef98cc713c6d80d9faa26916d54e6"
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b"
+ integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==
character-reference-invalid@^1.0.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz#1647f4f726638d3ea4a750cf5d1975c1c7919a85"
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560"
+ integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==
chardet@^0.4.0:
version "0.4.2"
@@ -4793,6 +5703,7 @@ chardet@^0.4.0:
chardet@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
+ integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
charenc@~0.0.1:
version "0.0.2"
@@ -4838,7 +5749,7 @@ cheerio@^1.0.0-rc.2:
lodash "^4.15.0"
parse5 "^3.0.1"
-chokidar@^2.0.0, chokidar@^2.0.2:
+chokidar@^2.0.0:
version "2.1.6"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5"
dependencies:
@@ -4856,9 +5767,10 @@ chokidar@^2.0.0, chokidar@^2.0.2:
optionalDependencies:
fsevents "^1.2.7"
-chokidar@^2.0.4:
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.5.tgz#0ae8434d962281a5f56c72869e79cb6d9d86ad4d"
+chokidar@^2.0.4, chokidar@^2.1.8:
+ version "2.1.8"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
+ integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
dependencies:
anymatch "^2.0.0"
async-each "^1.0.1"
@@ -4874,13 +5786,34 @@ chokidar@^2.0.4:
optionalDependencies:
fsevents "^1.2.7"
-chownr@^1.0.1, chownr@^1.1.1:
+chokidar@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8"
+ integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==
+ dependencies:
+ anymatch "~3.1.1"
+ braces "~3.0.2"
+ glob-parent "~5.1.0"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.4.0"
+ optionalDependencies:
+ fsevents "~2.1.2"
+
+chownr@^1.0.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494"
-chrome-trace-event@^1.0.0:
+chownr@^1.1.1, chownr@^1.1.2:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
+ integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
+
+chrome-trace-event@^1.0.0, chrome-trace-event@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4"
+ integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==
dependencies:
tslib "^1.9.0"
@@ -4895,6 +5828,7 @@ ci-info@^2.0.0:
cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
+ integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
dependencies:
inherits "^2.0.1"
safe-buffer "^5.0.1"
@@ -4902,6 +5836,7 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
class-utils@^0.3.5:
version "0.3.6"
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
+ integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
dependencies:
arr-union "^3.1.0"
define-property "^0.2.5"
@@ -4912,12 +5847,18 @@ classnames@^2.2.4, classnames@^2.2.5, classnames@^2.2.6:
version "2.2.6"
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
-clean-css@4.2.x:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17"
+clean-css@4.2.x, clean-css@^4.2.3:
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78"
+ integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==
dependencies:
source-map "~0.6.0"
+clean-stack@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
+ integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
+
clean-webpack-plugin@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-2.0.1.tgz#2241526b0030aa0249e78714471298f867fc2829"
@@ -4927,16 +5868,25 @@ clean-webpack-plugin@^2.0.0:
cli-boxes@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d"
+ integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==
cli-cursor@^2.0.0, cli-cursor@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
dependencies:
- restore-cursor "^2.0.0"
+ restore-cursor "^2.0.0"
+
+cli-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
+ integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
+ dependencies:
+ restore-cursor "^3.1.0"
cli-table3@0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202"
+ integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==
dependencies:
object-assign "^4.1.0"
string-width "^2.1.1"
@@ -4951,12 +5901,14 @@ cli-truncate@^0.2.1:
string-width "^1.0.1"
cli-width@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48"
+ integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==
clipboard@^2.0.0:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.4.tgz#836dafd66cf0fea5d71ce5d5b0bf6e958009112d"
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.6.tgz#52921296eec0fdf77ead1749421b21c968647376"
+ integrity sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==
dependencies:
good-listener "^1.2.2"
select "^1.1.2"
@@ -4981,6 +5933,7 @@ cliui@^4.0.0:
clone-deep@^0.2.4:
version "0.2.4"
resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6"
+ integrity sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=
dependencies:
for-own "^0.1.3"
is-plain-object "^2.0.1"
@@ -5026,6 +5979,7 @@ co@^4.6.0:
coa@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3"
+ integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==
dependencies:
"@types/q" "^1.5.1"
chalk "^2.4.1"
@@ -5034,10 +5988,12 @@ coa@^2.0.2:
code-point-at@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+ integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
collection-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
+ integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
dependencies:
map-visit "^1.0.0"
object-visit "^1.0.0"
@@ -5045,12 +6001,26 @@ collection-visit@^1.0.0:
color-convert@^1.9.0:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+ integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
dependencies:
color-name "1.1.3"
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+ integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+
+color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
colors@^1.1.2:
version "1.3.3"
@@ -5070,10 +6040,11 @@ combined-stream@^1.0.6, combined-stream@~1.0.6:
delayed-stream "~1.0.0"
comma-separated-tokens@^1.0.0:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz#419cd7fb3258b1ed838dc0953167a25e152f5b59"
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea"
+ integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==
-commander@2, commander@^2.11.0, commander@^2.14.1, commander@^2.18.0, commander@^2.19.0, commander@^2.8.1, commander@^2.9.0:
+commander@2, commander@^2.11.0, commander@^2.14.1, commander@^2.18.0, commander@^2.8.1, commander@^2.9.0:
version "2.20.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
@@ -5084,6 +6055,17 @@ commander@2.15.1:
commander@2.17.x:
version "2.17.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
+ integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==
+
+commander@^2.19.0, commander@^2.20.0:
+ version "2.20.3"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
+ integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+
+commander@^4.0.1, commander@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
+ integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
commander@~2.13.0:
version "2.13.0"
@@ -5092,14 +6074,12 @@ commander@~2.13.0:
commander@~2.19.0:
version "2.19.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
-
-common-tags@^1.8.0:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937"
+ integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==
commondir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
+ integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
compare-func@^1.3.1:
version "1.3.2"
@@ -5121,6 +6101,7 @@ component-classes@^1.2.5:
component-emitter@^1.2.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
+ integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
component-indexof@0.0.3:
version "0.0.3"
@@ -5148,6 +6129,7 @@ compression@^1.5.2, compression@^1.6.2, compression@^1.7.4:
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
concat-stream@^1.4.7, concat-stream@^1.5.0, concat-stream@^1.6.0, concat-stream@~1.6.0:
version "1.6.2"
@@ -5169,7 +6151,7 @@ concaveman@*:
robust-orientation "^1.1.3"
tinyqueue "^1.1.0"
-config-chain@^1.1.11, config-chain@^1.1.12:
+config-chain@^1.1.11:
version "1.1.12"
resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa"
dependencies:
@@ -5182,14 +6164,14 @@ connect-history-api-fallback@^1.3.0:
integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==
console-browserify@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
- dependencies:
- date-now "^0.1.4"
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336"
+ integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==
console-control-strings@^1.0.0, console-control-strings@~1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
+ integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
constant-case@^2.0.0:
version "2.0.0"
@@ -5201,6 +6183,7 @@ constant-case@^2.0.0:
constants-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
+ integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
contains-path@^0.1.0:
version "0.1.0"
@@ -5214,12 +6197,14 @@ content-disposition@0.5.2:
content-disposition@0.5.3:
version "0.5.3"
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
+ integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==
dependencies:
safe-buffer "5.1.2"
content-type@~1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
+ integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
conventional-changelog-angular@^5.0.3:
version "5.0.3"
@@ -5303,7 +6288,14 @@ convert-css-length@^2.0.1:
resolved "https://registry.yarnpkg.com/convert-css-length/-/convert-css-length-2.0.1.tgz#90a76bde5bfd24d72881a5b45d02249b2c1d257c"
integrity sha512-iGpbcvhLPRKUbBc0Quxx7w/bV14AC3ItuBEGMahA5WTYqB8lq9jH0kTXFheCBASsYnqeMFZhiTruNxr1N59Axg==
-convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1:
+convert-source-map@^1.1.0, convert-source-map@^1.5.0, convert-source-map@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
+ integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
+ dependencies:
+ safe-buffer "~5.1.1"
+
+convert-source-map@^1.4.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20"
dependencies:
@@ -5312,6 +6304,7 @@ convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0,
cookie-signature@1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
+ integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
cookie@0.3.1:
version "0.3.1"
@@ -5321,10 +6314,12 @@ cookie@0.3.1:
cookie@0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
+ integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
copy-concurrently@^1.0.0:
version "1.0.5"
resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
+ integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==
dependencies:
aproba "^1.1.1"
fs-write-stream-atomic "^1.0.8"
@@ -5336,6 +6331,7 @@ copy-concurrently@^1.0.0:
copy-descriptor@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
+ integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
copy-to-clipboard@^3.0.5:
version "3.1.0"
@@ -5344,43 +6340,56 @@ copy-to-clipboard@^3.0.5:
toggle-selection "^1.0.6"
copy-to-clipboard@^3.0.8:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.2.0.tgz#d2724a3ccbfed89706fac8a894872c979ac74467"
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae"
+ integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==
dependencies:
toggle-selection "^1.0.6"
-core-js-compat@^3.0.0, core-js-compat@^3.1.1:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.1.3.tgz#0cc3ba4c7f62928c2837e1cffbe8dc78b4f1ae14"
+core-js-compat@^3.0.0, core-js-compat@^3.6.2:
+ version "3.6.5"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c"
+ integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==
dependencies:
- browserslist "^4.6.0"
- core-js-pure "3.1.3"
- semver "^6.1.0"
+ browserslist "^4.8.5"
+ semver "7.0.0"
-core-js-pure@3.1.3, core-js-pure@^3.0.1:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.1.3.tgz#4c90752d5b9471f641514f3728f51c1e0783d0b5"
+core-js-pure@^3.0.1:
+ version "3.6.5"
+ resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813"
+ integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==
core-js@^1.0.0:
version "1.2.7"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
+ integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=
core-js@^2.4.0, core-js@^2.5.7, core-js@^2.6.5:
- version "2.6.9"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2"
+ version "2.6.11"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c"
+ integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==
core-js@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.0.0.tgz#a8dbfa978d29bfc263bfb66c556d0ca924c28957"
-core-js@^3.0.1:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.1.3.tgz#95700bca5f248f5f78c0ec63e784eca663ec4138"
+core-js@^3.0.1, core-js@^3.0.4:
+ version "3.6.5"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a"
+ integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==
core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+corejs-upgrade-webpack-plugin@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/corejs-upgrade-webpack-plugin/-/corejs-upgrade-webpack-plugin-2.2.0.tgz#503293bf1fdcb104918eb40d0294e4776ad6923a"
+ integrity sha512-J0QMp9GNoiw91Kj/dkIQFZeiCXgXoja/Wlht1SPybxerBWh4NCmb0pOgCv61lrlQZETwvVVfAFAA3IqoEO9aqQ==
+ dependencies:
+ resolve-from "^5.0.0"
+ webpack "^4.38.0"
+
cosmiconfig@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc"
@@ -5399,15 +6408,27 @@ cosmiconfig@^5.0.2, cosmiconfig@^5.0.7, cosmiconfig@^5.1.0:
js-yaml "^3.13.0"
parse-json "^4.0.0"
-cosmiconfig@^5.2.0:
+cosmiconfig@^5.2.1:
version "5.2.1"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
+ integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
dependencies:
import-fresh "^2.0.0"
is-directory "^0.3.1"
js-yaml "^3.13.1"
parse-json "^4.0.0"
+cosmiconfig@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
+ integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==
+ dependencies:
+ "@types/parse-json" "^4.0.0"
+ import-fresh "^3.1.0"
+ parse-json "^5.0.0"
+ path-type "^4.0.0"
+ yaml "^1.7.2"
+
coveralls@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-3.0.3.tgz#83b1c64aea1c6afa69beaf50b55ac1bc4d13e2b8"
@@ -5422,6 +6443,7 @@ coveralls@^3.0.3:
create-ecdh@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff"
+ integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==
dependencies:
bn.js "^4.1.0"
elliptic "^6.0.0"
@@ -5435,21 +6457,10 @@ create-emotion@^10.0.9:
"@emotion/sheet" "0.9.2"
"@emotion/utils" "0.11.1"
-create-emotion@^9.2.12:
- version "9.2.12"
- resolved "https://registry.yarnpkg.com/create-emotion/-/create-emotion-9.2.12.tgz#0fc8e7f92c4f8bb924b0fef6781f66b1d07cb26f"
- dependencies:
- "@emotion/hash" "^0.6.2"
- "@emotion/memoize" "^0.6.1"
- "@emotion/stylis" "^0.7.0"
- "@emotion/unitless" "^0.6.2"
- csstype "^2.5.2"
- stylis "^3.5.0"
- stylis-rule-sheet "^0.0.10"
-
-create-hash@^1.1.0, create-hash@^1.1.2:
+create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
+ integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
dependencies:
cipher-base "^1.0.1"
inherits "^2.0.1"
@@ -5457,9 +6468,10 @@ create-hash@^1.1.0, create-hash@^1.1.2:
ripemd160 "^2.0.1"
sha.js "^2.4.0"
-create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
+create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
+ integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
dependencies:
cipher-base "^1.0.3"
create-hash "^1.1.0"
@@ -5476,19 +6488,13 @@ create-react-class@^15.5.1:
loose-envify "^1.3.1"
object-assign "^4.1.1"
-create-react-context@<=0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.2.2.tgz#9836542f9aaa22868cd7d4a6f82667df38019dca"
- dependencies:
- fbjs "^0.8.0"
- gud "^1.0.0"
-
-create-react-context@^0.2.1:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.2.3.tgz#9ec140a6914a22ef04b8b09b7771de89567cb6f3"
+create-react-context@0.3.0, create-react-context@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.3.0.tgz#546dede9dc422def0d3fc2fe03afe0bc0f4f7d8c"
+ integrity sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==
dependencies:
- fbjs "^0.8.0"
gud "^1.0.0"
+ warning "^4.0.3"
create-react-ref@^0.1.0:
version "0.1.0"
@@ -5543,6 +6549,7 @@ crypt@~0.0.1:
crypto-browserify@^3.11.0:
version "3.12.0"
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
+ integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==
dependencies:
browserify-cipher "^1.0.0"
browserify-sign "^4.0.0"
@@ -5563,6 +6570,18 @@ css-animation@^1.3.2:
babel-runtime "6.x"
component-classes "^1.2.5"
+css-color-list@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/css-color-list/-/css-color-list-0.0.1.tgz#8718e8695ae7a2cc8787be8715f1c008a7f28b15"
+ integrity sha1-hxjoaVrnosyHh76HFfHACKfyixU=
+ dependencies:
+ css-color-names "0.0.1"
+
+css-color-names@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.1.tgz#5d0548fa256456ede4a9a0c2ac7ab19d3eb1ad81"
+ integrity sha1-XQVI+iVkVu3kqaDCrHqxnT6xrYE=
+
css-loader@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-1.0.1.tgz#6885bb5233b35ec47b006057da01cc640b6b79fe"
@@ -5596,9 +6615,29 @@ css-loader@^2.1.1:
postcss-value-parser "^3.3.0"
schema-utils "^1.0.0"
+css-loader@^3.0.0:
+ version "3.5.3"
+ resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.5.3.tgz#95ac16468e1adcd95c844729e0bb167639eb0bcf"
+ integrity sha512-UEr9NH5Lmi7+dguAm+/JSPovNjYbm2k3TK58EiwQHzOHH5Jfq1Y+XoP2bQO6TMn7PptMd0opxxedAWcaSTRKHw==
+ dependencies:
+ camelcase "^5.3.1"
+ cssesc "^3.0.0"
+ icss-utils "^4.1.1"
+ loader-utils "^1.2.3"
+ normalize-path "^3.0.0"
+ postcss "^7.0.27"
+ postcss-modules-extract-imports "^2.0.0"
+ postcss-modules-local-by-default "^3.0.2"
+ postcss-modules-scope "^2.2.0"
+ postcss-modules-values "^3.0.0"
+ postcss-value-parser "^4.0.3"
+ schema-utils "^2.6.6"
+ semver "^6.3.0"
+
css-select-base-adapter@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7"
+ integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==
css-select@^1.1.0, css-select@~1.2.0:
version "1.2.0"
@@ -5610,11 +6649,12 @@ css-select@^1.1.0, css-select@~1.2.0:
nth-check "~1.0.1"
css-select@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.0.2.tgz#ab4386cec9e1f668855564b17c3733b43b2a5ede"
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef"
+ integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==
dependencies:
boolbase "^1.0.0"
- css-what "^2.1.2"
+ css-what "^3.2.1"
domutils "^1.7.0"
nth-check "^1.0.2"
@@ -5626,23 +6666,30 @@ css-selector-tokenizer@^0.7.0:
fastparse "^1.1.1"
regexpu-core "^1.0.0"
-css-tree@1.0.0-alpha.28:
- version "1.0.0-alpha.28"
- resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.28.tgz#8e8968190d886c9477bc8d61e96f61af3f7ffa7f"
+css-to-react-native@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-1.0.6.tgz#728c7e774e56536558a0ecaa990d9507c43a4ac4"
+ integrity sha1-cox+d05WU2VYoOyqmQ2VB8Q6SsQ=
dependencies:
- mdn-data "~1.1.0"
- source-map "^0.5.3"
+ css-color-list "0.0.1"
+ fbjs "^0.8.5"
+ nearley "^2.7.7"
-css-tree@1.0.0-alpha.29:
- version "1.0.0-alpha.29"
- resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39"
+css-tree@1.0.0-alpha.37:
+ version "1.0.0-alpha.37"
+ resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22"
+ integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==
dependencies:
- mdn-data "~1.1.0"
- source-map "^0.5.3"
+ mdn-data "2.0.4"
+ source-map "^0.6.1"
-css-url-regex@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/css-url-regex/-/css-url-regex-1.1.0.tgz#83834230cc9f74c457de59eebd1543feeb83b7ec"
+css-tree@1.0.0-alpha.39:
+ version "1.0.0-alpha.39"
+ resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb"
+ integrity sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==
+ dependencies:
+ mdn-data "2.0.6"
+ source-map "^0.6.1"
css-vendor@^2.0.5:
version "2.0.6"
@@ -5652,9 +6699,15 @@ css-vendor@^2.0.5:
"@babel/runtime" "^7.5.5"
is-in-browser "^1.0.2"
-css-what@2.1, css-what@^2.1.2:
+css-what@2.1:
version "2.1.3"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
+ integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==
+
+css-what@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.2.1.tgz#f4a8f12421064621b456755e34a03a2c22df5da1"
+ integrity sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==
csscolorparser@~1.0.2:
version "1.0.3"
@@ -5668,11 +6721,12 @@ cssesc@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
-csso@^3.5.1:
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b"
+csso@^4.0.2:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903"
+ integrity sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==
dependencies:
- css-tree "1.0.0-alpha.29"
+ css-tree "1.0.0-alpha.39"
cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4:
version "0.3.6"
@@ -5684,10 +6738,15 @@ cssstyle@^1.0.0, cssstyle@^1.1.1:
dependencies:
cssom "0.3.x"
-csstype@^2.2.0, csstype@^2.5.2, csstype@^2.5.7:
+csstype@^2.2.0:
version "2.6.5"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.5.tgz#1cd1dff742ebf4d7c991470ae71e12bb6751e034"
+csstype@^2.5.2, csstype@^2.5.7:
+ version "2.6.10"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.10.tgz#e63af50e66d7c266edb6b32909cfd0aabe03928b"
+ integrity sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w==
+
csstype@^2.6.3:
version "2.6.3"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.3.tgz#b701e5968245bf9b08d54ac83d00b624e622a9fa"
@@ -5708,9 +6767,10 @@ curriable@^1.3.0:
resolved "https://registry.npmjs.org/curriable/-/curriable-1.3.0.tgz#cb054bc7bbc1f440cbc613527b8a05b57e19e1ab"
integrity sha512-7kfjDPRSF+pguU0TlfSFBMCd8XlmF29ZAiXcq/zaN4LhZvWdvV0Y72AvaWFqInXZG9Yg1kA1UMkpE9lFBKMpQA==
-cyclist@~0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640"
+cyclist@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9"
+ integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=
d3-array@1, d3-array@^1.1.1, d3-array@^1.2.0:
version "1.2.4"
@@ -5877,6 +6937,11 @@ d3-format@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.3.0.tgz#a3ac44269a2011cdb87c7b5693040c18cddfff11"
+d3-format@^1.2.0:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.4.3.tgz#4e8eb4dff3fdcb891a8489ec6e698601c41b96f1"
+ integrity sha512-mm/nE2Y9HgGyjP+rKIekeITVgBtX97o1nrvHCWX8F/yBYyevUTvu9vb5pUnKwrcSw7o7GuwMOWjS9gFDs4O+uQ==
+
d3-geo@1:
version "1.11.6"
resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.11.6.tgz#134f2ef035ff75a448075fafdea92702a2e0e0cf"
@@ -6210,10 +7275,6 @@ date-fns@^1.27.2:
version "1.30.1"
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c"
-date-now@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
-
dateformat@^3.0.0, dateformat@^3.0.2:
version "3.0.3"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
@@ -6224,13 +7285,13 @@ debug@2.6.9, debug@^2.1.3, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.
dependencies:
ms "2.0.0"
-debug@3.1.0:
+debug@3.1.0, debug@=3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
dependencies:
ms "2.0.0"
-debug@3.2.6, debug@^3.1.0, debug@^3.2.5, debug@^3.2.6:
+debug@3.2.6, debug@^3.0.0, debug@^3.1.0, debug@^3.2.5, debug@^3.2.6:
version "3.2.6"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
dependencies:
@@ -6275,6 +7336,7 @@ deck.gl@^6.4.7:
decode-uri-component@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
+ integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
decompress-response@^3.3.0:
version "3.3.0"
@@ -6286,6 +7348,11 @@ dedent@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
+deep-diff@0.3.4:
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/deep-diff/-/deep-diff-0.3.4.tgz#aac5c39952236abe5f037a2349060ba01b00ae48"
+ integrity sha1-qsXDmVIjar5fA3ojSQYLoBsArkg=
+
deep-eql@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df"
@@ -6296,9 +7363,17 @@ deep-equal@^1.0.0, deep-equal@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"
-deep-extend@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
+deep-equal@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a"
+ integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==
+ dependencies:
+ is-arguments "^1.0.4"
+ is-date-object "^1.0.1"
+ is-regex "^1.0.4"
+ object-is "^1.0.1"
+ object-keys "^1.1.1"
+ regexp.prototype.flags "^1.2.0"
deep-is@~0.1.3:
version "0.1.3"
@@ -6307,11 +7382,17 @@ deep-is@~0.1.3:
deep-object-diff@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/deep-object-diff/-/deep-object-diff-1.1.0.tgz#d6fabf476c2ed1751fc94d5ca693d2ed8c18bc5a"
+ integrity sha512-b+QLs5vHgS+IoSNcUE4n9HP2NwcHj7aqnJWsjPtuG75Rh5TOaGt0OjAYInh77d5T16V5cRDC+Pw/6ZZZiETBGw==
deepmerge@3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-3.2.0.tgz#58ef463a57c08d376547f8869fdc5bcee957f44e"
+deepmerge@^2.1.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.2.1.tgz#5d3ff22a01c00f645405a2fbc17d0778a1801170"
+ integrity sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==
+
deepmerge@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.0.0.tgz#3e3110ca29205f120d7cb064960a39c3d2087c09"
@@ -6339,24 +7420,28 @@ defaults@^1.0.3:
define-properties@^1.1.2, define-properties@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
+ integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
dependencies:
object-keys "^1.0.12"
define-property@^0.2.5:
version "0.2.5"
resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
+ integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
dependencies:
is-descriptor "^0.1.0"
define-property@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
+ integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
dependencies:
is-descriptor "^1.0.0"
define-property@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
+ integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
dependencies:
is-descriptor "^1.0.2"
isobject "^3.0.1"
@@ -6390,22 +7475,26 @@ delayed-stream@~1.0.0:
delegate@^3.1.2:
version "3.2.0"
resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
+ integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==
delegates@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+ integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
depd@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
+ integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
deprecation@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-1.0.1.tgz#2df79b79005752180816b7b6e079cbd80490d711"
des.js@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843"
+ integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==
dependencies:
inherits "^2.0.1"
minimalistic-assert "^1.0.0"
@@ -6413,6 +7502,7 @@ des.js@^1.0.0:
destroy@~1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
+ integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
detect-file@^1.0.0:
version "1.0.0"
@@ -6422,10 +7512,6 @@ detect-indent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"
-detect-libc@^1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
-
detect-newline@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2"
@@ -6437,6 +7523,7 @@ detect-node@^2.0.4:
detect-port-alt@1.1.6:
version "1.1.6"
resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275"
+ integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==
dependencies:
address "^1.0.1"
debug "^2.6.0"
@@ -6444,6 +7531,7 @@ detect-port-alt@1.1.6:
detect-port@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.3.0.tgz#d9c40e9accadd4df5cac6a782aefd014d573d1f1"
+ integrity sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==
dependencies:
address "^1.0.1"
debug "^2.6.0"
@@ -6466,6 +7554,7 @@ diff@3.5.0, diff@^3.4.0, diff@^3.5.0:
diffie-hellman@^5.0.0:
version "5.0.3"
resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
+ integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==
dependencies:
bn.js "^4.1.0"
miller-rabin "^4.0.0"
@@ -6474,6 +7563,7 @@ diffie-hellman@^5.0.0:
dir-glob@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034"
+ integrity sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==
dependencies:
arrify "^1.0.1"
path-type "^3.0.0"
@@ -6515,6 +7605,7 @@ doctrine@^2.1.0:
doctrine@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
+ integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
dependencies:
esutils "^2.0.2"
@@ -6525,15 +7616,10 @@ dom-align@^1.7.0:
dom-converter@^0.2:
version "0.2.0"
resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
+ integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==
dependencies:
utila "~0.4"
-dom-helpers@^3.4.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8"
- dependencies:
- "@babel/runtime" "^7.1.2"
-
dom-helpers@^5.0.1:
version "5.1.0"
resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.1.0.tgz#57a726de04abcc2a8bbfe664b3e21c584bde514e"
@@ -6542,7 +7628,15 @@ dom-helpers@^5.0.1:
"@babel/runtime" "^7.5.5"
csstype "^2.6.6"
-dom-serializer@0, dom-serializer@~0.1.0:
+dom-serializer@0:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51"
+ integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==
+ dependencies:
+ domelementtype "^2.0.1"
+ entities "^2.0.0"
+
+dom-serializer@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0"
dependencies:
@@ -6550,16 +7644,24 @@ dom-serializer@0, dom-serializer@~0.1.0:
entities "^1.1.1"
dom-walk@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018"
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84"
+ integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==
domain-browser@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
+ integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
+ integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
+
+domelementtype@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d"
+ integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==
domexception@^1.0.1:
version "1.0.1"
@@ -6570,12 +7672,14 @@ domexception@^1.0.1:
domhandler@^2.3.0:
version "2.4.2"
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803"
+ integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==
dependencies:
domelementtype "1"
domutils@1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
+ integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=
dependencies:
dom-serializer "0"
domelementtype "1"
@@ -6583,6 +7687,7 @@ domutils@1.5.1:
domutils@^1.5.1, domutils@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a"
+ integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==
dependencies:
dom-serializer "0"
domelementtype "1"
@@ -6593,6 +7698,14 @@ dot-case@^2.1.0:
dependencies:
no-case "^2.2.0"
+dot-case@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.3.tgz#21d3b52efaaba2ea5fda875bb1aa8124521cf4aa"
+ integrity sha512-7hwEmg6RiSQfm/GwPL4AAWXKy3YNNZA3oFv2Pdiey0mwkRCPZ9x6SZbkLcn8Ma5PYeVokzoD4Twv2n7LKp5WeA==
+ dependencies:
+ no-case "^3.0.3"
+ tslib "^1.10.0"
+
dot-prop@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177"
@@ -6606,24 +7719,33 @@ dot-prop@^4.2.0:
is-obj "^1.0.0"
dotenv-defaults@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/dotenv-defaults/-/dotenv-defaults-1.0.2.tgz#441cf5f067653fca4bbdce9dd3b803f6f84c585d"
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/dotenv-defaults/-/dotenv-defaults-1.1.1.tgz#032c024f4b5906d9990eb06d722dc74cc60ec1bd"
+ integrity sha512-6fPRo9o/3MxKvmRZBD3oNFdxODdhJtIy1zcJeUSCs6HCy4tarUpd+G67UTU9tF6OWXeSPqsm4fPAB+2eY9Rt9Q==
dependencies:
dotenv "^6.2.0"
-dotenv-expand@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-4.2.0.tgz#def1f1ca5d6059d24a766e587942c21106ce1275"
+dotenv-expand@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0"
+ integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==
dotenv-webpack@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-1.7.0.tgz#4384d8c57ee6f405c296278c14a9f9167856d3a1"
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-1.8.0.tgz#7ca79cef2497dd4079d43e81e0796bc9d0f68a5e"
+ integrity sha512-o8pq6NLBehtrqA8Jv8jFQNtG9nhRtVqmoD4yWbgUyoU3+9WBlPe+c2EAiaJok9RB28QvrWvdWLZGeTT5aATDMg==
dependencies:
dotenv-defaults "^1.0.2"
-dotenv@^6.0.0, dotenv@^6.2.0:
+dotenv@^6.2.0:
version "6.2.0"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-6.2.0.tgz#941c0410535d942c8becf28d3f357dbd9d476064"
+ integrity sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==
+
+dotenv@^8.0.0:
+ version "8.2.0"
+ resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a"
+ integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==
duplexer3@^0.1.4:
version "0.1.4"
@@ -6632,10 +7754,12 @@ duplexer3@^0.1.4:
duplexer@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
+ integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=
duplexify@^3.4.2, duplexify@^3.6.0:
version "3.7.1"
resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
+ integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
dependencies:
end-of-stream "^1.0.0"
inherits "^2.0.1"
@@ -6658,48 +7782,40 @@ ecc-jsbn@~0.1.1:
jsbn "~0.1.0"
safer-buffer "^2.1.0"
-editorconfig@^0.15.3:
- version "0.15.3"
- resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5"
- dependencies:
- commander "^2.19.0"
- lru-cache "^4.1.5"
- semver "^5.6.0"
- sigmund "^1.0.1"
-
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+ integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
-ejs@^2.6.1:
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0"
-
-electron-to-chromium@^1.3.122:
- version "1.3.127"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.127.tgz#9b34d3d63ee0f3747967205b953b25fe7feb0e10"
+ejs@^2.6.1, ejs@^2.7.4:
+ version "2.7.4"
+ resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba"
+ integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==
-electron-to-chromium@^1.3.137:
- version "1.3.148"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.148.tgz#5796c0d9eb0358d397163413b90bf376c5d8bf08"
+electron-to-chromium@^1.3.122, electron-to-chromium@^1.3.247, electron-to-chromium@^1.3.413:
+ version "1.3.441"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.441.tgz#094f71b992dca5bc96b798cfbaf37dc76302015a"
+ integrity sha512-leBfJwLuyGs1jEei2QioI+PjVMavmUIvPYidE8dCCYWLAq0uefhN3NYgDNb8WxD3uiUNnJ3ScMXg0upSlwySzQ==
elegant-spinner@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e"
-element-resize-detector@^1.1.15:
- version "1.1.15"
- resolved "https://registry.yarnpkg.com/element-resize-detector/-/element-resize-detector-1.1.15.tgz#48eba1a2eaa26969a4c998d972171128c971d8d2"
+element-resize-detector@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/element-resize-detector/-/element-resize-detector-1.2.1.tgz#b0305194447a4863155e58f13323a0aef30851d1"
+ integrity sha512-BdFsPepnQr9fznNPF9nF4vQ457U/ZJXQDSNF1zBe7yaga8v9AdZf3/NElYxFdUh7SitSGt040QygiTo6dtatIw==
dependencies:
- batch-processor "^1.0.0"
+ batch-processor "1.0.0"
element-resize-event@^2.0.4:
version "2.0.9"
resolved "https://registry.yarnpkg.com/element-resize-event/-/element-resize-event-2.0.9.tgz#2f5e1581a296eb5275210c141bc56342e218f876"
-elliptic@^6.0.0:
- version "6.4.1"
- resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a"
+elliptic@^6.0.0, elliptic@^6.5.2:
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762"
+ integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==
dependencies:
bn.js "^4.4.0"
brorand "^1.0.1"
@@ -6713,9 +7829,20 @@ emoji-regex@^7.0.1, emoji-regex@^7.0.2:
version "7.0.3"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
+ integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
+
+emojis-list@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
+ integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
emotion-reset@^2.0.2:
version "2.0.2"
@@ -6731,13 +7858,14 @@ emotion-theming@^10.0.14:
"@emotion/weak-memoize" "0.2.3"
hoist-non-react-statics "^3.3.0"
-emotion-theming@^10.0.7, emotion-theming@^10.0.9:
- version "10.0.10"
- resolved "https://registry.yarnpkg.com/emotion-theming/-/emotion-theming-10.0.10.tgz#efe8751119751bdc70fdc1795fe4cde0fb0cf14c"
+emotion-theming@^10.0.19:
+ version "10.0.27"
+ resolved "https://registry.yarnpkg.com/emotion-theming/-/emotion-theming-10.0.27.tgz#1887baaec15199862c89b1b984b79806f2b9ab10"
+ integrity sha512-MlF1yu/gYh8u+sLUqA0YuA9JX0P4Hb69WlKc/9OLo+WCXuX6sy/KoIa+qJimgmr2dWqnypYKYPX37esjDBbhdw==
dependencies:
- "@emotion/weak-memoize" "0.2.2"
+ "@babel/runtime" "^7.5.5"
+ "@emotion/weak-memoize" "0.2.5"
hoist-non-react-statics "^3.3.0"
- object-assign "^4.1.1"
emotion@^10.0.9:
version "10.0.9"
@@ -6746,30 +7874,26 @@ emotion@^10.0.9:
babel-plugin-emotion "^10.0.9"
create-emotion "^10.0.9"
-emotion@^9.1.2:
- version "9.2.12"
- resolved "https://registry.yarnpkg.com/emotion/-/emotion-9.2.12.tgz#53925aaa005614e65c6e43db8243c843574d1ea9"
- dependencies:
- babel-plugin-emotion "^9.2.11"
- create-emotion "^9.2.12"
-
encodeurl@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
+ integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
encoding@^0.1.11:
version "0.1.12"
resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
+ integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=
dependencies:
iconv-lite "~0.4.13"
end-of-stream@^1.0.0, end-of-stream@^1.1.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43"
+ version "1.4.4"
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
+ integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
dependencies:
once "^1.4.0"
-enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0:
+enhanced-resolve@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f"
dependencies:
@@ -6777,6 +7901,15 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0:
memory-fs "^0.4.0"
tapable "^1.0.0"
+enhanced-resolve@^4.1.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66"
+ integrity sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==
+ dependencies:
+ graceful-fs "^4.1.2"
+ memory-fs "^0.5.0"
+ tapable "^1.0.0"
+
enhanced-resolve@~0.9.0:
version "0.9.1"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e"
@@ -6792,10 +7925,28 @@ enquirer@^2.3.0:
dependencies:
ansi-colors "^3.2.1"
-entities@^1.1.1, entities@~1.1.1:
+entities@^1.1.1, entities@^1.1.2, entities@~1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
+entities@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.2.tgz#ac74db0bba8d33808bbf36809c3a5c3683531436"
+ integrity sha512-dmD3AvJQBUjKpcNkoqr+x+IF0SdRtPz9Vk0uTy4yWqga9ibB6s4v++QFWNohjiUGoMlF552ZvNyXDxz5iW0qmw==
+
+enzyme-adapter-react-16@1.11.2:
+ version "1.11.2"
+ resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.11.2.tgz#8efeafb27e96873a5492fdef3f423693182eb9d4"
+ integrity sha512-2ruTTCPRb0lPuw/vKTXGVZVBZqh83MNDnakMhzxhpJcIbneEwNy2Cv0KvL97pl57/GOazJHflWNLjwWhex5AAA==
+ dependencies:
+ enzyme-adapter-utils "^1.10.1"
+ object.assign "^4.1.0"
+ object.values "^1.1.0"
+ prop-types "^15.7.2"
+ react-is "^16.8.4"
+ react-test-renderer "^16.0.0-0"
+ semver "^5.6.0"
+
enzyme-adapter-react-16@^1.11.2:
version "1.12.1"
resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.12.1.tgz#6a2d74c80559d35ac0a91ca162fa45f4186290cf"
@@ -6809,6 +7960,18 @@ enzyme-adapter-react-16@^1.11.2:
react-test-renderer "^16.0.0-0"
semver "^5.6.0"
+enzyme-adapter-utils@^1.10.1:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.13.0.tgz#01c885dde2114b4690bf741f8dc94cee3060eb78"
+ integrity sha512-YuEtfQp76Lj5TG1NvtP2eGJnFKogk/zT70fyYHXK2j3v6CtuHqc8YmgH/vaiBfL8K1SgVVbQXtTcgQZFwzTVyQ==
+ dependencies:
+ airbnb-prop-types "^2.15.0"
+ function.prototype.name "^1.1.2"
+ object.assign "^4.1.0"
+ object.fromentries "^2.0.2"
+ prop-types "^15.7.2"
+ semver "^5.7.1"
+
enzyme-adapter-utils@^1.11.0:
version "1.11.0"
resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.11.0.tgz#6ffff782b1b57dd46c72a845a91fc4103956a117"
@@ -6821,7 +7984,7 @@ enzyme-adapter-utils@^1.11.0:
prop-types "^15.7.2"
semver "^5.6.0"
-enzyme@^3.9.0:
+enzyme@3.9.0, enzyme@^3.9.0:
version "3.9.0"
resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-3.9.0.tgz#2b491f06ca966eb56b6510068c7894a7e0be3909"
dependencies:
@@ -6854,16 +8017,59 @@ err-code@^1.0.0:
errno@^0.1.3, errno@~0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
+ integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==
dependencies:
prr "~1.0.1"
error-ex@^1.2.0, error-ex@^1.3.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
+ integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
dependencies:
is-arrayish "^0.2.1"
-es-abstract@^1.10.0, es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.13.0, es-abstract@^1.4.3, es-abstract@^1.5.0, es-abstract@^1.5.1, es-abstract@^1.7.0, es-abstract@^1.9.0:
+error-stack-parser@^1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-1.3.6.tgz#e0e73b93e417138d1cd7c0b746b1a4a14854c292"
+ integrity sha1-4Oc7k+QXE40c18C3RrGkoUhUwpI=
+ dependencies:
+ stackframe "^0.3.1"
+
+es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.17.0, es-abstract@^1.17.0-next.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5, es-abstract@^1.7.0:
+ version "1.17.5"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9"
+ integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==
+ dependencies:
+ es-to-primitive "^1.2.1"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ has-symbols "^1.0.1"
+ is-callable "^1.1.5"
+ is-regex "^1.0.5"
+ object-inspect "^1.7.0"
+ object-keys "^1.1.1"
+ object.assign "^4.1.0"
+ string.prototype.trimleft "^2.1.1"
+ string.prototype.trimright "^2.1.1"
+
+es-abstract@^1.17.4:
+ version "1.17.4"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.4.tgz#e3aedf19706b20e7c2594c35fc0d57605a79e184"
+ integrity sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==
+ dependencies:
+ es-to-primitive "^1.2.1"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ has-symbols "^1.0.1"
+ is-callable "^1.1.5"
+ is-regex "^1.0.5"
+ object-inspect "^1.7.0"
+ object-keys "^1.1.1"
+ object.assign "^4.1.0"
+ string.prototype.trimleft "^2.1.1"
+ string.prototype.trimright "^2.1.1"
+
+es-abstract@^1.5.0:
version "1.13.0"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9"
dependencies:
@@ -6874,9 +8080,28 @@ es-abstract@^1.10.0, es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.13
is-regex "^1.0.4"
object-keys "^1.0.12"
-es-to-primitive@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377"
+es-array-method-boxes-properly@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e"
+ integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==
+
+es-get-iterator@^1.0.2:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.0.tgz#bb98ad9d6d63b31aacdc8f89d5d0ee57bcb5b4c8"
+ integrity sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ==
+ dependencies:
+ es-abstract "^1.17.4"
+ has-symbols "^1.0.1"
+ is-arguments "^1.0.4"
+ is-map "^2.0.1"
+ is-set "^2.0.1"
+ is-string "^1.0.5"
+ isarray "^2.0.5"
+
+es-to-primitive@^1.2.0, es-to-primitive@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
+ integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
dependencies:
is-callable "^1.1.4"
is-date-object "^1.0.1"
@@ -6891,8 +8116,9 @@ es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14:
next-tick "^1.0.0"
es5-shim@^4.5.13:
- version "4.5.13"
- resolved "https://registry.yarnpkg.com/es5-shim/-/es5-shim-4.5.13.tgz#5d88062de049f8969f83783f4a4884395f21d28b"
+ version "4.5.14"
+ resolved "https://registry.yarnpkg.com/es5-shim/-/es5-shim-4.5.14.tgz#90009e1019d0ea327447cb523deaff8fe45697ef"
+ integrity sha512-7SwlpL+2JpymWTt8sNLuC2zdhhc+wrfe5cMPI2j0o6WsPdfAiPwmFy2f0AocPB4RQVBOZ9kNTgi5YF7TdhkvEg==
es6-error@^4.1.1:
version "4.1.1"
@@ -6919,6 +8145,7 @@ es6-promisify@^5.0.0:
es6-shim@^0.35.5:
version "0.35.5"
resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.5.tgz#46f59dc0a84a1c5029e8ff1166ca0a902077a9ab"
+ integrity sha512-E9kK/bjtCQRpN1K28Xh4BlmP8egvZBGJJ+9GtnzOwt7mdqtrjHFuVGr7QJfdjBIKqrlU5duPf3pCBoDrkjVYFg==
es6-symbol@^3.1.1, es6-symbol@~3.1.1:
version "3.1.1"
@@ -6930,10 +8157,12 @@ es6-symbol@^3.1.1, es6-symbol@~3.1.1:
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=
escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
escodegen@1.8.x:
version "1.8.1"
@@ -7190,6 +8419,7 @@ esprima@^3.1.3:
esprima@^4.0.0, esprima@~4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+ integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
esprima@~1.0.4:
version "1.0.4"
@@ -7204,6 +8434,7 @@ esquery@^1.0.1:
esrecurse@^4.1.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
+ integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==
dependencies:
estraverse "^4.1.0"
@@ -7211,39 +8442,50 @@ estraverse@^1.9.1:
version "1.9.3"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
-estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
+estraverse@^4.0.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
+estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
+ integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
+
esutils@^2.0.0, esutils@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+ integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
etag@~1.8.1:
version "1.8.1"
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
+ integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
eventemitter3@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163"
-eventemitter3@^3.1.0:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7"
+eventemitter3@^4.0.0:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384"
+ integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==
events@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88"
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59"
+ integrity sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==
eventsource@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0"
+ integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==
dependencies:
original "^1.0.0"
evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
+ integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
dependencies:
md5.js "^1.3.4"
safe-buffer "^5.1.1"
@@ -7261,6 +8503,7 @@ exec-sh@^0.3.2:
execa@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
+ integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=
dependencies:
cross-spawn "^5.0.1"
get-stream "^3.0.0"
@@ -7293,6 +8536,7 @@ exit@^0.1.2:
expand-brackets@^2.1.4:
version "2.1.4"
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
+ integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
dependencies:
debug "^2.3.3"
define-property "^0.2.5"
@@ -7393,17 +8637,19 @@ express@^4.16.2, express@^4.16.3, express@^4.17.0, express@^4.17.1:
extend-shallow@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
+ integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
dependencies:
is-extendable "^0.1.0"
extend-shallow@^3.0.0, extend-shallow@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
+ integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
dependencies:
assign-symbols "^1.0.0"
is-extendable "^1.0.1"
-extend@^3.0.0, extend@~3.0.2:
+extend@~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
@@ -7416,8 +8662,9 @@ external-editor@^2.0.4:
tmp "^0.0.33"
external-editor@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27"
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
+ integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
dependencies:
chardet "^0.7.0"
iconv-lite "^0.4.24"
@@ -7426,6 +8673,7 @@ external-editor@^3.0.3:
extglob@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
+ integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
dependencies:
array-unique "^0.3.2"
define-property "^1.0.0"
@@ -7456,6 +8704,12 @@ extsprintf@^1.2.0:
fast-deep-equal@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
+ integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
+
+fast-deep-equal@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4"
+ integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==
fast-diff@^1.1.2:
version "1.2.0"
@@ -7469,6 +8723,7 @@ fast-equals@^1.2.1:
fast-glob@^2.0.2:
version "2.2.7"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d"
+ integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==
dependencies:
"@mrmlnc/readdir-enhanced" "^2.2.1"
"@nodelib/fs.stat" "^1.1.2"
@@ -7478,8 +8733,9 @@ fast-glob@^2.0.2:
micromatch "^3.1.10"
fast-json-stable-stringify@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+ integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
fast-levenshtein@~2.0.4:
version "2.0.6"
@@ -7490,10 +8746,11 @@ fastparse@^1.1.1:
resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9"
fault@^1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/fault/-/fault-1.0.3.tgz#4da88cf979b6b792b4e13c7ec836767725170b7e"
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/fault/-/fault-1.0.4.tgz#eafcfc0a6d214fc94601e170df29954a4f842f13"
+ integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==
dependencies:
- format "^0.2.2"
+ format "^0.2.0"
faye-websocket@^0.10.0:
version "0.10.0"
@@ -7502,8 +8759,9 @@ faye-websocket@^0.10.0:
websocket-driver ">=0.5.1"
faye-websocket@~0.11.1:
- version "0.11.1"
- resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38"
+ version "0.11.3"
+ resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e"
+ integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==
dependencies:
websocket-driver ">=0.5.1"
@@ -7513,7 +8771,7 @@ fb-watchman@^2.0.0:
dependencies:
bser "^2.0.0"
-fbjs@^0.8.0, fbjs@^0.8.1, fbjs@^0.8.16, fbjs@^0.8.4, fbjs@^0.8.9:
+fbjs@^0.8.16, fbjs@^0.8.4, fbjs@^0.8.5, fbjs@^0.8.7, fbjs@^0.8.9:
version "0.8.17"
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
dependencies:
@@ -7525,10 +8783,20 @@ fbjs@^0.8.0, fbjs@^0.8.1, fbjs@^0.8.16, fbjs@^0.8.4, fbjs@^0.8.9:
setimmediate "^1.0.5"
ua-parser-js "^0.7.18"
-figgy-pudding@^3.4.1, figgy-pudding@^3.5.1:
+fetch-jsonp@^1.0.2:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/fetch-jsonp/-/fetch-jsonp-1.1.3.tgz#9eb9e585ba08aaf700563538d17bbebbcd5a3db2"
+ integrity sha1-nrnlhboIqvcAVjU40Xu+u81aPbI=
+
+figgy-pudding@^3.4.1:
version "3.5.1"
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
+figgy-pudding@^3.5.1:
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
+ integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==
+
figures@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
@@ -7539,6 +8807,14 @@ figures@^1.7.0:
figures@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
+ integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=
+ dependencies:
+ escape-string-regexp "^1.0.5"
+
+figures@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
+ integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
dependencies:
escape-string-regexp "^1.0.5"
@@ -7562,14 +8838,28 @@ file-loader@^3.0.1:
loader-utils "^1.0.2"
schema-utils "^1.0.0"
+file-loader@^4.2.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af"
+ integrity sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==
+ dependencies:
+ loader-utils "^1.2.3"
+ schema-utils "^2.5.0"
+
file-system-cache@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/file-system-cache/-/file-system-cache-1.0.5.tgz#84259b36a2bbb8d3d6eb1021d3132ffe64cfff4f"
+ integrity sha1-hCWbNqK7uNPW6xAh0xMv/mTP/08=
dependencies:
bluebird "^3.3.5"
fs-extra "^0.30.0"
ramda "^0.21.0"
+file-uri-to-path@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
+ integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
+
fileset@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0"
@@ -7584,12 +8874,20 @@ filesize@3.6.1, filesize@^3.6.1:
fill-range@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
+ integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
dependencies:
extend-shallow "^2.0.1"
is-number "^3.0.0"
repeat-string "^1.6.1"
to-regex-range "^2.1.0"
+fill-range@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+ integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+ dependencies:
+ to-regex-range "^5.0.1"
+
finalhandler@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105"
@@ -7606,6 +8904,7 @@ finalhandler@1.1.1:
finalhandler@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
+ integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
dependencies:
debug "2.6.9"
encodeurl "~1.0.2"
@@ -7631,20 +8930,22 @@ find-cache-dir@^1.0.0:
make-dir "^1.0.0"
pkg-dir "^2.0.0"
-find-cache-dir@^2.0.0:
+find-cache-dir@^2.0.0, find-cache-dir@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
+ integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==
dependencies:
commondir "^1.0.1"
make-dir "^2.0.0"
pkg-dir "^3.0.0"
-find-cache-dir@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.0.0.tgz#cd4b7dd97b7185b7e17dbfe2d6e4115ee3eeb8fc"
+find-cache-dir@^3.0.0, find-cache-dir@^3.3.1:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880"
+ integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==
dependencies:
commondir "^1.0.1"
- make-dir "^3.0.0"
+ make-dir "^3.0.2"
pkg-dir "^4.1.0"
find-parent-dir@^0.3.0:
@@ -7654,10 +8955,12 @@ find-parent-dir@^0.3.0:
find-root@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
+ integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
find-up@3.0.0, find-up@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
+ integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
dependencies:
locate-path "^3.0.0"
@@ -7674,11 +8977,13 @@ find-up@^2.0.0, find-up@^2.1.0:
dependencies:
locate-path "^2.0.0"
-find-up@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.0.0.tgz#c367f8024de92efb75f2d4906536d24682065c3a"
+find-up@^4.0.0, find-up@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
+ integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
dependencies:
locate-path "^5.0.0"
+ path-exists "^4.0.0"
findup-sync@2.0.0, findup-sync@^2.0.0:
version "2.0.0"
@@ -7711,6 +9016,7 @@ flatted@^2.0.0:
flush-write-stream@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
+ integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==
dependencies:
inherits "^2.0.3"
readable-stream "^2.3.6"
@@ -7719,9 +9025,17 @@ fn-name@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7"
-focus-lock@^0.6.3:
- version "0.6.4"
- resolved "https://registry.yarnpkg.com/focus-lock/-/focus-lock-0.6.4.tgz#066af3ed5875d85745ab45ef4fbbb43e8a73514a"
+focus-lock@^0.6.7:
+ version "0.6.8"
+ resolved "https://registry.yarnpkg.com/focus-lock/-/focus-lock-0.6.8.tgz#61985fadfa92f02f2ee1d90bc738efaf7f3c9f46"
+ integrity sha512-vkHTluRCoq9FcsrldC0ulQHiyBYgVJB2CX53I8r0nTC6KnEij7Of0jpBspjt3/CuNb6fyoj3aOh9J2HgQUM0og==
+
+follow-redirects@1.5.10:
+ version "1.5.10"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
+ integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==
+ dependencies:
+ debug "=3.1.0"
follow-redirects@^1.0.0, follow-redirects@^1.3.0:
version "1.7.0"
@@ -7732,14 +9046,17 @@ follow-redirects@^1.0.0, follow-redirects@^1.3.0:
for-in@^0.1.3:
version "0.1.8"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1"
+ integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=
for-in@^1.0.1, for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
+ integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
for-own@^0.1.3:
version "0.1.5"
resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
+ integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=
dependencies:
for-in "^1.0.1"
@@ -7753,9 +9070,10 @@ forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
-fork-ts-checker-webpack-plugin@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.1.1.tgz#caf2a210778fb1e171b6993ca0a40f9b6589e3b7"
+fork-ts-checker-webpack-plugin@1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz#ce1d77190b44d81a761b10b6284a373795e41f0c"
+ integrity sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA==
dependencies:
babel-code-frame "^6.22.0"
chalk "^2.4.1"
@@ -7774,23 +9092,41 @@ form-data@~2.3.2:
combined-stream "^1.0.6"
mime-types "^2.1.12"
-format@^0.2.2:
+format@^0.2.0:
version "0.2.2"
resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b"
+ integrity sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=
+
+formik@^2.0.4:
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/formik/-/formik-2.1.4.tgz#8deef07ec845ea98f75e03da4aad7aab4ac46570"
+ integrity sha512-oKz8S+yQBzuQVSEoxkqqJrKQS5XJASWGVn6mrs+oTWrBoHgByVwwI1qHiVc9GKDpZBU9vAxXYAKz2BvujlwunA==
+ dependencies:
+ deepmerge "^2.1.1"
+ hoist-non-react-statics "^3.3.0"
+ lodash "^4.17.14"
+ lodash-es "^4.17.14"
+ react-fast-compare "^2.0.1"
+ scheduler "^0.18.0"
+ tiny-warning "^1.0.2"
+ tslib "^1.10.0"
forwarded@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
+ integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=
fragment-cache@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
+ integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
dependencies:
map-cache "^0.2.2"
fresh@0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
+ integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
from2@^2.1.0, from2@^2.1.1:
version "2.3.0"
@@ -7809,6 +9145,7 @@ front-matter@^2.3.0:
fs-extra@^0.30.0:
version "0.30.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0"
+ integrity sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=
dependencies:
graceful-fs "^4.1.2"
jsonfile "^2.1.0"
@@ -7834,18 +9171,27 @@ fs-extra@^7.0.0, fs-extra@^7.0.1:
universalify "^0.1.0"
fs-extra@^8.0.1:
- version "8.0.1"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.0.1.tgz#90294081f978b1f182f347a440a209154344285b"
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
+ integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
dependencies:
- graceful-fs "^4.1.2"
+ graceful-fs "^4.2.0"
jsonfile "^4.0.0"
universalify "^0.1.0"
fs-minipass@^1.2.5:
- version "1.2.6"
- resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07"
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
+ integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==
dependencies:
- minipass "^2.2.1"
+ minipass "^2.6.0"
+
+fs-minipass@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
+ integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
+ dependencies:
+ minipass "^3.0.0"
fs-readdir-recursive@^1.1.0:
version "1.1.0"
@@ -7854,6 +9200,7 @@ fs-readdir-recursive@^1.1.0:
fs-write-stream-atomic@^1.0.8:
version "1.0.10"
resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
+ integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=
dependencies:
graceful-fs "^4.1.2"
iferr "^0.1.5"
@@ -7863,13 +9210,20 @@ fs-write-stream-atomic@^1.0.8:
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
fsevents@^1.2.7:
- version "1.2.9"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f"
+ version "1.2.13"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38"
+ integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==
dependencies:
+ bindings "^1.5.0"
nan "^2.12.1"
- node-pre-gyp "^0.12.0"
+
+fsevents@~2.1.2:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
+ integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
fstream@^1.0.0, fstream@^1.0.2:
version "1.0.11"
@@ -7887,22 +9241,30 @@ fsu@^1.0.2:
function-bind@^1.0.2, function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
-function.prototype.name@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.0.tgz#8bd763cc0af860a859cc5d49384d74b932cd2327"
+function.prototype.name@^1.1.0, function.prototype.name@^1.1.1, function.prototype.name@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.2.tgz#5cdf79d7c05db401591dfde83e3b70c5123e9a45"
+ integrity sha512-C8A+LlHBJjB2AdcRPorc5JvJ5VUoWlXdEHLOJdCI7kjHEtGTpHQUiqMvCIKUwIsGwZX2jZJy761AXsn356bJQg==
dependencies:
- define-properties "^1.1.2"
- function-bind "^1.1.1"
- is-callable "^1.1.3"
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
+ functions-have-names "^1.2.0"
functional-red-black-tree@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
-fuse.js@^3.4.4:
- version "3.4.5"
- resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.4.5.tgz#8954fb43f9729bd5dbcb8c08f251db552595a7a6"
+functions-have-names@^1.2.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.1.tgz#a981ac397fa0c9964551402cdc5533d7a4d52f91"
+ integrity sha512-j48B/ZI7VKs3sgeI2cZp7WXWmZXu7Iq5pl5/vptV5N2mq+DGFuS/ulaDjtaoLpYzuD6u8UgrUKHfgo7fDTSiBA==
+
+fuse.js@^3.4.6:
+ version "3.6.1"
+ resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.6.1.tgz#7de85fdd6e1b3377c23ce010892656385fd9b10c"
+ integrity sha512-hT9yh/tiinkmirKrlv4KWOjztdoZo1mx9Qh4KvWqC7isoXwdUY3PNWUxceF4/qO9R6riA2C29jdTOeQOIROjgw==
fuzzy@^0.1.1:
version "0.1.3"
@@ -7919,6 +9281,7 @@ g-status@^2.0.2:
gauge@~2.7.3:
version "2.7.4"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
+ integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
dependencies:
aproba "^1.0.3"
console-control-strings "^1.0.0"
@@ -7939,6 +9302,11 @@ genfun@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537"
+gensync@^1.0.0-beta.1:
+ version "1.0.0-beta.1"
+ resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
+ integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==
+
geojson-vt@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/geojson-vt/-/geojson-vt-3.2.1.tgz#f8adb614d2c1d3f6ee7c4265cad4bbf3ad60c8b7"
@@ -7951,10 +9319,6 @@ get-func-name@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
-get-own-enumerable-property-symbols@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz#5c4ad87f2834c4b9b4e84549dc1e0650fb38c24b"
-
get-own-enumerable-property-symbols@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203"
@@ -7994,6 +9358,7 @@ get-stream@^4.0.0, get-stream@^4.1.0:
get-value@^2.0.3, get-value@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
+ integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
getpass@^0.1.1:
version "0.1.7"
@@ -8062,16 +9427,40 @@ gl-matrix@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/gl-matrix/-/gl-matrix-3.0.0.tgz#888301ac7650e148c3865370e13ec66d08a8381f"
+glob-base@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
+ integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=
+ dependencies:
+ glob-parent "^2.0.0"
+ is-glob "^2.0.0"
+
+glob-parent@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
+ integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=
+ dependencies:
+ is-glob "^2.0.0"
+
glob-parent@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
+ integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=
dependencies:
is-glob "^3.1.0"
path-dirname "^1.0.0"
+glob-parent@~5.1.0:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
+ integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
+ dependencies:
+ is-glob "^4.0.1"
+
glob-to-regexp@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab"
+ integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=
glob-to-regexp@^0.4.0:
version "0.4.1"
@@ -8109,9 +9498,10 @@ glob@^5.0.15:
once "^1.3.0"
path-is-absolute "^1.0.0"
-glob@^7.0.0, glob@^7.1.2, glob@^7.1.3:
- version "7.1.4"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
+glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
+ version "7.1.6"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
+ integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
@@ -8123,6 +9513,7 @@ glob@^7.0.0, glob@^7.1.2, glob@^7.1.3:
global-modules@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780"
+ integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==
dependencies:
global-prefix "^3.0.0"
@@ -8147,33 +9538,42 @@ global-prefix@^1.0.1:
global-prefix@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97"
+ integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==
dependencies:
ini "^1.3.5"
kind-of "^6.0.2"
which "^1.3.1"
-global@^4.3.0, global@^4.3.2:
+global@^4.3.0:
version "4.3.2"
resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f"
dependencies:
min-document "^2.19.0"
process "~0.5.1"
+global@^4.3.2, global@^4.4.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406"
+ integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==
+ dependencies:
+ min-document "^2.19.0"
+ process "^0.11.10"
+
globals@^11.1.0:
version "11.12.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
+ integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
globals@^11.7.0:
version "11.11.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.11.0.tgz#dcf93757fa2de5486fbeed7118538adf789e9c2e"
globalthis@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.0.tgz#c5fb98213a9b4595f59cf3e7074f141b4169daae"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.1.tgz#40116f5d9c071f9e8fb0037654df1ab3a83b7ef9"
+ integrity sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==
dependencies:
- define-properties "^1.1.2"
- function-bind "^1.1.1"
- object-keys "^1.0.12"
+ define-properties "^1.1.3"
globby@8.0.2, globby@^8.0.1:
version "8.0.2"
@@ -8208,6 +9608,7 @@ globule@^1.0.0:
good-listener@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
+ integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=
dependencies:
delegate "^3.1.2"
@@ -8233,9 +9634,10 @@ got@^8.3.2:
url-parse-lax "^3.0.0"
url-to-options "^1.0.1"
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
- version "4.1.15"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
+graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2:
+ version "4.2.4"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
+ integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
grid-index@^1.1.0:
version "1.1.0"
@@ -8257,13 +9659,15 @@ gsap@^2.1.3:
gud@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0"
+ integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==
-gzip-size@5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.0.0.tgz#a55ecd99222f4c48fd8c01c625ce3b349d0a0e80"
+gzip-size@5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274"
+ integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==
dependencies:
duplexer "^0.1.1"
- pify "^3.0.0"
+ pify "^4.0.1"
gzip-size@^5.0.0:
version "5.1.0"
@@ -8326,14 +9730,21 @@ has-flag@^1.0.0:
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+ integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
+
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
has-symbol-support-x@^1.4.1:
version "1.4.2"
resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455"
-has-symbols@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44"
+has-symbols@^1.0.0, has-symbols@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
+ integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
has-to-string-tag-x@^1.2.0:
version "1.4.1"
@@ -8348,6 +9759,7 @@ has-unicode@^2.0.0, has-unicode@^2.0.1:
has-value@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
+ integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
dependencies:
get-value "^2.0.3"
has-values "^0.1.4"
@@ -8356,6 +9768,7 @@ has-value@^0.3.1:
has-value@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
+ integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
dependencies:
get-value "^2.0.6"
has-values "^1.0.0"
@@ -8364,10 +9777,12 @@ has-value@^1.0.0:
has-values@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
+ integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
has-values@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
+ integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
dependencies:
is-number "^3.0.0"
kind-of "^4.0.0"
@@ -8375,51 +9790,47 @@ has-values@^1.0.0:
has@^1.0.1, has@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
dependencies:
function-bind "^1.1.1"
hash-base@^3.0.0:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918"
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"
+ integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==
dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
+ inherits "^2.0.4"
+ readable-stream "^3.6.0"
+ safe-buffer "^5.2.0"
hash.js@^1.0.0, hash.js@^1.0.3:
version "1.1.7"
resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
+ integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
dependencies:
inherits "^2.0.3"
minimalistic-assert "^1.0.1"
-hast-util-from-parse5@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-5.0.1.tgz#7da8841d707dcf7be73715f7f3b14e021c4e469a"
- dependencies:
- ccount "^1.0.3"
- hastscript "^5.0.0"
- property-information "^5.0.0"
- web-namespaces "^1.1.2"
- xtend "^4.0.1"
-
-hast-util-parse-selector@^2.2.0:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.2.tgz#66aabccb252c47d94975f50a281446955160380b"
+hast-util-parse-selector@^2.0.0:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.4.tgz#60c99d0b519e12ab4ed32e58f150ec3f61ed1974"
+ integrity sha512-gW3sxfynIvZApL4L07wryYF4+C9VvH3AUi7LAnVXV4MneGEgwOByXvFo18BgmTWnm7oHAe874jKbIB1YhHSIzA==
hastscript@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-5.1.0.tgz#a19b3cca6a26a2bcd0f1b1eac574af9427c1c7df"
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-5.1.2.tgz#bde2c2e56d04c62dd24e8c5df288d050a355fb8a"
+ integrity sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==
dependencies:
comma-separated-tokens "^1.0.0"
- hast-util-parse-selector "^2.2.0"
- property-information "^5.0.1"
+ hast-util-parse-selector "^2.0.0"
+ property-information "^5.0.0"
space-separated-tokens "^1.0.0"
he@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
-he@1.2.0, he@1.2.x, he@^1.1.1:
+he@1.2.0, he@1.2.x, he@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
@@ -8430,9 +9841,10 @@ header-case@^1.0.0:
no-case "^2.2.0"
upper-case "^1.1.3"
-highlight.js@~9.12.0:
- version "9.12.0"
- resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.12.0.tgz#e6d9dbe57cbefe60751f02af336195870c90c01e"
+highlight.js@~9.13.0:
+ version "9.13.1"
+ resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.13.1.tgz#054586d53a6863311168488a0f58d6c505ce641e"
+ integrity sha512-Sc28JNQNDzaH6PORtRLMvif9RSn1mYuOoX3omVjnb0+HbpPygU2ALBI0R/wsiqCb4/fcp07Gdo8g+fhtFrQl6A==
history@^3.0.0:
version "3.3.0"
@@ -8443,6 +9855,18 @@ history@^3.0.0:
query-string "^4.2.2"
warning "^3.0.0"
+history@^4.7.2:
+ version "4.10.1"
+ resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3"
+ integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==
+ dependencies:
+ "@babel/runtime" "^7.1.2"
+ loose-envify "^1.2.0"
+ resolve-pathname "^3.0.0"
+ tiny-invariant "^1.0.2"
+ tiny-warning "^1.0.0"
+ value-equal "^1.0.1"
+
history@^4.9.0:
version "4.9.0"
resolved "https://registry.yarnpkg.com/history/-/history-4.9.0.tgz#84587c2068039ead8af769e9d6a6860a14fa1bca"
@@ -8457,21 +9881,35 @@ history@^4.9.0:
hmac-drbg@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
+ integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
dependencies:
hash.js "^1.0.3"
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
-hoist-non-react-statics@^2.3.1:
+hoist-non-react-statics@^2.3.1, hoist-non-react-statics@^2.5.0:
version "2.5.5"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47"
+ integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==
-hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.2.1, hoist-non-react-statics@^3.3.0:
+hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.2.1:
version "3.3.0"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz#b09178f0122184fb95acf525daaecb4d8f45958b"
dependencies:
react-is "^16.7.0"
+hoist-non-react-statics@^3.3.0:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
+ integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
+ dependencies:
+ react-is "^16.7.0"
+
+home-or-tmp@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-3.0.0.tgz#57a8fe24cf33cdd524860a15821ddc25c86671fb"
+ integrity sha1-V6j+JM8zzdUkhgoVgh3cJchmcfs=
+
homedir-polyfill@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8"
@@ -8513,10 +9951,24 @@ html-encoding-sniffer@^1.0.2:
whatwg-encoding "^1.0.1"
html-entities@^1.2.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f"
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44"
+ integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==
-html-minifier@^3.2.3, html-minifier@^3.5.20:
+html-minifier-terser@^5.0.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054"
+ integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==
+ dependencies:
+ camel-case "^4.1.1"
+ clean-css "^4.2.3"
+ commander "^4.1.1"
+ he "^1.2.0"
+ param-case "^3.0.3"
+ relateurl "^0.2.7"
+ terser "^4.6.3"
+
+html-minifier@^3.2.3:
version "3.5.21"
resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c"
dependencies:
@@ -8542,14 +9994,18 @@ html-webpack-plugin@^3.2.0:
util.promisify "1.0.0"
html-webpack-plugin@^4.0.0-beta.2:
- version "4.0.0-beta.5"
- resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.5.tgz#2c53083c1151bfec20479b1f8aaf0039e77b5513"
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.3.0.tgz#53bf8f6d696c4637d5b656d3d9863d89ce8174fd"
+ integrity sha512-C0fzKN8yQoVLTelcJxZfJCE+aAvQiY2VUf3UuKrR4a9k5UMWYOtpDLsaXwATbcVCnI05hUS7L9ULQHWLZhyi3w==
dependencies:
- html-minifier "^3.5.20"
- loader-utils "^1.1.0"
- lodash "^4.17.11"
+ "@types/html-minifier-terser" "^5.0.0"
+ "@types/tapable" "^1.0.5"
+ "@types/webpack" "^4.41.8"
+ html-minifier-terser "^5.0.1"
+ loader-utils "^1.2.3"
+ lodash "^4.17.15"
pretty-error "^2.1.1"
- tapable "^1.1.0"
+ tapable "^1.1.3"
util.promisify "1.0.0"
html@^1.0.0:
@@ -8586,9 +10042,10 @@ http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3:
setprototypeof "1.1.0"
statuses ">= 1.4.0 < 2"
-http-errors@1.7.2, http-errors@~1.7.2:
+http-errors@1.7.2:
version "1.7.2"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
+ integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
dependencies:
depd "~1.1.2"
inherits "2.0.3"
@@ -8596,9 +10053,21 @@ http-errors@1.7.2, http-errors@~1.7.2:
statuses ">= 1.5.0 < 2"
toidentifier "1.0.0"
-http-parser-js@>=0.4.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.0.tgz#d65edbede84349d0dc30320815a15d39cc3cbbd8"
+http-errors@~1.7.2:
+ version "1.7.3"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
+ integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.4"
+ setprototypeof "1.1.1"
+ statuses ">= 1.5.0 < 2"
+ toidentifier "1.0.0"
+
+"http-parser-js@>=0.4.0 <0.4.11":
+ version "0.4.10"
+ resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4"
+ integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=
http-proxy-agent@^2.1.0:
version "2.1.0"
@@ -8635,6 +10104,7 @@ http-signature@~1.2.0:
https-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
+ integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
https-proxy-agent@^2.2.1:
version "2.2.1"
@@ -8680,13 +10150,14 @@ hygen@^4.0.7:
lodash "^4.17.11"
yargs-parser "^13.0.0"
-hyphenate-style-name@^1.0.3:
+hyphenate-style-name@^1.0.1, hyphenate-style-name@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz#097bb7fa0b8f1a9cf0bd5c734cf95899981a9b48"
-iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13:
+iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@~0.4.13:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
dependencies:
safer-buffer ">= 2.1.2 < 3"
@@ -8707,7 +10178,7 @@ icss-utils@^2.1.0:
dependencies:
postcss "^6.0.1"
-icss-utils@^4.1.0:
+icss-utils@^4.0.0, icss-utils@^4.1.0, icss-utils@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467"
dependencies:
@@ -8727,20 +10198,23 @@ ieee754@^1.1.12, ieee754@^1.1.4:
iferr@^0.1.5:
version "0.1.5"
resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
+ integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE=
ignore-styles@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/ignore-styles/-/ignore-styles-5.0.1.tgz#b49ef2274bdafcd8a4880a966bfe38d1a0bf4671"
ignore-walk@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37"
+ integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==
dependencies:
minimatch "^3.0.4"
ignore@^3.3.5:
version "3.3.10"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
+ integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
ignore@^4.0.6:
version "4.0.6"
@@ -8749,10 +10223,7 @@ ignore@^4.0.6:
immer@1.10.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d"
-
-immer@^1.12.0:
- version "1.12.1"
- resolved "https://registry.yarnpkg.com/immer/-/immer-1.12.1.tgz#40c6e5b292c00560836c2993bda3a24379d466f5"
+ integrity sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==
immer@^2.1.5:
version "2.1.5"
@@ -8768,6 +10239,7 @@ import-cwd@^2.0.0:
import-fresh@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
+ integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY=
dependencies:
caller-path "^2.0.0"
resolve-from "^3.0.0"
@@ -8779,6 +10251,14 @@ import-fresh@^3.0.0:
parent-module "^1.0.0"
resolve-from "^4.0.0"
+import-fresh@^3.1.0:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
+ integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
import-from@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1"
@@ -8802,6 +10282,7 @@ import-local@^2.0.0:
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+ integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
in-publish@^2.0.0:
version "2.0.0"
@@ -8817,6 +10298,11 @@ indent-string@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289"
+indent-string@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
+ integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
+
indexes-of@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
@@ -8824,6 +10310,12 @@ indexes-of@^1.0.1:
indexof@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
+ integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=
+
+infer-owner@^1.0.3, infer-owner@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
+ integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==
inflection@^1.12.0:
version "1.12.0"
@@ -8833,19 +10325,26 @@ inflection@^1.12.0:
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
dependencies:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
inherits@2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
+ integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
-ini@^1.3.2, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
+inherits@2.0.3, inherits@~2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+
+ini@^1.3.2, ini@^1.3.4, ini@^1.3.5:
version "1.3.5"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
@@ -8862,9 +10361,18 @@ init-package-json@^1.10.3:
validate-npm-package-license "^3.0.1"
validate-npm-package-name "^3.0.0"
-inquirer@6.2.2:
- version "6.2.2"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406"
+inline-style-prefixer@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz#c153c7e88fd84fef5c602e95a8168b2770671fe7"
+ integrity sha1-wVPH6I/YT+9cYC6VqBaLJ3BnH+c=
+ dependencies:
+ bowser "^1.0.0"
+ hyphenate-style-name "^1.0.1"
+
+inquirer@6.5.0:
+ version "6.5.0"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42"
+ integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA==
dependencies:
ansi-escapes "^3.2.0"
chalk "^2.4.2"
@@ -8872,12 +10380,12 @@ inquirer@6.2.2:
cli-width "^2.0.0"
external-editor "^3.0.3"
figures "^2.0.0"
- lodash "^4.17.11"
+ lodash "^4.17.12"
mute-stream "0.0.7"
run-async "^2.2.0"
rxjs "^6.4.0"
string-width "^2.1.0"
- strip-ansi "^5.0.0"
+ strip-ansi "^5.1.0"
through "^2.3.6"
inquirer@^3.0.6:
@@ -8899,7 +10407,26 @@ inquirer@^3.0.6:
strip-ansi "^4.0.0"
through "^2.3.6"
-inquirer@^6.2.0, inquirer@^6.2.2:
+inquirer@^6.2.0:
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca"
+ integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==
+ dependencies:
+ ansi-escapes "^3.2.0"
+ chalk "^2.4.2"
+ cli-cursor "^2.1.0"
+ cli-width "^2.0.0"
+ external-editor "^3.0.3"
+ figures "^2.0.0"
+ lodash "^4.17.12"
+ mute-stream "0.0.7"
+ run-async "^2.2.0"
+ rxjs "^6.4.0"
+ string-width "^2.1.0"
+ strip-ansi "^5.1.0"
+ through "^2.3.6"
+
+inquirer@^6.2.2:
version "6.3.1"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.3.1.tgz#7a413b5e7950811013a3db491c61d1f3b776e8e7"
dependencies:
@@ -8917,6 +10444,25 @@ inquirer@^6.2.0, inquirer@^6.2.2:
strip-ansi "^5.1.0"
through "^2.3.6"
+inquirer@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.1.0.tgz#1298a01859883e17c7264b82870ae1034f92dd29"
+ integrity sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==
+ dependencies:
+ ansi-escapes "^4.2.1"
+ chalk "^3.0.0"
+ cli-cursor "^3.1.0"
+ cli-width "^2.0.0"
+ external-editor "^3.0.3"
+ figures "^3.0.0"
+ lodash "^4.17.15"
+ mute-stream "0.0.8"
+ run-async "^2.4.0"
+ rxjs "^6.5.3"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+ through "^2.3.6"
+
internal-ip@^4.2.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907"
@@ -8924,10 +10470,24 @@ internal-ip@^4.2.0:
default-gateway "^4.2.0"
ipaddr.js "^1.9.0"
-interpret@^1.0.0, interpret@^1.1.0, interpret@^1.2.0:
+internal-slot@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3"
+ integrity sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==
+ dependencies:
+ es-abstract "^1.17.0-next.1"
+ has "^1.0.3"
+ side-channel "^1.0.2"
+
+interpret@^1.0.0, interpret@^1.1.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
+interpret@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.0.0.tgz#b783ffac0b8371503e9ab39561df223286aa5433"
+ integrity sha512-e0/LknJ8wpMMhTiWcjivB+ESwIuvHnBSlBbmP/pSb8CQJldoj1p2qv7xGZ/+BtbTziYRFSz8OsvdbiX45LtYQA==
+
into-stream@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6"
@@ -8935,9 +10495,10 @@ into-stream@^3.1.0:
from2 "^2.1.1"
p-is-promise "^1.1.0"
-invariant@2.2.4, invariant@^2.1.0, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.3, invariant@^2.2.4:
+invariant@^2.1.0, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.3, invariant@^2.2.4:
version "2.2.4"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
+ integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
dependencies:
loose-envify "^1.0.0"
@@ -8961,39 +10522,62 @@ ipaddr.js@1.9.0, ipaddr.js@^1.9.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65"
+ipaddr.js@1.9.1:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
+ integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
+
is-accessor-descriptor@^0.1.6:
version "0.1.6"
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
+ integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
dependencies:
kind-of "^3.0.2"
is-accessor-descriptor@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
+ integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
dependencies:
kind-of "^6.0.0"
is-alphabetical@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.3.tgz#eb04cc47219a8895d8450ace4715abff2258a1f8"
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d"
+ integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==
is-alphanumerical@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz#57ae21c374277b3defe0274c640a5704b8f6657c"
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf"
+ integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==
dependencies:
is-alphabetical "^1.0.0"
is-decimal "^1.0.0"
+is-arguments@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3"
+ integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==
+
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+ integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
is-binary-path@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
+ integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=
dependencies:
binary-extensions "^1.0.0"
+is-binary-path@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+ integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+ dependencies:
+ binary-extensions "^2.0.0"
+
is-boolean-object@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.0.tgz#98f8b28030684219a95f375cfbd88ce3405dff93"
@@ -9002,13 +10586,14 @@ is-buffer@^1.0.2, is-buffer@^1.1.5, is-buffer@~1.1.1:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
-is-buffer@^2.0.0, is-buffer@~2.0.3:
+is-buffer@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725"
-is-callable@^1.1.3, is-callable@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
+is-callable@^1.1.4, is-callable@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab"
+ integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==
is-ci@^1.0.10:
version "1.2.1"
@@ -9025,26 +10610,31 @@ is-ci@^2.0.0:
is-data-descriptor@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
+ integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
dependencies:
kind-of "^3.0.2"
is-data-descriptor@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
+ integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
dependencies:
kind-of "^6.0.0"
is-date-object@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
+ integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
is-decimal@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.3.tgz#381068759b9dc807d8c0dc0bfbae2b68e1da48b7"
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5"
+ integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==
is-descriptor@^0.1.0:
version "0.1.6"
resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
+ integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
dependencies:
is-accessor-descriptor "^0.1.6"
is-data-descriptor "^0.1.4"
@@ -9053,6 +10643,7 @@ is-descriptor@^0.1.0:
is-descriptor@^1.0.0, is-descriptor@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
+ integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
dependencies:
is-accessor-descriptor "^1.0.0"
is-data-descriptor "^1.0.0"
@@ -9061,24 +10652,42 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2:
is-directory@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
+ integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
+
+is-docker@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b"
+ integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==
is-dom@^1.0.9:
- version "1.0.9"
- resolved "https://registry.yarnpkg.com/is-dom/-/is-dom-1.0.9.tgz#483832d52972073de12b9fe3f60320870da8370d"
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-dom/-/is-dom-1.1.0.tgz#af1fced292742443bb59ca3f76ab5e80907b4e8a"
+ integrity sha512-u82f6mvhYxRPKpw8V1N0W8ce1xXwOrQtgGcxl6UCL5zBmZu3is/18K0rR7uFCnMDuAsS/3W54mGL4vsaFUQlEQ==
+ dependencies:
+ is-object "^1.0.1"
+ is-window "^1.0.2"
is-extendable@^0.1.0, is-extendable@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+ integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
is-extendable@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
+ integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
dependencies:
is-plain-object "^2.0.4"
+is-extglob@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
+ integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=
+
is-extglob@^2.1.0, is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
is-finite@^1.0.0:
version "1.0.2"
@@ -9089,36 +10698,54 @@ is-finite@^1.0.0:
is-fullwidth-code-point@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+ integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
dependencies:
number-is-nan "^1.0.0"
is-fullwidth-code-point@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+ integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
+
+is-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+ integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
is-function@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5"
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08"
+ integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==
is-generator-fn@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.0.0.tgz#038c31b774709641bda678b1f06a4e3227c10b3e"
+is-glob@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
+ integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=
+ dependencies:
+ is-extglob "^1.0.0"
+
is-glob@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
+ integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
dependencies:
is-extglob "^2.1.0"
-is-glob@^4.0.0:
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
+ integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
dependencies:
is-extglob "^2.1.1"
is-hexadecimal@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz#e8a426a69b6d31470d3a33a47bb825cda02506ee"
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7"
+ integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
is-in-browser@^1.0.2, is-in-browser@^1.1.3:
version "1.1.3"
@@ -9131,6 +10758,11 @@ is-lower-case@^1.1.0:
dependencies:
lower-case "^1.1.0"
+is-map@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1"
+ integrity sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==
+
is-number-object@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.3.tgz#f265ab89a9f445034ef6aff15a8f00b00f551799"
@@ -9138,9 +10770,15 @@ is-number-object@^1.0.3:
is-number@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
+ integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
dependencies:
kind-of "^3.0.2"
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
is-obj@^1.0.0, is-obj@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
@@ -9148,6 +10786,7 @@ is-obj@^1.0.0, is-obj@^1.0.1:
is-object@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470"
+ integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA=
is-observable@^1.1.0:
version "1.1.0"
@@ -9184,40 +10823,52 @@ is-path-inside@^1.0.0:
is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
+ integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
-is-plain-object@2.0.4, is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
- dependencies:
- isobject "^3.0.1"
-
-is-plain-object@^3.0.0:
+is-plain-object@3.0.0, is-plain-object@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.0.tgz#47bfc5da1b5d50d64110806c199359482e75a928"
+ integrity sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==
dependencies:
isobject "^4.0.0"
+is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
+ integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
+ dependencies:
+ isobject "^3.0.1"
+
is-promise@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1"
+ integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
-is-regex@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
+is-regex@^1.0.4, is-regex@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae"
+ integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==
dependencies:
- has "^1.0.1"
+ has "^1.0.3"
is-regexp@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
+ integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk=
is-retry-allowed@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34"
-is-root@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.0.0.tgz#838d1e82318144e5a6f77819d90207645acc7019"
+is-root@2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c"
+ integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==
+
+is-set@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.1.tgz#d1604afdab1724986d30091575f54945da7e5f43"
+ integrity sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==
is-ssh@^1.3.0:
version "1.3.1"
@@ -9228,20 +10879,27 @@ is-ssh@^1.3.0:
is-stream@^1.0.1, is-stream@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+ integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
is-string@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.4.tgz#cc3a9b69857d621e963725a24caeec873b826e64"
+is-string@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
+ integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
+
is-subset@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6"
-is-symbol@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38"
+is-symbol@^1.0.2, is-symbol@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937"
+ integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==
dependencies:
- has-symbols "^1.0.0"
+ has-symbols "^1.0.1"
is-text-path@^1.0.0:
version "1.0.1"
@@ -9263,6 +10921,11 @@ is-utf8@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+is-window@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-window/-/is-window-1.0.2.tgz#2c896ca53db97de45d3c33133a65d8c9f563480d"
+ integrity sha1-LIlspT25feRdPDMTOmXYyfVjSA0=
+
is-windows@^1.0.0, is-windows@^1.0.1, is-windows@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
@@ -9270,6 +10933,14 @@ is-windows@^1.0.0, is-windows@^1.0.1, is-windows@^1.0.2:
is-wsl@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
+ integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
+
+is-wsl@^2.1.1:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
+ integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
+ dependencies:
+ is-docker "^2.0.0"
isarray@0.0.1:
version "0.0.1"
@@ -9278,28 +10949,39 @@ isarray@0.0.1:
isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+ integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
+
+isarray@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
+ integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
isexe@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+ integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
isobject@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+ integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
dependencies:
isarray "1.0.0"
isobject@^3.0.0, isobject@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
+ integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
isobject@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0"
+ integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==
-isomorphic-fetch@^2.1.1:
+isomorphic-fetch@^2.1.1, isomorphic-fetch@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
+ integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=
dependencies:
node-fetch "^1.0.1"
whatwg-fetch ">=0.10.0"
@@ -9430,6 +11112,19 @@ isurl@^1.0.0-alpha5:
has-to-string-tag-x "^1.2.0"
is-object "^1.0.1"
+iterate-iterator@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/iterate-iterator/-/iterate-iterator-1.0.1.tgz#1693a768c1ddd79c969051459453f082fe82e9f6"
+ integrity sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw==
+
+iterate-value@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/iterate-value/-/iterate-value-1.0.2.tgz#935115bd37d006a52046535ebc8d07e9c9337f57"
+ integrity sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==
+ dependencies:
+ es-get-iterator "^1.0.2"
+ iterate-iterator "^1.0.1"
+
jest-changed-files@^24.7.0:
version "24.7.0"
resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.7.0.tgz#39d723a11b16ed7b373ac83adc76a69464b0c4fa"
@@ -9747,6 +11442,14 @@ jest-worker@^24.6.0:
merge-stream "^1.0.1"
supports-color "^6.1.0"
+jest-worker@^25.4.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1"
+ integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==
+ dependencies:
+ merge-stream "^2.0.0"
+ supports-color "^7.0.0"
+
jest@^24.5.0:
version "24.7.1"
resolved "https://registry.yarnpkg.com/jest/-/jest-24.7.1.tgz#0d94331cf510c75893ee32f87d7321d5bf8f2501"
@@ -9758,27 +11461,20 @@ js-base64@^2.1.8:
version "2.5.1"
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121"
-js-beautify@^1.8.9:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.10.0.tgz#9753a13c858d96828658cd18ae3ca0e5783ea672"
- dependencies:
- config-chain "^1.1.12"
- editorconfig "^0.15.3"
- glob "^7.1.3"
- mkdirp "~0.5.1"
- nopt "~4.0.1"
-
js-levenshtein@^1.1.3:
version "1.1.6"
resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d"
+ integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
js-tokens@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
+ integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
js-yaml@3.12.0:
version "3.12.0"
@@ -9868,10 +11564,12 @@ jsdom@^14.0.0:
jsesc@^2.5.1:
version "2.5.2"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
+ integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
jsesc@~0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
+ integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
json-buffer@3.0.0:
version "3.0.0"
@@ -9884,10 +11582,12 @@ json-loader@^0.5.4:
json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
+ integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
json-schema-traverse@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
json-schema@0.2.3:
version "0.2.3"
@@ -9904,6 +11604,7 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
json3@^3.3.2:
version "3.3.3"
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81"
+ integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==
json5@^0.5.0:
version "0.5.1"
@@ -9912,30 +11613,35 @@ json5@^0.5.0:
json5@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
+ integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
dependencies:
minimist "^1.2.0"
-json5@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850"
+json5@^2.1.0, json5@^2.1.1, json5@^2.1.2:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
+ integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
dependencies:
- minimist "^1.2.0"
+ minimist "^1.2.5"
jsonfile@^2.1.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
+ integrity sha1-NzaitCi4e72gzIO1P6PWM6NcKug=
optionalDependencies:
graceful-fs "^4.1.6"
jsonfile@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
+ integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
optionalDependencies:
graceful-fs "^4.1.6"
jsonify@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
+ integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=
jsonp@^0.2.1:
version "0.2.1"
@@ -10063,32 +11769,38 @@ killable@^1.0.0:
kind-of@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5"
+ integrity sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=
dependencies:
is-buffer "^1.0.2"
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
version "3.2.2"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
+ integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
dependencies:
is-buffer "^1.1.5"
kind-of@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
+ integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
dependencies:
is-buffer "^1.1.5"
kind-of@^5.0.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
+ integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
kind-of@^6.0.0, kind-of@^6.0.2:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
+ integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
klaw@^1.0.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
+ integrity sha1-QIhDO0azsbolnXh4XY6W9zugJDk=
optionalDependencies:
graceful-fs "^4.1.9"
@@ -10099,20 +11811,23 @@ kleur@^3.0.2:
lazy-cache@^0.2.3:
version "0.2.7"
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65"
+ integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=
lazy-cache@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
+ integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4=
-lazy-universal-dotenv@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/lazy-universal-dotenv/-/lazy-universal-dotenv-2.0.0.tgz#e015ad9f77be9ef811956d53ea9519b1c0ab0214"
+lazy-universal-dotenv@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/lazy-universal-dotenv/-/lazy-universal-dotenv-3.0.1.tgz#a6c8938414bca426ab8c9463940da451a911db38"
+ integrity sha512-prXSYk799h3GY3iOWnC6ZigYzMPjxN2svgjJ9shk7oMadSNX3wXy0B6F32PMJv7qtMnrIbUxoEHzbutvxR2LBQ==
dependencies:
- "@babel/runtime" "^7.0.0"
+ "@babel/runtime" "^7.5.0"
app-root-dir "^1.0.2"
- core-js "^2.5.7"
- dotenv "^6.0.0"
- dotenv-expand "^4.2.0"
+ core-js "^3.0.4"
+ dotenv "^8.0.0"
+ dotenv-expand "^5.1.0"
lcid@^1.0.0:
version "1.0.0"
@@ -10160,6 +11875,18 @@ leven@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580"
+leven@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
+ integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
+
+levenary@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77"
+ integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==
+ dependencies:
+ leven "^3.1.0"
+
levn@^0.3.0, levn@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
@@ -10190,6 +11917,11 @@ libnpmpublish@^1.1.1:
semver "^5.5.1"
ssri "^6.0.1"
+lines-and-columns@^1.1.6:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
+ integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
+
lint-staged@^8.1.4:
version "8.1.5"
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-8.1.5.tgz#372476fe1a58b8834eb562ed4c99126bd60bdd79"
@@ -10299,11 +12031,12 @@ loader-fs-cache@^1.0.0:
find-cache-dir "^0.1.1"
mkdirp "0.5.1"
-loader-runner@^2.3.0:
+loader-runner@^2.3.0, loader-runner@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
+ integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
-loader-utils@1.2.3, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.1, loader-utils@^1.2.3:
+loader-utils@1.2.3, loader-utils@^1.0.1, loader-utils@^1.0.2:
version "1.2.3"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
dependencies:
@@ -10320,9 +12053,28 @@ loader-utils@^0.2.16:
json5 "^0.5.0"
object-assign "^4.0.1"
+loader-utils@^1.1.0, loader-utils@^1.2.3:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
+ integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
+ dependencies:
+ big.js "^5.2.2"
+ emojis-list "^3.0.0"
+ json5 "^1.0.1"
+
+loader-utils@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0"
+ integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==
+ dependencies:
+ big.js "^5.2.2"
+ emojis-list "^3.0.0"
+ json5 "^2.1.2"
+
locate-path@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
dependencies:
p-locate "^2.0.0"
path-exists "^3.0.0"
@@ -10330,6 +12082,7 @@ locate-path@^2.0.0:
locate-path@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
+ integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
dependencies:
p-locate "^3.0.0"
path-exists "^3.0.0"
@@ -10337,12 +12090,14 @@ locate-path@^3.0.0:
locate-path@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
+ integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
dependencies:
p-locate "^4.1.0"
-lodash-es@^4.17.11:
- version "4.17.11"
- resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.11.tgz#145ab4a7ac5c5e52a3531fb4f310255a152b4be0"
+lodash-es@^4.17.11, lodash-es@^4.17.14:
+ version "4.17.15"
+ resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.15.tgz#21bd96839354412f23d7a10340e5eac6ee455d78"
+ integrity sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ==
lodash-webpack-plugin@^0.11.2, lodash-webpack-plugin@^0.11.5:
version "0.11.5"
@@ -10374,7 +12129,19 @@ lodash.clonedeep@^4.3.2, lodash.clonedeep@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
-lodash.debounce@^4.0.6, lodash.debounce@^4.0.8:
+lodash.curry@^4.0.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170"
+ integrity sha1-JI42By7ekGUB11lmIAqG2riyMXA=
+
+lodash.debounce@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-3.1.1.tgz#812211c378a94cc29d5aa4e3346cf0bfce3a7df5"
+ integrity sha1-gSIRw3ipTMKdWqTjNGzwv846ffU=
+ dependencies:
+ lodash._getnative "^3.0.0"
+
+lodash.debounce@^4.0.4, lodash.debounce@^4.0.6, lodash.debounce@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
@@ -10398,6 +12165,11 @@ lodash.flattendeep@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2"
+lodash.flow@^3.3.0:
+ version "3.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.flow/-/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a"
+ integrity sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o=
+
lodash.foreach@^4.3.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53"
@@ -10405,6 +12177,7 @@ lodash.foreach@^4.3.0:
lodash.get@^4.4.2:
version "4.4.2"
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
+ integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=
lodash.isarguments@^3.0.0:
version "3.1.0"
@@ -10421,6 +12194,7 @@ lodash.isempty@^4.4.0:
lodash.isequal@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
+ integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA=
lodash.isfunction@^3.0.8:
version "3.0.9"
@@ -10429,6 +12203,7 @@ lodash.isfunction@^3.0.8:
lodash.isplainobject@^4.0.6:
version "4.0.6"
resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
+ integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=
lodash.kebabcase@^4.1.1:
version "4.1.1"
@@ -10449,16 +12224,17 @@ lodash.map@^4.4.0:
lodash.memoize@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
+ integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
lodash.merge@^4.4.0:
version "4.6.1"
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.1.tgz#adc25d9cb99b9391c59624f379fbba60d7111d54"
-lodash.mergewith@^4.6.0, lodash.mergewith@^4.6.1:
+lodash.mergewith@^4.6.0:
version "4.6.1"
resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927"
-lodash.pick@^4.2.1, lodash.pick@^4.4.0:
+lodash.pick@^4.2.1:
version "4.4.0"
resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
@@ -10474,7 +12250,7 @@ lodash.set@^4.3.2:
version "4.3.2"
resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23"
-lodash.some@^4.4.0, lodash.some@^4.6.0:
+lodash.some@^4.4.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d"
@@ -10502,6 +12278,7 @@ lodash.templatesettings@^4.0.0:
lodash.throttle@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
+ integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=
lodash.unionwith@^4.6.0:
version "4.6.0"
@@ -10511,12 +12288,12 @@ lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
-lodash@4.17.15, lodash@^4.17.15:
+lodash@4.17.15, lodash@^4.0.1, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.2.0:
version "4.17.15"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
-lodash@^4.0.0, lodash@^4.0.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1, lodash@~4.17.10:
+lodash@^4.0.0, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1, lodash@~4.17.10:
version "4.17.11"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
@@ -10567,6 +12344,7 @@ lolex@^3.1.0:
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
+ integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
dependencies:
js-tokens "^3.0.0 || ^4.0.0"
@@ -10587,6 +12365,13 @@ lower-case@^1.1.0, lower-case@^1.1.1, lower-case@^1.1.2:
version "1.1.4"
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
+lower-case@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7"
+ integrity sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ==
+ dependencies:
+ tslib "^1.10.0"
+
lowercase-keys@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306"
@@ -10595,14 +12380,15 @@ lowercase-keys@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
-lowlight@~1.9.1:
- version "1.9.2"
- resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.9.2.tgz#0b9127e3cec2c3021b7795dd81005c709a42fdd1"
+lowlight@~1.11.0:
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.11.0.tgz#1304d83005126d4e8b1dc0f07981e9b689ec2efc"
+ integrity sha512-xrGGN6XLL7MbTMdPD6NfWPwY43SNkjf/d0mecSx/CW36fUZTjRHEq0/Cdug3TWKtRXLWi7iMl1eP0olYxj/a4A==
dependencies:
fault "^1.0.2"
- highlight.js "~9.12.0"
+ highlight.js "~9.13.0"
-lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.2, lru-cache@^4.1.3, lru-cache@^4.1.5:
+lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.2, lru-cache@^4.1.3:
version "4.1.5"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
dependencies:
@@ -10612,6 +12398,7 @@ lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.2, lru-cache@^4.1.3, lru-cach
lru-cache@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
+ integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
dependencies:
yallist "^3.0.2"
@@ -10643,9 +12430,10 @@ make-dir@^2.0.0, make-dir@^2.1.0:
pify "^4.0.1"
semver "^5.6.0"
-make-dir@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.0.tgz#1b5f39f6b9270ed33f9f054c5c0f84304989f801"
+make-dir@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
+ integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
dependencies:
semver "^6.0.0"
@@ -10674,6 +12462,7 @@ makeerror@1.0.x:
mamacro@^0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4"
+ integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==
map-age-cleaner@^0.1.1:
version "0.1.3"
@@ -10684,6 +12473,7 @@ map-age-cleaner@^0.1.1:
map-cache@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
+ integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
map-obj@^1.0.0, map-obj@^1.0.1:
version "1.0.1"
@@ -10696,10 +12486,12 @@ map-obj@^2.0.0:
map-or-similar@^1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/map-or-similar/-/map-or-similar-1.5.0.tgz#6de2653174adfb5d9edc33c69d3e92a1b76faf08"
+ integrity sha1-beJlMXSt+12e3DPGnT6Sobdvrwg=
map-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
+ integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
dependencies:
object-visit "^1.0.0"
@@ -10739,24 +12531,27 @@ mapbox@1.0.0-beta9:
es6-promise "^4.0.5"
rest "^2.0.0"
-markdown-to-jsx@^6.9.1, markdown-to-jsx@^6.9.3:
- version "6.10.2"
- resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-6.10.2.tgz#644f602b81d088f10aef1c3674874876146cf38b"
+markdown-to-jsx@^6.10.3, markdown-to-jsx@^6.9.1, markdown-to-jsx@^6.9.3:
+ version "6.11.1"
+ resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-6.11.1.tgz#3931612cfffaa5fd6610ecf2a4055eccccb98fa8"
+ integrity sha512-FdtDAv8d9/tjyHxdCvWZxxOgK2icwzBkTq/dPk+XlQ2B+DYDcwE89FWGzT92erXQ0CQR/bQbpNK3loNYhYL70g==
dependencies:
prop-types "^15.6.2"
unquote "^1.1.0"
-marked@^0.6.2:
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/marked/-/marked-0.6.2.tgz#c574be8b545a8b48641456ca1dbe0e37b6dccc1a"
+marked@^0.3.12:
+ version "0.3.19"
+ resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790"
+ integrity sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==
-marksy@^7.0.0:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/marksy/-/marksy-7.0.1.tgz#fb26f780ce56bf5ca48fc137efdef1f97dd4c7ef"
+marksy@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/marksy/-/marksy-8.0.0.tgz#b595f121fd47058df9dda1448f6ee156ab48810a"
+ integrity sha512-mmHcKZojCQAGuKTuu3153viXdCuxUmsSxomFaSOBTkOlfWFOZBmDhmJkOp0CsPMNRQ7m6oN2wflvAHLpBNZVPw==
dependencies:
- babel-standalone "^6.26.0"
- he "^1.1.1"
- marked "^0.6.2"
+ "@babel/standalone" "^7.4.5"
+ he "^1.2.0"
+ marked "^0.3.12"
matcher@^1.0.0:
version "1.1.1"
@@ -10767,6 +12562,7 @@ matcher@^1.0.0:
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.gl@^2.3.0:
version "2.3.1"
@@ -10778,6 +12574,7 @@ math.gl@^2.3.0:
md5.js@^1.3.4:
version "1.3.5"
resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
+ integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
dependencies:
hash-base "^3.0.0"
inherits "^2.0.1"
@@ -10791,13 +12588,20 @@ md5@^2.0.0:
crypt "~0.0.1"
is-buffer "~1.1.1"
-mdn-data@~1.1.0:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01"
+mdn-data@2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b"
+ integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==
+
+mdn-data@2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978"
+ integrity sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==
media-typer@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
+ integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
mem@^1.1.0:
version "1.1.0"
@@ -10814,12 +12618,14 @@ mem@^4.0.0:
p-is-promise "^2.0.0"
memoize-one@^5.0.0:
- version "5.0.4"
- resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.0.4.tgz#005928aced5c43d890a4dfab18ca908b0ec92cbc"
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0"
+ integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA==
memoizerific@^1.11.3:
version "1.11.3"
resolved "https://registry.yarnpkg.com/memoizerific/-/memoizerific-1.11.3.tgz#7c87a4646444c32d75438570905f2dbd1b1a805a"
+ integrity sha1-fIekZGREwy11Q4VwkF8tvRsagFo=
dependencies:
map-or-similar "^1.5.0"
@@ -10830,6 +12636,15 @@ memory-fs@^0.2.0:
memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
+ integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=
+ dependencies:
+ errno "^0.1.3"
+ readable-stream "^2.0.1"
+
+memory-fs@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c"
+ integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==
dependencies:
errno "^0.1.3"
readable-stream "^2.0.1"
@@ -10870,6 +12685,7 @@ meow@^4.0.0:
merge-deep@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2"
+ integrity sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA==
dependencies:
arr-union "^3.1.0"
clone-deep "^0.2.4"
@@ -10878,6 +12694,7 @@ merge-deep@^3.0.2:
merge-descriptors@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
+ integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
merge-stream@^1.0.1:
version "1.0.1"
@@ -10885,9 +12702,15 @@ merge-stream@^1.0.1:
dependencies:
readable-stream "^2.0.1"
+merge-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
+ integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+
merge2@^1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5"
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81"
+ integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==
merge@^1.2.0:
version "1.2.1"
@@ -10896,10 +12719,12 @@ merge@^1.2.0:
methods@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
+ integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
microevent.ts@~0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0"
+ integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==
micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8, micromatch@^3.1.9:
version "3.1.10"
@@ -10919,9 +12744,18 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8, mic
snapdragon "^0.8.1"
to-regex "^3.0.2"
+micromatch@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
+ integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
+ dependencies:
+ braces "^3.0.1"
+ picomatch "^2.0.5"
+
miller-rabin@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
+ integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==
dependencies:
bn.js "^4.0.0"
brorand "^1.0.1"
@@ -10929,6 +12763,12 @@ miller-rabin@^4.0.0:
mime-db@1.40.0:
version "1.40.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32"
+ integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==
+
+mime-db@1.44.0:
+ version "1.44.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
+ integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
"mime-db@>= 1.38.0 < 2":
version "1.39.0"
@@ -10944,12 +12784,19 @@ mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19:
dependencies:
mime-db "~1.38.0"
-mime-types@~2.1.18, mime-types@~2.1.24:
+mime-types@~2.1.18:
version "2.1.24"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81"
dependencies:
mime-db "1.40.0"
+mime-types@~2.1.24:
+ version "2.1.27"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
+ integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
+ dependencies:
+ mime-db "1.44.0"
+
mime@1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
@@ -10958,20 +12805,27 @@ mime@1.4.1:
mime@1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+ integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
mime@^2.0.3:
version "2.4.1"
resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.1.tgz#19eb7357bebbda37df585b14038347721558c715"
-mime@^2.3.1, mime@^2.4.2:
+mime@^2.3.1:
version "2.4.3"
resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.3.tgz#229687331e86f68924e6cb59e1cdd937f18275fe"
+mime@^2.4.2, mime@^2.4.4:
+ version "2.4.5"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.5.tgz#d8de2ecb92982dedbb6541c9b6841d7f218ea009"
+ integrity sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w==
+
mimic-fn@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
+ integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
-mimic-fn@^2.0.0:
+mimic-fn@^2.0.0, mimic-fn@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
@@ -10982,9 +12836,15 @@ mimic-response@^1.0.0:
min-document@^2.19.0:
version "2.19.0"
resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
+ integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=
dependencies:
dom-walk "^0.1.0"
+min-indent@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.0.tgz#cfc45c37e9ec0d8f0a0ec3dd4ef7f7c3abe39256"
+ integrity sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY=
+
mini-create-react-context@^0.3.0:
version "0.3.2"
resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.3.2.tgz#79fc598f283dd623da8e088b05db8cddab250189"
@@ -10997,6 +12857,7 @@ mini-create-react-context@^0.3.0:
mini-css-extract-plugin@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.7.0.tgz#5ba8290fbb4179a43dd27cca444ba150bee743a0"
+ integrity sha512-RQIw6+7utTYn8DBGsf/LpRgZCJMpZt+kuawJ/fju0KiOL6nAaTBNmCJwS7HtwSCXfS47gCkmtBFS7HdsquhdxQ==
dependencies:
loader-utils "^1.1.0"
normalize-url "1.9.1"
@@ -11006,14 +12867,17 @@ mini-css-extract-plugin@^0.7.0:
minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
+ integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
+ integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
dependencies:
brace-expansion "^1.1.7"
@@ -11031,23 +12895,65 @@ minimist@0.0.5:
minimist@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
+ integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
-minimist@1.2.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
+minimist@1.2.0, minimist@^1.1.1, minimist@^1.1.3:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
+minimist@^1.2.0, minimist@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
+ integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
+
minimist@~0.0.1:
version "0.0.10"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
-minipass@^2.2.1, minipass@^2.3.4, minipass@^2.3.5:
+minipass-collect@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617"
+ integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==
+ dependencies:
+ minipass "^3.0.0"
+
+minipass-flush@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373"
+ integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==
+ dependencies:
+ minipass "^3.0.0"
+
+minipass-pipeline@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz#55f7839307d74859d6e8ada9c3ebe72cec216a34"
+ integrity sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==
+ dependencies:
+ minipass "^3.0.0"
+
+minipass@^2.2.1, minipass@^2.3.5, minipass@^2.6.0:
+ version "2.9.0"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6"
+ integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==
+ dependencies:
+ safe-buffer "^5.1.2"
+ yallist "^3.0.0"
+
+minipass@^2.3.4:
version "2.3.5"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848"
dependencies:
safe-buffer "^5.1.2"
yallist "^3.0.0"
-minizlib@^1.1.1, minizlib@^1.2.1:
+minipass@^3.0.0, minipass@^3.1.1:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd"
+ integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==
+ dependencies:
+ yallist "^4.0.0"
+
+minizlib@^1.1.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614"
dependencies:
@@ -11071,6 +12977,7 @@ mississippi@^2.0.0:
mississippi@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
+ integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==
dependencies:
concat-stream "^1.5.0"
duplexify "^3.4.2"
@@ -11084,8 +12991,9 @@ mississippi@^3.0.0:
through2 "^2.0.0"
mixin-deep@^1.2.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe"
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
+ integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
dependencies:
for-in "^1.0.2"
is-extendable "^1.0.1"
@@ -11093,6 +13001,7 @@ mixin-deep@^1.2.0:
mixin-object@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e"
+ integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=
dependencies:
for-in "^0.1.3"
is-extendable "^0.1.1"
@@ -11112,12 +13021,19 @@ mjolnir.js@^2.2.0:
"@babel/runtime" "^7.0.0"
hammerjs "^2.0.8"
-mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
+mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0":
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
dependencies:
minimist "0.0.8"
+mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.0, mkdirp@~0.5.1:
+ version "0.5.5"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
+ integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
+ dependencies:
+ minimist "^1.2.5"
+
mocha-clean@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/mocha-clean/-/mocha-clean-1.0.0.tgz#7e769b16cb38745df62a28917077953b05fec064"
@@ -11212,9 +13128,15 @@ moo@^0.4.3:
version "0.4.3"
resolved "https://registry.yarnpkg.com/moo/-/moo-0.4.3.tgz#3f847a26f31cf625a956a87f2b10fbc013bfd10e"
+moo@^0.5.0:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/moo/-/moo-0.5.1.tgz#7aae7f384b9b09f620b6abf6f74ebbcd1b65dbc4"
+ integrity sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==
+
move-concurrently@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
+ integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=
dependencies:
aproba "^1.1.1"
copy-concurrently "^1.0.0"
@@ -11226,11 +13148,17 @@ move-concurrently@^1.0.1:
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
-ms@2.1.1, ms@^2.0.0, ms@^2.1.1:
+ms@2.1.1, ms@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
+ms@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+ integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
multicast-dns-service-types@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901"
@@ -11258,8 +13186,9 @@ murmurhash-js@^1.0.0:
mute-stream@0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
+ integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
-mute-stream@~0.0.4:
+mute-stream@0.0.8, mute-stream@~0.0.4:
version "0.0.8"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
@@ -11268,8 +13197,9 @@ nan@^2.10.0:
resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7"
nan@^2.12.1:
- version "2.14.0"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
+ version "2.14.1"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
+ integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==
nanoid@^2.0.0:
version "2.0.3"
@@ -11279,6 +13209,7 @@ nanoid@^2.0.0:
nanomatch@^1.2.9:
version "1.2.13"
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
+ integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
dependencies:
arr-diff "^4.0.0"
array-unique "^0.3.2"
@@ -11306,13 +13237,16 @@ nearley@^2.7.10:
randexp "0.4.6"
semver "^5.4.1"
-needle@^2.2.1:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c"
+nearley@^2.7.7:
+ version "2.19.1"
+ resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.19.1.tgz#4af4006e16645ff800e9f993c3af039857d9dbdc"
+ integrity sha512-xq47GIUGXxU9vQg7g/y1o1xuKnkO7ev4nRWqftmQrLkfnE/FjRqDaGOUakM8XHPn/6pW3bGjU2wgoJyId90rqg==
dependencies:
- debug "^3.2.6"
- iconv-lite "^0.4.4"
- sax "^1.2.4"
+ commander "^2.19.0"
+ moo "^0.5.0"
+ railroad-diagrams "^1.0.0"
+ randexp "0.4.6"
+ semver "^5.4.1"
negotiator@0.6.1:
version "0.6.1"
@@ -11321,10 +13255,12 @@ negotiator@0.6.1:
negotiator@0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
+ integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
-neo-async@^2.5.0:
+neo-async@^2.5.0, neo-async@^2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c"
+ integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==
neo-async@^2.6.0:
version "2.6.0"
@@ -11333,6 +13269,7 @@ neo-async@^2.6.0:
nested-object-assign@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/nested-object-assign/-/nested-object-assign-1.0.3.tgz#5aca69390d9affe5a612152b5f0843ae399ac597"
+ integrity sha512-kgq1CuvLyUcbcIuTiCA93cQ2IJFSlRwXcN+hLcb2qLJwC2qrePHGZZa7IipyWqaWF6tQjdax2pQnVxdq19Zzwg==
next-tick@^1.0.0:
version "1.0.0"
@@ -11341,6 +13278,7 @@ next-tick@^1.0.0:
nice-try@^1.0.4:
version "1.0.5"
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
+ integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
nise@^1.4.10:
version "1.4.10"
@@ -11358,6 +13296,14 @@ no-case@^2.2.0, no-case@^2.3.2:
dependencies:
lower-case "^1.1.1"
+no-case@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.3.tgz#c21b434c1ffe48b39087e86cfb4d2582e9df18f8"
+ integrity sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw==
+ dependencies:
+ lower-case "^2.0.1"
+ tslib "^1.10.0"
+
nock@^10.0.6:
version "10.0.6"
resolved "https://registry.yarnpkg.com/nock/-/nock-10.0.6.tgz#e6d90ee7a68b8cfc2ab7f6127e7d99aa7d13d111"
@@ -11375,6 +13321,7 @@ nock@^10.0.6:
node-dir@^0.1.10:
version "0.1.17"
resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5"
+ integrity sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=
dependencies:
minimatch "^3.0.2"
@@ -11400,6 +13347,7 @@ node-fetch@2.6.0, node-fetch@^2.6.0:
node-fetch@^1.0.1:
version "1.7.3"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
+ integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==
dependencies:
encoding "^0.1.11"
is-stream "^1.0.1"
@@ -11433,7 +13381,7 @@ node-int64@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
-"node-libs-browser@^1.0.0 || ^2.0.0", node-libs-browser@^2.0.0:
+"node-libs-browser@^1.0.0 || ^2.0.0":
version "2.2.0"
resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.0.tgz#c72f60d9d46de08a940dedbb25f3ffa2f9bbaa77"
dependencies:
@@ -11461,6 +13409,35 @@ node-int64@^0.4.0:
util "^0.11.0"
vm-browserify "0.0.4"
+node-libs-browser@^2.0.0, node-libs-browser@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425"
+ integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==
+ dependencies:
+ assert "^1.1.1"
+ browserify-zlib "^0.2.0"
+ buffer "^4.3.0"
+ console-browserify "^1.1.0"
+ constants-browserify "^1.0.0"
+ crypto-browserify "^3.11.0"
+ domain-browser "^1.1.1"
+ events "^3.0.0"
+ https-browserify "^1.0.0"
+ os-browserify "^0.3.0"
+ path-browserify "0.0.1"
+ process "^0.11.10"
+ punycode "^1.2.4"
+ querystring-es3 "^0.2.0"
+ readable-stream "^2.3.3"
+ stream-browserify "^2.0.1"
+ stream-http "^2.7.2"
+ string_decoder "^1.0.0"
+ timers-browserify "^2.0.4"
+ tty-browserify "0.0.0"
+ url "^0.11.0"
+ util "^0.11.0"
+ vm-browserify "^1.0.1"
+
node-modules-regexp@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40"
@@ -11475,32 +13452,10 @@ node-notifier@^5.0.2, node-notifier@^5.2.1:
shellwords "^0.1.1"
which "^1.3.0"
-node-pre-gyp@^0.12.0:
- version "0.12.0"
- resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149"
- dependencies:
- detect-libc "^1.0.2"
- mkdirp "^0.5.1"
- needle "^2.2.1"
- nopt "^4.0.1"
- npm-packlist "^1.1.6"
- npmlog "^4.0.2"
- rc "^1.2.7"
- rimraf "^2.6.1"
- semver "^5.3.0"
- tar "^4"
-
-node-releases@^1.1.13:
- version "1.1.17"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.17.tgz#71ea4631f0a97d5cd4f65f7d04ecf9072eac711a"
- dependencies:
- semver "^5.3.0"
-
-node-releases@^1.1.21:
- version "1.1.23"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.23.tgz#de7409f72de044a2fa59c097f436ba89c39997f0"
- dependencies:
- semver "^5.3.0"
+node-releases@^1.1.13, node-releases@^1.1.29, node-releases@^1.1.53:
+ version "1.1.55"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.55.tgz#8af23b7c561d8e2e6e36a46637bab84633b07cee"
+ integrity sha512-H3R3YR/8TjT5WPin/wOoHOUPHgvj8leuU/Keta/rwelEQN9pA/S2Dx8/se4pZ2LBxSd0nAGzsNzhqwa77v7F1w==
node-sass@^4.9.3:
version "4.11.0"
@@ -11532,19 +13487,6 @@ node-sass@^4.9.3:
dependencies:
abbrev "1"
-nopt@^4.0.1, nopt@~4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
- dependencies:
- abbrev "1"
- osenv "^0.1.4"
-
-nopt@~1.0.10:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
- dependencies:
- abbrev "1"
-
normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.4.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
@@ -11557,16 +13499,19 @@ normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-
normalize-path@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
+ integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
dependencies:
remove-trailing-separator "^1.0.1"
-normalize-path@^3.0.0:
+normalize-path@^3.0.0, normalize-path@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+ integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
normalize-range@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
+ integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=
normalize-scroll-left@^0.2.0:
version "0.2.0"
@@ -11595,8 +13540,11 @@ normalize-url@^3.3.0:
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
npm-bundled@^1.0.1:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd"
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b"
+ integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==
+ dependencies:
+ npm-normalize-package-bin "^1.0.1"
npm-lifecycle@^2.1.0:
version "2.1.0"
@@ -11611,6 +13559,11 @@ npm-lifecycle@^2.1.0:
umask "^1.1.0"
which "^1.3.1"
+npm-normalize-package-bin@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2"
+ integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==
+
"npm-package-arg@^4.0.0 || ^5.0.0 || ^6.0.0", npm-package-arg@^6.0.0, npm-package-arg@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.0.tgz#15ae1e2758a5027efb4c250554b85a737db7fcc1"
@@ -11620,7 +13573,7 @@ npm-lifecycle@^2.1.0:
semver "^5.5.0"
validate-npm-package-name "^3.0.0"
-npm-packlist@^1.1.12, npm-packlist@^1.1.6, npm-packlist@^1.4.1:
+npm-packlist@^1.1.12, npm-packlist@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.1.tgz#19064cdf988da80ea3cee45533879d90192bbfbc"
dependencies:
@@ -11669,6 +13622,7 @@ npm-run-all@^4.0.2:
npm-run-path@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
+ integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
dependencies:
path-key "^2.0.0"
@@ -11680,7 +13634,7 @@ npm-which@^3.0.1:
npm-path "^2.0.2"
which "^1.2.10"
-"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2, npmlog@^4.1.2:
+"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
dependencies:
@@ -11692,6 +13646,7 @@ npm-which@^3.0.1:
nth-check@^1.0.2, nth-check@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
+ integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==
dependencies:
boolbase "~1.0.0"
@@ -11708,10 +13663,12 @@ nuka-carousel@^4.5.3:
num2fraction@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
+ integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=
number-is-nan@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+ integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
nwsapi@^2.0.7, nwsapi@^2.0.9:
version "2.1.3"
@@ -11724,10 +13681,12 @@ oauth-sign@~0.9.0:
object-assign@4.x, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+ integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
object-copy@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
+ integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
dependencies:
copy-descriptor "^0.1.0"
define-property "^0.2.5"
@@ -11741,30 +13700,42 @@ object-inspect@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b"
+object-inspect@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67"
+ integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==
+
object-is@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6"
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6"
+ integrity sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.5"
-object-keys@^1.0.11, object-keys@^1.0.12:
+object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
+ integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
object-visit@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
+ integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
dependencies:
isobject "^3.0.0"
object.assign@4.1.0, object.assign@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
+ integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
dependencies:
define-properties "^1.1.2"
function-bind "^1.1.1"
has-symbols "^1.0.0"
object-keys "^1.0.11"
-object.entries@^1.0.4, object.entries@^1.1.0:
+object.entries@^1.0.4:
version "1.1.0"
resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519"
dependencies:
@@ -11773,7 +13744,17 @@ object.entries@^1.0.4, object.entries@^1.1.0:
function-bind "^1.1.1"
has "^1.0.3"
-object.fromentries@^2.0.0, "object.fromentries@^2.0.0 || ^1.0.0":
+object.entries@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.1.tgz#ee1cf04153de02bb093fec33683900f57ce5399b"
+ integrity sha512-ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+
+object.fromentries@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab"
dependencies:
@@ -11782,20 +13763,32 @@ object.fromentries@^2.0.0, "object.fromentries@^2.0.0 || ^1.0.0":
function-bind "^1.1.1"
has "^1.0.1"
-object.getownpropertydescriptors@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16"
+"object.fromentries@^2.0.0 || ^1.0.0", object.fromentries@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9"
+ integrity sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==
dependencies:
- define-properties "^1.1.2"
- es-abstract "^1.5.1"
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+
+object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649"
+ integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
object.pick@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
+ integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
dependencies:
isobject "^3.0.1"
-object.values@^1.0.4, object.values@^1.1.0:
+object.values@^1.0.4:
version "1.1.0"
resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9"
dependencies:
@@ -11804,6 +13797,16 @@ object.values@^1.0.4, object.values@^1.1.0:
function-bind "^1.1.1"
has "^1.0.3"
+object.values@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e"
+ integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+
obuf@^1.0.0, obuf@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
@@ -11815,6 +13818,7 @@ octokit-pagination-methods@^1.1.0:
on-finished@~2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
+ integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
dependencies:
ee-first "1.1.1"
@@ -11825,32 +13829,43 @@ on-headers@~1.0.2:
once@1.x, once@^1.3.0, once@^1.3.1, once@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
dependencies:
wrappy "1"
onetime@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
+ integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
dependencies:
mimic-fn "^1.0.0"
-open@^6.1.0, open@^6.3.0:
+onetime@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5"
+ integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==
+ dependencies:
+ mimic-fn "^2.1.0"
+
+open@^6.3.0:
version "6.4.0"
resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9"
integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==
dependencies:
is-wsl "^1.1.0"
+open@^7.0.0:
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/open/-/open-7.0.4.tgz#c28a9d315e5c98340bf979fdcb2e58664aa10d83"
+ integrity sha512-brSA+/yq+b08Hsr4c8fsEW2CRzk1BmfN3SAK/5VCHQ9bdoZJ4qa/+AfR0xHjlbbZUyPkUHs1b8x1RqdyZdkVqQ==
+ dependencies:
+ is-docker "^2.0.0"
+ is-wsl "^2.1.1"
+
opener@^1.4.2, opener@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed"
-opn@5.4.0:
- version "5.4.0"
- resolved "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz#cb545e7aab78562beb11aa3bfabc7042e1761035"
- dependencies:
- is-wsl "^1.1.0"
-
opn@^5.1.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc"
@@ -11879,16 +13894,19 @@ optionator@^0.8.1, optionator@^0.8.2:
original@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f"
+ integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==
dependencies:
url-parse "^1.4.3"
os-browserify@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
+ integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
os-homedir@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+ integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
os-locale@^1.4.0:
version "1.4.0"
@@ -11923,8 +13941,9 @@ os-name@^3.0.0:
os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+ integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
-osenv@0, osenv@^0.1.4, osenv@^0.1.5:
+osenv@0, osenv@^0.1.5:
version "0.1.5"
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
dependencies:
@@ -11956,6 +13975,7 @@ p-each-series@^1.0.0:
p-finally@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+ integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
p-is-promise@^1.1.0:
version "1.1.0"
@@ -11968,30 +13988,35 @@ p-is-promise@^2.0.0:
p-limit@^1.1.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
+ integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
dependencies:
p-try "^1.0.0"
-p-limit@^2.0.0, p-limit@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2"
+p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
+ integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
dependencies:
p-try "^2.0.0"
p-locate@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
dependencies:
p-limit "^1.1.0"
p-locate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
+ integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
dependencies:
p-limit "^2.0.0"
p-locate@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
+ integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
dependencies:
p-limit "^2.2.0"
@@ -12009,6 +14034,13 @@ p-map@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.0.0.tgz#be18c5a5adeb8e156460651421aceca56c213a50"
+p-map@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d"
+ integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==
+ dependencies:
+ aggregate-error "^3.0.0"
+
p-pipe@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-1.2.0.tgz#4b1a11399a11520a67790ee5a0c1d5881d6befe9"
@@ -12026,10 +14058,12 @@ p-timeout@^2.0.1:
p-try@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
+ integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
p-try@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
+ integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
p-waterfall@^1.0.0:
version "1.0.0"
@@ -12070,14 +14104,16 @@ pacote@^9.5.0:
which "^1.3.1"
pako@~1.0.5:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732"
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
+ integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
parallel-transform@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06"
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc"
+ integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==
dependencies:
- cyclist "~0.2.2"
+ cyclist "^1.0.1"
inherits "^2.0.3"
readable-stream "^2.1.5"
@@ -12087,15 +14123,25 @@ param-case@2.1.x, param-case@^2.1.0:
dependencies:
no-case "^2.2.0"
+param-case@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.3.tgz#4be41f8399eff621c56eebb829a5e451d9801238"
+ integrity sha512-VWBVyimc1+QrzappRs7waeN2YmoZFCGXWASRYX1/rGHtXqEcrGEIDm+jqIwFa2fRXNgQEwrxaYuIrX0WcAguTA==
+ dependencies:
+ dot-case "^3.0.3"
+ tslib "^1.10.0"
+
parent-module@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+ integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
dependencies:
callsites "^3.0.0"
-parse-asn1@^5.0.0:
- version "5.1.4"
- resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc"
+parse-asn1@^5.0.0, parse-asn1@^5.1.5:
+ version "5.1.5"
+ resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e"
+ integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==
dependencies:
asn1.js "^4.0.0"
browserify-aes "^1.0.0"
@@ -12116,6 +14162,7 @@ parse-domain@^2.0.0:
parse-entities@^1.1.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50"
+ integrity sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==
dependencies:
character-entities "^1.0.0"
character-entities-legacy "^1.0.0"
@@ -12137,9 +14184,25 @@ parse-json@^2.2.0:
parse-json@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
+ integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
+ dependencies:
+ error-ex "^1.3.1"
+ json-parse-better-errors "^1.0.1"
+
+parse-json@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f"
+ integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==
dependencies:
+ "@babel/code-frame" "^7.0.0"
error-ex "^1.3.1"
json-parse-better-errors "^1.0.1"
+ lines-and-columns "^1.1.6"
+
+parse-key@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/parse-key/-/parse-key-0.2.1.tgz#7bcf76595536e36075664be4d687e4bdd910208f"
+ integrity sha1-e892WVU242B1Zkvk1ofkvdkQII8=
parse-passwd@^1.0.0:
version "1.0.0"
@@ -12185,7 +14248,7 @@ parse5@4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
-parse5@5.1.0, parse5@^5.0.0:
+parse5@5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2"
@@ -12198,6 +14261,7 @@ parse5@^3.0.1:
parseurl@~1.3.2, parseurl@~1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
+ integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
pascal-case@^2.0.0:
version "2.0.1"
@@ -12206,13 +14270,28 @@ pascal-case@^2.0.0:
camel-case "^3.0.0"
upper-case-first "^1.1.0"
+pascal-case@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.1.tgz#5ac1975133ed619281e88920973d2cd1f279de5f"
+ integrity sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA==
+ dependencies:
+ no-case "^3.0.3"
+ tslib "^1.10.0"
+
pascalcase@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
+ integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
path-browserify@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
+ integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=
+
+path-browserify@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
+ integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
path-case@^2.1.0:
version "2.1.1"
@@ -12223,6 +14302,7 @@ path-case@^2.1.0:
path-dirname@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
+ integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=
path-exists@^2.0.0:
version "2.1.0"
@@ -12233,10 +14313,17 @@ path-exists@^2.0.0:
path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+ integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
+
+path-exists@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+ integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
path-is-absolute@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
path-is-inside@^1.0.1, path-is-inside@^1.0.2:
version "1.0.2"
@@ -12245,14 +14332,17 @@ path-is-inside@^1.0.1, path-is-inside@^1.0.2:
path-key@^2.0.0, path-key@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
+ integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
path-parse@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
+ integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
path-to-regexp@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
+ integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
path-to-regexp@^1.7.0:
version "1.7.0"
@@ -12277,9 +14367,15 @@ path-type@^2.0.0:
path-type@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
+ integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
dependencies:
pify "^3.0.0"
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+
pathington@^1.0.1, pathington@^1.1.7:
version "1.1.7"
resolved "https://registry.npmjs.org/pathington/-/pathington-1.1.7.tgz#caf2d2db899a31fea4e81e3657af6acde5171903"
@@ -12307,6 +14403,7 @@ pbf@^3.2.1:
pbkdf2@^3.0.3:
version "3.0.17"
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6"
+ integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==
dependencies:
create-hash "^1.1.2"
create-hmac "^1.1.4"
@@ -12317,6 +14414,12 @@ pbkdf2@^3.0.3:
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+ integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
+
+picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
+ integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
pidtree@^0.3.0:
version "0.3.0"
@@ -12329,10 +14432,12 @@ pify@^2.0.0, pify@^2.3.0:
pify@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
+ integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
pify@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
+ integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
pinkie-promise@^2.0.0:
version "2.0.1"
@@ -12365,18 +14470,21 @@ pkg-dir@^2.0.0:
pkg-dir@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
+ integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
dependencies:
find-up "^3.0.0"
pkg-dir@^4.1.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
+ integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
dependencies:
find-up "^4.0.0"
-pkg-up@2.0.0:
+pkg-up@2.0.0, pkg-up@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f"
+ integrity sha1-yBmscoBZpGHKscOImivjxJoATX8=
dependencies:
find-up "^2.1.0"
@@ -12390,27 +14498,34 @@ pn@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
+pnp-webpack-plugin@1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz#62a1cd3068f46d564bb33c56eb250e4d586676eb"
+ integrity sha512-jd9olUr9D7do+RN8Wspzhpxhgp1n6Vd0NtQ4SFkmIACZoEL1nkyAdW9Ygrinjec0vgDcWjscFQQ1gDW8rsfKTg==
+ dependencies:
+ ts-pnp "^1.1.2"
+
point-in-polygon@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/point-in-polygon/-/point-in-polygon-1.0.1.tgz#d59b64e8fee41c49458aac82b56718c5957b2af7"
integrity sha1-1Ztk6P7kHElFiqyCtWcYxZV7Kvc=
-polished@^2.3.3:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/polished/-/polished-2.3.3.tgz#bdbaba962ba8271b0e11aa287f2befd4c87be99a"
- dependencies:
- "@babel/runtime" "^7.2.0"
-
polished@^3.3.1:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/polished/-/polished-3.4.0.tgz#29b2a028ee0408df5dded55a2a25e913bc6749a9"
+ version "3.6.3"
+ resolved "https://registry.yarnpkg.com/polished/-/polished-3.6.3.tgz#68f4fe7ffad46530733029b939dd12978200cb59"
+ integrity sha512-QJ0q0b6gX1+0OJtPMfgVJxV0vg5XTa4im+Rca989dAtmsd/fEky3X+0A+V+OUXq1nyiDGplJwqD853dTS0gkPg==
dependencies:
- "@babel/runtime" "^7.4.4"
+ "@babel/runtime" "^7.9.2"
-popper.js@^1.14.1, popper.js@^1.14.4, popper.js@^1.14.7:
+popper.js@^1.14.1:
version "1.15.0"
resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.15.0.tgz#5560b99bbad7647e9faa475c6b8056621f5a4ff2"
+popper.js@^1.14.4, popper.js@^1.14.7:
+ version "1.16.1"
+ resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b"
+ integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==
+
portfinder@^1.0.9:
version "1.0.21"
resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.21.tgz#60e1397b95ac170749db70034ece306b9a27e324"
@@ -12423,12 +14538,14 @@ portfinder@^1.0.9:
posix-character-classes@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
+ integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
postcss-flexbugs-fixes@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz#e094a9df1783e2200b7b19f875dcad3b3aff8b20"
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz#9218a65249f30897deab1033aced8578562a6690"
+ integrity sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==
dependencies:
- postcss "^7.0.0"
+ postcss "^7.0.26"
postcss-load-config@^2.0.0:
version "2.0.0"
@@ -12473,6 +14590,16 @@ postcss-modules-local-by-default@^2.0.6:
postcss-selector-parser "^6.0.0"
postcss-value-parser "^3.3.1"
+postcss-modules-local-by-default@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915"
+ integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==
+ dependencies:
+ icss-utils "^4.1.1"
+ postcss "^7.0.16"
+ postcss-selector-parser "^6.0.2"
+ postcss-value-parser "^4.0.0"
+
postcss-modules-scope@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90"
@@ -12487,6 +14614,14 @@ postcss-modules-scope@^2.1.0:
postcss "^7.0.6"
postcss-selector-parser "^6.0.0"
+postcss-modules-scope@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee"
+ integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==
+ dependencies:
+ postcss "^7.0.6"
+ postcss-selector-parser "^6.0.0"
+
postcss-modules-values@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20"
@@ -12501,7 +14636,15 @@ postcss-modules-values@^2.0.0:
icss-replace-symbols "^1.1.0"
postcss "^7.0.6"
-postcss-selector-parser@^6.0.0:
+postcss-modules-values@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10"
+ integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==
+ dependencies:
+ icss-utils "^4.0.0"
+ postcss "^7.0.6"
+
+postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c"
dependencies:
@@ -12513,6 +14656,11 @@ postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
+postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.3, postcss-value-parser@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
+ integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
+
postcss@^6.0.1, postcss@^6.0.23:
version "6.0.23"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324"
@@ -12521,7 +14669,16 @@ postcss@^6.0.1, postcss@^6.0.23:
source-map "^0.6.1"
supports-color "^5.4.0"
-postcss@^7.0.0, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.5, postcss@^7.0.6:
+postcss@^7.0.0, postcss@^7.0.16, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.30:
+ version "7.0.30"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.30.tgz#cc9378beffe46a02cbc4506a0477d05fcea9a8e2"
+ integrity sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ==
+ dependencies:
+ chalk "^2.4.2"
+ source-map "^0.6.1"
+ supports-color "^6.1.0"
+
+postcss@^7.0.14, postcss@^7.0.5, postcss@^7.0.6:
version "7.0.17"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.17.tgz#4da1bdff5322d4a0acaab4d87f3e782436bad31f"
dependencies:
@@ -12540,6 +14697,7 @@ prelude-ls@~1.1.2:
prepend-http@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
+ integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
prepend-http@^2.0.0:
version "2.0.0"
@@ -12551,10 +14709,15 @@ prettier-linter-helpers@^1.0.0:
dependencies:
fast-diff "^1.1.2"
-prettier@1.16.4, prettier@^1.16.4:
+prettier@1.16.4:
version "1.16.4"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.4.tgz#73e37e73e018ad2db9c76742e2647e21790c9717"
+prettier@^1.16.4:
+ version "1.19.1"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
+ integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
+
pretty-error@^2.0.2, pretty-error@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3"
@@ -12574,16 +14737,26 @@ pretty-format@^24.7.0:
pretty-hrtime@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"
+ integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=
-prismjs@^1.8.4, prismjs@~1.16.0:
- version "1.16.0"
- resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.16.0.tgz#406eb2c8aacb0f5f0f1167930cb83835d10a4308"
+prismjs@^1.8.4:
+ version "1.20.0"
+ resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.20.0.tgz#9b685fc480a3514ee7198eac6a3bf5024319ff03"
+ integrity sha512-AEDjSrVNkynnw6A+B1DsFkd6AVdTnp+/WoUixFRULlCLZVRZlVQMVWio/16jv7G1FscUxQxOQhWwApgbnxr6kQ==
optionalDependencies:
clipboard "^2.0.0"
-private@^0.1.6, private@^0.1.8, private@~0.1.5:
+prismjs@~1.17.0:
+ version "1.17.1"
+ resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.17.1.tgz#e669fcbd4cdd873c35102881c33b14d0d68519be"
+ integrity sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q==
+ optionalDependencies:
+ clipboard "^2.0.0"
+
+private@^0.1.8, private@~0.1.5:
version "0.1.8"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
+ integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
probe.gl@^2.0.1:
version "2.1.0"
@@ -12592,16 +14765,19 @@ probe.gl@^2.0.1:
"@babel/runtime" "^7.0.0"
process-nextick-args@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
+ integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
process@^0.11.10:
version "0.11.10"
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
+ integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
process@~0.5.1:
version "0.5.2"
resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf"
+ integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=
progress@^2.0.0:
version "2.0.3"
@@ -12610,6 +14786,7 @@ progress@^2.0.0:
promise-inflight@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
+ integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM=
promise-retry@^1.1.1:
version "1.1.1"
@@ -12619,24 +14796,29 @@ promise-retry@^1.1.1:
retry "^0.10.0"
promise.allsettled@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.1.tgz#afe4bfcc13b26e2263a97a7fbbb19b8ca6eb619c"
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.2.tgz#d66f78fbb600e83e863d893e98b3d4376a9c47c9"
+ integrity sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg==
dependencies:
+ array.prototype.map "^1.0.1"
define-properties "^1.1.3"
- es-abstract "^1.13.0"
+ es-abstract "^1.17.0-next.1"
function-bind "^1.1.1"
+ iterate-value "^1.0.0"
promise.prototype.finally@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-3.1.0.tgz#66f161b1643636e50e7cf201dc1b84a857f3864e"
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-3.1.2.tgz#b8af89160c9c673cefe3b4c4435b53cfd0287067"
+ integrity sha512-A2HuJWl2opDH0EafgdjwEw7HysI8ff/n4lW4QEVBCUXFk9QeGecBWv0Deph0UmLe3tTNYegz8MOjsVuE6SMoJA==
dependencies:
- define-properties "^1.1.2"
- es-abstract "^1.9.0"
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.0"
function-bind "^1.1.1"
promise@^7.1.1:
version "7.3.1"
resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
+ integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==
dependencies:
asap "~2.0.3"
@@ -12662,7 +14844,7 @@ prop-types-exact@^1.2.0:
object.assign "^4.1.0"
reflect.ownkeys "^0.2.0"
-prop-types@15.7.2, prop-types@15.x, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2:
+prop-types@15.7.2, prop-types@15.x, prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2:
version "15.7.2"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
dependencies:
@@ -12678,15 +14860,17 @@ property-expr@^1.5.0:
version "1.5.1"
resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-1.5.1.tgz#22e8706894a0c8e28d58735804f6ba3a3673314f"
-property-information@^5.0.0, property-information@^5.0.1:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.1.0.tgz#e4755eee5319f03f7f6f5a9bc1a6a7fea6609e2c"
+property-information@^5.0.0:
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.5.0.tgz#4dc075d493061a82e2b7d096f406e076ed859943"
+ integrity sha512-RgEbCx2HLa1chNgvChcx+rrCWD0ctBmGSE0M7lVm1yyv4UbvbrWoXp/BkVLZefzjrRBGW8/Js6uh/BnlHXFyjA==
dependencies:
- xtend "^4.0.1"
+ xtend "^4.0.0"
proto-list@~1.2.1:
version "1.2.4"
resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
+ integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=
protocol-buffers-schema@^3.3.1:
version "3.3.2"
@@ -12702,20 +14886,30 @@ protoduck@^5.0.1:
dependencies:
genfun "^5.0.0"
-proxy-addr@~2.0.4, proxy-addr@~2.0.5:
+proxy-addr@~2.0.4:
version "2.0.5"
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34"
dependencies:
forwarded "~0.1.2"
ipaddr.js "1.9.0"
+proxy-addr@~2.0.5:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf"
+ integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==
+ dependencies:
+ forwarded "~0.1.2"
+ ipaddr.js "1.9.1"
+
prr@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
+ integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY=
pseudomap@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+ integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
psl@^1.1.24, psl@^1.1.28:
version "1.1.31"
@@ -12724,6 +14918,7 @@ psl@^1.1.24, psl@^1.1.28:
public-encrypt@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
+ integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==
dependencies:
bn.js "^4.1.0"
browserify-rsa "^4.0.0"
@@ -12742,6 +14937,7 @@ pump@^2.0.0, pump@^2.0.1:
pump@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
+ integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
dependencies:
end-of-stream "^1.1.0"
once "^1.3.1"
@@ -12749,6 +14945,7 @@ pump@^3.0.0:
pumpify@^1.3.3:
version "1.5.1"
resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
+ integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
dependencies:
duplexify "^3.6.0"
inherits "^2.0.3"
@@ -12757,6 +14954,7 @@ pumpify@^1.3.3:
punycode@1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
+ integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
punycode@^1.2.4, punycode@^1.4.1:
version "1.4.1"
@@ -12766,6 +14964,11 @@ punycode@^2.1.0, punycode@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
+pure-color@^1.2.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/pure-color/-/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e"
+ integrity sha1-H+Bk+wrIUfDeYTIKi/eWg2Qi8z4=
+
q@^1.1.2, q@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
@@ -12774,11 +14977,16 @@ qs@6.5.2, qs@~6.5.2:
version "6.5.2"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
-qs@6.7.0, qs@^6.5.1, qs@^6.5.2, qs@^6.6.0:
+qs@6.7.0, qs@^6.5.1:
version "6.7.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
-query-string@^4.1.0, query-string@^4.2.2:
+qs@^6.6.0:
+ version "6.9.4"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.4.tgz#9090b290d1f91728d3c22e54843ca44aea5ab687"
+ integrity sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==
+
+query-string@^4.1.0, query-string@^4.2.2, query-string@^4.2.3, query-string@^4.3.3:
version "4.3.4"
resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb"
dependencies:
@@ -12796,10 +15004,12 @@ query-string@^5.0.1:
querystring-es3@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
+ integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=
querystring@0.2.0, querystring@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
+ integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
querystringify@^2.1.1:
version "2.1.1"
@@ -12819,13 +15029,10 @@ quickselect@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018"
-raf-schd@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/raf-schd/-/raf-schd-4.0.1.tgz#e72f29a96de260dead719f34c29e56fdc1c1473e"
-
raf@^3.4.0:
version "3.4.1"
resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39"
+ integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==
dependencies:
performance-now "^2.1.0"
@@ -12836,6 +15043,7 @@ railroad-diagrams@^1.0.0:
ramda@^0.21.0:
version "0.21.0"
resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.21.0.tgz#a001abedb3ff61077d4ff1d577d44de77e8d0a35"
+ integrity sha1-oAGr7bP/YQd9T/HVd9RN536NCjU=
ramda@^0.23.0:
version "0.23.0"
@@ -12851,12 +15059,14 @@ randexp@0.4.6:
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
+ integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
dependencies:
safe-buffer "^5.1.0"
randomfill@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458"
+ integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==
dependencies:
randombytes "^2.0.5"
safe-buffer "^5.1.0"
@@ -12878,18 +15088,20 @@ raw-body@2.3.3:
raw-body@2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"
+ integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==
dependencies:
bytes "3.1.0"
http-errors "1.7.2"
iconv-lite "0.4.24"
unpipe "1.0.0"
-raw-loader@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-2.0.0.tgz#e2813d9e1e3f80d1bbade5ad082e809679e20c26"
+raw-loader@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-3.1.0.tgz#5e9d399a5a222cc0de18f42c3bc5e49677532b3f"
+ integrity sha512-lzUVMuJ06HF4rYveaz9Tv0WRlUMxJ0Y1hgSkkgg+50iEdaI0TthyEDe08KIHb0XsF6rn8WYTqPCaGTZg3sX+qA==
dependencies:
loader-utils "^1.1.0"
- schema-utils "^1.0.0"
+ schema-utils "^2.0.1"
rbush@^2.0.1:
version "2.0.2"
@@ -12957,38 +15169,41 @@ rc-util@^4.0.4, rc-util@^4.4.0:
prop-types "^15.5.10"
shallowequal "^0.2.2"
-rc@^1.2.7:
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
- dependencies:
- deep-extend "^0.6.0"
- ini "~1.3.0"
- minimist "^1.2.0"
- strip-json-comments "~2.0.1"
-
react-addons-create-fragment@^15.6.2:
version "15.6.2"
resolved "https://registry.yarnpkg.com/react-addons-create-fragment/-/react-addons-create-fragment-15.6.2.tgz#a394de7c2c7becd6b5475ba1b97ac472ce7c74f8"
+ integrity sha1-o5TefCx77Na1R1uhuXrEcs58dPg=
dependencies:
fbjs "^0.8.4"
loose-envify "^1.3.1"
object-assign "^4.1.0"
+react-base16-styling@^0.5.1:
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/react-base16-styling/-/react-base16-styling-0.5.3.tgz#3858f24e9c4dd8cbd3f702f3f74d581ca2917269"
+ integrity sha1-OFjyTpxN2MvT9wLz901YHKKRcmk=
+ dependencies:
+ base16 "^1.0.0"
+ lodash.curry "^4.0.1"
+ lodash.flow "^3.3.0"
+ pure-color "^1.2.0"
+
react-circular-progressbar@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/react-circular-progressbar/-/react-circular-progressbar-2.0.1.tgz#643328b410e8bb0c378211d40734aafb964c6066"
integrity sha512-OMgN7VMH3Tgze/wVlIOrktKKgIneKRlY73OMQt1etl14+dZqJD0zNIKrcnmg+f6GIskjY/lPxLPGZ8zqpBHOPQ==
-react-clientside-effect@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/react-clientside-effect/-/react-clientside-effect-1.2.0.tgz#db823695f75e9616a5e4dd6d908e5ea627fb2516"
+react-clientside-effect@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/react-clientside-effect/-/react-clientside-effect-1.2.2.tgz#6212fb0e07b204e714581dd51992603d1accc837"
+ integrity sha512-nRmoyxeok5PBO6ytPvSjKp9xwXg9xagoTK1mMjwnQxqM9Hd7MNPl+LS1bOSOe+CV2+4fnEquc7H/S8QD3q697A==
dependencies:
"@babel/runtime" "^7.0.0"
- shallowequal "^1.1.0"
react-color@^2.17.0:
- version "2.17.3"
- resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.17.3.tgz#b8556d744f95193468c7061d2aa19180118d4a48"
+ version "2.18.1"
+ resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.18.1.tgz#2cda8cc8e06a9e2c52ad391a30ddad31972472f4"
+ integrity sha512-X5XpyJS6ncplZs74ak0JJoqPi+33Nzpv5RYWWxn17bslih+X7OlgmfpmGC1fNvdkK7/SGWYf1JJdn7D2n5gSuQ==
dependencies:
"@icons/material" "^0.2.4"
lodash "^4.17.11"
@@ -13002,32 +15217,33 @@ react-deep-force-update@^1.0.0:
resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-1.1.2.tgz#3d2ae45c2c9040cbb1772be52f8ea1ade6ca2ee1"
react-dev-utils@^9.0.0:
- version "9.0.1"
- resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.0.1.tgz#5c03d85a0b2537d0c46af7165c24a7dfb274bef2"
+ version "9.1.0"
+ resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.1.0.tgz#3ad2bb8848a32319d760d0a84c56c14bdaae5e81"
+ integrity sha512-X2KYF/lIGyGwP/F/oXgGDF24nxDA2KC4b7AFto+eqzc/t838gpSGiaU8trTqHXOohuLxxc5qi1eDzsl9ucPDpg==
dependencies:
- "@babel/code-frame" "7.0.0"
- address "1.0.3"
- browserslist "4.5.4"
+ "@babel/code-frame" "7.5.5"
+ address "1.1.2"
+ browserslist "4.7.0"
chalk "2.4.2"
cross-spawn "6.0.5"
detect-port-alt "1.1.6"
escape-string-regexp "1.0.5"
filesize "3.6.1"
find-up "3.0.0"
- fork-ts-checker-webpack-plugin "1.1.1"
+ fork-ts-checker-webpack-plugin "1.5.0"
global-modules "2.0.0"
globby "8.0.2"
- gzip-size "5.0.0"
+ gzip-size "5.1.1"
immer "1.10.0"
- inquirer "6.2.2"
- is-root "2.0.0"
+ inquirer "6.5.0"
+ is-root "2.1.0"
loader-utils "1.2.3"
- opn "5.4.0"
+ open "^6.3.0"
pkg-up "2.0.0"
- react-error-overlay "^5.1.6"
+ react-error-overlay "^6.0.3"
recursive-readdir "2.2.2"
- shell-quote "1.6.1"
- sockjs-client "1.3.0"
+ shell-quote "1.7.2"
+ sockjs-client "1.4.0"
strip-ansi "5.2.0"
text-table "0.2.0"
@@ -13037,19 +15253,29 @@ react-dimensions@^1.3.1:
dependencies:
element-resize-event "^2.0.4"
-react-docgen@^4.1.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-4.1.1.tgz#8fef0212dbf14733e09edecef1de6b224d87219e"
+react-docgen@^5.0.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-5.3.0.tgz#9aabde5e69f1993c8ba839fd9a86696504654589"
+ integrity sha512-hUrv69k6nxazOuOmdGeOpC/ldiKy7Qj/UFpxaQi0eDMrUFUTIPGtY5HJu7BggSmiyAMfREaESbtBL9UzdQ+hyg==
dependencies:
- "@babel/core" "^7.0.0"
- "@babel/runtime" "^7.0.0"
- async "^2.1.4"
+ "@babel/core" "^7.7.5"
+ "@babel/runtime" "^7.7.6"
+ ast-types "^0.13.2"
commander "^2.19.0"
doctrine "^3.0.0"
+ neo-async "^2.6.1"
node-dir "^0.1.10"
- recast "^0.17.3"
+ strip-indent "^3.0.0"
+
+react-dock@^0.2.4:
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/react-dock/-/react-dock-0.2.4.tgz#e727dc7550b3b73116635dcb9c0e04d0b7afe17c"
+ integrity sha1-5yfcdVCztzEWY13LnA4E0Lev4Xw=
+ dependencies:
+ lodash.debounce "^3.1.1"
+ prop-types "^15.5.8"
-react-dom@^16.0.0, react-dom@^16.8.1, react-dom@^16.8.4:
+react-dom@^16.0.0:
version "16.8.6"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.6.tgz#71d6303f631e8b0097f56165ef608f051ff6e10f"
dependencies:
@@ -13058,91 +15284,142 @@ react-dom@^16.0.0, react-dom@^16.8.1, react-dom@^16.8.4:
prop-types "^15.6.2"
scheduler "^0.13.6"
-react-draggable@^3.1.1:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-3.3.0.tgz#2ed7ea3f92e7d742d747f9e6324860606cd4d997"
+react-dom@^16.8.3, react-dom@^16.8.4:
+ version "16.13.1"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f"
+ integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+ prop-types "^15.6.2"
+ scheduler "^0.19.1"
+
+react-draggable@^4.0.3:
+ version "4.4.2"
+ resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-4.4.2.tgz#f3cefecee25f467f865144cda0d066e5f05f94a0"
+ integrity sha512-zLQs4R4bnBCGnCVTZiD8hPsHtkiJxgMpGDlRESM+EHQo8ysXhKJ2GKdJ8UxxLJdRVceX1j19jy+hQS2wHislPQ==
dependencies:
classnames "^2.2.5"
prop-types "^15.6.0"
react-element-to-jsx-string@^14.0.2:
- version "14.0.2"
- resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.0.2.tgz#586d248bb2416855aa6ac3881e18726832c146d2"
+ version "14.3.1"
+ resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.3.1.tgz#a08fa6e46eb76061aca7eabc2e70f433583cb203"
+ integrity sha512-LRdQWRB+xcVPOL4PU4RYuTg6dUJ/FNmaQ8ls6w38YbzkbV6Yr5tFNESroub9GiSghtnMq8dQg2LcNN5aMIDzVg==
dependencies:
- is-plain-object "2.0.4"
- stringify-object "3.2.2"
+ "@base2/pretty-print-object" "1.0.0"
+ is-plain-object "3.0.0"
-react-error-overlay@^5.1.6:
- version "5.1.6"
- resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-5.1.6.tgz#0cd73407c5d141f9638ae1e0c63e7b2bf7e9929d"
+react-error-overlay@^6.0.3:
+ version "6.0.7"
+ resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.7.tgz#1dcfb459ab671d53f660a991513cb2f0a0553108"
+ integrity sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA==
-react-fast-compare@2.0.4, react-fast-compare@^2.0.0, react-fast-compare@^2.0.2:
+react-fast-compare@^2.0.0, react-fast-compare@^2.0.1, react-fast-compare@^2.0.2:
version "2.0.4"
resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9"
-react-focus-lock@^1.17.7, react-focus-lock@^1.18.3:
- version "1.19.1"
- resolved "https://registry.yarnpkg.com/react-focus-lock/-/react-focus-lock-1.19.1.tgz#2f3429793edaefe2d077121f973ce5a3c7a0651a"
+react-fast-compare@^3.0.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.1.1.tgz#0becf31e3812fa70dc231e259f40d892d4767900"
+ integrity sha512-SCsAORWK59BvauR2L1BTdjQbJcSGJJz03U0awektk2hshLKrITDDFTlgGCqIZpTDlPC/NFlZee6xTMzXPVLiHw==
+
+react-focus-lock@^2.1.0:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/react-focus-lock/-/react-focus-lock-2.3.1.tgz#9d5d85899773609c7eefa4fc54fff6a0f5f2fc47"
+ integrity sha512-j15cWLPzH0gOmRrUg01C09Peu8qbcdVqr6Bjyfxj80cNZmH+idk/bNBYEDSmkAtwkXI+xEYWSmHYqtaQhZ8iUQ==
dependencies:
"@babel/runtime" "^7.0.0"
- focus-lock "^0.6.3"
+ focus-lock "^0.6.7"
prop-types "^15.6.2"
- react-clientside-effect "^1.2.0"
+ react-clientside-effect "^1.2.2"
+ use-callback-ref "^1.2.1"
+ use-sidecar "^1.0.1"
-react-helmet-async@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-0.2.0.tgz#d20d8725c1dcdcc95d54e281a1040af47c3abffa"
+react-fontawesome@^1.6.1:
+ version "1.7.1"
+ resolved "https://registry.yarnpkg.com/react-fontawesome/-/react-fontawesome-1.7.1.tgz#f74f5a338fef3ee3b379820109c1cba47290f035"
+ integrity sha512-kottReWW1I9Uupub6A5YX4VK7qfpFnEjAcm5zB4Aepst7iofONT27GJYdTcRsj7q5uQu9PXBL7GsxAFKANNUVg==
+ dependencies:
+ prop-types "^15.5.6"
+
+react-helmet-async@^1.0.2:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-1.0.6.tgz#11c15c74e79b3f66670c73779bef3e0e352b1d4e"
+ integrity sha512-t+bhAI4NgxfEv8ez4r77cLfR4O4Z55E/FH2DT+uiE4U7yfWgAk7OAOi7IxHxuYEVLI26bqjZvlVCkpC5/5AoNA==
dependencies:
+ "@babel/runtime" "^7.9.2"
invariant "^2.2.4"
- prop-types "^15.6.1"
- react-fast-compare "^2.0.2"
- shallowequal "^1.0.2"
+ prop-types "^15.7.2"
+ react-fast-compare "^3.0.1"
+ shallowequal "^1.1.0"
-react-helmet-async@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-1.0.2.tgz#bb55dd8268f7b15aac69c6b22e2f950abda8cc44"
+react-helmet@^5.0.3:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-5.2.1.tgz#16a7192fdd09951f8e0fe22ffccbf9bb3e591ffa"
+ integrity sha512-CnwD822LU8NDBnjCpZ4ySh8L6HYyngViTZLfBBb3NjtrpN8m49clH8hidHouq20I51Y6TpCTISCBbqiY5GamwA==
dependencies:
- "@babel/runtime" "7.3.4"
- invariant "2.2.4"
- prop-types "15.7.2"
- react-fast-compare "2.0.4"
- shallowequal "1.1.0"
+ object-assign "^4.1.1"
+ prop-types "^15.5.4"
+ react-fast-compare "^2.0.2"
+ react-side-effect "^1.1.0"
-react-hotkeys@2.0.0-pre4:
- version "2.0.0-pre4"
- resolved "https://registry.yarnpkg.com/react-hotkeys/-/react-hotkeys-2.0.0-pre4.tgz#a1c248a51bdba4282c36bf3204f80d58abc73333"
+react-hotkeys@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/react-hotkeys/-/react-hotkeys-2.0.0.tgz#a7719c7340cbba888b0e9184f806a9ec0ac2c53f"
+ integrity sha512-3n3OU8vLX/pfcJrR3xJ1zlww6KS1kEJt0Whxc4FiGV+MJrQ1mYSYI3qS/11d2MJDFm8IhOXMTFQirfu6AVOF6Q==
dependencies:
prop-types "^15.6.1"
-react-input-autosize@^2.1.2, react-input-autosize@^2.2.1:
+react-input-autosize@^2.1.2:
version "2.2.1"
resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.1.tgz#ec428fa15b1592994fb5f9aa15bb1eb6baf420f8"
dependencies:
prop-types "^15.5.8"
-react-inspector@^2.3.0, react-inspector@^2.3.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-2.3.1.tgz#f0eb7f520669b545b441af9d38ec6d706e5f649c"
+react-input-autosize@^2.2.2:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.2.tgz#fcaa7020568ec206bc04be36f4eb68e647c4d8c2"
+ integrity sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw==
dependencies:
- babel-runtime "^6.26.0"
- is-dom "^1.0.9"
- prop-types "^15.6.1"
+ prop-types "^15.5.8"
-react-inspector@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-3.0.2.tgz#c530a06101f562475537e47df428e1d7aff16ed8"
+react-inspector@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-4.0.1.tgz#0f888f78ff7daccbc7be5d452b20c96dc6d5fbb8"
+ integrity sha512-xSiM6CE79JBqSj8Fzd9dWBHv57tLTH7OM57GP3VrE5crzVF3D5Khce9w1Xcw75OAbvrA0Mi2vBneR1OajKmXFg==
dependencies:
- babel-runtime "^6.26.0"
+ "@babel/runtime" "^7.6.3"
is-dom "^1.0.9"
prop-types "^15.6.1"
-react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.0, react-is@^16.8.1, react-is@^16.8.2, react-is@^16.8.4, react-is@^16.8.6:
+react-is@^16.6.0, react-is@^16.8.0, react-is@^16.8.2:
version "16.8.6"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16"
-react-lifecycles-compat@^3.0.2, react-lifecycles-compat@^3.0.4:
+react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.3, react-is@^16.8.4, react-is@^16.8.6:
+ version "16.13.1"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
+ integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
+
+react-is@^16.9.0:
+ version "16.13.0"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.0.tgz#0f37c3613c34fe6b37cd7f763a0d6293ab15c527"
+ integrity sha512-GFMtL0vHkiBv9HluwNZTggSn/sCyEt9n02aM0dSAjGGyqyNlAyftYm4phPxdvCigG15JreC5biwxCgTAJZ7yAA==
+
+react-json-tree@^0.11.0:
+ version "0.11.2"
+ resolved "https://registry.yarnpkg.com/react-json-tree/-/react-json-tree-0.11.2.tgz#af70199fcbc265699ade2aec492465c51608f95e"
+ integrity sha512-aYhUPj1y5jR3ZQ+G3N7aL8FbTyO03iLwnVvvEikLcNFqNTyabdljo9xDftZndUBFyyyL0aK3qGO9+8EilILHUw==
+ dependencies:
+ babel-runtime "^6.6.1"
+ prop-types "^15.5.8"
+ react-base16-styling "^0.5.1"
+
+react-lifecycles-compat@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
+ integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
react-map-gl-geocoder@^1.7.0:
version "1.7.1"
@@ -13189,19 +15466,32 @@ react-move@^6.0.0:
kapellmeister "^3.0.1"
prop-types "^15.7.2"
-react-popper-tooltip@^2.8.0, react-popper-tooltip@^2.8.3:
- version "2.8.3"
- resolved "https://registry.yarnpkg.com/react-popper-tooltip/-/react-popper-tooltip-2.8.3.tgz#1c63e7473a96362bd93be6c94fa404470a265197"
+react-player@^0.15.0:
+ version "0.15.0"
+ resolved "https://registry.yarnpkg.com/react-player/-/react-player-0.15.0.tgz#ce76415132ecd17c44e5495c5b558faba233107c"
+ integrity sha1-znZBUTLs0XxE5UlcW1WPq6IzEHw=
dependencies:
- "@babel/runtime" "^7.4.5"
- react-popper "^1.3.3"
+ fetch-jsonp "^1.0.2"
+ load-script "^1.0.0"
+ prop-types "^15.5.6"
+ query-string "^4.2.3"
-react-popper@^1.3.3:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-1.3.3.tgz#2c6cef7515a991256b4f0536cd4bdcb58a7b6af6"
+react-popper-tooltip@^2.8.3:
+ version "2.11.1"
+ resolved "https://registry.yarnpkg.com/react-popper-tooltip/-/react-popper-tooltip-2.11.1.tgz#3c4bdfd8bc10d1c2b9a162e859bab8958f5b2644"
+ integrity sha512-04A2f24GhyyMicKvg/koIOQ5BzlrRbKiAgP6L+Pdj1MVX3yJ1NeZ8+EidndQsbejFT55oW1b++wg2Z8KlAyhfQ==
+ dependencies:
+ "@babel/runtime" "^7.9.2"
+ react-popper "^1.3.7"
+
+react-popper@^1.3.7:
+ version "1.3.7"
+ resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-1.3.7.tgz#f6a3471362ef1f0d10a4963673789de1baca2324"
+ integrity sha512-nmqYTx7QVjCm3WUZLeuOomna138R1luC4EqkW3hxJUrAe+3eNz3oFCLYdnPwILfn0mX1Ew2c3wctrjlUMYYUww==
dependencies:
"@babel/runtime" "^7.1.2"
- create-react-context "<=0.2.2"
+ create-react-context "^0.3.0"
+ deep-equal "^1.1.1"
popper.js "^1.14.4"
prop-types "^15.6.1"
typed-styles "^0.0.7"
@@ -13214,6 +15504,11 @@ react-proxy@^1.1.7:
lodash "^4.6.1"
react-deep-force-update "^1.0.0"
+react-pure-render@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/react-pure-render/-/react-pure-render-1.0.2.tgz#9d8a928c7f2c37513c2d064e57b3e3c356e9fabb"
+ integrity sha1-nYqSjH8sN1E8LQZOV7Pjw1bp+rs=
+
react-redux@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-6.0.1.tgz#0d423e2c1cb10ada87293d47e7de7c329623ba4d"
@@ -13226,25 +15521,27 @@ react-redux@^6.0.1:
react-is "^16.8.2"
react-redux@^7.0.2:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.0.3.tgz#983c5a6de81cb1e696bd1c090ba826545f9170f1"
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.0.tgz#f970f62192b3981642fec46fd0db18a074fe879d"
+ integrity sha512-EvCAZYGfOLqwV7gh849xy9/pt55rJXPwmYvI4lilPM5rUT/1NxuuN59ipdBksRVSvz0KInbPnp4IfoXJXCqiDA==
dependencies:
- "@babel/runtime" "^7.4.3"
+ "@babel/runtime" "^7.5.5"
hoist-non-react-statics "^3.3.0"
- invariant "^2.2.4"
loose-envify "^1.4.0"
prop-types "^15.7.2"
- react-is "^16.8.6"
+ react-is "^16.9.0"
-react-resize-detector@^4.0.5:
- version "4.1.4"
- resolved "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-4.1.4.tgz#1f89c8bc4c62251e15de14ee926b1b04fd5fee80"
+react-router-dom@^4.1.1:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.3.1.tgz#4c2619fc24c4fa87c9fd18f4fb4a43fe63fbd5c6"
+ integrity sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA==
dependencies:
- lodash "^4.17.11"
- lodash-es "^4.17.11"
- prop-types "^15.7.2"
- raf-schd "^4.0.0"
- resize-observer-polyfill "^1.5.1"
+ history "^4.7.2"
+ invariant "^2.2.4"
+ loose-envify "^1.3.1"
+ prop-types "^15.6.1"
+ react-router "^4.3.1"
+ warning "^4.0.1"
react-router-dom@^5.0.1:
version "5.0.1"
@@ -13293,6 +15590,19 @@ react-router@^3.2.4:
react-is "^16.8.6"
warning "^3.0.0"
+react-router@^4.3.1:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz#aada4aef14c809cb2e686b05cee4742234506c4e"
+ integrity sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg==
+ dependencies:
+ history "^4.7.2"
+ hoist-non-react-statics "^2.5.0"
+ invariant "^2.2.4"
+ loose-envify "^1.3.1"
+ path-to-regexp "^1.7.0"
+ prop-types "^15.6.1"
+ warning "^4.0.1"
+
react-select@^1.0.0-rc.3:
version "1.3.0"
resolved "https://registry.yarnpkg.com/react-select/-/react-select-1.3.0.tgz#1828ad5bf7f3e42a835c7e2d8cb13b5c20714876"
@@ -13301,17 +15611,19 @@ react-select@^1.0.0-rc.3:
prop-types "^15.5.8"
react-input-autosize "^2.1.2"
-react-select@^2.2.0:
- version "2.4.4"
- resolved "https://registry.yarnpkg.com/react-select/-/react-select-2.4.4.tgz#ba72468ef1060c7d46fbb862b0748f96491f1f73"
+react-select@^3.0.8:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/react-select/-/react-select-3.1.0.tgz#ab098720b2e9fe275047c993f0d0caf5ded17c27"
+ integrity sha512-wBFVblBH1iuCBprtpyGtd1dGMadsG36W5/t2Aj8OE6WbByDg5jIFyT7X5gT+l0qmT5TqWhxX+VsKJvCEl2uL9g==
dependencies:
- classnames "^2.2.5"
- emotion "^9.1.2"
+ "@babel/runtime" "^7.4.4"
+ "@emotion/cache" "^10.0.9"
+ "@emotion/core" "^10.0.9"
+ "@emotion/css" "^10.0.9"
memoize-one "^5.0.0"
prop-types "^15.6.0"
- raf "^3.4.0"
- react-input-autosize "^2.2.1"
- react-transition-group "^2.2.1"
+ react-input-autosize "^2.2.2"
+ react-transition-group "^4.3.0"
react-share@^2.2.0:
version "2.4.0"
@@ -13322,22 +15634,38 @@ react-share@^2.2.0:
jsonp "^0.2.1"
prop-types "^15.5.8"
-react-sizeme@^2.5.2:
- version "2.6.7"
- resolved "https://registry.yarnpkg.com/react-sizeme/-/react-sizeme-2.6.7.tgz#231339ce8821ac2c26424c791e0027f89dae3e90"
+react-side-effect@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-1.2.0.tgz#0e940c78faba0c73b9b0eba9cd3dda8dfb7e7dae"
+ integrity sha512-v1ht1aHg5k/thv56DRcjw+WtojuuDHFUgGfc+bFHOWsF4ZK6C2V57DO0Or0GPsg6+LSTE0M6Ry/gfzhzSwbc5w==
+ dependencies:
+ shallowequal "^1.0.1"
+
+react-sizeme@^2.5.2, react-sizeme@^2.6.7:
+ version "2.6.12"
+ resolved "https://registry.yarnpkg.com/react-sizeme/-/react-sizeme-2.6.12.tgz#ed207be5476f4a85bf364e92042520499455453e"
+ integrity sha512-tL4sCgfmvapYRZ1FO2VmBmjPVzzqgHA7kI8lSJ6JS6L78jXFNRdOZFpXyK6P1NBZvKPPCZxReNgzZNUajAerZw==
dependencies:
- element-resize-detector "^1.1.15"
+ element-resize-detector "^1.2.1"
invariant "^2.2.4"
shallowequal "^1.1.0"
throttle-debounce "^2.1.0"
-react-syntax-highlighter@^8.0.1:
- version "8.1.0"
- resolved "https://registry.yarnpkg.com/react-syntax-highlighter/-/react-syntax-highlighter-8.1.0.tgz#59103ff17a828a27ed7c8f035ae2558f09b6b78c"
+react-sticky@^5.0.8:
+ version "5.0.8"
+ resolved "https://registry.yarnpkg.com/react-sticky/-/react-sticky-5.0.8.tgz#d5f85f96977f410081d792ab81886c622c5d8b14"
+ integrity sha1-1fhflpd/QQCB15KrgYhsYixdixQ=
+ dependencies:
+ prop-types "^15.5.8"
+
+react-syntax-highlighter@^11.0.2:
+ version "11.0.2"
+ resolved "https://registry.yarnpkg.com/react-syntax-highlighter/-/react-syntax-highlighter-11.0.2.tgz#4e3f376e752b20d2f54e4c55652fd663149e4029"
+ integrity sha512-kqmpM2OH5OodInbEADKARwccwSQWBfZi0970l5Jhp4h39q9Q65C4frNcnd6uHE5pR00W8pOWj9HDRntj2G4Rww==
dependencies:
- babel-runtime "^6.18.0"
- highlight.js "~9.12.0"
- lowlight "~1.9.1"
+ "@babel/runtime" "^7.3.1"
+ highlight.js "~9.13.0"
+ lowlight "~1.11.0"
prismjs "^1.8.4"
refractor "^2.4.1"
@@ -13350,29 +15678,36 @@ react-test-renderer@^16.0.0-0:
react-is "^16.8.6"
scheduler "^0.13.6"
-react-textarea-autosize@^7.0.4, react-textarea-autosize@^7.1.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-7.1.0.tgz#3132cb77e65d94417558d37c0bfe415a5afd3445"
+react-test-renderer@^16.8.4:
+ version "16.13.0"
+ resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.13.0.tgz#39ba3bf72cedc8210c3f81983f0bb061b14a3014"
+ integrity sha512-NQ2S9gdMUa7rgPGpKGyMcwl1d6D9MCF0lftdI3kts6kkiX+qvpC955jNjAZXlIDTjnN9jwFI8A8XhRh/9v0spA==
+ dependencies:
+ object-assign "^4.1.1"
+ prop-types "^15.6.2"
+ react-is "^16.8.6"
+ scheduler "^0.19.0"
+
+react-textarea-autosize@^7.1.0:
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-7.1.2.tgz#70fdb333ef86bcca72717e25e623e90c336e2cda"
+ integrity sha512-uH3ORCsCa3C6LHxExExhF4jHoXYCQwE5oECmrRsunlspaDAbS4mGKNlWZqjLfInWtFQcf0o1n1jC/NGXFdUBCg==
dependencies:
"@babel/runtime" "^7.1.2"
prop-types "^15.6.0"
-react-transform-hmr@^1.0.4:
+react-transform-catch-errors@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/react-transform-catch-errors/-/react-transform-catch-errors-1.0.2.tgz#1b4d4a76e97271896fc16fe3086c793ec88a9eeb"
+ integrity sha1-G01KdulycYlvwW/jCGx5PsiKnus=
+
+react-transform-hmr@^1.0.3, react-transform-hmr@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz#e1a40bd0aaefc72e8dfd7a7cda09af85066397bb"
dependencies:
global "^4.3.0"
react-proxy "^1.1.7"
-react-transition-group@^2.2.1:
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d"
- dependencies:
- dom-helpers "^3.4.0"
- loose-envify "^1.4.0"
- prop-types "^15.6.2"
- react-lifecycles-compat "^3.0.4"
-
react-transition-group@^4.0.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.3.0.tgz#fea832e386cf8796c58b61874a3319704f5ce683"
@@ -13383,6 +15718,16 @@ react-transition-group@^4.0.0:
loose-envify "^1.4.0"
prop-types "^15.6.2"
+react-transition-group@^4.3.0:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9"
+ integrity sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw==
+ dependencies:
+ "@babel/runtime" "^7.5.5"
+ dom-helpers "^5.0.1"
+ loose-envify "^1.4.0"
+ prop-types "^15.6.2"
+
react-typekit@^1.1.3:
version "1.1.4"
resolved "https://registry.yarnpkg.com/react-typekit/-/react-typekit-1.1.4.tgz#1305675bd8d348eeafc53f013edf1ec164b01f73"
@@ -13394,7 +15739,7 @@ react-virtualized-auto-sizer@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.2.tgz#a61dd4f756458bbf63bd895a92379f9b70f803bd"
-react@^16.0.0, react@^16.7.0, react@^16.8.1, react@^16.8.4:
+react@^16.0.0:
version "16.8.6"
resolved "https://registry.yarnpkg.com/react/-/react-16.8.6.tgz#ad6c3a9614fd3a4e9ef51117f54d888da01f2bbe"
dependencies:
@@ -13403,16 +15748,22 @@ react@^16.0.0, react@^16.7.0, react@^16.8.1, react@^16.8.4:
prop-types "^15.6.2"
scheduler "^0.13.6"
+react@^16.8.3, react@^16.8.4:
+ version "16.13.1"
+ resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e"
+ integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+ prop-types "^15.6.2"
+
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"
-reactjs-popup@^1.3.2:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/reactjs-popup/-/reactjs-popup-1.4.1.tgz#d5ec829a0f94d4480144f8c52f71cc73b7941083"
-
read-cmd-shim@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz#2d5d157786a37c055d22077c32c53f8329e91c7b"
@@ -13507,8 +15858,9 @@ read@1, read@~1.0.1:
mute-stream "~0.0.4"
"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6:
- version "2.3.6"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
+ version "2.3.7"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
+ integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.3"
@@ -13526,9 +15878,10 @@ readable-stream@^3.0.6:
string_decoder "^1.1.1"
util-deprecate "^1.0.1"
-readable-stream@^3.1.1:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc"
+readable-stream@^3.1.1, readable-stream@^3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
+ integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
dependencies:
inherits "^2.0.3"
string_decoder "^1.1.1"
@@ -13546,11 +15899,19 @@ readdir-scoped-modules@^1.0.0:
readdirp@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
+ integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==
dependencies:
graceful-fs "^4.1.11"
micromatch "^3.1.10"
readable-stream "^2.0.2"
+readdirp@~3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada"
+ integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==
+ dependencies:
+ picomatch "^2.2.1"
+
realpath-native@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c"
@@ -13560,44 +15921,37 @@ realpath-native@^1.1.0:
recast@^0.14.7:
version "0.14.7"
resolved "https://registry.yarnpkg.com/recast/-/recast-0.14.7.tgz#4f1497c2b5826d42a66e8e3c9d80c512983ff61d"
+ integrity sha512-/nwm9pkrcWagN40JeJhkPaRxiHXBRkXyRh/hgU088Z/v+qCy+zIHHY6bC6o7NaKAxPqtE6nD8zBH1LfU0/Wx6A==
dependencies:
ast-types "0.11.3"
esprima "~4.0.0"
private "~0.1.5"
source-map "~0.6.1"
-recast@^0.17.3:
- version "0.17.6"
- resolved "https://registry.yarnpkg.com/recast/-/recast-0.17.6.tgz#64ae98d0d2dfb10ff92ff5fb9ffb7371823b69fa"
- dependencies:
- ast-types "0.12.4"
- esprima "~4.0.0"
- private "^0.1.8"
- source-map "~0.6.1"
-
rechoir@^0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
+ integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=
dependencies:
resolve "^1.1.6"
-recompose@^0.30.0:
- version "0.30.0"
- resolved "https://registry.yarnpkg.com/recompose/-/recompose-0.30.0.tgz#82773641b3927e8c7d24a0d87d65aeeba18aabd0"
- dependencies:
- "@babel/runtime" "^7.0.0"
- change-emitter "^0.1.2"
- fbjs "^0.8.1"
- hoist-non-react-statics "^2.3.1"
- react-lifecycles-compat "^3.0.2"
- symbol-observable "^1.0.4"
-
recursive-readdir@2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f"
+ integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==
dependencies:
minimatch "3.0.4"
+redbox-react@^1.2.2:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/redbox-react/-/redbox-react-1.6.0.tgz#e753ac02595bc1bf695b3935889a4f5b1b5a21a1"
+ integrity sha512-mLjM5eYR41yOp5YKHpd3syFeGq6B4Wj5vZr64nbLvTZW5ZLff4LYk7VE4ITpVxkZpCY6OZuqh0HiP3A3uEaCpg==
+ dependencies:
+ error-stack-parser "^1.3.6"
+ object-assign "^4.0.1"
+ prop-types "^15.5.4"
+ sourcemapped-stacktrace "^1.1.6"
+
redent@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
@@ -13618,11 +15972,57 @@ redeyed@~0.4.0:
dependencies:
esprima "~1.0.4"
+redux-devtools-dock-monitor@^1.1.1:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/redux-devtools-dock-monitor/-/redux-devtools-dock-monitor-1.1.3.tgz#1205e823c82536570aac8551a1c4b70972cba6aa"
+ integrity sha512-yAXzoI0lpjv19CxVuw8RECeFWUVdyzayqnkX8ePZyeXV2ZgIk4T+rKx82Wk+REP1y3rl8o1/oFDq4B7EobOqMg==
+ dependencies:
+ babel-runtime "^6.2.0"
+ parse-key "^0.2.1"
+ prop-types "^15.5.8"
+ react-dock "^0.2.4"
+ react-pure-render "^1.0.2"
+
redux-devtools-extension@^2.13.8:
version "2.13.8"
resolved "https://registry.npmjs.org/redux-devtools-extension/-/redux-devtools-extension-2.13.8.tgz#37b982688626e5e4993ff87220c9bbb7cd2d96e1"
integrity sha512-8qlpooP2QqPtZHQZRhx3x3OP5skEV1py/zUdMY28WNAocbafxdG2tRD1MWE7sp8obGMNYuLWanhhQ7EQvT1FBg==
+redux-devtools-instrument@^1.9.0:
+ version "1.9.6"
+ resolved "https://registry.yarnpkg.com/redux-devtools-instrument/-/redux-devtools-instrument-1.9.6.tgz#6b412595f74b9d48cfd4ecc13e585b1588ed6e7e"
+ integrity sha512-MwvY4cLEB2tIfWWBzrUR02UM9qRG2i7daNzywRvabOSVdvAY7s9BxSwMmVRH1Y/7QWjplNtOwgT0apKhHg2Qew==
+ dependencies:
+ lodash "^4.2.0"
+ symbol-observable "^1.0.2"
+
+redux-devtools-log-monitor@^1.2.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/redux-devtools-log-monitor/-/redux-devtools-log-monitor-1.4.0.tgz#716b9580eda2a331cd359a36aa09e3a1602a854b"
+ integrity sha1-cWuVgO2iozHNNZo2qgnjoWAqhUs=
+ dependencies:
+ lodash.debounce "^4.0.4"
+ prop-types "^15.0.0"
+ react-json-tree "^0.11.0"
+ react-pure-render "^1.0.2"
+ redux-devtools-themes "^1.0.0"
+
+redux-devtools-themes@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/redux-devtools-themes/-/redux-devtools-themes-1.0.0.tgz#c482dce3c5373976045f40134907d9dcb3ae3d5d"
+ integrity sha1-xILc48U3OXYEX0ATSQfZ3LOuPV0=
+ dependencies:
+ base16 "^1.0.0"
+
+redux-devtools@^3.3.2:
+ version "3.5.0"
+ resolved "https://registry.yarnpkg.com/redux-devtools/-/redux-devtools-3.5.0.tgz#d69ab76d4f0f8abdf6d24bcf5954d7a1aa2b6827"
+ integrity sha512-pGU8TZNvWxPaCCE432AGm6H6alQbAz80gQM5CzM3SjX9/oSNu/HPF17xFdPQJOXasqyih1Gv167kZDTRe7r0iQ==
+ dependencies:
+ lodash "^4.2.0"
+ prop-types "^15.5.7"
+ redux-devtools-instrument "^1.9.0"
+
redux-form@^8.1.0:
version "8.1.0"
resolved "https://registry.yarnpkg.com/redux-form/-/redux-form-8.1.0.tgz#087b39eaa96b6f5cc0764a30eca10e0459884cce"
@@ -13653,6 +16053,13 @@ redux-immutable-state-invariant@^2.1.0:
invariant "^2.1.0"
json-stringify-safe "^5.0.1"
+redux-logger@^2.8.2:
+ version "2.10.2"
+ resolved "https://registry.yarnpkg.com/redux-logger/-/redux-logger-2.10.2.tgz#3c5a5f0a6f32577c1deadf6655f257f82c6c3937"
+ integrity sha1-PFpfCm8yV3wd6t9mVfJX+CxsOTc=
+ dependencies:
+ deep-diff "0.3.4"
+
redux-mock-store@^1.2.1:
version "1.5.3"
resolved "https://registry.yarnpkg.com/redux-mock-store/-/redux-mock-store-1.5.3.tgz#1f10528949b7ce8056c2532624f7cafa98576c6d"
@@ -13684,8 +16091,9 @@ redux@^4.0.0:
symbol-observable "^1.2.0"
redux@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.1.tgz#436cae6cc40fbe4727689d7c8fae44808f1bfef5"
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.5.tgz#4db5de5816e17891de8a80c424232d06f051d93f"
+ integrity sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==
dependencies:
loose-envify "^1.4.0"
symbol-observable "^1.2.0"
@@ -13705,16 +16113,18 @@ reflect.ownkeys@^0.2.0:
integrity sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=
refractor@^2.4.1:
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/refractor/-/refractor-2.9.0.tgz#0a381aadb51513e4e6ec1ed410b5104dd65e2489"
+ version "2.10.1"
+ resolved "https://registry.yarnpkg.com/refractor/-/refractor-2.10.1.tgz#166c32f114ed16fd96190ad21d5193d3afc7d34e"
+ integrity sha512-Xh9o7hQiQlDbxo5/XkOX6H+x/q8rmlmZKr97Ie1Q8ZM32IRRd3B/UxuA/yXDW79DBSXGWxm2yRTbcTVmAciJRw==
dependencies:
hastscript "^5.0.0"
parse-entities "^1.1.2"
- prismjs "~1.16.0"
+ prismjs "~1.17.0"
-regenerate-unicode-properties@^8.0.2:
- version "8.1.0"
- resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e"
+regenerate-unicode-properties@^8.2.0:
+ version "8.2.0"
+ resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
+ integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==
dependencies:
regenerate "^1.4.0"
@@ -13725,43 +16135,45 @@ regenerate@^1.2.1, regenerate@^1.4.0:
regenerator-runtime@^0.11.0:
version "0.11.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
+ integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
-regenerator-runtime@^0.12.0, regenerator-runtime@^0.12.1:
+regenerator-runtime@^0.12.0:
version "0.12.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de"
+ integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==
-regenerator-runtime@^0.13.1, regenerator-runtime@^0.13.2:
+regenerator-runtime@^0.13.1:
version "0.13.2"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz#32e59c9a6fb9b1a4aff09b4930ca2d4477343447"
-regenerator-transform@^0.13.4:
- version "0.13.4"
- resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.4.tgz#18f6763cf1382c69c36df76c6ce122cc694284fb"
- dependencies:
- private "^0.1.6"
+regenerator-runtime@^0.13.2, regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4:
+ version "0.13.5"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697"
+ integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==
-regenerator-transform@^0.14.0:
- version "0.14.0"
- resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.0.tgz#2ca9aaf7a2c239dd32e4761218425b8c7a86ecaf"
+regenerator-transform@^0.14.2:
+ version "0.14.4"
+ resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7"
+ integrity sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==
dependencies:
- private "^0.1.6"
+ "@babel/runtime" "^7.8.4"
+ private "^0.1.8"
regex-not@^1.0.0, regex-not@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
+ integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
dependencies:
extend-shallow "^3.0.2"
safe-regex "^1.1.0"
-regexp-tree@^0.1.0, regexp-tree@^0.1.6:
- version "0.1.10"
- resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.10.tgz#d837816a039c7af8a8d64d7a7c3cf6a1d93450bc"
-
-regexp.prototype.flags@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c"
+regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75"
+ integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==
dependencies:
- define-properties "^1.1.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
regexpp@^2.0.1:
version "2.0.1"
@@ -13775,24 +16187,26 @@ regexpu-core@^1.0.0:
regjsgen "^0.2.0"
regjsparser "^0.1.4"
-regexpu-core@^4.5.4:
- version "4.5.4"
- resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae"
+regexpu-core@^4.7.0:
+ version "4.7.0"
+ resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938"
+ integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==
dependencies:
regenerate "^1.4.0"
- regenerate-unicode-properties "^8.0.2"
- regjsgen "^0.5.0"
- regjsparser "^0.6.0"
+ regenerate-unicode-properties "^8.2.0"
+ regjsgen "^0.5.1"
+ regjsparser "^0.6.4"
unicode-match-property-ecmascript "^1.0.4"
- unicode-match-property-value-ecmascript "^1.1.0"
+ unicode-match-property-value-ecmascript "^1.2.0"
regjsgen@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
-regjsgen@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd"
+regjsgen@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c"
+ integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==
regjsparser@^0.1.4:
version "0.1.5"
@@ -13800,35 +16214,27 @@ regjsparser@^0.1.4:
dependencies:
jsesc "~0.5.0"
-regjsparser@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c"
+regjsparser@^0.6.4:
+ version "0.6.4"
+ resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272"
+ integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==
dependencies:
jsesc "~0.5.0"
-rehype-parse@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-6.0.0.tgz#f681555f2598165bee2c778b39f9073d17b16bca"
- dependencies:
- hast-util-from-parse5 "^5.0.0"
- parse5 "^5.0.0"
- xtend "^4.0.1"
-
-relateurl@0.2.x:
+relateurl@0.2.x, relateurl@^0.2.7:
version "0.2.7"
resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
+ integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=
remove-trailing-separator@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
-
-render-fragment@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/render-fragment/-/render-fragment-0.1.1.tgz#b231f259b7eee333d34256aee0ef3169be7bef30"
+ integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
renderkid@^2.0.1:
version "2.0.3"
resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149"
+ integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==
dependencies:
css-select "^1.1.0"
dom-converter "^0.2"
@@ -13839,10 +16245,12 @@ renderkid@^2.0.1:
repeat-element@^1.1.2:
version "1.1.3"
resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
+ integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==
repeat-string@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+ integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
repeating@^2.0.0:
version "2.0.1"
@@ -13850,10 +16258,6 @@ repeating@^2.0.0:
dependencies:
is-finite "^1.0.0"
-replace-ext@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
-
request-promise-core@1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346"
@@ -13917,6 +16321,7 @@ require-package-name@^2.0.1:
requires-port@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
+ integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
reselect@^3.0.0:
version "3.0.1"
@@ -13930,6 +16335,7 @@ reselect@^4.0.0:
resize-observer-polyfill@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464"
+ integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
resolve-cwd@^2.0.0:
version "2.0.0"
@@ -13947,19 +16353,27 @@ resolve-dir@^1.0.0, resolve-dir@^1.0.1:
resolve-from@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
+ integrity sha1-six699nWiBvItuZTM17rywoYh0g=
resolve-from@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
resolve-from@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
+ integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
resolve-pathname@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879"
+resolve-pathname@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd"
+ integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==
+
resolve-protobuf-schema@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz#9ca9a9e69cf192bbdaf1006ec1973948aa4a3758"
@@ -13969,14 +16383,16 @@ resolve-protobuf-schema@^2.1.0:
resolve-url@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
+ integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
resolve@1.1.7, resolve@1.1.x:
version "1.1.7"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
-resolve@^1.1.6, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.3.2, resolve@^1.8.1:
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e"
+resolve@^1.1.6, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.8.1:
+ version "1.17.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
+ integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
dependencies:
path-parse "^1.0.6"
@@ -14006,27 +16422,45 @@ rest@^2.0.0:
restore-cursor@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
+ integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
dependencies:
onetime "^2.0.0"
signal-exit "^3.0.2"
+restore-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
+ integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
+ dependencies:
+ onetime "^5.1.0"
+ signal-exit "^3.0.2"
+
ret@~0.1.10:
version "0.1.15"
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+ integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
retry@^0.10.0:
version "0.10.1"
resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4"
-rimraf@2, rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3:
+rimraf@2, rimraf@2.6.3, rimraf@^2.6.2, rimraf@^2.6.3:
version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
dependencies:
glob "^7.1.3"
+rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.7.1:
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
+ integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
+ dependencies:
+ glob "^7.1.3"
+
ripemd160@^2.0.0, ripemd160@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
+ integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
dependencies:
hash-base "^3.0.0"
inherits "^2.0.1"
@@ -14070,11 +16504,10 @@ rsvp@^4.8.4:
version "4.8.4"
resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.4.tgz#b50e6b34583f3dd89329a2f23a8a2be072845911"
-run-async@^2.2.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
- dependencies:
- is-promise "^2.1.0"
+run-async@^2.2.0, run-async@^2.4.0:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
+ integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
run-node@^1.0.0:
version "1.0.0"
@@ -14083,6 +16516,7 @@ run-node@^1.0.0:
run-queue@^1.0.0, run-queue@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
+ integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=
dependencies:
aproba "^1.1.1"
@@ -14106,29 +16540,39 @@ rxjs@^6.3.3:
dependencies:
tslib "^1.9.0"
-rxjs@^6.4.0:
- version "6.5.2"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7"
+rxjs@^6.4.0, rxjs@^6.5.3:
+ version "6.5.5"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec"
+ integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==
dependencies:
tslib "^1.9.0"
safe-buffer@5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
+ integrity sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==
-safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
+safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
safe-regex@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
+ integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
dependencies:
ret "~0.1.10"
"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
sane@^4.0.3:
version "4.1.0"
@@ -14167,6 +16611,7 @@ sass-loader@^7.1.0:
sax@^1.2.4, sax@~1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
+ integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
saxes@^3.1.5:
version "3.1.9"
@@ -14177,6 +16622,31 @@ saxes@^3.1.5:
scheduler@^0.13.6:
version "0.13.6"
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.13.6.tgz#466a4ec332467b31a91b9bf74e5347072e4cd889"
+ integrity sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+
+scheduler@^0.18.0:
+ version "0.18.0"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.18.0.tgz#5901ad6659bc1d8f3fdaf36eb7a67b0d6746b1c4"
+ integrity sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+
+scheduler@^0.19.0:
+ version "0.19.0"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.0.tgz#a715d56302de403df742f4a9be11975b32f5698d"
+ integrity sha512-xowbVaTPe9r7y7RUejcK73/j8tt2jfiyTednOvHbA8JoClvMYCp+r8QegLwK/n8zWQAtZb1fFnER4XLBZXrCxA==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+
+scheduler@^0.19.1:
+ version "0.19.1"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196"
+ integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
@@ -14191,14 +16661,19 @@ schema-utils@^0.4.5:
schema-utils@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
+ integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==
dependencies:
ajv "^6.1.0"
ajv-errors "^1.0.0"
ajv-keywords "^3.1.0"
-scrollbarwidth@^0.1.3:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/scrollbarwidth/-/scrollbarwidth-0.1.3.tgz#1b0de64e288c38c427f4a01fe00a462a04b94fdf"
+schema-utils@^2.0.1, schema-utils@^2.5.0, schema-utils@^2.6.6:
+ version "2.6.6"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.6.tgz#299fe6bd4a3365dc23d99fd446caff8f1d6c330c"
+ integrity sha512-wHutF/WPSbIi9x6ctjGGk2Hvl0VOz5l3EKEuKbjPlB30mKZUzb9A5k9yEXRX3pwyqVLPvpfZZEllaFq/M718hA==
+ dependencies:
+ ajv "^6.12.0"
+ ajv-keywords "^3.4.1"
scss-tokenizer@^0.2.3:
version "0.2.3"
@@ -14218,6 +16693,7 @@ select-hose@^2.0.0:
select@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
+ integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
selectorator@^4.0.3:
version "4.0.3"
@@ -14240,13 +16716,24 @@ semver-compare@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
-"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.0.3, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
+"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.0.3:
version "5.7.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
-semver@^6.0.0, semver@^6.1.0:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-6.1.1.tgz#53f53da9b30b2103cd4f15eab3a18ecbcb210c9b"
+semver@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
+ integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
+
+semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.1:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
+ integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+
+semver@^6.0.0, semver@^6.3.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
+ integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
semver@~5.3.0:
version "5.3.0"
@@ -14274,6 +16761,7 @@ send@0.16.2:
send@0.17.1:
version "0.17.1"
resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
+ integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==
dependencies:
debug "2.6.9"
depd "~1.1.2"
@@ -14296,13 +16784,24 @@ sentence-case@^2.1.0:
no-case "^2.2.0"
upper-case-first "^1.1.2"
-serialize-javascript@^1.4.0, serialize-javascript@^1.7.0:
+serialize-javascript@^1.4.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65"
+serialize-javascript@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61"
+ integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==
+
+serialize-javascript@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.0.0.tgz#492e489a2d77b7b804ad391a5f5d97870952548e"
+ integrity sha512-skZcHYw2vEX4bw90nAr2iTTsz6x2SrHEnfxgKYmZlvJYBEZrvbKtobJWlQ20zczKb3bsHHXXTYt48zBA7ni9cw==
+
serve-favicon@^2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/serve-favicon/-/serve-favicon-2.5.0.tgz#935d240cdfe0f5805307fdfe967d88942a2cbcf0"
+ integrity sha1-k10kDN/g9YBTB/3+ln2IlCosvPA=
dependencies:
etag "~1.8.1"
fresh "0.5.2"
@@ -14336,6 +16835,7 @@ serve-static@1.13.2:
serve-static@1.14.1:
version "1.14.1"
resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
+ integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
dependencies:
encodeurl "~1.0.2"
escape-html "~1.0.3"
@@ -14346,18 +16846,10 @@ set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
-set-value@^0.4.3:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1"
- dependencies:
- extend-shallow "^2.0.1"
- is-extendable "^0.1.1"
- is-plain-object "^2.0.1"
- to-object-path "^0.3.0"
-
-set-value@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274"
+set-value@^2.0.0, set-value@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
+ integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==
dependencies:
extend-shallow "^2.0.1"
is-extendable "^0.1.1"
@@ -14367,6 +16859,7 @@ set-value@^2.0.0:
setimmediate@^1.0.4, setimmediate@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
+ integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
setprototypeof@1.1.0:
version "1.1.0"
@@ -14375,10 +16868,12 @@ setprototypeof@1.1.0:
setprototypeof@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
+ integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
sha.js@^2.4.0, sha.js@^2.4.8:
version "2.4.11"
resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
+ integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
dependencies:
inherits "^2.0.1"
safe-buffer "^5.0.1"
@@ -14386,6 +16881,7 @@ sha.js@^2.4.0, sha.js@^2.4.8:
shallow-clone@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060"
+ integrity sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=
dependencies:
is-extendable "^0.1.1"
kind-of "^2.0.1"
@@ -14401,12 +16897,9 @@ shallow-clone@^1.0.0:
mixin-object "^2.0.1"
shallow-equal@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.1.0.tgz#cc022f030dcba0d1c198abf658a3c6c744e171ca"
-
-shallowequal@1.1.0, shallowequal@^1.0.2, shallowequal@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da"
+ integrity sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==
shallowequal@^0.2.2:
version "0.2.2"
@@ -14414,6 +16907,10 @@ shallowequal@^0.2.2:
dependencies:
lodash.keys "^3.1.2"
+shallowequal@^1.0.1, shallowequal@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
+
sharkdown@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/sharkdown/-/sharkdown-0.1.1.tgz#64484bd0f08f347f8319e9ff947a670f6b48b1b2"
@@ -14425,14 +16922,21 @@ sharkdown@^0.1.0:
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+ integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
dependencies:
shebang-regex "^1.0.0"
shebang-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
+ integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
+
+shell-quote@1.7.2:
+ version "1.7.2"
+ resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2"
+ integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==
-shell-quote@1.6.1, shell-quote@^1.6.1:
+shell-quote@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767"
dependencies:
@@ -14441,7 +16945,7 @@ shell-quote@1.6.1, shell-quote@^1.6.1:
array-reduce "~0.0.0"
jsonify "~0.0.0"
-shelljs@^0.8.1, shelljs@^0.8.3:
+shelljs@^0.8.1:
version "0.8.3"
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097"
dependencies:
@@ -14449,6 +16953,15 @@ shelljs@^0.8.1, shelljs@^0.8.3:
interpret "^1.0.0"
rechoir "^0.6.2"
+shelljs@^0.8.3:
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2"
+ integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==
+ dependencies:
+ glob "^7.0.0"
+ interpret "^1.0.0"
+ rechoir "^0.6.2"
+
shellwords@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
@@ -14460,13 +16973,18 @@ shortid@^2.2.14:
dependencies:
nanoid "^2.0.0"
-sigmund@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590"
+side-channel@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.2.tgz#df5d1abadb4e4bf4af1cd8852bf132d2f7876947"
+ integrity sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA==
+ dependencies:
+ es-abstract "^1.17.0-next.1"
+ object-inspect "^1.7.0"
signal-exit@^3.0.0, signal-exit@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
+ integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
simple-git@^1.85.0:
version "1.110.0"
@@ -14475,15 +16993,17 @@ simple-git@^1.85.0:
debug "^4.0.1"
simplebar-react@^1.0.0-alpha.6:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/simplebar-react/-/simplebar-react-1.0.0.tgz#8fe914d7f980dd077cc9dfd3e22ec5596f006b8d"
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/simplebar-react/-/simplebar-react-1.2.3.tgz#bd81fa9827628470e9470d06caef6ece15e1c882"
+ integrity sha512-1EOWJzFC7eqHUp1igD1/tb8GBv5aPQA5ZMvpeDnVkpNJ3jAuvmrL2kir3HuijlxhG7njvw9ssxjjBa89E5DrJg==
dependencies:
prop-types "^15.6.1"
- simplebar "^4.0.0"
+ simplebar "^4.2.3"
-simplebar@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/simplebar/-/simplebar-4.0.0.tgz#7f1b9e735ec94a58f887d4803f6b15abf401b6b5"
+simplebar@^4.2.3:
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/simplebar/-/simplebar-4.2.3.tgz#dac40aced299c17928329eab3d5e6e795fafc10c"
+ integrity sha512-9no0pK7/1y+8/oTF3sy/+kx0PjQ3uk4cYwld5F1CJGk2gx+prRyUq8GRfvcVLq5niYWSozZdX73a2wIr1o9l/g==
dependencies:
can-use-dom "^0.1.0"
core-js "^3.0.1"
@@ -14491,7 +17011,6 @@ simplebar@^4.0.0:
lodash.memoize "^4.1.2"
lodash.throttle "^4.1.1"
resize-observer-polyfill "^1.5.1"
- scrollbarwidth "^0.1.3"
sinon-chai@^3.3.0:
version "3.3.0"
@@ -14516,6 +17035,7 @@ sisteransi@^1.0.0:
slash@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
+ integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=
slash@^2.0.0:
version "2.0.0"
@@ -14550,6 +17070,7 @@ snake-case@^2.1.0:
snapdragon-node@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
+ integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
dependencies:
define-property "^1.0.0"
isobject "^3.0.0"
@@ -14558,12 +17079,14 @@ snapdragon-node@^2.0.1:
snapdragon-util@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
+ integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
dependencies:
kind-of "^3.2.0"
snapdragon@^0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
+ integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
dependencies:
base "^0.11.1"
debug "^2.2.0"
@@ -14577,6 +17100,19 @@ snapdragon@^0.8.1:
sockjs-client@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177"
+ integrity sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==
+ dependencies:
+ debug "^3.2.5"
+ eventsource "^1.0.7"
+ faye-websocket "~0.11.1"
+ inherits "^2.0.3"
+ json3 "^3.3.2"
+ url-parse "^1.4.3"
+
+sockjs-client@1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5"
+ integrity sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==
dependencies:
debug "^3.2.5"
eventsource "^1.0.7"
@@ -14609,6 +17145,7 @@ socks@~2.3.2:
sort-keys@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
+ integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0=
dependencies:
is-plain-obj "^1.0.0"
@@ -14621,12 +17158,14 @@ sort-keys@^2.0.0:
source-list-map@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
+ integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
source-map-resolve@^0.5.0:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259"
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
+ integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==
dependencies:
- atob "^2.1.1"
+ atob "^2.1.2"
decode-uri-component "^0.2.0"
resolve-url "^0.2.1"
source-map-url "^0.4.0"
@@ -14645,9 +17184,10 @@ source-map-support@^0.5.3, source-map-support@^0.5.6, source-map-support@^0.5.9:
buffer-from "^1.0.0"
source-map "^0.6.0"
-source-map-support@~0.5.10:
- version "0.5.12"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599"
+source-map-support@~0.5.12:
+ version "0.5.19"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
+ integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
dependencies:
buffer-from "^1.0.0"
source-map "^0.6.0"
@@ -14655,6 +17195,12 @@ source-map-support@~0.5.10:
source-map-url@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
+ integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
+
+source-map@0.5.6:
+ version "0.5.6"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
+ integrity sha1-dc449SvwczxafwwRjYEzSiu19BI=
source-map@^0.4.2:
version "0.4.4"
@@ -14662,27 +17208,33 @@ source-map@^0.4.2:
dependencies:
amdefine ">=0.0.4"
-source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7:
+source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+ integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
-
-source-map@^0.7.2:
- version "0.7.3"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
+ integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
source-map@~0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d"
dependencies:
- amdefine ">=0.0.4"
+ amdefine ">=0.0.4"
+
+sourcemapped-stacktrace@^1.1.6:
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.11.tgz#e2dede7fc148599c52a4f883276e527f8452657d"
+ integrity sha512-O0pcWjJqzQFVsisPlPXuNawJHHg9N9UgpJ/aDmvi9+vnS3x1C0NhwkVFzzZ1VN0Xo+bekyweoqYvBw5ZBKiNnQ==
+ dependencies:
+ source-map "0.5.6"
space-separated-tokens@^1.0.0:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.4.tgz#27910835ae00d0adfcdbd0ad7e611fb9544351fa"
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899"
+ integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==
spdx-correct@^3.0.0:
version "3.1.0"
@@ -14730,6 +17282,7 @@ spdy@^4.0.0:
split-string@^3.0.1, split-string@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
+ integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
dependencies:
extend-shallow "^3.0.0"
@@ -14754,6 +17307,7 @@ split@~0.2.10:
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+ integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
sshpk@^1.7.0:
version "1.16.1"
@@ -14781,14 +17335,28 @@ ssri@^6.0.0, ssri@^6.0.1:
dependencies:
figgy-pudding "^3.5.1"
+ssri@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/ssri/-/ssri-7.1.0.tgz#92c241bf6de82365b5c7fb4bd76e975522e1294d"
+ integrity sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==
+ dependencies:
+ figgy-pudding "^3.5.1"
+ minipass "^3.1.1"
+
stable@^0.1.8:
version "0.1.8"
resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
+ integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
stack-utils@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8"
+stackframe@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-0.3.1.tgz#33aa84f1177a5548c8935533cbfeb3420975f5a4"
+ integrity sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=
+
staged-git-files@1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-1.1.2.tgz#4326d33886dc9ecfa29a6193bf511ba90a46454b"
@@ -14796,6 +17364,7 @@ staged-git-files@1.1.2:
static-extend@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
+ integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
dependencies:
define-property "^0.2.5"
object-copy "^0.1.0"
@@ -14820,12 +17389,14 @@ stealthy-require@^1.1.1:
resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
store2@^2.7.1:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/store2/-/store2-2.7.1.tgz#22070b7dc04748a792fc6912a58ab99d3a21d788"
+ version "2.11.2"
+ resolved "https://registry.yarnpkg.com/store2/-/store2-2.11.2.tgz#a298e5e97b21b3ce7419b732540bc7c79cb007db"
+ integrity sha512-TQMKs+C6n9idtzLpxluikmDCYiDJrTbbIGn9LFxMg0BVTu+8JZKSlXTWYRpOFKlfKD5HlDWLVpJJyNGZ2e9l1A==
stream-browserify@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"
+ integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==
dependencies:
inherits "~2.0.1"
readable-stream "^2.0.2"
@@ -14833,6 +17404,7 @@ stream-browserify@^2.0.1:
stream-each@^1.1.0:
version "1.2.3"
resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae"
+ integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==
dependencies:
end-of-stream "^1.1.0"
stream-shift "^1.0.0"
@@ -14840,6 +17412,7 @@ stream-each@^1.1.0:
stream-http@^2.7.2:
version "2.8.3"
resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
+ integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==
dependencies:
builtin-status-codes "^3.0.0"
inherits "^2.0.1"
@@ -14848,12 +17421,14 @@ stream-http@^2.7.2:
xtend "^4.0.0"
stream-shift@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
+ integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
strict-uri-encode@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
+ integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=
string-argv@^0.0.2:
version "0.0.2"
@@ -14884,36 +17459,48 @@ string-width@^1.0.1, string-width@^1.0.2:
string-width@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
+ integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
dependencies:
emoji-regex "^7.0.1"
is-fullwidth-code-point "^2.0.0"
strip-ansi "^5.1.0"
-string.prototype.matchall@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-3.0.1.tgz#5a9e0b64bcbeb336aa4814820237c2006985646d"
+string-width@^4.0.0, string-width@^4.1.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
+ integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.0"
+
+"string.prototype.matchall@^4.0.0 || ^3.0.1":
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e"
+ integrity sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==
dependencies:
define-properties "^1.1.3"
- es-abstract "^1.12.0"
- function-bind "^1.1.1"
- has-symbols "^1.0.0"
- regexp.prototype.flags "^1.2.0"
+ es-abstract "^1.17.0"
+ has-symbols "^1.0.1"
+ internal-slot "^1.0.2"
+ regexp.prototype.flags "^1.3.0"
+ side-channel "^1.0.2"
string.prototype.padend@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0"
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.0.tgz#dc08f57a8010dc5c153550318f67e13adbb72ac3"
+ integrity sha512-3aIv8Ffdp8EZj8iLwREGpQaUZiPyrWrpzMBHvkiSW/bK/EGve9np07Vwy7IJ5waydpGXzQZu/F8Oze2/IWkBaA==
dependencies:
- define-properties "^1.1.2"
- es-abstract "^1.4.3"
- function-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
string.prototype.padstart@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/string.prototype.padstart/-/string.prototype.padstart-3.0.0.tgz#5bcfad39f4649bb2d031292e19bcf0b510d4b242"
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/string.prototype.padstart/-/string.prototype.padstart-3.1.0.tgz#b47c087540d0710be5a49375751a0a627bd4ff90"
+ integrity sha512-envqZvUp2JItI+OeQ5UAh1ihbAV5G/2bixTojvlIa090GGqF+NQRxbWb2nv9fTGrZABv6+pE6jXoAZhhS2k4Hw==
dependencies:
- define-properties "^1.1.2"
- es-abstract "^1.4.3"
- function-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
string.prototype.trim@^1.1.2:
version "1.1.2"
@@ -14923,26 +17510,54 @@ string.prototype.trim@^1.1.2:
es-abstract "^1.5.0"
function-bind "^1.0.2"
+string.prototype.trimend@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913"
+ integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.5"
+
+string.prototype.trimleft@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc"
+ integrity sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.5"
+ string.prototype.trimstart "^1.0.0"
+
+string.prototype.trimright@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3"
+ integrity sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.5"
+ string.prototype.trimend "^1.0.0"
+
+string.prototype.trimstart@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54"
+ integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.5"
+
string_decoder@^1.0.0, string_decoder@^1.1.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d"
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
+ integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
dependencies:
- safe-buffer "~5.1.0"
+ safe-buffer "~5.2.0"
string_decoder@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+ integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
dependencies:
safe-buffer "~5.1.0"
-stringify-object@3.2.2:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.2.2.tgz#9853052e5a88fb605a44cd27445aa257ad7ffbcd"
- dependencies:
- get-own-enumerable-property-symbols "^2.0.1"
- is-obj "^1.0.1"
- is-regexp "^1.0.0"
-
stringify-object@^3.2.2:
version "3.3.0"
resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
@@ -14954,21 +17569,31 @@ stringify-object@^3.2.2:
strip-ansi@5.2.0, strip-ansi@^5.0.0, strip-ansi@^5.1.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
+ integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
dependencies:
ansi-regex "^4.1.0"
strip-ansi@^3.0.0, strip-ansi@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
dependencies:
ansi-regex "^2.0.0"
strip-ansi@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+ integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
dependencies:
ansi-regex "^3.0.0"
+strip-ansi@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
+ integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
+ dependencies:
+ ansi-regex "^5.0.0"
+
strip-bom@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
@@ -14982,6 +17607,7 @@ strip-bom@^3.0.0:
strip-eof@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
+ integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
strip-indent@^1.0.1:
version "1.0.1"
@@ -14993,7 +17619,14 @@ strip-indent@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68"
-strip-json-comments@2.0.1, strip-json-comments@^2.0.1, strip-json-comments@~2.0.1:
+strip-indent@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001"
+ integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==
+ dependencies:
+ min-indent "^1.0.0"
+
+strip-json-comments@2.0.1, strip-json-comments@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
@@ -15012,13 +17645,27 @@ style-loader@^0.23.1:
loader-utils "^1.1.0"
schema-utils "^1.0.0"
-stylis-rule-sheet@^0.0.10:
- version "0.0.10"
- resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430"
+style-loader@^1.0.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.2.1.tgz#c5cbbfbf1170d076cfdd86e0109c5bba114baa1a"
+ integrity sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==
+ dependencies:
+ loader-utils "^2.0.0"
+ schema-utils "^2.6.6"
-stylis@^3.5.0:
- version "3.5.4"
- resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe"
+styled-components@^1.4.2:
+ version "1.4.6"
+ resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-1.4.6.tgz#58f32e8a6ab510fb1481e901e838e0477f148b06"
+ integrity sha1-WPMuimq1EPsUgekB6DjgR38UiwY=
+ dependencies:
+ buffer "^5.0.2"
+ css-to-react-native "^1.0.6"
+ fbjs "^0.8.7"
+ inline-style-prefixer "^2.0.5"
+ is-function "^1.0.1"
+ is-plain-object "^2.0.1"
+ prop-types "^15.5.4"
+ supports-color "^3.1.2"
suggestions@^1.3.2:
version "1.5.0"
@@ -15049,7 +17696,7 @@ supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
-supports-color@^3.1.0:
+supports-color@^3.1.0, supports-color@^3.1.2:
version "3.2.3"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
dependencies:
@@ -15058,26 +17705,40 @@ supports-color@^3.1.0:
supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
+ integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
dependencies:
has-flag "^3.0.0"
supports-color@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
+ integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
dependencies:
has-flag "^3.0.0"
-svgo@^1.2.1:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.2.2.tgz#0253d34eccf2aed4ad4f283e11ee75198f9d7316"
+supports-color@^7.0.0, supports-color@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
+ integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
+ dependencies:
+ has-flag "^4.0.0"
+
+svg-parser@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5"
+ integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==
+
+svgo@^1.2.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167"
+ integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==
dependencies:
chalk "^2.4.1"
coa "^2.0.2"
css-select "^2.0.0"
css-select-base-adapter "^0.1.1"
- css-tree "1.0.0-alpha.28"
- css-url-regex "^1.1.0"
- csso "^3.5.1"
+ css-tree "1.0.0-alpha.37"
+ csso "^4.0.2"
js-yaml "^3.13.1"
mkdirp "~0.5.1"
object.values "^1.1.0"
@@ -15093,7 +17754,7 @@ swap-case@^1.1.0:
lower-case "^1.1.1"
upper-case "^1.1.1"
-symbol-observable@^1.0.4, symbol-observable@^1.1.0, symbol-observable@^1.2.0:
+symbol-observable@^1.0.2, symbol-observable@^1.1.0, symbol-observable@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
@@ -15102,15 +17763,22 @@ symbol-tree@^3.2.2:
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
symbol.prototype.description@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/symbol.prototype.description/-/symbol.prototype.description-1.0.0.tgz#6e355660eb1e44ca8ad53a68fdb72ef131ca4b12"
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/symbol.prototype.description/-/symbol.prototype.description-1.0.2.tgz#f325e1e6ad534b3b29c9c3ca73c136c9ce03c5e2"
+ integrity sha512-2CW5SU4/Ki1cYOOHcL2cXK4rxSg5hCU1TwZ7X4euKhV9VnfqKslh7T6/UyKkubA8cq2tOmsOv7m3ZUmQslBRuw==
dependencies:
- has-symbols "^1.0.0"
+ es-abstract "^1.17.0-next.1"
+ has-symbols "^1.0.1"
synchronous-promise@^2.0.5:
version "2.0.7"
resolved "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.7.tgz#3574b3d2fae86b145356a4b89103e1577f646fe3"
+synchronous-promise@^2.0.6:
+ version "2.0.10"
+ resolved "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.10.tgz#e64c6fd3afd25f423963353043f4a68ebd397fd8"
+ integrity sha512-6PC+JRGmNjiG3kJ56ZMNWDPL8hjyghF5cMXIFOKg+NiwwEZZIvxTWd0pinWKyD227odg9ygF8xVhhz7gb8Uq7A==
+
table@^5.2.3:
version "5.2.3"
resolved "https://registry.yarnpkg.com/table/-/table-5.2.3.tgz#cde0cc6eb06751c009efab27e8c820ca5b67b7f2"
@@ -15124,9 +17792,10 @@ tapable@^0.1.8:
version "0.1.10"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4"
-tapable@^1.0.0, tapable@^1.1.0:
+tapable@^1.0.0, tapable@^1.1.0, tapable@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
+ integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
tar@^2.0.0:
version "2.2.1"
@@ -15136,18 +17805,6 @@ tar@^2.0.0:
fstream "^1.0.2"
inherits "2"
-tar@^4:
- version "4.4.10"
- resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1"
- dependencies:
- chownr "^1.1.1"
- fs-minipass "^1.2.5"
- minipass "^2.3.5"
- minizlib "^1.2.1"
- mkdirp "^0.5.0"
- safe-buffer "^5.1.2"
- yallist "^3.0.3"
-
tar@^4.4.8:
version "4.4.8"
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d"
@@ -15170,16 +17827,18 @@ tcomb@^3.0.0, tcomb@^3.2.17:
version "3.2.29"
resolved "https://registry.yarnpkg.com/tcomb/-/tcomb-3.2.29.tgz#32404fe9456d90c2cf4798682d37439f1ccc386c"
-telejson@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/telejson/-/telejson-2.2.1.tgz#d9ee7e7eba0c81d9378257342fde7142a03787e2"
+telejson@^3.2.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/telejson/-/telejson-3.3.0.tgz#6d814f3c0d254d5c4770085aad063e266b56ad03"
+ integrity sha512-er08AylQ+LEbDLp1GRezORZu5wKOHaBczF6oYJtgC3Idv10qZ8A3p6ffT+J5BzDKkV9MqBvu8HAKiIIOp6KJ2w==
dependencies:
- global "^4.3.2"
+ "@types/is-function" "^1.0.0"
+ global "^4.4.0"
is-function "^1.0.1"
is-regex "^1.0.4"
- is-symbol "^1.0.2"
- isobject "^3.0.1"
- lodash.get "^4.4.2"
+ is-symbol "^1.0.3"
+ isobject "^4.0.0"
+ lodash "^4.17.15"
memoizerific "^1.11.3"
temp-dir@^1.0.0:
@@ -15197,34 +17856,49 @@ temp-write@^3.4.0:
temp-dir "^1.0.0"
uuid "^3.0.1"
-term-size@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69"
- dependencies:
- execa "^0.7.0"
+term-size@^2.1.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.0.tgz#1f16adedfe9bdc18800e1776821734086fcc6753"
+ integrity sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==
-terser-webpack-plugin@^1.1.0, terser-webpack-plugin@^1.2.4:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz#69aa22426299f4b5b3775cbed8cb2c5d419aa1d4"
+terser-webpack-plugin@^1.1.0, terser-webpack-plugin@^1.4.3:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c"
+ integrity sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==
dependencies:
- cacache "^11.3.2"
- find-cache-dir "^2.0.0"
+ cacache "^12.0.2"
+ find-cache-dir "^2.1.0"
is-wsl "^1.1.0"
- loader-utils "^1.2.3"
schema-utils "^1.0.0"
- serialize-javascript "^1.7.0"
+ serialize-javascript "^2.1.2"
source-map "^0.6.1"
- terser "^4.0.0"
- webpack-sources "^1.3.0"
+ terser "^4.1.2"
+ webpack-sources "^1.4.0"
worker-farm "^1.7.0"
-terser@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/terser/-/terser-4.0.0.tgz#ef356f6f359a963e2cc675517f21c1c382877374"
+terser-webpack-plugin@^2.1.2:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.3.6.tgz#a4014b311a61f87c6a1b217ef4f5a75bd0665a69"
+ integrity sha512-I8IDsQwZrqjdmOicNeE8L/MhwatAap3mUrtcAKJuilsemUNcX+Hier/eAzwStVqhlCxq0aG3ni9bK/0BESXkTg==
+ dependencies:
+ cacache "^13.0.1"
+ find-cache-dir "^3.3.1"
+ jest-worker "^25.4.0"
+ p-limit "^2.3.0"
+ schema-utils "^2.6.6"
+ serialize-javascript "^3.0.0"
+ source-map "^0.6.1"
+ terser "^4.6.12"
+ webpack-sources "^1.4.3"
+
+terser@^4.1.2, terser@^4.6.12, terser@^4.6.3:
+ version "4.6.13"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.13.tgz#e879a7364a5e0db52ba4891ecde007422c56a916"
+ integrity sha512-wMvqukYgVpQlymbnNbabVZbtM6PN63AzqexpwJL8tbh/mRT9LE5o+ruVduAGL7D6Fpjl+Q+06U5I9Ul82odAhw==
dependencies:
- commander "^2.19.0"
+ commander "^2.20.0"
source-map "~0.6.1"
- source-map-support "~0.5.10"
+ source-map-support "~0.5.12"
test-exclude@^5.0.0:
version "5.2.3"
@@ -15251,6 +17925,7 @@ throat@^4.0.0:
throttle-debounce@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-2.1.0.tgz#257e648f0a56bd9e54fe0f132c4ab8611df4e1d5"
+ integrity sha512-AOvyNahXQuU7NN+VVvOOX+uW6FPaWdAOdRP5HfwYxAfCzXTFKRMoIMk+n+po318+ktcChx+F1Dd91G3YHeMKyg==
through2@^2.0.0, through2@^2.0.2:
version "2.0.5"
@@ -15272,14 +17947,16 @@ timed-out@^4.0.1:
resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
timers-browserify@^2.0.4:
- version "2.0.10"
- resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae"
+ version "2.0.11"
+ resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f"
+ integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==
dependencies:
setimmediate "^1.0.4"
tiny-emitter@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
+ integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
tiny-invariant@^1.0.2:
version "1.0.4"
@@ -15292,6 +17969,7 @@ tiny-warning@^1.0.0, tiny-warning@^1.0.2:
tinycolor2@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8"
+ integrity sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=
tinyqueue@^1.1.0:
version "1.2.3"
@@ -15312,6 +17990,7 @@ title-case@^2.1.0:
tmp@^0.0.33:
version "0.0.33"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
+ integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
dependencies:
os-tmpdir "~1.0.2"
@@ -15322,27 +18001,39 @@ tmpl@1.0.x:
to-arraybuffer@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
+ integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=
to-fast-properties@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
+ integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
to-object-path@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
+ integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
dependencies:
kind-of "^3.0.2"
to-regex-range@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
+ integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
dependencies:
is-number "^3.0.0"
repeat-string "^1.6.1"
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ dependencies:
+ is-number "^7.0.0"
+
to-regex@^3.0.1, to-regex@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
+ integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
dependencies:
define-property "^2.0.2"
extend-shallow "^3.0.2"
@@ -15352,10 +18043,12 @@ to-regex@^3.0.1, to-regex@^3.0.2:
toggle-selection@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32"
+ integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI=
toidentifier@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
+ integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
toposort@^1.0.0:
version "1.0.7"
@@ -15365,12 +18058,6 @@ toposort@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330"
-touch@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/touch/-/touch-2.0.2.tgz#ca0b2a3ae3211246a61b16ba9e6cbf1596287164"
- dependencies:
- nopt "~1.0.10"
-
tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
@@ -15413,10 +18100,7 @@ trim-off-newlines@^1.0.0:
trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
-
-trough@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.4.tgz#3b52b1f13924f460c3fbfd0df69b587dbcbc762e"
+ integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
"true-case-path@^1.0.2":
version "1.0.3"
@@ -15428,9 +18112,25 @@ tryer@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8"
+ts-dedent@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-1.1.1.tgz#68fad040d7dbd53a90f545b450702340e17d18f3"
+ integrity sha512-UGTRZu1evMw4uTPyYF66/KFd22XiU+jMaIuHrkIHQ2GivAXVlLV0v/vHrpOuTRf9BmpNHi/SO7Vd0rLu0y57jg==
+
+ts-pnp@^1.1.2:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92"
+ integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==
+
+tslib@^1.10.0:
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35"
+ integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==
+
tslib@^1.9.0:
- version "1.9.3"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
+ integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
tslib@^1.9.3:
version "1.10.0"
@@ -15440,6 +18140,7 @@ tslib@^1.9.3:
tty-browserify@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
+ integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=
tunnel-agent@^0.6.0:
version "0.6.0"
@@ -15471,9 +18172,15 @@ type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5:
version "4.0.8"
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
-type-fest@^0.3.0:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1"
+type-fest@^0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
+ integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==
+
+type-fest@^0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
+ integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
type-is@~1.6.16, type-is@~1.6.17, type-is@~1.6.18:
version "1.6.18"
@@ -15485,18 +18192,21 @@ type-is@~1.6.16, type-is@~1.6.17, type-is@~1.6.18:
typed-styles@^0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/typed-styles/-/typed-styles-0.0.7.tgz#93392a008794c4595119ff62dde6809dbc40a3d9"
+ integrity sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q==
typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+ integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
typescript@^3.1.2:
version "3.4.1"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.4.1.tgz#b6691be11a881ffa9a05765a205cb7383f3b63c6"
ua-parser-js@^0.7.18:
- version "0.7.19"
- resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.19.tgz#94151be4c0a7fb1d001af7022fdaca4642659e4b"
+ version "0.7.21"
+ resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777"
+ integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==
uglify-es@^3.3.4:
version "3.3.9"
@@ -15508,6 +18218,7 @@ uglify-es@^3.3.4:
uglify-js@3.4.x:
version "3.4.10"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f"
+ integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==
dependencies:
commander "~2.19.0"
source-map "~0.6.1"
@@ -15548,46 +18259,43 @@ unchanged@^2.0.1:
curriable "^1.3.0"
pathington "^1.1.7"
+unfetch@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.1.0.tgz#6ec2dd0de887e58a4dee83a050ded80ffc4137db"
+ integrity sha512-crP/n3eAPUJxZXM9T80/yv0YhkTEx2K1D3h7D1AJM6fzsWZrxdyRuLN0JH/dkZh1LNH8LxCnBzoPFCPbb2iGpg==
+
unicode-canonical-property-names-ecmascript@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
+ integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==
unicode-match-property-ecmascript@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c"
+ integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==
dependencies:
unicode-canonical-property-names-ecmascript "^1.0.4"
unicode-property-aliases-ecmascript "^1.0.4"
-unicode-match-property-value-ecmascript@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277"
+unicode-match-property-value-ecmascript@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531"
+ integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==
unicode-property-aliases-ecmascript@^1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57"
-
-unified@^7.1.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/unified/-/unified-7.1.0.tgz#5032f1c1ee3364bd09da12e27fdd4a7553c7be13"
- dependencies:
- "@types/unist" "^2.0.0"
- "@types/vfile" "^3.0.0"
- bail "^1.0.0"
- extend "^3.0.0"
- is-plain-obj "^1.1.0"
- trough "^1.0.0"
- vfile "^3.0.0"
- x-is-string "^0.1.0"
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4"
+ integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==
union-value@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
+ integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==
dependencies:
arr-union "^3.1.0"
get-value "^2.0.6"
is-extendable "^0.1.1"
- set-value "^0.4.3"
+ set-value "^2.0.1"
uniq@^1.0.1:
version "1.0.1"
@@ -15600,21 +18308,12 @@ unique-filename@^1.1.0, unique-filename@^1.1.1:
unique-slug "^2.0.0"
unique-slug@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.1.tgz#5e9edc6d1ce8fb264db18a507ef9bd8544451ca6"
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c"
+ integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==
dependencies:
imurmurhash "^0.1.4"
-unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6"
-
-unist-util-stringify-position@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz#de2a2bc8d3febfa606652673a91455b6a36fb9f3"
- dependencies:
- "@types/unist" "^2.0.2"
-
universal-user-agent@^2.0.0, universal-user-agent@^2.0.1:
version "2.0.3"
resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-2.0.3.tgz#9f6f09f9cc33de867bb720d84c08069b14937c6c"
@@ -15624,25 +18323,30 @@ universal-user-agent@^2.0.0, universal-user-agent@^2.0.1:
universalify@^0.1.0:
version "0.1.2"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
+ integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
unpipe@1.0.0, unpipe@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
+ integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
unquote@^1.1.0, unquote@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544"
+ integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=
unset-value@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
+ integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
dependencies:
has-value "^0.3.1"
isobject "^3.0.0"
upath@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068"
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
+ integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==
upper-case-first@^1.1.0, upper-case-first@^1.1.2:
version "1.1.2"
@@ -15657,12 +18361,14 @@ upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3:
uri-js@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
+ integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
dependencies:
punycode "^2.1.0"
urix@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
+ integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
url-loader@^1.1.2:
version "1.1.2"
@@ -15672,6 +18378,15 @@ url-loader@^1.1.2:
mime "^2.0.3"
schema-utils "^1.0.0"
+url-loader@^2.0.1:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b"
+ integrity sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==
+ dependencies:
+ loader-utils "^1.2.3"
+ mime "^2.4.4"
+ schema-utils "^2.5.0"
+
url-parse-lax@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
@@ -15681,6 +18396,7 @@ url-parse-lax@^3.0.0:
url-parse@^1.4.3:
version "1.4.7"
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278"
+ integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==
dependencies:
querystringify "^2.1.1"
requires-port "^1.0.0"
@@ -15696,49 +18412,84 @@ url-to-options@^1.0.1:
url@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
+ integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=
dependencies:
punycode "1.3.2"
querystring "0.2.0"
+use-callback-ref@^1.2.1:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.2.3.tgz#9f939dfb5740807bbf9dd79cdd4e99d27e827756"
+ integrity sha512-DPBPh1i2adCZoIArRlTuKRy7yue7QogtEnfv0AKrWsY+GA+4EKe37zhRDouNnyWMoNQFYZZRF+2dLHsWE4YvJA==
+
+use-sidecar@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.0.2.tgz#e72f582a75842f7de4ef8becd6235a4720ad8af6"
+ integrity sha512-287RZny6m5KNMTb/Kq9gmjafi7lQL0YHO1lYolU6+tY1h9+Z3uCtkJJ3OSOq3INwYf2hBryCcDh4520AhJibMA==
+ dependencies:
+ detect-node "^2.0.4"
+ tslib "^1.9.3"
+
use@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
+ integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
-util.promisify@1.0.0, util.promisify@^1.0.0, util.promisify@~1.0.0:
+util.promisify@1.0.0, util.promisify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030"
dependencies:
define-properties "^1.1.2"
object.getownpropertydescriptors "^2.0.3"
+util.promisify@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee"
+ integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.2"
+ has-symbols "^1.0.1"
+ object.getownpropertydescriptors "^2.1.0"
+
util@0.10.3:
version "0.10.3"
resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
+ integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk=
dependencies:
inherits "2.0.1"
util@^0.11.0:
version "0.11.1"
resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61"
+ integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==
dependencies:
inherits "2.0.3"
utila@^0.4.0, utila@~0.4:
version "0.4.0"
resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c"
+ integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=
utils-merge@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
+ integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
-uuid@^3.0.1, uuid@^3.1.0, uuid@^3.3.2:
+uuid@^3.0.1, uuid@^3.1.0:
version "3.3.2"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
+uuid@^3.3.2:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
+ integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
+
v8-compile-cache@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz#a428b28bb26790734c4fc8bc9fa106fccebf6a6c"
@@ -15770,9 +18521,15 @@ value-equal@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7"
+value-equal@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c"
+ integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==
+
vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
+ integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
verror@1.10.0:
version "1.10.0"
@@ -15795,38 +18552,6 @@ version-bump-prompt@^3.1.0:
log-symbols "^1.0.2"
semver "^5.0.3"
-vfile-message@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1"
- dependencies:
- unist-util-stringify-position "^1.1.1"
-
-vfile-message@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.1.tgz#951881861c22fc1eb39f873c0b93e336a64e8f6d"
- dependencies:
- "@types/unist" "^2.0.2"
- unist-util-stringify-position "^2.0.0"
-
-vfile@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/vfile/-/vfile-3.0.1.tgz#47331d2abe3282424f4a4bb6acd20a44c4121803"
- dependencies:
- is-buffer "^2.0.0"
- replace-ext "1.0.0"
- unist-util-stringify-position "^1.0.0"
- vfile-message "^1.0.0"
-
-vfile@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.0.1.tgz#fc3d43a1c71916034216bf65926d5ee3c64ed60c"
- dependencies:
- "@types/unist" "^2.0.0"
- is-buffer "^2.0.0"
- replace-ext "1.0.0"
- unist-util-stringify-position "^2.0.0"
- vfile-message "^2.0.0"
-
victory-area@^32.1.0:
version "32.1.0"
resolved "https://registry.yarnpkg.com/victory-area/-/victory-area-32.1.0.tgz#70941064b470192fb5963c3e36ce26dec60f068f"
@@ -16107,9 +18832,15 @@ viewport-mercator-project@^6.2.1:
vm-browserify@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
+ integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=
dependencies:
indexof "0.0.1"
+vm-browserify@^1.0.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
+ integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
+
vt-pbf@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/vt-pbf/-/vt-pbf-3.1.1.tgz#b0f627e39a10ce91d943b898ed2363d21899fb82"
@@ -16141,12 +18872,14 @@ walker@^1.0.7, walker@~1.0.5:
warning@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c"
+ integrity sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=
dependencies:
loose-envify "^1.0.0"
-warning@^4.0.1, warning@^4.0.2:
+warning@^4.0.1, warning@^4.0.2, warning@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3"
+ integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==
dependencies:
loose-envify "^1.0.0"
@@ -16157,13 +18890,23 @@ watch@^1.0.2:
exec-sh "^0.2.0"
minimist "^1.2.0"
-watchpack@^1.5.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"
+watchpack-chokidar2@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0"
+ integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==
+ dependencies:
+ chokidar "^2.1.8"
+
+watchpack@^1.5.0, watchpack@^1.6.1:
+ version "1.7.2"
+ resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.2.tgz#c02e4d4d49913c3e7e122c3325365af9d331e9aa"
+ integrity sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==
dependencies:
- chokidar "^2.0.2"
graceful-fs "^4.1.2"
neo-async "^2.5.0"
+ optionalDependencies:
+ chokidar "^3.4.0"
+ watchpack-chokidar2 "^2.0.0"
wbuf@^1.1.0, wbuf@^1.7.3:
version "1.7.3"
@@ -16177,10 +18920,6 @@ wcwidth@^1.0.0:
dependencies:
defaults "^1.0.3"
-web-namespaces@^1.1.2:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.3.tgz#9bbf5c99ff0908d2da031f1d732492a96571a83f"
-
webgl-debug@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/webgl-debug/-/webgl-debug-2.0.1.tgz#dc11bea3d947764bce061fdb5a23109c13787c95"
@@ -16221,6 +18960,23 @@ webpack-bundle-analyzer@^3.1.0:
opener "^1.5.1"
ws "^6.0.0"
+webpack-cli@3.2.3:
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.2.3.tgz#13653549adfd8ccd920ad7be1ef868bacc22e346"
+ integrity sha512-Ik3SjV6uJtWIAN5jp5ZuBMWEAaP5E4V78XJ2nI+paFPh8v4HPSwo/myN0r29Xc/6ZKnd2IdrAlpSgNOu2CDQ6Q==
+ dependencies:
+ chalk "^2.4.1"
+ cross-spawn "^6.0.5"
+ enhanced-resolve "^4.1.0"
+ findup-sync "^2.0.0"
+ global-modules "^1.0.0"
+ import-local "^2.0.0"
+ interpret "^1.1.0"
+ loader-utils "^1.1.0"
+ supports-color "^5.5.0"
+ v8-compile-cache "^2.0.2"
+ yargs "^12.0.4"
+
webpack-cli@^3.2.3:
version "3.3.0"
resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.0.tgz#55c8a74cae1e88117f9dda3a801c7272e93ca318"
@@ -16237,7 +18993,7 @@ webpack-cli@^3.2.3:
v8-compile-cache "^2.0.2"
yargs "^12.0.5"
-webpack-dev-middleware@^3.5.1, webpack-dev-middleware@^3.7.0:
+webpack-dev-middleware@^3.5.1:
version "3.7.0"
resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.0.tgz#ef751d25f4e9a5c8a35da600c5fda3582b5c6cff"
dependencies:
@@ -16255,6 +19011,17 @@ webpack-dev-middleware@^3.6.1:
range-parser "^1.0.3"
webpack-log "^2.0.0"
+webpack-dev-middleware@^3.7.0:
+ version "3.7.2"
+ resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3"
+ integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==
+ dependencies:
+ memory-fs "^0.4.1"
+ mime "^2.4.4"
+ mkdirp "^0.5.1"
+ range-parser "^1.2.1"
+ webpack-log "^2.0.0"
+
webpack-dev-server@^3.1.9, webpack-dev-server@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.2.1.tgz#1b45ce3ecfc55b6ebe5e36dab2777c02bc508c4e"
@@ -16320,6 +19087,7 @@ webpack-log@^1.2.0:
webpack-log@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f"
+ integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==
dependencies:
ansi-colors "^3.0.0"
uuid "^3.3.2"
@@ -16340,16 +19108,24 @@ webpack-node-externals@^1.5.4:
version "1.7.2"
resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-1.7.2.tgz#6e1ee79ac67c070402ba700ef033a9b8d52ac4e3"
-webpack-sources@^1.1.0, webpack-sources@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85"
+webpack-sources@^1.1.0, webpack-sources@^1.3.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
+ integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==
dependencies:
source-list-map "^2.0.0"
source-map "~0.6.1"
-webpack@^4.28.0, webpack@^4.32.0, webpack@^4.33.0:
- version "4.33.0"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.33.0.tgz#c30fc4307db432e5c5e3333aaa7c16a15a3b277e"
+webpack-virtual-modules@^0.2.0:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.2.2.tgz#20863dc3cb6bb2104729fff951fbe14b18bd0299"
+ integrity sha512-kDUmfm3BZrei0y+1NTHJInejzxfhtU8eDj2M7OKb2IWrPFAeO1SOH2KuQ68MSZu9IGEHcxbkKKR1v18FrUSOmA==
+ dependencies:
+ debug "^3.0.0"
+
+webpack@^4.29.6:
+ version "4.29.6"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.29.6.tgz#66bf0ec8beee4d469f8b598d3988ff9d8d90e955"
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-module-context" "1.8.5"
@@ -16376,9 +19152,9 @@ webpack@^4.28.0, webpack@^4.32.0, webpack@^4.33.0:
watchpack "^1.5.0"
webpack-sources "^1.3.0"
-webpack@^4.29.6:
- version "4.29.6"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.29.6.tgz#66bf0ec8beee4d469f8b598d3988ff9d8d90e955"
+webpack@^4.33.0:
+ version "4.33.0"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.33.0.tgz#c30fc4307db432e5c5e3333aaa7c16a15a3b277e"
dependencies:
"@webassemblyjs/ast" "1.8.5"
"@webassemblyjs/helper-module-context" "1.8.5"
@@ -16405,16 +19181,48 @@ webpack@^4.29.6:
watchpack "^1.5.0"
webpack-sources "^1.3.0"
+webpack@^4.38.0:
+ version "4.43.0"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6"
+ integrity sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-module-context" "1.9.0"
+ "@webassemblyjs/wasm-edit" "1.9.0"
+ "@webassemblyjs/wasm-parser" "1.9.0"
+ acorn "^6.4.1"
+ ajv "^6.10.2"
+ ajv-keywords "^3.4.1"
+ chrome-trace-event "^1.0.2"
+ enhanced-resolve "^4.1.0"
+ eslint-scope "^4.0.3"
+ json-parse-better-errors "^1.0.2"
+ loader-runner "^2.4.0"
+ loader-utils "^1.2.3"
+ memory-fs "^0.4.1"
+ micromatch "^3.1.10"
+ mkdirp "^0.5.3"
+ neo-async "^2.6.1"
+ node-libs-browser "^2.2.1"
+ schema-utils "^1.0.0"
+ tapable "^1.1.3"
+ terser-webpack-plugin "^1.4.3"
+ watchpack "^1.6.1"
+ webpack-sources "^1.4.1"
+
websocket-driver@>=0.5.1:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb"
+ version "0.7.3"
+ resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9"
+ integrity sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==
dependencies:
- http-parser-js ">=0.4.0"
+ http-parser-js ">=0.4.0 <0.4.11"
+ safe-buffer ">=5.1.0"
websocket-extensions ">=0.1.1"
websocket-extensions@>=0.1.1:
version "0.1.3"
resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29"
+ integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==
wgs84@0.0.0:
version "0.0.0"
@@ -16429,6 +19237,7 @@ whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5:
whatwg-fetch@3.0.0, whatwg-fetch@>=0.10.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb"
+ integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==
whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0:
version "2.3.0"
@@ -16470,11 +19279,12 @@ wide-align@1.1.3, wide-align@^1.1.0:
dependencies:
string-width "^1.0.2 || 2"
-widest-line@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc"
+widest-line@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca"
+ integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==
dependencies:
- string-width "^2.1.1"
+ string-width "^4.0.0"
windows-release@^3.1.0:
version "3.2.0"
@@ -16499,6 +19309,7 @@ worker-farm@^1.5.2, worker-farm@^1.7.0:
worker-rpc@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/worker-rpc/-/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5"
+ integrity sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==
dependencies:
microevent.ts "~0.1.1"
@@ -16519,6 +19330,7 @@ wrap-ansi@^3.0.1:
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
write-file-atomic@2.4.1:
version "2.4.1"
@@ -16572,10 +19384,6 @@ ws@^6.0.0, ws@^6.1.2:
dependencies:
async-limiter "~1.0.0"
-x-is-string@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82"
-
xml-name-validator@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
@@ -16594,8 +19402,9 @@ xregexp@4.0.0:
integrity sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==
xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
+ integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
y18n@^3.2.1:
version "3.2.1"
@@ -16608,10 +19417,22 @@ y18n@^3.2.1:
yallist@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
+ integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
-yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9"
+yallist@^3.0.0, yallist@^3.0.2:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
+ integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
+
+yallist@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+ integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+
+yaml@^1.7.2:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
+ integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
yargs-parser@11.1.1, yargs-parser@^11.1.1:
version "11.1.1"
@@ -16680,7 +19501,7 @@ yargs@12.0.2:
y18n "^3.2.1 || ^4.0.0"
yargs-parser "^10.1.0"
-yargs@12.0.5, yargs@^12.0.1, yargs@^12.0.2, yargs@^12.0.5:
+yargs@12.0.5, yargs@^12.0.1, yargs@^12.0.2, yargs@^12.0.4, yargs@^12.0.5:
version "12.0.5"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13"
dependencies:
@@ -16749,6 +19570,11 @@ yargs@^7.0.0:
y18n "^3.2.1"
yargs-parser "^5.0.0"
+yarn@^1.13.0:
+ version "1.22.0"
+ resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.22.0.tgz#acf82906e36bcccd1ccab1cfb73b87509667c881"
+ integrity sha512-KMHP/Jq53jZKTY9iTUt3dIVl/be6UPs2INo96+BnZHLKxYNTfwMmlgHTaMWyGZoO74RI4AIFvnWhYrXq2USJkg==
+
yup@^0.26.10:
version "0.26.10"
resolved "https://registry.yarnpkg.com/yup/-/yup-0.26.10.tgz#3545839663289038faf25facfc07e11fd67c0cb1"
@@ -16759,3 +19585,15 @@ yup@^0.26.10:
property-expr "^1.5.0"
synchronous-promise "^2.0.5"
toposort "^2.0.2"
+
+yup@^0.27.0:
+ version "0.27.0"
+ resolved "https://registry.yarnpkg.com/yup/-/yup-0.27.0.tgz#f8cb198c8e7dd2124beddc2457571329096b06e7"
+ integrity sha512-v1yFnE4+u9za42gG/b/081E7uNW9mUj3qtkmelLbW5YPROZzSH/KUUyJu9Wt8vxFJcT9otL/eZopS0YK1L5yPQ==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+ fn-name "~2.0.1"
+ lodash "^4.17.11"
+ property-expr "^1.5.0"
+ synchronous-promise "^2.0.6"
+ toposort "^2.0.2"