+
{id}
- span = 8
-
- span = 4, rowSpan = 2
-
-
- span = 2, rowSpan = 3
-
- span = 2
- span = 4
- span = 2
- span = 2
- span = 2
- span = 4
- span = 2
- span = 4
- span = 4
-
- );
- }
-}
-
-export default SimpleGrid;
diff --git a/packages/patternfly-4/react-core/src/layouts/Grid/examples/common/SpanSlider.js b/packages/patternfly-4/react-core/src/layouts/Grid/examples/SpanSlider.js
similarity index 74%
rename from packages/patternfly-4/react-core/src/layouts/Grid/examples/common/SpanSlider.js
rename to packages/patternfly-4/react-core/src/layouts/Grid/examples/SpanSlider.js
index f29b96fc496..ec016e5ba54 100644
--- a/packages/patternfly-4/react-core/src/layouts/Grid/examples/common/SpanSlider.js
+++ b/packages/patternfly-4/react-core/src/layouts/Grid/examples/SpanSlider.js
@@ -1,7 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
-import { css } from '@patternfly/react-styles';
-import styles from './SpanSlider.styles';
import { Grid, GridItem } from '@patternfly/react-core';
const propTypes = {
@@ -17,14 +15,13 @@ const defaultProps = {
};
const SpanSlider = ({ label, id, onChange, min, value }) => (
-
-
+
+
{label}
(
onChange={onChange}
/>
-
+
{value}
diff --git a/packages/patternfly-4/react-core/src/layouts/Grid/examples/common/ItemControl.styles.js b/packages/patternfly-4/react-core/src/layouts/Grid/examples/common/ItemControl.styles.js
deleted file mode 100644
index 90111917ac9..00000000000
--- a/packages/patternfly-4/react-core/src/layouts/Grid/examples/common/ItemControl.styles.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import { StyleSheet } from '@patternfly/react-styles';
-import {
- global_BorderColor as borderColor,
- global_BorderWidth_sm as borderWidth,
- global_spacer_xs as spacer,
- global_FontSize_xs as fontSize
-} from '@patternfly/react-tokens';
-
-export default StyleSheet.create({
- itemControl: {
- fontSize: fontSize.var,
- padding: spacer.var,
- border: `${borderWidth.var} solid ${borderColor.var}`,
- marginBottom: spacer.var
- },
- label: {
- fontSize: fontSize.var
- },
- value: {
- fontSize: fontSize.var,
- textAlign: 'center'
- },
- rangeInput: {
- width: '100%'
- }
-});
diff --git a/packages/patternfly-4/react-core/src/layouts/Grid/examples/common/SpanSlider.styles.js b/packages/patternfly-4/react-core/src/layouts/Grid/examples/common/SpanSlider.styles.js
deleted file mode 100644
index a60252e7fee..00000000000
--- a/packages/patternfly-4/react-core/src/layouts/Grid/examples/common/SpanSlider.styles.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import { StyleSheet } from '@patternfly/react-styles';
-import {
- global_FontSize_xs as fontSize,
- global_LineHeight_sm as lineHeight,
- global_spacer_xs as marginBottom
-} from '@patternfly/react-tokens';
-
-export default StyleSheet.create({
- spanSlider: {
- marginBottom: marginBottom.var
- },
- label: {
- fontSize: fontSize.var,
- lineHeight: lineHeight.var
- },
- value: {
- fontSize: fontSize.var,
- textAlign: 'center'
- },
- rangeInput: {
- width: '100%'
- }
-});
diff --git a/packages/patternfly-4/react-core/src/layouts/Grid/examples/common/getContainerProps.js b/packages/patternfly-4/react-core/src/layouts/Grid/examples/common/getContainerProps.js
deleted file mode 100644
index ec8176100b8..00000000000
--- a/packages/patternfly-4/react-core/src/layouts/Grid/examples/common/getContainerProps.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import { StyleSheet, css } from '@patternfly/react-styles';
-import { global_BorderColor as borderColor, global_BorderWidth_md as borderWidth } from '@patternfly/react-tokens';
-
-const gridClass = '.pf-l-grid';
-const gridItemClass = '.pf-l-grid__item';
-
-const styles = StyleSheet.create({
- demoLayout: {
- [`& ${gridClass} > ${gridItemClass}`]: {
- minHeight: 75,
- padding: '1rem',
- borderWidth: borderWidth.var,
- borderStyle: 'dashed',
- borderColor: borderColor.var
- }
- }
-});
-
-export default () => ({ className: css(styles.demoLayout) });
diff --git a/packages/patternfly-4/react-core/src/layouts/Level/Level.docs.js b/packages/patternfly-4/react-core/src/layouts/Level/Level.docs.js
deleted file mode 100644
index 7afdf7d6702..00000000000
--- a/packages/patternfly-4/react-core/src/layouts/Level/Level.docs.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import { Level, LevelItem } from '@patternfly/react-core';
-import Simple from './examples/SimpleLevel';
-import WithGutters from './examples/LevelWithGutters';
-import getContainerProps from './examples/common/getContainerProps';
-
-export default {
- title: 'Level',
- description: '',
- components: {
- Level,
- LevelItem
- },
- variablesRoot: 'pf-l-level',
- examples: [
- { component: Simple, title: 'Simple Level Layout', getContainerProps },
- { component: WithGutters, title: 'Level With Gutters', getContainerProps }
- ]
-};
diff --git a/packages/patternfly-4/react-core/src/layouts/Level/Level.md b/packages/patternfly-4/react-core/src/layouts/Level/Level.md
new file mode 100644
index 00000000000..d27d7e88cc1
--- /dev/null
+++ b/packages/patternfly-4/react-core/src/layouts/Level/Level.md
@@ -0,0 +1,27 @@
+---
+title: "Level"
+cssPrefix: "pf-l-level"
+---
+## Simple Level Layout
+```js
+import React from 'react';
+import { Level, LevelItem } from '@patternfly/react-core';
+
+
+ Level Item
+ Level Item
+ Level Item
+
+```
+
+## Level With Gutters
+```js
+import React from 'react';
+import { Level, LevelItem } from '@patternfly/react-core';
+
+
+ Level Item
+ Level Item
+ Level Item
+
+```
\ No newline at end of file
diff --git a/packages/patternfly-4/react-core/src/layouts/Level/examples/LevelWithGutters.js b/packages/patternfly-4/react-core/src/layouts/Level/examples/LevelWithGutters.js
deleted file mode 100644
index 67de4c6737d..00000000000
--- a/packages/patternfly-4/react-core/src/layouts/Level/examples/LevelWithGutters.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import React from 'react';
-import { Level, LevelItem } from '@patternfly/react-core';
-
-class LevelWithGutters extends React.Component {
- render() {
- return (
-
- Level Item
- Level Item
- Level Item
-
- );
- }
-}
-
-export default LevelWithGutters;
diff --git a/packages/patternfly-4/react-core/src/layouts/Level/examples/SimpleLevel.js b/packages/patternfly-4/react-core/src/layouts/Level/examples/SimpleLevel.js
deleted file mode 100644
index a2bdfe29489..00000000000
--- a/packages/patternfly-4/react-core/src/layouts/Level/examples/SimpleLevel.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import React from 'react';
-import { Level, LevelItem } from '@patternfly/react-core';
-
-class SimpleLevel extends React.Component {
- render() {
- return (
-
- Level Item
- Level Item
- Level Item
-
- );
- }
-}
-
-export default SimpleLevel;
diff --git a/packages/patternfly-4/react-core/src/layouts/Level/examples/common/getContainerProps.js b/packages/patternfly-4/react-core/src/layouts/Level/examples/common/getContainerProps.js
deleted file mode 100644
index c69e64b4f80..00000000000
--- a/packages/patternfly-4/react-core/src/layouts/Level/examples/common/getContainerProps.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import { StyleSheet, css } from '@patternfly/react-styles';
-import { global_BorderColor as borderColor, global_BorderWidth_md as borderWidth } from '@patternfly/react-tokens';
-
-const styles = StyleSheet.create({
- demoLayout: {
- '& .pf-l-level > div': {
- borderWidth: borderWidth.var,
- borderStyle: 'dashed',
- borderColor: borderColor.var
- }
- }
-});
-
-export default () => ({ className: css(styles.demoLayout) });
diff --git a/packages/patternfly-4/react-core/src/layouts/Split/Split.docs.js b/packages/patternfly-4/react-core/src/layouts/Split/Split.docs.js
deleted file mode 100644
index c38f9723ab1..00000000000
--- a/packages/patternfly-4/react-core/src/layouts/Split/Split.docs.js
+++ /dev/null
@@ -1,20 +0,0 @@
-import { Split, SplitItem, GutterSize } from '@patternfly/react-core';
-import Simple from './examples/SimpleSplit';
-import WithGutter from './examples/SplitWithGutter';
-import getContainerProps from './examples/common/getContainerProps';
-
-export default {
- title: 'Split',
- components: {
- Split,
- SplitItem
- },
- enumValues: {
- 'Object.keys(GutterSize)': Object.keys(GutterSize)
- },
- variablesRoot: 'pf-l-split',
- examples: [
- { component: Simple, title: 'Simple Split Layout', getContainerProps },
- { component: WithGutter, title: 'Split Layout With Gutter', getContainerProps }
- ]
-};
diff --git a/packages/patternfly-4/react-core/src/layouts/Split/Split.md b/packages/patternfly-4/react-core/src/layouts/Split/Split.md
new file mode 100644
index 00000000000..63d94d73c79
--- /dev/null
+++ b/packages/patternfly-4/react-core/src/layouts/Split/Split.md
@@ -0,0 +1,27 @@
+---
+title: "Split"
+cssPrefix: "pf-l-split"
+---
+## Simple Split
+```js
+import React from 'react';
+import { Split, SplitItem } from '@patternfly/react-core';
+
+
+ Secondary content
+ Primary Content
+ Secondary content
+
+```
+
+## Split Layout with Gutter
+```js
+import React from 'react';
+import { Split, SplitItem } from '@patternfly/react-core';
+
+
+ Secondary content
+ Primary Content
+ Secondary content
+
+```
\ No newline at end of file
diff --git a/packages/patternfly-4/react-core/src/layouts/Split/examples/SimpleSplit.js b/packages/patternfly-4/react-core/src/layouts/Split/examples/SimpleSplit.js
deleted file mode 100644
index c81973fd9c7..00000000000
--- a/packages/patternfly-4/react-core/src/layouts/Split/examples/SimpleSplit.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import React from 'react';
-import { Split, SplitItem } from '@patternfly/react-core';
-
-class SimpleSplit extends React.Component {
- render() {
- return (
-
- Secondary content
- Primary Content
- Secondary content
-
- );
- }
-}
-
-export default SimpleSplit;
diff --git a/packages/patternfly-4/react-core/src/layouts/Split/examples/SplitWithGutter.js b/packages/patternfly-4/react-core/src/layouts/Split/examples/SplitWithGutter.js
deleted file mode 100644
index 7b4518137c1..00000000000
--- a/packages/patternfly-4/react-core/src/layouts/Split/examples/SplitWithGutter.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import React from 'react';
-import { Split, SplitItem } from '@patternfly/react-core';
-
-class SplitWithGutter extends React.Component {
- render() {
- return (
-
- Secondary content
- Primary Content
- Secondary content
-
- );
- }
-}
-
-export default SplitWithGutter;
diff --git a/packages/patternfly-4/react-core/src/layouts/Split/examples/common/getContainerProps.js b/packages/patternfly-4/react-core/src/layouts/Split/examples/common/getContainerProps.js
deleted file mode 100644
index efc88d40998..00000000000
--- a/packages/patternfly-4/react-core/src/layouts/Split/examples/common/getContainerProps.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import { StyleSheet, css } from '@patternfly/react-styles';
-import { global_BorderColor as borderColor, global_BorderWidth_md as borderWidth } from '@patternfly/react-tokens';
-
-const styles = StyleSheet.create({
- demoLayout: {
- '& .pf-l-split > .pf-l-split__item': {
- borderWidth: borderWidth.var,
- borderStyle: 'dashed',
- borderColor: borderColor.var
- }
- }
-});
-
-export default () => ({ className: css(styles.demoLayout) });
diff --git a/packages/patternfly-4/react-core/src/layouts/Stack/Stack.docs.js b/packages/patternfly-4/react-core/src/layouts/Stack/Stack.docs.js
deleted file mode 100644
index 260c5294c14..00000000000
--- a/packages/patternfly-4/react-core/src/layouts/Stack/Stack.docs.js
+++ /dev/null
@@ -1,20 +0,0 @@
-import { Stack, StackItem, GutterSize } from '@patternfly/react-core';
-import Simple from './examples/SimpleStack';
-import StackWithGutter from './examples/StackWithGutter';
-import getContainerProps from './examples/common/getContainerProps';
-
-export default {
- title: 'Stack',
- components: {
- Stack,
- StackItem
- },
- enumValues: {
- 'Object.keys(GutterSize)': Object.keys(GutterSize)
- },
- variablesRoot: 'pf-l-stack',
- examples: [
- { component: Simple, title: 'Simple Stack Layout', getContainerProps },
- { component: StackWithGutter, title: 'Stack Layout With Gutter', getContainerProps }
- ]
-};
diff --git a/packages/patternfly-4/react-core/src/layouts/Stack/Stack.md b/packages/patternfly-4/react-core/src/layouts/Stack/Stack.md
new file mode 100644
index 00000000000..7552e71d0ba
--- /dev/null
+++ b/packages/patternfly-4/react-core/src/layouts/Stack/Stack.md
@@ -0,0 +1,27 @@
+---
+title: "Stack"
+cssPrefix: "pf-l-stack"
+---
+## Simple Stack Layout
+```js
+import React from 'react';
+import { Stack, StackItem } from '@patternfly/react-core';
+
+
+ Secondary content
+ Primary Content
+ Secondary content
+
+```
+
+## Simple Stack Layout with Gutter
+```js
+import React from 'react';
+import { Stack, StackItem } from '@patternfly/react-core';
+
+
+ Secondary content
+ Primary Content
+ Secondary content
+
+```
\ No newline at end of file
diff --git a/packages/patternfly-4/react-core/src/layouts/Stack/examples/SimpleStack.js b/packages/patternfly-4/react-core/src/layouts/Stack/examples/SimpleStack.js
deleted file mode 100644
index 9f2b6c20c6d..00000000000
--- a/packages/patternfly-4/react-core/src/layouts/Stack/examples/SimpleStack.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import React from 'react';
-import { Stack, StackItem } from '@patternfly/react-core';
-
-class SimpleStack extends React.Component {
- render() {
- return (
-
- Secondary content
- Primary Content
- Secondary content
-
- );
- }
-}
-
-export default SimpleStack;
diff --git a/packages/patternfly-4/react-core/src/layouts/Stack/examples/StackWithGutter.js b/packages/patternfly-4/react-core/src/layouts/Stack/examples/StackWithGutter.js
deleted file mode 100644
index 3258196bbfb..00000000000
--- a/packages/patternfly-4/react-core/src/layouts/Stack/examples/StackWithGutter.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import React from 'react';
-import { Stack, StackItem } from '@patternfly/react-core';
-
-class StackWithGutter extends React.Component {
- render() {
- return (
-
- Secondary content
- Primary Content
- Secondary content
-
- );
- }
-}
-
-export default StackWithGutter;
diff --git a/packages/patternfly-4/react-core/src/layouts/Stack/examples/common/getContainerProps.js b/packages/patternfly-4/react-core/src/layouts/Stack/examples/common/getContainerProps.js
deleted file mode 100644
index bbe831bc4f3..00000000000
--- a/packages/patternfly-4/react-core/src/layouts/Stack/examples/common/getContainerProps.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import { StyleSheet, css } from '@patternfly/react-styles';
-import { global_BorderColor as borderColor, global_BorderWidth_md as borderWidth } from '@patternfly/react-tokens';
-
-const styles = StyleSheet.create({
- demoLayout: {
- '& .pf-l-stack > .pf-l-stack__item': {
- minHeight: 35,
- borderWidth: borderWidth.var,
- borderStyle: 'dashed',
- borderColor: borderColor.var
- },
- '&': {
- height: 250
- }
- }
-});
-
-export default () => ({ className: css(styles.demoLayout) });
diff --git a/packages/patternfly-4/react-core/src/layouts/Toolbar/Toolbar.docs.js b/packages/patternfly-4/react-core/src/layouts/Toolbar/Toolbar.docs.js
deleted file mode 100644
index c4628639bb0..00000000000
--- a/packages/patternfly-4/react-core/src/layouts/Toolbar/Toolbar.docs.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import { Toolbar, ToolbarGroup, ToolbarItem, ToolbarSection } from '@patternfly/react-core';
-import SimpleToolbar from './examples/SimpleToolbar';
-import SimpleToolbarSection from './examples/SimpleToolbarSection';
-import getContainerProps from './examples/common/getContainerProps';
-
-export default {
- title: 'Toolbar',
- components: {
- Toolbar,
- ToolbarGroup,
- ToolbarItem,
- ToolbarSection
- },
- examples: [
- { component: SimpleToolbar, title: 'Simple Toolbar Layout', getContainerProps },
- { component: SimpleToolbarSection, title: 'Toolbar with sections', getContainerProps }
- ]
-};
diff --git a/packages/patternfly-4/react-core/src/layouts/Toolbar/Toolbar.md b/packages/patternfly-4/react-core/src/layouts/Toolbar/Toolbar.md
new file mode 100644
index 00000000000..3a3d8dfa6b9
--- /dev/null
+++ b/packages/patternfly-4/react-core/src/layouts/Toolbar/Toolbar.md
@@ -0,0 +1,50 @@
+---
+title: "Toolbar"
+cssPrefix: "pf-c-avatar"
+---
+## Simple Toolbar Layout
+```js
+import React from 'react';
+import { Toolbar, ToolbarGroup, ToolbarItem } from '@patternfly/react-core';
+
+
+
+ Item 1
+
+
+ Item 2
+ Item 3
+
+
+ Item 4
+
+
+```
+
+## Toolbar with sections
+```js
+import React from 'react';
+import { Toolbar, ToolbarGroup, ToolbarSection, ToolbarItem } from '@patternfly/react-core';
+
+
+
+
+ Item 1
+
+
+ Item 2
+ Item 3
+
+
+
+
+ Item 4
+ Item 5
+ Item 6
+
+
+ Item 7
+
+
+
+```
\ No newline at end of file
diff --git a/packages/patternfly-4/react-core/src/layouts/Toolbar/examples/common/getContainerProps.js b/packages/patternfly-4/react-core/src/layouts/Toolbar/examples/common/getContainerProps.js
deleted file mode 100644
index 5c3c17c70f8..00000000000
--- a/packages/patternfly-4/react-core/src/layouts/Toolbar/examples/common/getContainerProps.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import { StyleSheet, css } from '@patternfly/react-styles';
-import { global_BorderColor as borderColor, global_BorderWidth_md as borderWidth } from '@patternfly/react-tokens';
-
-const toolbarClass = '.pf-l-toolbar';
-const toolbarGroupClass = '.pf-l-toolbar__group';
-const toolbarItemClass = '.pf-l-toolbar__item';
-
-const GROUP_SELECTOR = `:not(foo) ${toolbarClass} ${toolbarGroupClass}`;
-const ITEM_SELECTOR = `:not(foo) ${toolbarClass} ${toolbarItemClass}`;
-
-const dashedWithPadding = {
- padding: '0.5rem',
- borderWidth: borderWidth.var,
- borderStyle: 'dashed',
- borderColor: borderColor.var
-};
-
-const styles = StyleSheet.create({
- demoLayout: {
- [GROUP_SELECTOR]: dashedWithPadding,
- [ITEM_SELECTOR]: dashedWithPadding
- }
-});
-
-export default () => ({ className: css(styles.demoLayout) });
diff --git a/packages/patternfly-4/react-docs/.env.development b/packages/patternfly-4/react-docs/.env.development
deleted file mode 100644
index 4536de626eb..00000000000
--- a/packages/patternfly-4/react-docs/.env.development
+++ /dev/null
@@ -1 +0,0 @@
-GATSBY_LIVE_EXAMPLES=true
diff --git a/packages/patternfly-4/react-docs/.env.production b/packages/patternfly-4/react-docs/.env.production
deleted file mode 100644
index 4536de626eb..00000000000
--- a/packages/patternfly-4/react-docs/.env.production
+++ /dev/null
@@ -1 +0,0 @@
-GATSBY_LIVE_EXAMPLES=true
diff --git a/packages/patternfly-4/react-docs/.eslintrc b/packages/patternfly-4/react-docs/.eslintrc
deleted file mode 100644
index a6880261126..00000000000
--- a/packages/patternfly-4/react-docs/.eslintrc
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "extends": "../.eslintrc.js",
- "globals": {
- "graphql": true
- }
-}
diff --git a/packages/patternfly-4/react-docs/.eslintrc.js b/packages/patternfly-4/react-docs/.eslintrc.js
new file mode 100644
index 00000000000..03f14fb5329
--- /dev/null
+++ b/packages/patternfly-4/react-docs/.eslintrc.js
@@ -0,0 +1,9 @@
+// We need this file to disable gatsby's default webpack eslintrc
+// which will complain when we `import { css } from '@patternfly/react-styles';`
+module.exports = {
+ extends: ["standard"],
+ plugins: ["standard", "react"],
+ rules: {
+ "import/first": "off"
+ },
+}
\ No newline at end of file
diff --git a/packages/patternfly-4/react-docs/.gitignore b/packages/patternfly-4/react-docs/.gitignore
index 9bb68a23889..fa60b81acea 100644
--- a/packages/patternfly-4/react-docs/.gitignore
+++ b/packages/patternfly-4/react-docs/.gitignore
@@ -1,5 +1,27 @@
-.cache
-.tmp
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+.yarn-integrity
+
+# Dependency directories
+node_modules/
+jspm_packages/
+
+# dotenv environment variables file
+.env
+
+# gatsby files
+.cache/
public
-static
-build/ts-output.json
\ No newline at end of file
+# copied files
+static/assets
+static/base.css
+
+# Mac files
+.DS_Store
+
+# Old build files
+**/ts-output.json
\ No newline at end of file
diff --git a/packages/patternfly-4/react-docs/.npmignore b/packages/patternfly-4/react-docs/.npmignore
index 779fcff3bf4..44e6d6c3141 100644
--- a/packages/patternfly-4/react-docs/.npmignore
+++ b/packages/patternfly-4/react-docs/.npmignore
@@ -1,8 +1,6 @@
.cache
-.tmp
.babelrc
-.eslintrc
public
src
-static
+static
\ No newline at end of file
diff --git a/packages/patternfly-4/react-docs/README.md b/packages/patternfly-4/react-docs/README.md
index 58699b847e2..fb9faa583e0 100644
--- a/packages/patternfly-4/react-docs/README.md
+++ b/packages/patternfly-4/react-docs/README.md
@@ -1,86 +1,45 @@
-# PatternFly React Docs
-This site uses gatsby.
+# React-docs
-For an overview of the project structure please refer to the [Gatsby documentation - Building with Components](https://www.gatsbyjs.org/docs/building-with-components/).
+## Writing Your Docs
-
-
-### Note: All commands below assume you are on the root directory in this repository.
-## Install
-Run to install all the dependencies
-```sh
-yarn install
+Gatsby recursively scans all `../../patternfly-4` directories for *.md files. Your Markdown file can have the following frontmatter:
```
-
-## Running
-To start the site locally.
-```sh
-yarn build && yarn start:pf4
+---
+title: "(required) title of the page"
+cssPrefix: "(optional) the cssPrefix from @patternfly/patternfly (i.e. pf-c-nav)"
+section: "(optional, default=components) the section the page should be generated under"
+seperatePages: "(optional, default=false) if the links inside the page should redirect to fullscreen pages
+---
```
-## Building
-To build the site.
-```sh
-yarn build:docs
+Your Markdown file will have its JS code blocks converted to live-editable components via [`react-live`](https://github.com/FormidableLabs/react-live):
+`````
+## Title describing example
+```js
+Hello, world!
```
+`````
-## Live examples
-### Disabling globally
-You can turn off the functionality to live edit the examples globally by settings GATSBY_LIVE_EXAMPLES to false, either by editing [.env.development](./.env.development) and [.env.production](./.env.production) or by setting it in the CLI prior to starting the docs:
-```sh
-GATSBY_LIVE_EXAMPLES=false yarn start:pf4
-```
-### Other example settings
-There are some special static fields you can specify in the example to change behavior:
-```sh
-// Sets the title for the example
-static title = 'Example title';
+The easiest way to develop your example is by creating an empty code block and then editing it in your browser. Once your happy, copy the code back to your Markdown file.
-// Sets the description for the example
-static description = 'Example description';
+Remember that you are unable to use experimental language features like [class properties](https://babeljs.io/docs/en/babel-plugin-proposal-class-properties) as [Buble](https://github.com/bublejs/buble) does not support them.
-// True by default, set to false to disable live editing for this example
-static live = false;
+## About Gatsby
-// Pass imports into the liveScope object so it is available to the live editor.
-// By default, the live editor only knows about React.*, react-core components, react-icons, and the react-styles css function
-// If you have additional imports in your examples, they can be passed to the live editor scope like this:
-static liveScope = { spacingStyles };
+Gatsby is a static site generator that doubles as a hot-module reloader for building our docs. This is an overengineered grandious way to use our own components in our docs, which is a terrible idea.
-// Additional styles relevant to the example display can be added via a static field getContainerProps.
-// getContainerProps is an import to a .js file that has content such as:
-/*
-import { css, StyleSheet } from '@patternfly/react-styles';
-const styles = StyleSheet.create({
- demoLayout: {
- '& > .pf-c-alert': {
- marginBottom: '0.5rem'
- }
- }
-});
-export default () => ({ className: css(styles.demoLayout) });
-*/
-static getContainerProps = getContainerProps;
+We have to more or less build our own version of [React Styleguidist](https://github.com/styleguidist/react-styleguidist). We can't just use [React Styleguidist](https://github.com/styleguidist/react-styleguidist) because [patternfly-next](https://github.com/patternfly/patternfly-next) also uses Gatsby for their docs and the two are currently being merged and styled at [v2.patternfly.org](v2.patternfly.org).
-```
-In the examples *.docs.js file, you can specify these properties:
-```sh
-// Main title for the examples
-title: 'Alert',
+Their used to be another Gatsby project here that took 10 minutes to build and was aging not-so-well. To enable hot-module reloading and other async efficiences, we had to gut it and build our own data pipeline and transformations through Gatsby's GraphQL.
-// Components to display in the props table
-components: {
- Alert
-},
+1. **`gatsby-config.js`**: This is the main configuration file for a Gatsby site. This is where we which Gatsby plugins to include. (Check out the [config docs](https://www.gatsbyjs.org/docs/gatsby-config/) for more detail).
+ - We include our own plugin `gatsby-transformer-react-docgen-typescript` for transforming component source files into metadata via [React Docgen](https://github.com/reactjs/react-docgen) and [React Docgen Typescript](https://github.com/styleguidist/react-docgen-typescript).
+ - We include our own plugin `gatsby-transformer-react-examples` to create a `.cache/example_index.js` to import all example components for usage in the live docs.
+ - We use `gatsby-transformer-remark` to parse the *.md files into html Abstract Syntax Trees. We use the generated HTML _except for in tags_, where we instead use our own `components/componentDocs/liveEdit.js` component.
-// Enums that need to be evaluated for the props table
-enumValues: {
- 'Object.values(AlertVariant)': Object.values(AlertVariant)
-},
+2. **`gatsby-node.js`**: This file is the secondary copnfiguration file for a Gatsby site. It expects usage of the [Gatsby Node APIs](https://www.gatsbyjs.org/docs/node-apis/). We use it just to enumerate which pages to create based off of data loaded from the `gatsby-transformer-remark` plugin.
-// The examples
-examples: [SuccessExample, DangerExample, InfoExample, WarningExample],
-// True to show links instead of inline examples, also turns live editing off
+3. **`gatsby-browser.js`**: This file is where Gatsby expects to find any usage of the [Gatsby browser APIs](https://www.gatsbyjs.org/docs/browser-apis/) (if any).
-fullPageOnly: false
-```
+
+You will most likely **NOT** learn Gatsby just by reading our code. Instead, **for most developers, we recommend starting with our [in-depth tutorial for creating a site with Gatsby](https://www.gatsbyjs.org/tutorial/).** It starts with zero assumptions about your level of ability and walks through every step of the process quite quickly.
\ No newline at end of file
diff --git a/packages/patternfly-4/react-docs/build/copyDocs.js b/packages/patternfly-4/react-docs/build/copyDocs.js
deleted file mode 100644
index 0312f0888e1..00000000000
--- a/packages/patternfly-4/react-docs/build/copyDocs.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/* eslint-disable global-require,import/no-dynamic-require */
-const glob = require('glob');
-const path = require('path');
-const fs = require('fs-extra');
-
-const dest = path.resolve(__dirname, '../dist');
-
-const packageDirs = ['react-core', 'react-charts', 'react-table', 'react-inline-edit-extension', 'react-styled-system'];
-const moduleTypes = ['js', 'esm'];
-
-moduleTypes.forEach(moduleType => {
- packageDirs.forEach(packageDir => copyPackageDocs(packageDir, moduleType));
-});
-
-copyStyles();
-copyAssets();
-
-function copyStyles() {
- const packageDir = 'react-core';
- const moduleType = 'styles';
- const packageBase = path.resolve(__dirname, '../../', packageDir);
- const packageDist = path.join(packageBase, 'dist', moduleType);
- const { name } = require(path.join(packageBase, 'package.json'));
-
- const formattedName = name.replace('@patternfly/', '');
- const from = path.join(packageDist);
- const to = path.join(dest, moduleType, formattedName);
- fs.copySync(from, to);
-}
-
-function copyAssets() {
- const from = path.resolve(__dirname, '../dist/styles/react-core/assets');
- const to = path.resolve(__dirname, '../static/assets');
- fs.copySync(from, to);
-}
-
-function copyPackageDocs(packageDir, moduleType) {
- const packageBase = path.resolve(__dirname, '../../', packageDir);
- const packageDist = path.join(packageBase, 'dist', moduleType);
- const { name } = require(path.join(packageBase, 'package.json'));
-
- const formattedName = name.replace('@patternfly/', '');
-
- const docFiles = glob.sync('**/*.docs.js', { cwd: packageDist });
- const exampleFiles = glob.sync('**/examples/**', { cwd: packageDist });
- const copyDocFile = createCopyFunction(formattedName, packageDist, moduleType);
-
- docFiles.forEach(copyDocFile);
- exampleFiles.forEach(copyDocFile);
-}
-
-function createCopyFunction(packageName, packageDist, moduleType) {
- return filePath => {
- const from = path.join(packageDist, filePath);
- const to = path.join(dest, moduleType, packageName, filePath);
- fs.copySync(from, to);
- };
-}
diff --git a/packages/patternfly-4/react-docs/gatsby-browser.js b/packages/patternfly-4/react-docs/gatsby-browser.js
index f9458f7b6c3..4ec4eaaf36c 100644
--- a/packages/patternfly-4/react-docs/gatsby-browser.js
+++ b/packages/patternfly-4/react-docs/gatsby-browser.js
@@ -1 +1,5 @@
-import '../react-core/dist/styles/base.css';
+// Import global CSS files here. Have no remorse.
+// https://www.gatsbyjs.org/docs/creating-global-styles
+import './static/base.css';
+import '@patternfly/patternfly/components/Table/table.css';
+import '@patternfly/patternfly/components/Table/table-grid.css';
\ No newline at end of file
diff --git a/packages/patternfly-4/react-docs/gatsby-config.js b/packages/patternfly-4/react-docs/gatsby-config.js
index 554057cc2e3..eb3dd234936 100644
--- a/packages/patternfly-4/react-docs/gatsby-config.js
+++ b/packages/patternfly-4/react-docs/gatsby-config.js
@@ -1,53 +1,55 @@
-const { resolve } = require('path');
+// This is the entrypoint of gatsby (aside from boring default gatsby plugins)
+
+// Files we never care to pull data from
+const ignore = [
+ `**/dist/**`,
+ `**/*.d.ts`,
+ `**/*.test.*`,
+ `**/index.*`,
+ `**/helpers/**`,
+ `**/scripts/**`,
+ `**/styles/**`,
+ `**/build/**`,
+ `**/utils/**`,
+ `**/test-helpers/**`,
+ `**/\.*`,
+ `**/\..*/**`,
+ `**/tsconfig.*`,
+ `**/tslint.*`,
+ `**/README.*`,
+ `**/CHANGELOG.*`,
+ `**/react\-docs/**`,
+ `**/react\-styles/**`,
+ `**/react\-integration/**`,
+];
module.exports = {
siteMetadata: {
- title: 'PatternFly React'
+ title: `Patternfly 4 React Docs`,
+ description: `Documentation for https://github.com/patternfly/patternfly-react`,
+ keywords: `Red Hat`,
},
+ pathPrefix: `/patternfly-4`,
plugins: [
- 'gatsby-plugin-typescript',
- 'gatsby-plugin-react-helmet',
- 'gatsby-transformer-json',
- {
- resolve: `gatsby-source-filesystem`,
- options: {
- name: `components`,
- path: resolve(__dirname, '../react-core/src'),
- ignore: [`**/*.d.ts`, `**/*.tsx`, `**/helpers`]
- }
- },
- {
- resolve: `gatsby-source-filesystem`,
- options: {
- name: `components`,
- path: resolve(__dirname, '../react-charts/src'),
- ignore: [`**/*.d.ts`]
- }
- },
- {
- resolve: `gatsby-source-filesystem`,
- options: {
- name: `components`,
- path: resolve(__dirname, '../react-table/src'),
- ignore: [`**/*.d.ts`]
- }
- },
- {
- resolve: `gatsby-source-filesystem`,
- options: {
- name: `components`,
- path: resolve(__dirname, '../react-styled-system/src'),
- ignore: [`**/*.d.ts`]
- }
- },
+ // Plugin to inject stuff into
+ `gatsby-plugin-react-helmet`,
+ // Plugin to load pf4 files to do fun documentation things with
{
resolve: `gatsby-source-filesystem`,
options: {
- name: `components`,
- path: resolve(__dirname, '../react-inline-edit-extension/src')
- }
+ name: `patternfly-4`,
+ path: `${__dirname}/../../patternfly-4`,
+ ignore: ignore
+ },
},
- 'gatsby-transformer-react-docgen'
+ // Our custom plugin for *.js?x *.ts?x files to get prop types
+ `gatsby-transformer-react-docgen-typescript`,
+ // Our custom plugin for examples/**/*.(js|svg) files to add to .cache/example_index.js
+ // ...then webpack deals with those files statically instead of us dynamically :)
+ `gatsby-transformer-react-examples`,
+ // The markdown plugin for *.md files
+ `gatsby-transformer-remark`,
+ // The plugin for package.json files
+ `gatsby-transformer-json`
],
- pathPrefix: 'patternfly-4'
-};
+}
diff --git a/packages/patternfly-4/react-docs/gatsby-node.js b/packages/patternfly-4/react-docs/gatsby-node.js
index 254be200c8b..e1297b502f6 100644
--- a/packages/patternfly-4/react-docs/gatsby-node.js
+++ b/packages/patternfly-4/react-docs/gatsby-node.js
@@ -1,201 +1,97 @@
-const path = require(`path`);
-const fs = require('fs-extra'); //eslint-disable-line
-const packageDirs = ['react-core', 'react-charts', 'react-styled-system', 'react-table', 'react-inline-edit-extension'];
-
-// Escape single quotes and backslashes in a file path
-const escapeFilePath = filePath => filePath.replace(/[\\']/g, '\\$&');
-
-exports.onCreateWebpackConfig = ({ stage, loaders, actions, plugins, getConfig }) => {
- // Enable hot reloading on source code changes
- const pfStylesTest = /patternfly.*(components|layouts|utilities).*\.css$/;
- actions.setWebpackConfig({
- module: {
- rules: [
- {
- test: pfStylesTest,
- use: [{ loader: 'babel-loader' }, { loader: require.resolve('@patternfly/react-styles/loader') }]
- },
- {
- test: /\.css$/,
- use: [loaders.miniCssExtract(), loaders.css({ sourceMap: false, singleton: true })],
- exclude: pfStylesTest
- }
- ]
+const navHelpers = require("./src/helpers/navHelpers");
+const astHelpers = require("./src/helpers/astHelpers");
+const path = require("path");
+
+// Add map PR-related environment variables to gatsby nodes
+exports.sourceNodes = ({ actions, createNodeId, createContentDigest }) => {
+ const num = process.env.CIRCLE_PR_NUMBER;
+ const url = process.env.CIRCLE_PULL_REQUEST;
+ // Docs https://www.gatsbyjs.org/docs/actions/#createNode
+ actions.createNode({
+ name: 'PR_INFO',
+ num: num ? num : '',
+ url: url ? url : '',
+ id: createNodeId(`PR_INFO`),
+ parent: null,
+ children: [],
+ internal: {
+ contentDigest: createContentDigest({ a: 'PR_INFO' }),
+ type: `EnvVars`,
},
- resolve: {
- alias: {
- '@patternfly/react-table': path.resolve(__dirname, '../react-table/src'),
- '@patternfly/react-charts': path.resolve(__dirname, '../react-charts/src'),
- '@patternfly/react-core': path.resolve(__dirname, '../react-core/src'),
- '@patternfly/react-styles': path.resolve(__dirname, '../react-styles/src'),
- '@patternfly/react-styled-system': path.resolve(__dirname, '../react-styled-system/src'),
- '@patternfly/react-inline-edit-extension': path.resolve(__dirname, '../react-inline-edit-extension/src'),
- }
- }
});
- const configAfter = getConfig();
- configAfter.module.rules = configAfter.module.rules.filter(rule => rule.oneOf === undefined);
- const minimizer = [
- plugins.minifyJs({
- terserOptions: {
- // keep function names so that we can find the corresponding example components in src/components/componentDocs/componentDocs.js
- keep_fnames: true
- }
- }),
- plugins.minifyCss()
- ];
- if (!configAfter.optimization) {
- configAfter.optimization = {};
- }
- configAfter.optimization.minimizer = minimizer;
-
- actions.replaceWebpackConfig(configAfter);
-};
-
-exports.onCreateNode = ({ node, actions }) => {
- const { createNodeField } = actions;
- const componentPathRegEx = /(components|layouts|demos)\//;
- if (node.internal.type === 'SitePage' && componentPathRegEx.test(node.path)) {
- const pathLabel = node.component
- .split('/')
- .pop()
- .split('.')
- .shift();
-
- createNodeField({
- node,
- name: 'label',
- value: pathLabel
- });
- }
-};
+}
-exports.createPages = async ({ graphql, actions }) => {
- const { createPage } = actions;
- const {
- data: { docs, examples, exampleImages }
- } = await graphql(`
- fragment DocFile on File {
- relativePath
- relativeDirectory
- absolutePath
- base
- name
- }
+exports.createPages = ({ actions, graphql }) => {
+ const templatePath = path.resolve(`./src/templates/markdownTemplate.js`);
- query AllDocsFiles {
- docs: allFile(filter: { sourceInstanceName: { eq: "components" }, absolutePath: { glob: "**/*.docs.js" } }) {
- edges {
- node {
- ...DocFile
- }
- }
- }
- examples: allFile(
- filter: {
- sourceInstanceName: { eq: "components" }
- relativePath: { glob: "**/examples/!(*.styles).+(js|tsx)" }
- }
- ) {
+ const markdown = graphql(`
+ {
+ allMarkdownRemark {
edges {
node {
- ...DocFile
- }
- }
- }
- exampleImages: allFile(
- filter: { sourceInstanceName: { eq: "components" }, extension: { regex: "/(png|svg|jpg)/" } }
- ) {
- edges {
- node {
- ...DocFile
+ fileAbsolutePath
+ htmlAst
+ frontmatter {
+ title
+ section
+ seperatePages
+ }
}
}
}
}
`);
- const docExports = [];
- const docsComponentPath = path.resolve(__dirname, './src/components/componentDocs');
- docs.edges.forEach(({ node: doc }) => {
- const filePath = path.resolve(__dirname, '.tmp', doc.base);
-
- const rawExamples = [];
- const packageDir = packageDirs.find(pkg => doc.absolutePath.indexOf(`/${pkg}/`) !== -1);
- // In Windows environments, paths use backslashes to separate directories;
- // Ensure that forward slashes are used to make it comparable
- const docIdentifier = doc.relativeDirectory.replace(/\\/g, '/');
-
- examples.edges.forEach(({ node: example }) => {
- // Replace backslashes with forward slashes as for `docIdentifier` above,
- // and remove `/example` postfix
- const exampleIdentifier = example.relativeDirectory
- .split(/[/\\]/)
- .slice(0, 2)
- .join('/');
-
- if (exampleIdentifier === docIdentifier) {
- const examplePath = `../../${packageDir}/src/${example.relativePath}`;
- rawExamples.push(
- `{name: '${example.name}', path: '${examplePath}', file: require('!!raw-loader!${examplePath}')}`
- );
-
- // also create another example for the full version of it
- const pathArr = examplePath.split('/');
- const exampleName = pathArr[pathArr.length - 1];
- const exampleFilePath = path.resolve(__dirname, '.tmp', 'examples', exampleName);
- const fullExample = `
- import React from 'react';
- import Example from '${example.absolutePath}';
- import ExampleLayout from '../../src/components/layouts/fullPage';
+ return markdown.then(markdownRemark => {
+ markdownRemark.data.allMarkdownRemark.edges.forEach(({ node }) => {
+ const componentName = navHelpers.getFileName(node.fileAbsolutePath);
+ const folderName = navHelpers.getParentFolder(node.fileAbsolutePath);
+
+ let link = '/bad-page/';
+ let context = {};
+ // Create fullscreen example component pages for any links in the *.md
+ if (node.frontmatter.seperatePages) {
+ // Create the templated page to link to them differently
+ link = `/${node.frontmatter.section}/${componentName}/`;
+ context = {
+ title: node.frontmatter.title,
+ fileAbsolutePath: node.fileAbsolutePath,
+ pathRegex: '', // No props
+ examplesRegex: '', // No examples to inject (they're on separate pages)
+ }
- export default () => ;
- `;
- fs.outputFileSync(exampleFilePath, fullExample);
- const newPath = `${path.dirname(example.relativePath.toLowerCase())}/${exampleName
- .slice(0, -3)
- .replace(/([a-z])([A-Z])/g, '$1-$2')
- .toLowerCase()}`;
- createPage({
- path: newPath,
- component: exampleFilePath
+ // Create the separate pages
+ astHelpers.getLinks(node.htmlAst).forEach(mdLink => {
+ const split = mdLink
+ .replace('.', '')
+ .split('/')
+ .filter(s => s);
+ const demoComponent = split[split.length - 1];
+ const basePath = path.dirname(node.fileAbsolutePath);
+
+ actions.createPage({
+ path: `${link}${split.join('/')}/`,
+ // Assume [Link](/PageLayoutSimpleNav/) in *.md means there is a ./examples/PageLayoutSimpleNav.js
+ component: path.resolve(`${basePath}/examples/${demoComponent}.js`),
+ });
});
+ } else {
+ // Normal templated component pages
+ let section = node.frontmatter.section ? node.frontmatter.section : 'components';
+ link = `/${section}/${componentName}/`;
+ context = {
+ title: node.frontmatter.title,
+ fileAbsolutePath: node.fileAbsolutePath, // Helps us get the markdown
+ pathRegex: `/${folderName}\/.*/`, // Helps us get the docgenned props
+ examplesRegex: `/${folderName}\/examples\/.*/`, // Helps us inject the example files
+ }
}
+ // console.log('adding page', link);
+ actions.createPage({
+ path: link,
+ component: templatePath,
+ context: context
+ });
});
- const allImages = [];
- exampleImages.edges.forEach(({ node: image }) => {
- const imagePath = `../../react-core/src/${image.relativePath}`;
- allImages.push(`{name: '${image.base}', file: require('${imagePath}')}`);
- });
-
- const content = `
- import React from 'react';
- import docs from '${doc.absolutePath}';
- import ComponentDocs from '${escapeFilePath(docsComponentPath)}';
-
- const rawExamples = [${rawExamples}];
- const images = [${allImages}];
-
- export const ${doc.base.split('.')[0].toLowerCase()}_docs = docs;
- export const ${doc.base.split('.')[0].toLowerCase()}_package = '${packageDir}';
-
- export default ({location}) => ;
- `;
-
- docExports.push(
- `export { ${doc.base.split('.')[0].toLowerCase()}_docs, ${doc.base
- .split('.')[0]
- .toLowerCase()}_package } from './${doc.base}';`
- );
-
- fs.outputFileSync(filePath, content);
- // console.log(`page: /${path.dirname(doc.relativePath).toLowerCase()}, component: ${filePath}`);
- createPage({
- path: `/${path.dirname(doc.relativePath).toLowerCase()}`,
- component: filePath
- });
- });
-
- const indexFilePath = path.resolve(__dirname, '.tmp', 'index.js');
- fs.writeFileSync(indexFilePath, docExports.join('\n'));
+ })
};
diff --git a/packages/patternfly-4/react-docs/package.json b/packages/patternfly-4/react-docs/package.json
index f54cc8623d1..1092715632d 100644
--- a/packages/patternfly-4/react-docs/package.json
+++ b/packages/patternfly-4/react-docs/package.json
@@ -4,53 +4,38 @@
"version": "3.25.1",
"author": "Red Hat",
"license": "MIT",
- "publishConfig": {
- "access": "public"
+ "private": true,
+ "scripts": {
+ "build:docs": "yarn clean && yarn build:static && gatsby build --prefix-paths",
+ "build:static": "shx cp -r ../react-core/dist/styles/* static",
+ "clean": "rimraf .cache public static/assets static/base.css",
+ "develop": "yarn clean && yarn build:static && gatsby develop",
+ "serve": "gatsby serve --prefix-paths"
},
"dependencies": {
- "@patternfly/react-charts": "^2.3.1",
- "@patternfly/react-core": "^2.11.1",
+ "@patternfly/patternfly": "1.0.250",
+ "@patternfly/react-core": "2.11.1",
"@patternfly/react-icons": "^3.7.1",
- "@patternfly/react-inline-edit-extension": "^1.1.11",
- "@patternfly/react-styled-system": "^2.1.0",
- "@patternfly/react-styles": "^2.4.0",
- "@patternfly/react-table": "^1.4.11",
- "@patternfly/react-tokens": "^2.3.0",
- "babel-standalone": "^6.26.0",
- "clipboard-copy": "^2.0.1",
- "css-loader": "^2.1.1",
- "emotion": "^9.2.9",
- "exenv": "^1.2.2",
- "gatsby": "^2.1.29",
- "gatsby-plugin-react-helmet": "^3.0.8",
- "gatsby-plugin-typescript": "2.0.3",
- "gatsby-source-filesystem": "^2.0.23",
- "gatsby-transformer-json": "^2.1.8",
- "gatsby-transformer-react-docgen": "3.0.2",
- "param-case": "^2.1.1",
+ "gatsby": "^2.3.3",
+ "gatsby-plugin-react-helmet": "^3.0.11",
+ "gatsby-source-filesystem": "^2.0.28",
+ "gatsby-transformer-json": "^2.1.11",
+ "gatsby-transformer-remark": "^2.3.8",
+ "react": "~16.8.4",
+ "react-dom": "~16.8.4",
"react-helmet": "^5.2.0",
- "react-icons": "^3.5.0",
- "react-live": "^1.12.0",
- "typescript": "3.2.2"
+ "react-live": "^2.0.0",
+ "rehype-react": "^3.1.0"
},
"devDependencies": {
- "fs-extra": "^7.0.1",
- "glob": "^7.1.3",
- "rimraf": "^2.6.2",
- "typedoc": "^0.14.2"
+ "rimraf": "^2.6.3",
+ "shx": "^0.3.2"
},
"keywords": [
"gatsby"
],
- "scripts": {
- "clean": "rimraf .cache .tmp dist public static ts-docs",
- "develop": "yarn gen-ts-docs && gatsby develop",
- "build:docs": "node build/copyDocs.js && yarn gen-ts-docs && yarn build:gatsby",
- "build:gatsby": "env NODE_OPTIONS=--max_old_space_size=4096 gatsby build --verbose --prefix-paths",
- "gen-ts-docs": "typedoc --mode file --json build/ts-output.json --tsconfig ../react-core/tsconfig.base.json ../react-core"
- },
"browserslist": [
"last 2 versions",
"not ie <= 11"
]
-}
+}
\ No newline at end of file
diff --git a/packages/patternfly-4/react-docs/plugins/gatsby-transformer-react-docgen-typescript/gatsby-node.js b/packages/patternfly-4/react-docs/plugins/gatsby-transformer-react-docgen-typescript/gatsby-node.js
new file mode 100644
index 00000000000..67341b338ba
--- /dev/null
+++ b/packages/patternfly-4/react-docs/plugins/gatsby-transformer-react-docgen-typescript/gatsby-node.js
@@ -0,0 +1,86 @@
+const docgenTypescript = require('react-docgen-typescript').withDefaultConfig()
+const docgenJavascript = require('react-docgen')
+
+function isSource(node) {
+ if (!node ||
+ node.relativePath.indexOf('/example') !== -1 ||
+ node.relativePath.indexOf('.docs') !== -1 ||
+ node.relativePath.indexOf('.md') !== -1)
+ return false;
+
+ return true;
+}
+
+function canParse(node) {
+ return node && (isTSX(node) || isJSX(node)) && isSource(node)
+}
+
+function isTSX(node) {
+ return node.internal.mediaType === `application/typescript` ||
+ node.internal.mediaType === `text/tsx` ||
+ node.extension === 'tsx'
+}
+
+function isJSX(node) {
+ return node.internal.mediaType === `application/javascript` ||
+ node.internal.mediaType === `text/jsx`
+}
+
+function flattenProps(props) {
+ let res = [];
+ if (props) {
+ Object.entries(props).forEach(
+ ([key, value]) => {
+ value.name = key;
+ res.push(value);
+ });
+ }
+
+ return res;
+}
+
+// Docs https://www.gatsbyjs.org/docs/actions/#createNode
+async function onCreateNode({
+ node,
+ actions,
+ loadNodeContent,
+ createNodeId,
+ createContentDigest,
+}) {
+ if (!canParse(node)) return
+
+ const sourceText = await loadNodeContent(node);
+ let parsed = null;
+ try {
+ if (isTSX(node)) {
+ // console.log('parsing', node.absolutePath)
+ parsed = docgenTypescript.parse(node.absolutePath)[0];
+ }
+ else if (isJSX(node)) {
+ parsed = docgenJavascript.parse(sourceText);
+ }
+ } catch (err) {
+ console.warn("No component found in", node.absolutePath);
+ }
+
+ if (parsed) {
+ const metadataNode = {
+ name: parsed.displayName,
+ description: parsed.description,
+ props: flattenProps(parsed.props),
+ path: node.relativePath,
+ basePath: node.relativePath.split('/')[0],
+ id: createNodeId(`${node.id}imunique${node.relativePath}`),
+ children: [],
+ parent: node.id,
+ internal: {
+ contentDigest: createContentDigest(node),
+ type: `ComponentMetadata`,
+ },
+ }
+ actions.createNode(metadataNode)
+ actions.createParentChildLink({ parent: node, child: metadataNode })
+ }
+}
+
+exports.onCreateNode = onCreateNode
diff --git a/packages/patternfly-4/react-docs/plugins/gatsby-transformer-react-docgen-typescript/package.json b/packages/patternfly-4/react-docs/plugins/gatsby-transformer-react-docgen-typescript/package.json
new file mode 100644
index 00000000000..d12e74b1404
--- /dev/null
+++ b/packages/patternfly-4/react-docs/plugins/gatsby-transformer-react-docgen-typescript/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "gatsby-transformer-react-docgen-typescript",
+ "description": "Transforms JSX/TSX source files into JSON metadata",
+ "version": "0.0.1",
+ "author": "Red Hat",
+ "license": "MIT",
+ "private": true,
+ "dependencies": {
+ "gatsby": "^2.1.37",
+ "react-docgen": "^4.1.0",
+ "react-docgen-typescript": "^1.12.3"
+ },
+ "keywords": [
+ "gatsby",
+ "gatsby-plugin",
+ "gatsby-transformer-plugin",
+ "react"
+ ]
+}
\ No newline at end of file
diff --git a/packages/patternfly-4/react-docs/plugins/gatsby-transformer-react-examples/gatsby-node.js b/packages/patternfly-4/react-docs/plugins/gatsby-transformer-react-examples/gatsby-node.js
new file mode 100644
index 00000000000..3d0cd3f3a58
--- /dev/null
+++ b/packages/patternfly-4/react-docs/plugins/gatsby-transformer-react-examples/gatsby-node.js
@@ -0,0 +1,64 @@
+const path = require('path');
+const fs = require('fs');
+
+
+function isExample(node) {
+ if (!node || !node.relativePath || node.relativePath.indexOf('/example') === -1)
+ return false;
+
+ return true;
+}
+
+function isJSX(node) {
+ return node.internal.mediaType === `application/javascript` ||
+ node.internal.mediaType === `text/jsx`
+}
+
+function isImage(node) {
+ return (/gif|jpe?g|tiff|png|svg$/i).test(node.extension)
+}
+
+function canParse(node) {
+ return node && isExample(node) && (isJSX(node) || isImage(node));
+}
+
+let imports = {};
+// Docs https://www.gatsbyjs.org/docs/actions/#createNode
+exports.onCreateNode = ({ node, actions, createNodeId, createContentDigest }) => {
+ if (!canParse(node)) return
+
+ const extension = path.extname(node.absolutePath);
+ const importName = path.basename(node.absolutePath, extension)
+ .replace('-', '')
+ .replace('_', '')
+ .replace('.', '')
+ .trim();
+
+ if (imports[importName])
+ console.warn(`Import ${importName} from ${node.absolutePath} also appears in ${imports[importName].path}`);
+
+ imports[importName] = {
+ importString: `export { default as ${importName} } from '${node.absolutePath}';\n`,
+ path: node.absolutePath
+ };
+
+ let importString = '';
+ Object.values(imports).forEach(imp => importString += imp.importString);
+
+ fs.writeFileSync('./.cache/example_index.js', importString);
+
+ const metadataNode = {
+ importName: importName,
+ path: node.relativePath,
+ basePath: node.relativePath.split('/')[0],
+ id: createNodeId(`${node.id}imunique${node.relativePath}`),
+ children: [],
+ parent: node.id,
+ internal: {
+ contentDigest: createContentDigest(node),
+ type: `ComponentExamples`,
+ },
+ }
+ actions.createNode(metadataNode)
+ actions.createParentChildLink({ parent: node, child: metadataNode })
+};
diff --git a/packages/patternfly-4/react-docs/plugins/gatsby-transformer-react-examples/package.json b/packages/patternfly-4/react-docs/plugins/gatsby-transformer-react-examples/package.json
new file mode 100644
index 00000000000..02d04df80a9
--- /dev/null
+++ b/packages/patternfly-4/react-docs/plugins/gatsby-transformer-react-examples/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "gatsby-transformer-react-assets",
+ "description": "Creates an index file from assets matching a path",
+ "version": "0.0.1",
+ "author": "Red Hat",
+ "license": "MIT",
+ "private": true,
+ "dependencies": {
+ "gatsby": "^2.1.37"
+ },
+ "keywords": [
+ "gatsby",
+ "gatsby-plugin",
+ "gatsby-transformer-plugin",
+ "react"
+ ]
+}
\ No newline at end of file
diff --git a/packages/patternfly-4/react-docs/src/assets/logo.png b/packages/patternfly-4/react-docs/src/assets/logo.png
deleted file mode 100644
index 33259082f4d323a99f08ddb8cf82ec8e5c345bbd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 14711
zcmZX41yEc|(>Cr7fe_p^xa;CBA!vfT6WlepyL*7(?h7G-;O_2jL4xalxXHcWTlH_%
z?#`UC?w+1LJx_O-vZ53!(ik<@2*@#@?1TUZ{BnLZl81mmp|ubbQOG<&)eBY1jx0_5!Nm&n~RS~rdz}cU$Dv*6;9Y`6gY$%OD?&9?B
zM?-FYz$=|sH5IV25)wxym`9KP2;sF%xYosOGEjR5*DLocx8GW>N7LBNMtEI+ZJ|Mw
zvRcQ{5~x9wN~O|7qoV37$}1Yg6GOwihB8@0=&9z#iu0A1hw)?cdj8r5hONlcZc4bl
zYkBSn=S!hkhw%FeQrwi~;f;-f@B=%DZwNpjv@6^3Q7FNrA$);JH+)TM%#LqHJEzlQ
zffOCP__G&IR1p>wHeedT4xt>^-95Bx3=*avB;`kFfg;=Pms%0Rwl-x}xTog^#!
zAkrv%Kcdtl>{S$XV_e5BsTmicofrUv^^VJP=UFTI`7Q7K#5%9M!I$%HgPPh*6X(Hn
zVkRT{E#%JnV)MQ?v33Z}4xad~zY7fz#jZ$r;z641-yt9h9p**WV=u`v5bC~=2VV&7
z2VmeDYkG3%#`cD5L`t-5?AM4rjYDNq^4O-%8{TTOWnfvT2Rz4)4to(>&6$aj2@A~phAQ22PO0i|)?eybS=LhqU
z$B>W|y^c`WuHLTM2aRmWP)nlp_HV<&GMsmYyLATU-PEwX(*+&HKBB#I8HyF0=^I2#
z+E*ZLl0M%I?!DUn(OuMs2cO@T>Ly{`Y)b9v6-f@a1SjqX!hlHyA$@$4ipJ)jTi8^I
z_oQ+W2*HK%8Ra{)i&*+Prp!4pSzC|4=qVm0acpEHa_sdvNNCCzf1JM3g;ZxHgP9}_
zwv}wx?^7(QuiW;RK#Dr502*bA8w(e-NKOJStyLwyqJ!$_*YYUj!I)y9GtI=mK6|cX
zo*uwwVE>BtMCrX8&K^@Rrx2iCqO8aMrHG9a<{O%cNG`%3$!bgsu0N^kdYh|(CjfCB
z{FG;x>3;~x@5PwePjVgP2nHQr*T_n-J*f|p=^4Yb$<9#U$5r@5g1RNUO@2m{tE|q7
zVrnc%H$X{w_zY2;g756t1s|m3tPx#a^T%X$G8sl`66qV#)OZ{rxoG!LSZ#)R*`SQ#
zGQ`jz-(fy*ka(IaYE4t3aiR&L<%HaUh^t7Iu4-Wv@rH4b*>2qBeVaf2PGuzP_2HQ8
z|AF}{zqVbkrlHNC@7gKQem{e$2@xU&t9a<9$f!$jPm>$s!gbZDsA|1d5Apk%dbDb0
z)!2G1GNiH}z1MrEb>9fO>HvIRNR2hv2N26^^n4KkX}I?WS+}3E!hfK!5HLb?=i-#Z
zSc$;SK{b9})+gbCIRH`cz>fG2=Du2jxnBRU55){3af64$fFUE}2#nq%mki}KjNl>r
z6^f1(DNb4=%@!YSOe!iKJ|u}tUMP*P;%_Zh8n+r})JL~PJ`ubm!52%s#d(g{txR7U
z_9hp1@AVYXrBv6rn-fyH|4x3;9=Q{5D{+PBb$-Jh-36NmwvCit?&It4iL7v@k@E(>
zG)Zxz3ibC>UuQ%l>2GVkY9z7pQ@Z1uiM})>u_ssTO=~97t}<|g8u{UP)^fwv2DKVB
zyJ2>E=mx(M;!8D#a0l}-fW}`URl1LKh!h8V0FfV23ejvGJSpKOMTvzkE|*W>bsZm;
z_EYPp$xnr!&_AgS32GANl*r?pWEv^$R5-#E1}I)7aK&E5E5=vGwMvsDCMHEDW+sXz
zsw4)=O2}@@dL}B;>b&WZPtqrRUIfpUvKlj?c9Dq+^rgf$DEwEI!DfXZ0SEY02b;fH5^GLZ1
zmi(eM_Fzs|FR9W#xOJh#t1`ucCf_8&!gOO#^^xgFSLG;1+0q?=!)OE3*s&A3VMD-ZL%$gn=f4)_ajG-CD+86O95$=-LmO$b
zXhvH1AoY;-yzQZ}fwu9r$-YuKeq5NXUp2&vZBo3>
zBd#?2!YyJKykgp3=h6O!L&`mBBa$B9*?daSTXj`ZSlu`I$>ovZ?h!5+E)S0UGb-Fy
zR1Z}AV4vW$U@H`**H^E{qr4(vB&{M9-w2vnvOcEG4_ywi4+$B0Z?YJboN;a9ZbD+q
zCBP(*CqPr9E6^4FD%vlylFv}MABr3zA2!XHPF-fF$pB~k9-d9h;r6vNu!u9Rnady9
zNGpt{8mt|w?K$^Fg0YPo6H)l^d7Vi~c}x`1TOJ>M8b
z9eMToEujwQT_e%-$STunWlv>SwgHKOp0S?UvqR*3Y9eb{PbSIl=^x!>iv}TG-cqQ&
zXVDVTsL@qf)|ottNs8Q=79(UMzcUZB^r9Mw1_{9KM?`q7as`8iDW)mRm9~|JvyYX6
zwx+fvwgk(zV5`>NW@g8ZHIY+<)70JZy|eMjY4*|IvAe6fF1lK}o^9Dtb%ebHO-9;Z
zo5HvkJu_Uv=#wo^|vBY~LHO!G(S8+xT
zmvZ)NtP0k9m!bnTWK!Y
z`O|f}e<>Li+Q=Vn!Z^&>>wbD{wrUm>u+zmqv1oPm(7LNbIf~?*ZUczVI#T|0T$sMjy_N*pz-Pwn+TQHt7uJPNOy1u;P^1b8Ef*{lg6x?CGsav@{
zX3lQ9g6(4m2huy_MQd
z=kA@PpGlobP3pIm3pz!*>Y6hxd=AdXZ+6n-IqhZ@KYG@9S>Gl*Cpu3!A0JZ8%-XRm
zRy%au^nAq
zX{WI7y+(dpDV1{=BNl(>{tu6*e*lR*7IQL#VI?{0VaE!X?<{`ks{
z|2vPe2L@pxvDcI5!ATQZ5Q(MGk&oLm=5Gpun2DI=De?w(tNVi+=i|%%OPk&v5-ZzN
zOP;%sM-uRxC<2BUDlNx+yUl(aY4LR|-DzXt@d>O#0&6`ruyQ-B5T{x;TBO9y1f%Xm3MP
zd8^CsEVy^qLQqbSVkfz54Nm%WIC9+Iw0QFAL;#%OeLda&;0b-bD@-at>t1|S{Sf!`
zrPNpJ`49xQx<8A~jb@11Bwjt)a{A^*?tb24^^Us&{7^DJd0?hE`o>e#<3o;;$I7MX
zg<)>f4fACO*SC5P_bt1Qj;afVqeBlWAI=+(d4gqb@Jh7z;u6W^^PbKK*#DY}#7X$*
zY47Rm;cJ1C61=GwwYTnb_nlnV>}eG`oFg2(gf;8OCpy0$!9`!8Pd)G;>Wy!X$B-aQ
z;y0|R@x<-36R~fU%6U5ayI=X~_&`t&!IMJye6bE5CS-fHVv@6V<^$pELTn*MF5~K=
za+BYQjlABqwnhLAA&m;*g^7-aX8nfnp%xm>6VIIv{?M)^db^z@>WmLdvL6o&qP*
z2nYc;KA>o0;$%STW@ByZ$mb?V{!b4+p#1WfnVj^WE>2d0ml7EK-H9>N7C#O$*%*?K?u1v1%Om+@t%&fe;yv!_Y%xr9LfgW!i
z-EEx=+}_$cQv8|Z-+9DM9E}_-J~>&~*^<7@YhY;S>?BA|{<6@2pFeb(xLN$)O16%F
z*#a13eraK5Wny9eZ*E|yz{^uUWeYbGYfW(r8xvbcU=1M-E)Icz`u~3||F`1*jMVzS
zk*us-|2y)3TKUsRI8{FIxkA
z_<%3%-+!R|s?s!AIQj~g;=llp0MXRtyeY_u7H+KtSHEY%BWAiC(&J6
z948_+Ez}sPKeh!0GYu&&samrL3;zq-D0}bIal@6)*T)f}74NE9f^T&*p4Thv$By6X
zMxU;H=T>bKo4e}~AjwE!0{t*Bppry$;}Ggq+$_xgeL@V0Sxg@QG>L)`5d7INF#MAt
z)6p>hsRF~G)QJ8xL6RxML6MKKfhNgbdIC)_;<=^J|CR?pAeawu=6vFRngab0RGt5J
z3k2aKgn|Yk6hi)^!@m^m-!d&UB&Ioj?mou91d%IGzfArQxhABfP;a3*h{*p`ML{s7
ze1Drnb5Q^SO#F(({^<$O5eia+|F@jz?}t#2GUgQemob3JgBSi^$OV`*{{+Klw;}*O
z`F4L4N)cU6t&pAwnf4#o`ZKu*7lX_l^}k1jS9gZejEMMM>gz^@7Sp+GETi6Vs_6VD
z6FQhTDE>ZY-FRHaeHfdLS{T0dmD_Lj%v5~j25(05mrF$8y3A;q
zY5m?AmdHoF&l+1sh6Hv)Ry217Yp-0Z&U&ja?g|i%=4iIy@u=|gg*c!0ofCL3KcY=d
z_Q>)1@w&-kvS|MPq{Hs{;dczp!nB5-4&?`x%W=hjWFH&>YNs3nkcx%kcVE1MZOYUu
zj@CY-U-gTI5ITekUW|!7d3N|b9?coWG^FVH%t!O?yawMLls#4_#|Yi^DGEP2oy@4Y
z*mildI_>^5qanf+Ka@AX&+*lwT~id-LSLwFw#PvUmr)N&*ZGoR#9QluL^?S4+NVxr
z=K4IbkPpvKk2dorDVNFnGav12-hWlRTqM(rGq0g9IQ~Op7^t0mtZBt#uqP7VNYLY=
z8WEd%F3l|4f}yIdmPWQ*sn%Zj@#6jAbXkh)I>NRWU
z)smx<=f$|xF|coqoU_{RDHm8)QI{KDlrWbR>M|I#>b8jrzFzUHa6MV!^0+YPKl_Po
zbKEd{Re)H6M#wXkaDXMpXaMLaSjY3YVWz=KBPUJne9V0}Yd0ZW*YlXu^QflR8c?Si
z@UPavk7YIs^_XF}<&q1uFQ>)a4Pgoy%KPzh*5+ugW~Rwb54@fHQ9#7Dao)7?W+P$|
zm3v7)!?v~L>>iLp0~!(E9M_`tW`Eo|!=g=7R!l@?^G0~%q$2-3AVJg3-k583x<#Iy
zKy1b8Mw`Vu8`P@sz36}ROOzDZpHC?lP_J;o^F9ipXkObTo}7ozK`m1%a`WiI5Be$E
z4q+OkA8cE;k7@^*>Xuy=hxuH89aW4AKizbFOz(KS%82nLZv-)3bUZ)(#-%SnTwigT
zRB(AX>-`9JITp{?YLGts=V+s1`12{`8joQeQX+;@l5M0J&oI>uu|2&LI{gma*onk2
zH^P5n-E3>Wi8X7z+}fao<8go7bX@!;`rJ69QME?f_xaIPsk9ikqJBcw1rW}?V-+Ah
z@^QGE{JrFV*m;E^eXzHI6NH5ame1tS+t|nn!wy#R0ccrTZnn<}8?0CO_WX3e#3z;9
zuO$4q$s0Y?NnwO0M
z4kR9ASwz#*lH(|qq6f1*l2{mah|N(k%%C{Y7diZ+*Pm_ORJUpj0_c48U{^cPWyrF3f*_?Y6xhX-to
zB`675FeM*+6_86{d!MJ{bGr?vW!EsRo-K}9D!k?gT`rfxM{8EWW^Dp&$5q#d
zfLHxvxX~s(xC64x7!0Bp=DTck+{v_*;d`R5UDH?eR{tEG+$VD7LqwdjYjmNT?_eV`
zj-M-J(nU04Ma-Jf>zHH(e%oP1Z@b=g1|TOty3U*62^R!i7Gv5puLtXDlC?7_Q4>8DB1C_mYLFhm~-~V%}hNW
zLq-BH9Mw5`I3gZ~rOmEn@3tV~kWeUxZ~r`$gumyi_hy|
zyn(>ss(^q?I=Qg8@eZ0_>H&b#VmRBst=l?kX$
zB!iDPPPV4Z*Sm%dEwz|#pS0Tge}-XWgj>E?LrS33R2qe1DvcM(X(08fUVx`Q@PQzw!
zSj6LbfT-wx%G;mCKQ5NMr#T$|BDJzPx&3FO0P&&1;L`cWhjwuoC}eP5h70)%kWrew
zTcFOcHl*Atc;#=XxopkI<#qFkq<099#Q8&`4O8x>`1r@uwd971hy>LfV6cIz{dl>d-J$T<
zycNfm(fJW)w1r+TM>6>Mj8^J^cc^GMK9Oy6)CB!zUFQlw3=+qXj3GXznPlP;=pKI9
z*nZ+6aquNWPVrpVm5~%}ppCU^hVw>(1e~ux(6X3*90u)Hn3ZEi!_2w5Ryt*Wk@wT>
z?&E2kC@zWeCb@(Qx`rJiIK>A?K6$y(=Htmu)LT$+?f|~=aERSz421ExJWz8H
z47Y!K`Q|jgV4Fowkg1(y9jEpfe^JNWVyU^NqNeA~x6PKb9s&a2y!RjWnpGNEN4y?x
z&V&TIo+2@saf-qY5wnab1&w0V=}f*}+xJKLptyVJ)SR?gSty(s-uEtI7K^M$xugbJ
z=|6ZZarN}7?YL@p@Nnm`EiAZ&8r-#EQ_Hi!*orRaqOpAYrd4MO8zYzVg}P&w$A3au
zB%7lZfw-XG@#<(^x5#eoyT2}V6~>rf;2VrC$#5;_X1x+pTFh?dwa4q#69yGBl`fBM
zvI%o%z>P9D!XJDLy3bVs%|*Viu%xJGVL;^Tip5QK%nQ0l^3|MWdN=5*IzX1-wN1Jv
zY%+i&{43d;c2pto7s2EKZAhBuYm&&a_RJtjNZvk&N?0hT$#eG;X_G<8uC(B)rRceO
zi^)hCyl}zIo7UI0(_q(=+QDtFJr#-;t@25%1N9qYa`+xcigJ}{SSS*1TkXm`YWUC5
z_(*1nc+9pOeyrth*Cax~dL2G$)XEExe9QH$g-rZM)t@g)HsA6F?=qNm>U`{tm*n7lEj+S-$%`-J1D&3J5P8dgZY=Xk~j}&1ae{
z<%z+c5Xm;>B>gC%zN%n_D)jFR??M$jdFunYbfZLq-cA3u@Es^7`DlT(Py>O{V+aFk
z+Z-0foRQ|%eY%}|uvtAQ<4c
zTDX5PT*Y_KDms{`3rV%cny8DXFE15o+6Q0Rn;VDqtE05REfaU&;=c
ze}xVec;o&4vlv3HC^TPEsK`wAs(MUTQ>H&
z_(EmIVf&7!2xN*T-Vd`ky?3%Lu%bip|kiW7~H8~X|Q`z?h>gQvyl@d)Cs8mb+{r9hl
zN}<@UN_%kuu6*h+H5kZmuO8&+7_3O*8TXuEp|+pO49`rG;u_HMzXzaSFSj_F`Q}XP
za2rBZRHo|A2zDPDLKU(Or+fy1{irzu@v>owvkYy-wM`%RN&IU`)X|+86pT4Va_f~S
z#|j3cs=$0cvy}c0?SXaQ*#l*Y2kU#uR^-i+xF`Z6S#nu~YKzLsqwlLm92r%iOi-wj
ziGKL9^==TGdQn^mN!OBjCK1~&Eu!B;Gj)l#I_;~}(@0(sCSi#VT3Wk{Aa04}21&Cf
zDr`XR%8W9+X$(?Y8aFPkRjTpqx%)8;3CU{nafUPa_so=;2|}V({*SNkp_3WOMzX3l
z*Ien(V?6xe9ICBr{BnHm_A{wOm6AO`I&`y8j82H;W1@SiHXnge@f&y2Y^3;SYWu1<
z2kE4s0tbKUWs0C)aZ!E@CI=_M`}L%$k%;AlDQDj
z<``rmn}*_8w%8NhCeUfd!?%cInRs}%$rAV@*h22Ndp4Vreb=4q^xtby1oJ;x&(PT8
z2M@;@B&!J}1qyrgX)V@`Acn=i;`V*=${A8Uu-Doxjdr&Gtkws$&1;lpKolH=G6;Y(
zDGJuj-aKY~JzswDWEp1&xSvCv;q;)3l^4!beDW^z3J1xFl(c!%%jGt6_C^zB)Pd3_
zs_DCUnh#Pz{c6%+3=4+7dHs3_A`wh;_fbB=Ze>s?YdyA;iZm2eN)UdHs1!aY@4~Fa
zGF(^ZQy0#3aDR$u+H!{A$n*x#6+0aj1oOj4v&nK
zh}D(!%n;jOL&n!^*6>A&Ev~7Vhy~!MSmwaNdyMZ>kTx435V6
zCETMlSp>&>tqI16aMh)&d6WZd^X%S%q4p&=lipPL()Z~zoG`vrwP&VsL=`bp9|
zyFxIhTzw6N6rMjfI45${o<~lfA8IJoy~1E9Vohsg$3xCDCn?n(-EL^YIM<#2>~kgT
znJ_5F)UUGw?giVKl3uHDWt`Yvfje5+VO`i^Z2_R;OUqgS@(>#Tk^T!_XPRNtxK#MQ
zu*Rr29e~l62)#~!m|o4Bxtcs&&gz-=#ggqrvX8JJGggC&9PHZ8BwcMzR@$)-9mXZ_
z(i&zy3|a#?jwyiDDZF(B;4M=CmfI;vP-Jr)VhsU5<@i3anq|8e?N5G<*Jw54oPKPIU`|fqK9_O%Pw+1Tb&GoNWSLyw59*^nHraNh7
zTrbe1`*xDX5_`#LKTXcjh}vh@Ao^4Q>KtA2`aK+cZG5=cRF#KrvQLsUpum3(poD1@
zF#;0+%0lvMf^$Z*E7Ng=x6miq#dqd6bK7YEFW__z0c>fVC5xf){yYNEk)UtaV(5a#
zH%#8o8w60ZpPuto^p!|*V{UB#IF=hgRvQizo-{e{Kial*16Ye-;S~{wd90SxxWw>S
zo|xR+djL9{?*%Y4V$<`je%qxpH=Fj$nH>NtqK{ITp7Qs6f$*-03YUc~r)cZu3?n#y
z&>nwl{@t|d0|xvY`Tga6yG2{DO`Z+mwf4e&^JX+ViSL8`eCm3Y$&mnnM_KhurOaa8
zr-f6F0hnmo3z+Qv>9D*`Q316x7p11646s<&a0;1a)Q@!V(l8Y%=1E5~5~Qr;=A8)1{DPnDmp?Z%`vf>}Ll
zzh3!BZu8Bg2ZNeJK2{>PA=h@Otm@kVH65{(-U4|9#mlw&$K%Uqr_F`YWbYxk0wAd3!`^E~02ut}
zI3@ybLM>d7yPNGfLg;g|9(_dYbt=N{cDg2t5YrEhbz@c4zB9m>PB^hZ8VzDthHfDz
zW24Xm5O%9O2;hok^Ma&J9Hq*jen1eeF(5Tkeg<41?Ia$bE>!NV1MH-g?i?!)C>^);
zpkcN_#>s-?*n0Cta;k@7m;=_T`jfG|&j~~0IIr?xLn+2yu#rnJwj$3D3;#CLAer+O
z&y(ZODfEY7GXDV96FhES{iU+Y#q*mPIjHSh`Bvuk3zgph0-VetPYC~8for~C%tx|i
zxcwFI@?f7T6@Iz?LTkOc`~hg*N5$ppVXj4<2I9b^5M?yM3uURcK_;-ZbuY|X7&cA%
zZjSFt30`gTaBmP2-UJb=VW0>sOn%ekXeXq!QEsp2};B=0b
zr>9^M?c>EJ*OSNt0xzq$wi24utHasRl3(pka$r~BPBY~~D207CZ
zm;QGMb|8SD;Ye*8YuPTZ&b!V4ZexKeRGlir({;-`^eSEnH~$1T1i;{nAlkVOWo*;O
z(7mHMW@Si~oPy&h?v+oa1XE&88|91GN&*Hq82A_OsBk$gZUCVZ(iyFaH7rehOa#@K
zg%pDHNET9j>!mPlqEwX#ZqOrkeKw(z42fqcaJgj>724Az>scWxf^mQ2`@ekA13LnD=Gk8>^3#
zO2W<)WQI=wkd~2Fe1nm;56Vq4<>p~9SZzKiEi*Lp{YE@4sEB}4Kdb9m@xDrYRO2^y
zunRSkv>HQ2y~<9%DCel`%c18#u1`2Tm1r=VaJ1JBFLjBpL?sDnt7)%l*+~ytr-DMI
z&^|h$_0Km!yys+zUQ6-Q`k8>sRlD95l48ByFjI^L__wQM*mExyjuJ5>hYkw$OWcWT
zB1q$-4d?FriBlM)NNISC@q@A|Tb2PlgDQ|jxCc%cdV_^J!5%z`*BWI45SMDsH@*ep
zKN-+yJm1}QHtf?)JONBJ^CIlPp`7~b+l_fU05}{Or+Y<&Lai#G0Ql)4(2Ej-8!HHj>r3j%G5Gag!X~+w%}u=+mQ)`
zM7~_a&XCSoeCpVDNC*al#ULW;rqw5e)woy3F|1yTxm$2abs37>-up?
zPMH8L1P(={?zm8lWO9MYIt*Ip?@l;qX6N2zZ!u}Fbf$_eidemf!ao^f`QPcP8k}VL
zDu135WkfONDaZIK4n28RgKSz8vethGgf@&-XvBi&*y1uL`LIeQ+qTewMsqn2XwBs2K!(-(Zg|b
zm;p-eiq(6c&-4vI7_0gV>LYtY
zh(2Me;8u?rnbn<;WOiyG8khuk3`8DznFXN^+ee
zM8Ht8;f4G6T1+%F>wOXJL?ci)InAT6p!lKAUah~_UG#?9Bt}H=3ZVO^eK3(^EO{J9
z{8SS$c7Y3v*zjnN{9U?LCF|hNpX_&@wZ9~C`=uLj{8gX}URmd?pdng(spu=URrH7u
zfEl=s;)=MwO5nsa$Ew}$rSdN_Qf-Ao*D#HoBdaS~{mq@Qs|z5tSFk&hCwq~Dn0$(cs%@1Q7I
zB(;-nnK1sYw~FP-$AhM+%PE^lT#%^NozfItd`~8_kYv-cojiC%D~S*vGrPI6ouc=R
zu_)GP+PWSYn>q$Ek4@`nb6SAG3!O}$7}>jxYzOHmLBdF>oGO9q*=L=v;E{R+j9Z6t
zWhHRXUsOIS96&Q0$Mm67FZAI)dXOPxO
zpbU=%$`bFxpoFGvoU7)0lf?G3AH4lo{7!D&D-hWibH9IsrF`dgbBHjLQ0fQablJ<|
zZTE(yMQ!I&Roi68Y|ZAzmg<;|
z73+K$0!qoTB~{-()9-Dn9sN{rOXQim`tCTSsB+0H8dj<-%NGYJ>oN_<=;z*>XQ~IO)w?
zVFOzN!B1PNncDLT8}jOv7XJos81>~3^cf^RqWU%_3ZV^0ovFfZAq9vcL)(0me-@~~
z@W*|(?jiEVnbCHir*KQhcf@elVZ+dmy2EA;O{OK#KQ?A2Bu~Gfhcy((PH5@pEQPI7
z3lKz4afCY`f!T@_HzCx?k8G_@-YDXl#LA;_SDg?bP}0rB4Ij|OxfbI4%gAsfNG^eo
zUPZOiWqj|uhrzZ-TMEK4n;sx7-5|wjOTnQ`adR;-sKZ=r&8nWE(dx5&f7BgUlaEkn
z){S}JJ>0ljNWx}Y>v!oF@eFNB{2SoSk|Q6z7yicN4n=b%)S92BYd)gkvr#5zK5)u-
zsupog>*$NUO)pkl1ujb8g9mvy%N49K=6J@~8f;b4o|+W|Uu(v!em4c#Uwu&Oc@pqE
z^f{r1;40?x;+eD~NKPXPbE)v)IPwQEJTqUT~0>H4|Y
zQ;AFDHePmemRn*8<)~8k)+mS$VbD5fK&+i$Q4eVb!?q
zpXiDyDNMPsYSVB?Xf9iK2G^*h8&auun@!g>7OvqYFSOjy4
z`G)&|E|R7)NqMl%i6QBgkQw_cSQo8=Au`T&&&$6tn-4Tl&IzD2BTZ?`4}ObPHxqSc
zN@9G16QgAK@t6oD39tJG=`7s5Nc^FGLTm5D*PdJ%aIZl$GAV7A(rUiT~1tI${?SM
zg{8JN0Mn_HRu<|q)}zvWS)fvSODU(QsqVi{f*(C$omOGsf3yG&ll_xsXS>!R7s(b!dxk<%
z=Xez2fXGVckidvKEV-mxvo9_?Bv|yGgrD8u0>kSEf|1fZ>VA41SF`+Fp{9!`1ffpuM}NbZ3tQsg)CjR
zdtNi~!`EQd#y5WA9z}cp@+1#Is=AU#l}tll#88a$5;XI}==%&RBU7e7F62{6ch?Q{
z)Y8E2>@1wGJVS4FV~LfxNY(hX_ejB#O@zlV`ca67Lnfy$taYvOg%fukfyumGUk&7(rf4+u08-}5Yrb+$Z!
zU{sM&Z?s~#HGx7!)8FkU$250@3BOBJQ`PjRvYfrxJ(@6qL)XjvoWD|2eh`q3XI4}{
zmO@S-YJv#)Lh1L&AW#N{@>tsvWTcuvSj1C0bDuzUpju^OEJ=+00hz%(tAj|GRCX
z5HJgj{`r+e+_sq!G!pqJA&uf0*(hRx<<-ir9Qa}vA0Gd1@SmRN4uSFdlRvZPzevTX
z+#v0C64c}dwqF1c75RAZ$++Dg8Jk;G^G!i8B7@P`V}2_M=nFyVaF=J+UCsV%Awhw@sV&-q{~Q2WvOuch_F2qhoG
zfC(2&^lIk8uJLO^S0ZzKw>y%R!8kw!E93je9{=q%AO~RW%Q6|1Q8eTCz}3t~x_qok
zuY;|G11a|DPZ}R28Ab@G3xk$U}1fAP$I~vIN!l<42=IvQxyXg@e{g*@um^a~|
zciYiK{4DibY79sWleS`bfDy>yW77e4X9GlEx_|>iKV#7s%t>fsjl2
z6F>IDI0dpJ1+o4UM<0+L$pNp~s`_uXrW6R~Aa3lh(G3Kl0jZU|-zN(H=r1XZ02H}$
zOyJeORRgsy`t>
zjH6$n+#k&YA-Dmn5hEV|TipVIVA7!(b?E=dNAx?zsqpuDGR$FQPgw}yBO{?GUMZ>{
G@c#e}`GEca
diff --git a/packages/patternfly-4/react-docs/src/components/componentDocs/componentDocs.js b/packages/patternfly-4/react-docs/src/components/componentDocs/componentDocs.js
deleted file mode 100644
index 68545d42e1d..00000000000
--- a/packages/patternfly-4/react-docs/src/components/componentDocs/componentDocs.js
+++ /dev/null
@@ -1,170 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import { StaticQuery, graphql } from 'gatsby';
-import styles from './componentDocs.styles';
-import { css } from '@patternfly/react-styles';
-import Example from '../example';
-import Content from '../content';
-import { Title } from '@patternfly/react-core';
-import PropsTable from '../propsTable';
-import PropsTableTs from '../propsTableTs';
-import Section from '../section';
-import DocsLayout from '../layouts';
-import Tokens from '../css-variables';
-import { accumulateProps } from './propsHelper';
-
-const propTypes = {
- data: PropTypes.any.isRequired,
- title: PropTypes.string.isRequired,
- description: PropTypes.string,
- examples: PropTypes.arrayOf(
- PropTypes.shape({
- component: PropTypes.func,
- title: PropTypes.string,
- description: PropTypes.string,
- getContainerProps: PropTypes.func,
- displayName: PropTypes.string,
- live: PropTypes.bool,
- liveScope: PropTypes.object
- })
- ),
- components: PropTypes.objectOf(PropTypes.elementType),
- enumValues: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.any)),
- types: PropTypes.object,
- rawExamples: PropTypes.array,
- images: PropTypes.array,
- fullPageOnly: PropTypes.bool,
- variablesRoot: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
- location: PropTypes.any
-};
-
-const defaultProps = {
- description: '',
- examples: [],
- components: {},
- enumValues: {},
- types: {},
- rawExamples: [],
- images: [],
- fullPageOnly: false,
- variablesRoot: null,
- location: null
-};
-
-class ComponentDocs extends React.PureComponent {
- render() {
- const {
- data,
- title,
- description,
- examples,
- components,
- enumValues,
- fullPageOnly,
- rawExamples,
- images,
- variablesRoot,
- location
- } = this.props;
- const makeDescription = html => ({ __html: html });
- const getDocGenInfo = name => data.allComponentMetadata.edges.find(edge => edge.node.displayName === name);
-
- return (
-
-
- {title}
- {Boolean(description) && (
-
- )}
-
- {examples.map((exampleObj, i) => {
- const ComponentExample = exampleObj.component;
- const rawExample = rawExamples.find(example => example.name === ComponentExample.name);
- return (
-
-
-
- );
- })}
-
- {Object.entries(components).map(component => {
- const componentName = component[0];
- const componentDocsJs = getDocGenInfo(componentName);
- const componentDocsTs = accumulateProps(componentName);
- if (componentDocsTs) {
- return ;
- } else if (componentDocsJs) {
- return (
-
- );
- }
- return null;
- })}
- {variablesRoot && (
-
- )}
-
-
- );
- }
-}
-
-ComponentDocs.propTypes = propTypes;
-ComponentDocs.defaultProps = defaultProps;
-
-export default props => (
- }
- />
-);
diff --git a/packages/patternfly-4/react-docs/src/components/componentDocs/componentDocs.styles.js b/packages/patternfly-4/react-docs/src/components/componentDocs/componentDocs.styles.js
deleted file mode 100644
index 8459aece603..00000000000
--- a/packages/patternfly-4/react-docs/src/components/componentDocs/componentDocs.styles.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import { StyleSheet } from '@patternfly/react-styles';
-import { global_spacer_xl as spacerXl } from '@patternfly/react-tokens';
-
-export default StyleSheet.create({
- description: {
- marginBottom: spacerXl.var
- }
-});
diff --git a/packages/patternfly-4/react-docs/src/components/componentDocs/cssvars.js b/packages/patternfly-4/react-docs/src/components/componentDocs/cssvars.js
new file mode 100644
index 00000000000..942f3bc5f03
--- /dev/null
+++ b/packages/patternfly-4/react-docs/src/components/componentDocs/cssvars.js
@@ -0,0 +1,65 @@
+import React from 'react';
+import { getTokens } from '../../helpers/dynamicImports';
+
+class CSSVars extends React.Component {
+ constructor(props) {
+ super(props);
+ if (!props.cssPrefix) {
+ return;
+ }
+
+ this.cssTokens = Object.entries(getTokens())
+ .filter(([key, val]) => (val.name.indexOf(props.cssPrefix) !== -1))
+ .map(([key, val]) => ({
+ token: key,
+ ...val
+ }));
+ this.colorRegex = /^(#|rgb)/;
+ }
+
+ render() {
+ if (!this.cssTokens)
+ return No CSS Variables
;
+
+ return (
+
+ {this.props.caption}
+
+
+ CSS Variable
+ React Token
+ Value
+
+
+
+ {this.cssTokens.map(token =>
+
+ {token.name}
+ {token.token}
+
+ {this.colorRegex.test(token.value) &&
+
+ }
+ {token.value}
+
+
+ )}
+
+
+ );
+ }
+}
+
+CSSVars.defaultProps = {
+ cssPrefix: null
+};
+
+export default CSSVars;
\ No newline at end of file
diff --git a/packages/patternfly-4/react-docs/src/components/componentDocs/index.js b/packages/patternfly-4/react-docs/src/components/componentDocs/index.js
index 07ca4916f26..fc31370c1b3 100644
--- a/packages/patternfly-4/react-docs/src/components/componentDocs/index.js
+++ b/packages/patternfly-4/react-docs/src/components/componentDocs/index.js
@@ -1 +1,3 @@
-export { default } from './componentDocs';
+export { default as Props } from './props';
+export { default as CSSVars } from './cssvars';
+export { default as LiveEdit } from './liveEdit';
\ No newline at end of file
diff --git a/packages/patternfly-4/react-docs/src/components/componentDocs/liveEdit.js b/packages/patternfly-4/react-docs/src/components/componentDocs/liveEdit.js
new file mode 100644
index 00000000000..161b61edcee
--- /dev/null
+++ b/packages/patternfly-4/react-docs/src/components/componentDocs/liveEdit.js
@@ -0,0 +1,98 @@
+import React from 'react';
+import { LiveProvider, LiveEditor, LiveError, LivePreview } from 'react-live';
+import { Button, TextContent, Text } from '@patternfly/react-core';
+import { CodeIcon, CopyIcon } from '@patternfly/react-icons';
+
+const liveEditorStyle = { code: { 'max-height': '37.5rem', overflow: 'auto' } };
+class LiveEdit extends React.Component {
+ constructor(props) {
+ super(props);
+ // Our children are elements inside a tag created from rendered markdown
+ this.code = this.props.children[0];
+ this.scope = this.props.scope;
+ this.scope.React = React;
+ this.state = {
+ codeOpen: false,
+ copied: false
+ };
+ }
+
+ transformCode(code) {
+ if (typeof code !== 'string') {
+ return;
+ }
+ // These don't actually do anything except make Buble mad
+ const toParse = code
+ .replace(/^\s*import.*from.*/gm, '') // single line import
+ .replace(/^\s*import\s+{[\s\S]+?}\s+from.*/gm, '') // multi line import
+ .replace(/^\s*export.*;/gm, '') // single line export
+ .replace(/export default/gm, '') // inline export
+
+ return toParse;
+ }
+
+ onCodeOpen = () => {
+ this.setState({ codeOpen: !this.state.codeOpen })
+ }
+
+ onCopy = () => {
+ const el = document.createElement('textarea');
+ el.value = this.code;
+ document.body.appendChild(el);
+ el.select();
+ document.execCommand('copy');
+ document.body.removeChild(el);
+ this.setState({ copied: true });
+ }
+
+ render() {
+ const Toolbar = (
+
+
+
+
+
+
+
+
+ {this.state.copied && 'Copied to clipboard!'}
+
+
+ );
+
+ if (this.props.className === 'language-js') {
+ return (
+
+
+
+ {Toolbar}
+ {this.state.codeOpen && }
+
+
+
+ );
+ }
+ else if (this.props.className === 'language-nolive') {
+ return (
+
+
+
+ );
+ }
+ else {
+ return {this.code} ;
+ }
+ }
+}
+
+export default LiveEdit;
diff --git a/packages/patternfly-4/react-docs/src/components/componentDocs/props.js b/packages/patternfly-4/react-docs/src/components/componentDocs/props.js
new file mode 100644
index 00000000000..6429cd71ba7
--- /dev/null
+++ b/packages/patternfly-4/react-docs/src/components/componentDocs/props.js
@@ -0,0 +1,32 @@
+import React from 'react';
+import { ExclamationCircleIcon } from '@patternfly/react-icons';
+
+const Props = ({ propList, caption }) => {
+ return (
+
+ {caption}
+
+
+ Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+ {propList.map(prop =>
+
+ {prop.name}
+ {prop.type.name}
+ {prop.required && }
+ {prop.defaultValue && prop.defaultValue.value}
+ {'' + prop.description}
+
+ )}
+
+
+ );
+}
+
+export default Props
diff --git a/packages/patternfly-4/react-docs/src/components/componentDocs/propsHelper.js b/packages/patternfly-4/react-docs/src/components/componentDocs/propsHelper.js
deleted file mode 100644
index 8f84d7efa57..00000000000
--- a/packages/patternfly-4/react-docs/src/components/componentDocs/propsHelper.js
+++ /dev/null
@@ -1,143 +0,0 @@
-const typedoc = require('../../../build/ts-output.json')
-
-function getObjectNamed(iterable, name) {
- for (let i = 0; i < iterable.length; i++) {
- if (iterable[i].name.toLowerCase() === name.toLowerCase())
- return iterable[i];
- }
-}
-
-function getDefaultClassProps(name) {
- let result = [];
- const component = getObjectNamed(typedoc.children, name);
- const defaultProps = getObjectNamed(component.children, 'defaultProps');
- defaultProps.children.forEach(prop => {
- if (prop.kindString === 'Variable') {
- result.push({
- name: prop.name,
- default: prop.defaultValue,
- });
- }
- else if (prop.kindString === 'Function') {
- result.push({
- name: prop.name,
- default: prop.signatures[0].type.name,
- });
- }
- });
-
- return result;
-}
-
-function getDefaultFunctionProps(component) {
- let result = [];
- const params = component.signatures[0].parameters[0].type.declaration.children;
-
- params.forEach(param => {
- if (param.defaultValue) {
- result.push({
- name: param.name,
- default: param.defaultValue,
- type: param.type
- })
- }
- });
-
- return result;
-}
-
-// Takes typedoc json, returns something like (event?: React.MouseEvent): void
-function getType(method) {
- let type = '(';
- if (method.parameters) {
- method.parameters.forEach(param => {
- type += param.name;
- if (param.flags.isOptional)
- type += '?';
- type += ': ' + param.type.name
- type += ', ';
- });
- type = type.slice(0, type.length - 2);
- }
- type += '): ' + method.type.name;
-
-
- return type;
-}
-
-function getProps(name) {
- let result = {};
- // Assume component 'Button' exports interface named 'ButtonProps'
- const iface = getObjectNamed(typedoc.children, name + 'Props');
- for (let i = 0; i < iface.children.length; i++) {
- const prop = iface.children[i];
- // Skip extended props
- if (prop.inheritedFrom) continue;
- if (prop.kindString === 'Property') {
- let isRequired = true;
- let propType = prop.type.name;
- if (prop.type.type === 'union') { // Multiple types...
- // TODO: use what typedoc uses: https://github.com/TypeStrong/typedoc/blob/master/src/lib/converter/factories/type-parameter.ts
- const typeNames = prop.type.types.map(t => t.name);
- const undefinedLoc = typeNames.indexOf('undefined');
- if (undefinedLoc !== -1) {
- isRequired = false;
- typeNames.splice(undefinedLoc, 1);
- }
- if (typeNames.indexOf('false') !== -1 &&
- typeNames.indexOf('true') !== -1) {
- propType = 'boolean';
- } else {
- propType = typeNames[0];
- }
- }
-
- result[prop.name] = {
- name: prop.name,
- required: isRequired,
- type: propType,
- comment: prop.comment ? prop.comment.shortText : '',
- };
- }
- else if (prop.kindString === 'Method') {
- const method = prop.signatures[0];
- const type = getType(method);
- result[prop.name] = {
- name: prop.name,
- required: prop.flags.isOptional,
- type: type,
- comment: method.comment ? method.comment.shortText : '',
- };
- }
- }
- return result;
-}
-
-// Fuzzy find prop.name in props.keys and set it's value
-function setDefaultProp(props, prop) {
- // Remove dashes and make lowercase
- const simplifyName = (name) => name.replace('-', '').toLowerCase();
- Object.keys(props).forEach(k => {
- if (simplifyName(k) === simplifyName(prop.name)) {
- props[k].default = prop.default;
- props[k].required = false;
- return;
- }
- });
-}
-
-export function accumulateProps(componentName) {
- const component = getObjectNamed(typedoc.children, componentName);
- if (!component)
- return null;
-
- let props = getProps(componentName);
- if (component.kindString === 'Class') {
- getDefaultClassProps(componentName).forEach(p => setDefaultProp(props, p));
- } else if (component.kindString === 'Function') {
- getDefaultFunctionProps(component).forEach(p => setDefaultProp(props, p));
- }
-
- return Object.values(props);
-}
-
diff --git a/packages/patternfly-4/react-docs/src/components/content/content.js b/packages/patternfly-4/react-docs/src/components/content/content.js
deleted file mode 100644
index b902da8739f..00000000000
--- a/packages/patternfly-4/react-docs/src/components/content/content.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import React from 'react';
-import { css } from '@patternfly/react-styles';
-import PropTypes from 'prop-types';
-import styles from './content.styles';
-
-const propTypes = {
- children: PropTypes.node.isRequired
-};
-
-const Content = ({ children }) => {children}
;
-
-Content.propTypes = propTypes;
-
-export default Content;
diff --git a/packages/patternfly-4/react-docs/src/components/content/content.styles.js b/packages/patternfly-4/react-docs/src/components/content/content.styles.js
deleted file mode 100644
index dcb22a237f8..00000000000
--- a/packages/patternfly-4/react-docs/src/components/content/content.styles.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import { StyleSheet } from '@patternfly/react-styles';
-import { global_spacer_3xl as spacer3xl } from '@patternfly/react-tokens';
-
-export default StyleSheet.create({
- content: {
- padding: spacer3xl.var
- }
-});
diff --git a/packages/patternfly-4/react-docs/src/components/content/index.js b/packages/patternfly-4/react-docs/src/components/content/index.js
deleted file mode 100644
index 3089d8057d7..00000000000
--- a/packages/patternfly-4/react-docs/src/components/content/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from './content';
diff --git a/packages/patternfly-4/react-docs/src/components/css-variables.js b/packages/patternfly-4/react-docs/src/components/css-variables.js
deleted file mode 100644
index f5289edd752..00000000000
--- a/packages/patternfly-4/react-docs/src/components/css-variables.js
+++ /dev/null
@@ -1,183 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import { Form, TextInput } from '@patternfly/react-core';
-import { Table, TableHeader, TableBody, sortable, SortByDirection } from '@patternfly/react-table';
-import * as tokensModule from '@patternfly/react-tokens';
-import { StyleSheet, css } from '@patternfly/react-styles';
-
-const propTypes = {
- variables: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)])
-};
-
-const defaultProps = {
- variables: null
-};
-
-const styles = StyleSheet.create({
- color: {
- display: 'inline-block',
- height: 18,
- width: 18,
- border: `${tokensModule.global_BorderWidth_sm.var} solid ${tokensModule.global_BorderColor.var}`,
- marginRight: tokensModule.global_spacer_sm.var,
- verticalAlign: 'middle'
- },
- value: {
- verticalAlign: 'middle'
- },
- tokenCell: {
- whiteSpace: 'nowrap'
- },
- search: `
- &.pf-c-form {
- margin: ${tokensModule.global_spacer_md.var} 0;
- }
- .pf-c-form__label {
- --pf-c-form__label--FontSize: ${tokensModule.global_FontSize_lg.var};
- }
- `
-});
-const isColorRegex = /^(#|rgb)/;
-
-class Tokens extends React.Component {
- constructor(props) {
- super(props);
- const dataRows = [];
- Object.entries(tokensModule).map(([key, token]) => {
- if (!token.name || !token.value) {
- return null;
- }
- if (props.variables) {
- let variablesArray;
- if (typeof props.variables === 'string') {
- variablesArray = [props.variables];
- } else {
- variablesArray = props.variables;
- }
- let tokenMatch = false;
- for (let i = 0; i < variablesArray.length; i++) {
- const regex = new RegExp(`^--${variablesArray[i]}(--|__)`, 'g');
- const match = regex.test(token.name);
- if (match) {
- tokenMatch = true;
- break;
- }
- }
- if (!tokenMatch) {
- return null;
- }
- }
- dataRows.push([key, token.name, token.value]);
- }, []);
- const dataRowsSorted = dataRows.sort((a, b) => {
- if (a[0] < b[0]) {
- return -1;
- } else if (a[0] > b[0]) {
- return 1;
- }
- return 0;
- });
- const columns = [];
- this.state = {
- searchValue: '',
- columns: columns.concat([
- { title: 'Variables', transforms: [sortable] },
- { title: 'React Tokens', transforms: [sortable] },
- { title: 'Value', transforms: [sortable] }
- ]),
- dataRows: dataRowsSorted,
- rows: this.processToComponents(dataRowsSorted),
- sortBy: {
- index: 0,
- direction: 'asc' // a-z
- }
- };
- this.onSort = this.onSort.bind(this);
- }
-
- processToComponents = dataRows => {
- const rows = [];
- dataRows.map(dataRow => {
- const toPush = [];
- rows.push(
- toPush.concat([
- {title: {dataRow[1]} },
- {title: {dataRow[0]} },
- {title:
- {isColorRegex.test(dataRow[2]) && (
-
- )}
- {dataRow[2]}
- }
- ])
- );
- }, []);
- return rows;
- };
-
- onSort(_event, index, direction) {
- const sortedRows = this.state.dataRows.sort((a, b) => (a[index] < b[index] ? -1 : a[index] > b[index] ? 1 : 0));
- this.setState({
- sortBy: {
- index,
- direction
- },
- rows:
- direction === SortByDirection.asc
- ? this.processToComponents(sortedRows)
- : this.processToComponents(sortedRows.reverse())
- });
- }
-
- handleSearchChange = (checked, event) => {
- const searchValue = event.target.value;
- this.setState(() => ({
- searchValue
- }));
- };
-
- render() {
- const { searchValue, columns, dataRows, sortBy } = this.state;
- const searchRE = new RegExp(searchValue, 'i');
- const filteredTokens = dataRows.filter(c => searchRE.test(c[0]) || searchRE.test(c[1]) || searchRE.test(c[2]));
- const filteredRows = this.processToComponents(filteredTokens);
-
- return (
- <>
-
-
- >
- );
- }
-}
-
-Tokens.propTypes = propTypes;
-Tokens.defaultProps = defaultProps;
-
-export default Tokens;
diff --git a/packages/patternfly-4/react-docs/src/components/example/example.js b/packages/patternfly-4/react-docs/src/components/example/example.js
deleted file mode 100644
index f5bf17ffa50..00000000000
--- a/packages/patternfly-4/react-docs/src/components/example/example.js
+++ /dev/null
@@ -1,121 +0,0 @@
-import React from 'react';
-import { css } from '@patternfly/react-styles';
-import styles from './example.styles';
-import PropTypes from 'prop-types';
-import { Title } from '@patternfly/react-core';
-import LiveDemo from './liveDemo';
-import { withPrefix } from 'gatsby';
-import Section from '../section';
-
-const propTypes = {
- children: PropTypes.node.isRequired,
- title: PropTypes.string,
- description: PropTypes.string,
- className: PropTypes.string,
- fullPageOnly: PropTypes.bool,
- name: PropTypes.string,
- raw: PropTypes.string,
- path: PropTypes.string,
- images: PropTypes.array,
- live: PropTypes.bool,
- liveScope: PropTypes.object
-};
-
-const defaultProps = {
- className: '',
- description: '',
- fullPageOnly: false,
- title: '',
- name: '',
- raw: '',
- path: '',
- images: [],
- live: true,
- liveScope: {}
-};
-
-const GATSBY_LIVE_EXAMPLES = process.env.GATSBY_LIVE_EXAMPLES === 'true';
-
-const Example = ({
- children,
- title,
- className,
- description,
- name,
- fullPageOnly,
- raw,
- path: examplePath,
- images,
- live,
- liveScope,
- ...props
-}) => {
- const makeDescription = html => ({ __html: html });
-
- // Display full page link
- if (fullPageOnly) {
- const pathName = typeof window !== 'undefined' ? window.location.pathname : '';
- const exampleName = name.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
- const separator = pathName.endsWith('/') ? '' : '/';
- // Grab the last 2 path pieces, e.g. components/backgroundimage, layouts/gallery, demos/pagelayout
- const pathStart = `${pathName}${separator}`
- .split('/')
- .slice(-3)
- .slice(0, 2)
- .join('/');
- const path = `/${pathStart}/examples/${exampleName}`;
- return (
-
- );
- }
-
- return (
-
-
{title}
- {Boolean(description) && (
-
- )}
- {GATSBY_LIVE_EXAMPLES ? (
-
- {!live && (
-
- {children}
-
- )}
-
-
- ) : (
-
-
- {children}
-
-
-
- )}
-
- );
-};
-
-Example.propTypes = propTypes;
-Example.defaultProps = defaultProps;
-
-export default Example;
diff --git a/packages/patternfly-4/react-docs/src/components/example/example.styles.js b/packages/patternfly-4/react-docs/src/components/example/example.styles.js
deleted file mode 100644
index 74cf5110cdb..00000000000
--- a/packages/patternfly-4/react-docs/src/components/example/example.styles.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import { StyleSheet } from '@patternfly/react-styles';
-import {
- global_spacer_md as spacerMd,
- global_BorderWidth_sm as borderWidth,
- global_BorderColor_dark as borderColor
-} from '@patternfly/react-tokens';
-
-export default StyleSheet.create({
- example: {
- padding: spacerMd.var,
- border: `${borderWidth.var} solid ${borderColor.var}`
- }
-});
diff --git a/packages/patternfly-4/react-docs/src/components/example/index.js b/packages/patternfly-4/react-docs/src/components/example/index.js
deleted file mode 100644
index f46b8383576..00000000000
--- a/packages/patternfly-4/react-docs/src/components/example/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from './example';
diff --git a/packages/patternfly-4/react-docs/src/components/example/liveDemo.js b/packages/patternfly-4/react-docs/src/components/example/liveDemo.js
deleted file mode 100644
index fa5798604fb..00000000000
--- a/packages/patternfly-4/react-docs/src/components/example/liveDemo.js
+++ /dev/null
@@ -1,186 +0,0 @@
-import React from 'react';
-import { css } from '@patternfly/react-styles';
-import exampleStyles from './example.styles';
-import styles from './liveDemo.styles';
-import PropTypes from 'prop-types';
-import * as TableComponents from '@patternfly/react-table';
-import * as TableInlineEditingComponents from '@patternfly/react-inline-edit-extension';
-import * as ChartComponents from '@patternfly/react-charts';
-import * as CoreComponents from '@patternfly/react-core';
-import * as CoreIcons from '@patternfly/react-icons';
-import * as StyledSystemComponents from '@patternfly/react-styled-system';
-import { LiveProvider, LiveEditor, LiveError, LivePreview, withLive } from 'react-live';
-import { transform } from 'babel-standalone';
-import Section from '../section';
-import copy from 'clipboard-copy';
-import classNames from 'classnames';
-
-const propTypes = {
- className: PropTypes.string,
- raw: PropTypes.string.isRequired,
- path: PropTypes.string,
- images: PropTypes.array,
- live: PropTypes.bool,
- liveScope: PropTypes.object
-};
-
-const defaultProps = {
- className: '',
- path: '',
- images: [],
- live: true,
- liveScope: {}
-};
-
-const scopePlayground = {
- React,
- ...ChartComponents,
- ...TableComponents,
- ...TableInlineEditingComponents,
- ...StyledSystemComponents,
- ...CoreComponents,
- ...CoreIcons,
- css
-};
-
-const transformCode = code => {
- try {
- // LiveEditor doesn't work properly with these so need to remove
- code = code.replace(/^import(.|\s)*?;$/gm, '');
- code = code.replace(/^\s*export default class/gm, 'class');
- code = code.replace(/^\s*\/\/.*$/gm, '');
- code = code.replace(/extends Component/gm, 'extends React.Component');
- code = code.replace(/^\s*export.*$/gm, '');
- code = code.replace(/^\s*static(.|\s)*?;$/gm, '');
- let transformedCode = transform(code, {
- presets: ['react', 'stage-2']
- }).code;
- transformedCode = transformedCode.replace(/"use strict";/gm, '');
- return transformedCode;
- } catch (e) {
- console.log(e);
- // todo: handle error
- return code;
- }
-};
-
-class LiveDemo extends React.Component {
- state = {
- codeOpen: false,
- showCopyMessage: false,
- isDarkTheme: false
- };
-
- handleToggleDarkTheme = () => {
- this.setState({
- isDarkTheme: !this.state.isDarkTheme
- });
- };
-
- handleClickCodeOpen = () => {
- this.setState({
- codeOpen: !this.state.codeOpen
- });
- };
-
- handleClickCopy = () => {
- copy(this.props.raw);
- this.setState({
- showCopyMessage: true
- });
- setTimeout(() => {
- this.setState({
- showCopyMessage: false
- });
- }, 2000);
- };
-
- render() {
- const { className, raw, images, live, liveScope, path } = this.props;
- const { codeOpen, showCopyMessage, isDarkTheme } = this.state;
-
- const GITHUB_BASE = 'https://github.com/patternfly/patternfly-react/blob/master/packages/patternfly-4';
- const examplePath = `${GITHUB_BASE}${path.substr(5)}`;
-
- const scope = {
- ...scopePlayground,
- ...liveScope
- };
- for (const image of images) {
- const searchIndex = raw.search(image.name);
- if (searchIndex > -1) {
- const startIndex = raw.lastIndexOf('import', searchIndex);
- const importName = raw.substring(startIndex, searchIndex).split(' ')[1];
- scope[importName] = image.file;
- }
- }
- const darkThemeClasses = classNames({
- 'pf-t-dark pf-m-opaque-200': isDarkTheme
- });
-
- return (
-
-
- {live && }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copied to clipboard
-
-
- {codeOpen &&
- !live && (
-
-
- Live edititing disabled
-
-
- )}
-
- {codeOpen && }
- {live && }
-
-
- );
- }
-}
-
-LiveDemo.propTypes = propTypes;
-LiveDemo.defaultProps = defaultProps;
-
-export default withLive(LiveDemo);
diff --git a/packages/patternfly-4/react-docs/src/components/example/liveDemo.styles.js b/packages/patternfly-4/react-docs/src/components/example/liveDemo.styles.js
deleted file mode 100644
index 3c4db34a5ff..00000000000
--- a/packages/patternfly-4/react-docs/src/components/example/liveDemo.styles.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import { StyleSheet } from '@patternfly/react-styles';
-import {
- global_spacer_md as spacerMd,
- global_BorderWidth_sm as borderWidth,
- global_BorderColor_dark as borderColor
-} from '@patternfly/react-tokens';
-
-export default StyleSheet.create({
- code: {
- 'max-height': '37.5rem',
- overflow: 'auto'
- },
- toolbar: {
- borderLeft: `${borderWidth.var} solid ${borderColor.var}`,
- borderRight: `${borderWidth.var} solid ${borderColor.var}`,
- borderBottom: `${borderWidth.var} solid ${borderColor.var}`
- },
- message: {
- transition: '500ms all ease',
- opacity: 0,
- height: 0,
- 'will-change': 'opacity'
- },
- messageText: {
- background: 'black',
- color: 'white',
- padding: '3px 5px'
- },
- messageShow: {
- opacity: 1,
- height: 'initial'
- }
-});
diff --git a/packages/patternfly-4/react-docs/src/components/gridPlayground/gridPlayground.js b/packages/patternfly-4/react-docs/src/components/gridPlayground/gridPlayground.js
deleted file mode 100644
index b2fb992c497..00000000000
--- a/packages/patternfly-4/react-docs/src/components/gridPlayground/gridPlayground.js
+++ /dev/null
@@ -1,70 +0,0 @@
-import React from 'react';
-import { Grid, GridItem, Button } from '@patternfly/react-core';
-import { css } from '@patternfly/react-styles';
-import styles from './gridPlayground.styles';
-import ItemControl from './itemControl';
-
-let currentId = 1;
-
-function createGridItem() {
- return {
- id: currentId++,
- span: 3,
- rowSpan: 1,
- offset: 0
- };
-}
-
-class GridPlayground extends React.Component {
- state = {
- gridItems: [createGridItem(), createGridItem(), createGridItem(), createGridItem()]
- };
-
- handleAddGridItem = () => {
- this.setState(({ gridItems }) => ({
- gridItems: [...gridItems, createGridItem()]
- }));
- };
-
- handleGridItemUpdate = (id, updates) => {
- const index = this.state.gridItems.findIndex(i => i.id === id);
- this.setState({
- gridItems: [
- ...this.state.gridItems.slice(0, index),
- {
- ...this.state.gridItems[index],
- ...updates
- },
- ...this.state.gridItems.slice(index + 1)
- ]
- });
- };
-
- render() {
- return (
-
-
-
- {this.state.gridItems.map(({ id, ...itemProps }) => (
-
- {id}
-
- ))}
-
-
-
-
- Add Item
-
-
- {this.state.gridItems.map(item => (
-
- ))}
-
-
-
- );
- }
-}
-
-export default GridPlayground;
diff --git a/packages/patternfly-4/react-docs/src/components/gridPlayground/gridPlayground.styles.js b/packages/patternfly-4/react-docs/src/components/gridPlayground/gridPlayground.styles.js
deleted file mode 100644
index 075d86fa9e9..00000000000
--- a/packages/patternfly-4/react-docs/src/components/gridPlayground/gridPlayground.styles.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import { StyleSheet } from '@patternfly/react-styles';
-import {
- global_BorderColor as borderColor,
- global_BorderWidth_md as borderWidth,
- global_spacer_xs as padding
-} from '@patternfly/react-tokens';
-
-export default StyleSheet.create({
- item: {
- minHeight: 75,
- padding: padding.var,
- border: `${borderWidth.var} dashed ${borderColor.var}`
- },
- controlPanel: {
- position: 'relative',
- minHeight: 400
- },
- controlList: {
- position: 'absolute',
- top: 40,
- left: 0,
- right: 0,
- bottom: 0,
- overflowY: 'auto'
- }
-});
diff --git a/packages/patternfly-4/react-docs/src/components/gridPlayground/index.js b/packages/patternfly-4/react-docs/src/components/gridPlayground/index.js
deleted file mode 100644
index f36e4a861f4..00000000000
--- a/packages/patternfly-4/react-docs/src/components/gridPlayground/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from './gridPlayground';
diff --git a/packages/patternfly-4/react-docs/src/components/gridPlayground/itemControl.js b/packages/patternfly-4/react-docs/src/components/gridPlayground/itemControl.js
deleted file mode 100644
index ed5b6f64d0c..00000000000
--- a/packages/patternfly-4/react-docs/src/components/gridPlayground/itemControl.js
+++ /dev/null
@@ -1,61 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import { css } from '@patternfly/react-styles';
-import styles from './itemControl.styles';
-import SpanSlider from './spanSlider';
-
-const StringOrNumber = PropTypes.oneOfType([PropTypes.string, PropTypes.number]);
-
-const propTypes = {
- id: PropTypes.number.isRequired,
- span: StringOrNumber.isRequired,
- offset: StringOrNumber.isRequired,
- rowSpan: StringOrNumber.isRequired,
- onUpdateItem: PropTypes.func.isRequired
-};
-
-class ItemControl extends React.Component {
- static propTypes = propTypes;
-
- handleSpanChange = event => {
- const { id, onUpdateItem } = this.props;
- onUpdateItem(id, { span: event.currentTarget.value });
- };
-
- handleOffsetChange = event => {
- const { id, onUpdateItem } = this.props;
- onUpdateItem(id, { offset: event.currentTarget.value });
- };
-
- handleRowSpanChange = event => {
- const { id, onUpdateItem } = this.props;
- onUpdateItem(id, { rowSpan: event.currentTarget.value });
- };
-
- render() {
- const { id, span, offset, rowSpan } = this.props;
-
- return (
-
- );
- }
-}
-
-export default ItemControl;
diff --git a/packages/patternfly-4/react-docs/src/components/gridPlayground/itemControl.styles.js b/packages/patternfly-4/react-docs/src/components/gridPlayground/itemControl.styles.js
deleted file mode 100644
index 90111917ac9..00000000000
--- a/packages/patternfly-4/react-docs/src/components/gridPlayground/itemControl.styles.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import { StyleSheet } from '@patternfly/react-styles';
-import {
- global_BorderColor as borderColor,
- global_BorderWidth_sm as borderWidth,
- global_spacer_xs as spacer,
- global_FontSize_xs as fontSize
-} from '@patternfly/react-tokens';
-
-export default StyleSheet.create({
- itemControl: {
- fontSize: fontSize.var,
- padding: spacer.var,
- border: `${borderWidth.var} solid ${borderColor.var}`,
- marginBottom: spacer.var
- },
- label: {
- fontSize: fontSize.var
- },
- value: {
- fontSize: fontSize.var,
- textAlign: 'center'
- },
- rangeInput: {
- width: '100%'
- }
-});
diff --git a/packages/patternfly-4/react-docs/src/components/gridPlayground/spanSlider.js b/packages/patternfly-4/react-docs/src/components/gridPlayground/spanSlider.js
deleted file mode 100644
index be5f32a68b3..00000000000
--- a/packages/patternfly-4/react-docs/src/components/gridPlayground/spanSlider.js
+++ /dev/null
@@ -1,44 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import { css } from '@patternfly/react-styles';
-import styles from './spanSlider.styles';
-import { Grid, GridItem } from '@patternfly/react-core';
-
-const propTypes = {
- id: PropTypes.string.isRequired,
- label: PropTypes.string.isRequired,
- value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
- onChange: PropTypes.func.isRequired,
- min: PropTypes.number
-};
-
-const defaultProps = {
- min: 3
-};
-
-const SpanSlider = ({ label, id, onChange, min, value }) => (
-
-
- {label}
-
-
-
-
-
- {value}
-
-
-);
-
-SpanSlider.propTypes = propTypes;
-SpanSlider.defaultProps = defaultProps;
-
-export default SpanSlider;
diff --git a/packages/patternfly-4/react-docs/src/components/gridPlayground/spanSlider.styles.js b/packages/patternfly-4/react-docs/src/components/gridPlayground/spanSlider.styles.js
deleted file mode 100644
index a60252e7fee..00000000000
--- a/packages/patternfly-4/react-docs/src/components/gridPlayground/spanSlider.styles.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import { StyleSheet } from '@patternfly/react-styles';
-import {
- global_FontSize_xs as fontSize,
- global_LineHeight_sm as lineHeight,
- global_spacer_xs as marginBottom
-} from '@patternfly/react-tokens';
-
-export default StyleSheet.create({
- spanSlider: {
- marginBottom: marginBottom.var
- },
- label: {
- fontSize: fontSize.var,
- lineHeight: lineHeight.var
- },
- value: {
- fontSize: fontSize.var,
- textAlign: 'center'
- },
- rangeInput: {
- width: '100%'
- }
-});
diff --git a/packages/patternfly-4/react-docs/src/components/layouts/fullPage.js b/packages/patternfly-4/react-docs/src/components/layouts/fullPage.js
deleted file mode 100644
index 9e0dabf615f..00000000000
--- a/packages/patternfly-4/react-docs/src/components/layouts/fullPage.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import { canUseDOM } from 'exenv';
-
-const propTypes = {
- children: PropTypes.node.isRequired
-};
-
-const ExampleLayout = ({ children }) => canUseDOM && children;
-
-ExampleLayout.propTypes = propTypes;
-
-export default ExampleLayout;
diff --git a/packages/patternfly-4/react-docs/src/components/layouts/index.js b/packages/patternfly-4/react-docs/src/components/layouts/index.js
deleted file mode 100644
index 5e2f6d34d7f..00000000000
--- a/packages/patternfly-4/react-docs/src/components/layouts/index.js
+++ /dev/null
@@ -1,169 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import Helmet from 'react-helmet';
-import { graphql, StaticQuery } from 'gatsby';
-import * as DocsFiles from '../../../.tmp';
-import Page from '../page';
-import Navigation from '../navigation';
-import { injectGlobal } from 'emotion';
-
-injectGlobal(`
- html,
- body {
- width: 100%;
- height: 100%;
- }
-
- #___gatsby {
- position: relative;
- width: 100%;
- height: 100%;
- }
-`);
-
-const propTypes = {
- children: PropTypes.node.isRequired,
- data: PropTypes.any.isRequired,
- location: PropTypes.any.isRequired
-};
-
-class DocsLayout extends React.Component {
- state = {
- collapsed: true
- };
-
- handleCollapseExpandClick = collapsed => {
- const { location } = this.props;
- this.setState({ collapsed });
- if (location && location.state) {
- location.state.shouldBeCollapsed = collapsed;
- }
- };
-
- render() {
- const { data, children, location } = this.props;
- const { collapsed } = this.state;
- const componentMapper = (path, label) => {
- const { components } = DocsFiles[`${label.toLowerCase()}_docs`];
- return Object.keys(components).map(k => ({
- label: k,
- to: `${path}#${k}`
- }));
- };
-
- const getPackage = label => DocsFiles[`${label.toLowerCase()}_package`].substr(6);
-
- const componentRoutes = data.componentPages
- ? data.componentPages.edges.map(e => ({
- to: e.node.path,
- label: e.node.fields.label,
- pkg: getPackage(e.node.fields.label),
- components: componentMapper(e.node.path, e.node.fields.label)
- }))
- : [];
- const layoutRoutes = data.layoutPages
- ? data.layoutPages.edges.map(e => ({
- to: e.node.path,
- label: e.node.fields.label,
- pkg: getPackage(e.node.fields.label),
- components: componentMapper(e.node.path, e.node.fields.label)
- }))
- : [];
- const demoRoutes = data.demoPages
- ? data.demoPages.edges.map(e => ({
- to: e.node.path,
- label: e.node.fields.label
- }))
- : [];
- return (
-
-
-
-
-
-
-
-
-
-
-
-
- }
- >
- {children}
-
-
- );
- }
-}
-
-DocsLayout.propTypes = propTypes;
-
-export default props => (
- }
- />
-);
diff --git a/packages/patternfly-4/react-docs/src/components/navigation/index.js b/packages/patternfly-4/react-docs/src/components/navigation/index.js
deleted file mode 100644
index cfc2bfbb038..00000000000
--- a/packages/patternfly-4/react-docs/src/components/navigation/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from './navigation';
diff --git a/packages/patternfly-4/react-docs/src/components/navigation/navigation.js b/packages/patternfly-4/react-docs/src/components/navigation/navigation.js
deleted file mode 100644
index eec1605961d..00000000000
--- a/packages/patternfly-4/react-docs/src/components/navigation/navigation.js
+++ /dev/null
@@ -1,172 +0,0 @@
-import React from 'react';
-import { css } from '@patternfly/react-styles';
-import styles from './navigation.styles';
-import { Link } from 'gatsby';
-import PropTypes from 'prop-types';
-import logo from '../../assets/logo.png';
-import NavigationItemGroup from './navigationItemGroup';
-import NavigationItem from './navigationItem';
-import { Button, Form, FormGroup, TextInput } from '@patternfly/react-core';
-import { GoFold, GoUnfold } from 'react-icons/go';
-
-const routeShape = PropTypes.shape({
- to: PropTypes.string.isRequired,
- label: PropTypes.string.isRequired,
- pkg: PropTypes.string,
- components: PropTypes.array
-});
-
-const propTypes = {
- componentRoutes: PropTypes.arrayOf(routeShape),
- layoutRoutes: PropTypes.arrayOf(routeShape),
- demoRoutes: PropTypes.arrayOf(routeShape),
- collapsed: PropTypes.bool,
- handleCollapseExpandClick: PropTypes.func,
- location: PropTypes.any
-};
-
-const defaultProps = {
- componentRoutes: [],
- layoutRoutes: [],
- demoRoutes: [],
- collapsed: true,
- handleCollapseExpandClick: null,
- location: null
-};
-
-class Navigation extends React.Component {
- static propTypes = propTypes;
- static defaultProps = defaultProps;
- state = {
- searchValue: ''
- };
-
- handleSearchChange = (checked, event) => {
- const searchValue = event.target.value;
- this.setState(() => ({
- searchValue
- }));
- };
-
- expand = () => {
- this.props.handleCollapseExpandClick(false);
- };
-
- collapse = () => {
- this.props.handleCollapseExpandClick(true);
- };
-
- render() {
- const { componentRoutes, layoutRoutes, demoRoutes, collapsed, location } = this.props;
- const computedCollapsed =
- location && location.state && location.state.shouldBeCollapsed !== null
- ? location.state.shouldBeCollapsed
- : collapsed;
- const { searchValue } = this.state;
- const searchRE = new RegExp(searchValue, 'i');
-
- const filteredComponentRoutes = componentRoutes.filter(c => {
- c.filteredComponents = c.components.filter(component => searchRE.test(component.label));
- return searchRE.test(c.label) || c.filteredComponents.length > 0;
- });
-
- const filteredLayoutRoutes = layoutRoutes.filter(c => {
- c.filteredComponents = c.components.filter(component => searchRE.test(component.label));
- return searchRE.test(c.label) || c.filteredComponents.length > 0;
- });
-
- const filteredDemoRoutes = demoRoutes.filter(c => searchRE.test(c.label));
-
- return (
-
-
-
-
-
-
-
-
-
- {computedCollapsed ? (
-
- Expand All
-
-
- ) : (
-
- Collapse All
-
-
- )}
-
-
-
- Global Variables
-
-
- Icons
-
-
- {Boolean(filteredComponentRoutes.length) && (
-
- {filteredComponentRoutes.map(route => (
-
- {route.label}
-
- ))}
-
- )}
- {Boolean(filteredLayoutRoutes.length) && (
-
- {filteredLayoutRoutes.map(route => (
-
- {route.label}
-
- ))}
-
- )}
- {Boolean(filteredDemoRoutes.length) && (
-
- {filteredDemoRoutes.map(route => (
-
- {route.label}
-
- ))}
-
- )}
-
-
- );
- }
-}
-
-export default Navigation;
diff --git a/packages/patternfly-4/react-docs/src/components/navigation/navigation.styles.js b/packages/patternfly-4/react-docs/src/components/navigation/navigation.styles.js
deleted file mode 100644
index c7616f12df8..00000000000
--- a/packages/patternfly-4/react-docs/src/components/navigation/navigation.styles.js
+++ /dev/null
@@ -1,43 +0,0 @@
-import { StyleSheet } from '@patternfly/react-styles';
-import {
- global_FontSize_lg as fontSizeLg,
- global_spacer_md as spacerMd,
- global_BackgroundColor_100 as navBackgroundColor,
- c_nav_Width as sidebarWidth
-} from '@patternfly/react-tokens';
-
-export default StyleSheet.create({
- navigation: {
- width: sidebarWidth.value
- },
- navigationContent: {
- position: 'fixed',
- width: 'inherit',
- height: '100vh',
- overflowY: 'scroll',
- backgroundColor: navBackgroundColor.var
- },
- logo: {
- textAlign: 'center',
- margin: `${spacerMd.var} 0`,
- padding: `0 ${spacerMd.var}`
- },
- search: `
- &.pf-c-form {
- margin: ${spacerMd.var} 0;
- padding: 0 ${spacerMd.var};
- }
- .pf-c-form__label {
- --pf-c-form__label--FontSize: ${fontSizeLg.var};
- }
- `,
- collapseExpandButtons: `
- text-align: right;
- `,
- collapseExpandButton: `
- padding-right: 5px;
- `,
- collapseExpandIcon: `
- vertical-align: -3px;
- `
-});
diff --git a/packages/patternfly-4/react-docs/src/components/navigation/navigationItem.js b/packages/patternfly-4/react-docs/src/components/navigation/navigationItem.js
deleted file mode 100644
index ec4ae59d8db..00000000000
--- a/packages/patternfly-4/react-docs/src/components/navigation/navigationItem.js
+++ /dev/null
@@ -1,76 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import { css } from '@patternfly/react-styles';
-import styles from './navigationItem.styles';
-import { Link } from 'gatsby';
-import { Location } from '@reach/router';
-
-const propTypes = {
- to: PropTypes.string.isRequired,
- children: PropTypes.any.isRequired,
- pkg: PropTypes.string,
- components: PropTypes.array,
- collapsed: PropTypes.bool
-};
-
-const defaultProps = {
- pkg: '',
- components: [],
- collapsed: true
-};
-
-const pathPrefix = 'https://github.com/patternfly/patternfly-react/tree/master/packages/';
-const getPkgPrefix = pkg => (pkg === 'icons' ? 'react-icons' : `patternfly-4/react-${pkg}`);
-const navItemDescriptor = pkg => `Found in patternfly ${pkg}`;
-const navItemDescriptorId = children => `${children}Descriptor`;
-
-const NavigationItem = ({ to, children, pkg, components, collapsed }) => (
-
- {({ location }) => {
- const currentPath = location.pathname;
- const isActive = currentPath.toLowerCase().indexOf(children.toLowerCase()) > -1;
- return (
-
-
- {children}
-
-
- {pkg}
-
- {components &&
- components.length > 0 &&
- (isActive || !collapsed) && (
-
- {components.map(route => (
-
- {`${route.label} Props`}
-
- ))}
-
- )}
-
- );
- }}
-
-);
-
-NavigationItem.propTypes = propTypes;
-NavigationItem.defaultProps = defaultProps;
-
-export default NavigationItem;
diff --git a/packages/patternfly-4/react-docs/src/components/navigation/navigationItem.styles.js b/packages/patternfly-4/react-docs/src/components/navigation/navigationItem.styles.js
deleted file mode 100644
index b156197b252..00000000000
--- a/packages/patternfly-4/react-docs/src/components/navigation/navigationItem.styles.js
+++ /dev/null
@@ -1,54 +0,0 @@
-import { StyleSheet } from '@patternfly/react-styles';
-import {
- global_spacer_xs as spacerXs,
- global_spacer_sm as spacerSm,
- global_spacer_xl as spacerXl,
- global_spacer_3xl as spacer3Xl,
- global_Color_dark_100 as itemColor,
- global_BackgroundColor_300 as bgColorHover,
- global_BackgroundColor_200 as bgColorHover2,
- global_FontSize_xs as fontSizeXs,
- global_BorderRadius_lg as borderRadiusLg
-} from '@patternfly/react-tokens';
-
-export default StyleSheet.create({
- navigationItem: {
- padding: `${spacerXs.var} ${spacerXs.var} ${spacerXs.var} ${spacerXl.var}`,
- display: 'block',
- color: itemColor.var,
- textDecoration: 'none',
- ':hover,:focus': {
- backgroundColor: bgColorHover.var,
- textDecoration: 'none'
- }
- },
- collapsedNavItem: {
- padding: `${spacerXs.var} 0`
- },
- secondaryList: {
- paddingBottom: spacerXs.var
- },
- navigationItemSecondary: {
- padding: `${spacerXs.var} ${spacerXs.var} ${spacerXs.var} ${spacer3Xl.var}`,
- display: 'block',
- color: itemColor.var,
- textDecoration: 'none',
- ':hover': {
- backgroundColor: bgColorHover2.var,
- textDecoration: 'none'
- },
- fontSize: fontSizeXs.var
- },
- active: {
- backgroundColor: bgColorHover.var
- },
- pkgLabel: `
- background-color: ${bgColorHover.var};
- float: right;
- margin-top: -25px;
- margin-right: 10px;
- font-size: ${fontSizeXs.var};
- padding: 0 ${spacerSm.var};
- border-radius: ${borderRadiusLg.var};
- `
-});
diff --git a/packages/patternfly-4/react-docs/src/components/navigation/navigationItemGroup.js b/packages/patternfly-4/react-docs/src/components/navigation/navigationItemGroup.js
deleted file mode 100644
index 18ec9976d40..00000000000
--- a/packages/patternfly-4/react-docs/src/components/navigation/navigationItemGroup.js
+++ /dev/null
@@ -1,30 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import { css } from '@patternfly/react-styles';
-import styles from './navigationItemGroup.styles';
-
-const propTypes = {
- title: PropTypes.string.isRequired,
- children: PropTypes.any.isRequired
-};
-
-class NavigationItemGroup extends React.Component {
- static currentId = 0;
- static propTypes = propTypes;
-
- id = NavigationItemGroup.currentId++;
- contentId = `nav-item-group-content-${this.id}`;
-
- render() {
- const { title, children } = this.props;
-
- return (
-
- {title}
-
-
- );
- }
-}
-
-export default NavigationItemGroup;
diff --git a/packages/patternfly-4/react-docs/src/components/navigation/navigationItemGroup.styles.js b/packages/patternfly-4/react-docs/src/components/navigation/navigationItemGroup.styles.js
deleted file mode 100644
index f3c78c3aeb2..00000000000
--- a/packages/patternfly-4/react-docs/src/components/navigation/navigationItemGroup.styles.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import { StyleSheet } from '@patternfly/react-styles';
-import { global_spacer_md as spacerMd, global_FontSize_sm as fontSizeSm } from '@patternfly/react-tokens';
-
-export default StyleSheet.create({
- title: {
- fontSize: fontSizeSm.var,
- padding: spacerMd.var,
- display: 'flex',
- alignItems: 'center',
- justifyContent: 'space-between'
- }
-});
diff --git a/packages/patternfly-4/react-docs/src/components/page/index.js b/packages/patternfly-4/react-docs/src/components/page/index.js
deleted file mode 100644
index 70c0a557dac..00000000000
--- a/packages/patternfly-4/react-docs/src/components/page/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from './page';
diff --git a/packages/patternfly-4/react-docs/src/components/page/page.js b/packages/patternfly-4/react-docs/src/components/page/page.js
deleted file mode 100644
index 0913f17b564..00000000000
--- a/packages/patternfly-4/react-docs/src/components/page/page.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import styles from './page.styles';
-import { css } from '@patternfly/react-styles';
-import Helmet from 'react-helmet';
-import { canUseDOM } from 'exenv';
-
-const propTypes = {
- title: PropTypes.string,
- children: PropTypes.node,
- navigation: PropTypes.node
-};
-
-const defaultProps = {
- title: 'PatternFly',
- children: null,
- navigation: null
-};
-
-const Page = ({ navigation, children, title }) =>
- canUseDOM && (
-
-
-
-
- );
-
-Page.propTypes = propTypes;
-Page.defaultProps = defaultProps;
-
-export default Page;
diff --git a/packages/patternfly-4/react-docs/src/components/page/page.styles.js b/packages/patternfly-4/react-docs/src/components/page/page.styles.js
deleted file mode 100644
index 17fcaf1004b..00000000000
--- a/packages/patternfly-4/react-docs/src/components/page/page.styles.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import { StyleSheet } from '@patternfly/react-styles';
-
-export default StyleSheet.create({
- page: {
- display: 'flex',
- minHeight: '100%',
- width: '100%'
- },
- nav: {
- position: 'relative',
- flexShrink: 0,
- borderRight: 'solid 1px #cecece'
- },
- main: {
- position: 'relative',
- flex: '1 1 auto',
- overflowX: 'hidden'
- }
-});
diff --git a/packages/patternfly-4/react-docs/src/components/propsTable/index.js b/packages/patternfly-4/react-docs/src/components/propsTable/index.js
deleted file mode 100644
index 0378e26548f..00000000000
--- a/packages/patternfly-4/react-docs/src/components/propsTable/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from './propsTable';
diff --git a/packages/patternfly-4/react-docs/src/components/propsTable/propsTable.js b/packages/patternfly-4/react-docs/src/components/propsTable/propsTable.js
deleted file mode 100644
index 8f448cc7067..00000000000
--- a/packages/patternfly-4/react-docs/src/components/propsTable/propsTable.js
+++ /dev/null
@@ -1,82 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import styles from './propsTable.styles';
-import { css } from '@patternfly/react-styles';
-import { Table, Row, TD, TH, Body, Heading } from '../table';
-import Section from '../section';
-import { ExclamationCircleIcon } from '@patternfly/react-icons';
-
-const docGenPropValueShape = PropTypes.shape({ value: PropTypes.string });
-const docGenPropShape = PropTypes.shape({
- type: PropTypes.shape({
- name: PropTypes.string,
- value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(docGenPropValueShape)])
- }),
- required: PropTypes.bool,
- description: PropTypes.shape({ text: PropTypes.string }),
- defaultValue: PropTypes.shape({ value: PropTypes.string })
-});
-
-const propTypes = {
- name: PropTypes.string.isRequired,
- props: PropTypes.arrayOf(docGenPropShape),
- enumValues: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.any)),
- description: PropTypes.shape({ text: PropTypes.string })
-};
-
-const defaultProps = {
- props: [],
- enumValues: {},
- description: ''
-};
-
-export const PropsTable = ({ name, description: preface, props, enumValues }) => (
-
-
-
- Name
- Type
- Required
- Default
- Description
-
-
- {props.map(prop => (
-
- {prop.name}
-
- {getEnumValue(prop, enumValues)}
-
- {prop.required && }
- {Boolean(prop.defaultValue) && prop.defaultValue.value}
- {prop.description && }
-
- ))}
-
-
-
-);
-
-function getEnumValue(prop, enumValues) {
- let returnValue = '';
- let values;
- if (prop.type.name === 'union') {
- values = prop.type.value.map(v => v.name);
- returnValue = `${values.join(' | ')}`;
- } else {
- values = Array.isArray(prop.type.value) ? prop.type.value.map(v => v.value) : enumValues[prop.type.value];
- returnValue = values ? `${prop.type.name}: ${values.join(', ')}` : prop.type.name;
- }
- return returnValue;
-}
-
-PropsTable.propTypes = propTypes;
-PropsTable.defaultProps = defaultProps;
-
-export default PropsTable;
diff --git a/packages/patternfly-4/react-docs/src/components/propsTable/propsTable.styles.js b/packages/patternfly-4/react-docs/src/components/propsTable/propsTable.styles.js
deleted file mode 100644
index 8b18485ae1a..00000000000
--- a/packages/patternfly-4/react-docs/src/components/propsTable/propsTable.styles.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import { StyleSheet } from '@patternfly/react-styles';
-
-export default StyleSheet.create({
- enumValues: {
- maxWidth: 200
- },
- requiredColumn: {
- textAlign: 'center'
- }
-});
diff --git a/packages/patternfly-4/react-docs/src/components/propsTableTs/index.js b/packages/patternfly-4/react-docs/src/components/propsTableTs/index.js
deleted file mode 100644
index 421ab383140..00000000000
--- a/packages/patternfly-4/react-docs/src/components/propsTableTs/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from './propsTableTs';
diff --git a/packages/patternfly-4/react-docs/src/components/propsTableTs/propsTableTs.js b/packages/patternfly-4/react-docs/src/components/propsTableTs/propsTableTs.js
deleted file mode 100644
index 6d340ec20d5..00000000000
--- a/packages/patternfly-4/react-docs/src/components/propsTableTs/propsTableTs.js
+++ /dev/null
@@ -1,64 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import { Table, Row, TD, TH, Body, Heading } from '../table';
-import Section from '../section';
-import { ExclamationCircleIcon } from '@patternfly/react-icons';
-
-const docGenPropShape = PropTypes.shape({
- name: PropTypes.string,
- comment: PropTypes.shape({ shortText: PropTypes.string }),
- type: PropTypes.shape({
- name: PropTypes.string,
- type: PropTypes.string
- }),
- flags: PropTypes.shape({ isOptional: PropTypes.bool }),
- signatures: PropTypes.array
-});
-
-const propTypes = {
- name: PropTypes.string.isRequired,
- props: PropTypes.arrayOf(docGenPropShape),
- types: PropTypes.object,
- defaultProps: PropTypes.any
-};
-
-const defaultProps = {
- props: [],
- types: {},
- defaultProps: {}
-};
-
-export const PropsTableTs = ({ name, props }) => (
-
-
-
- Name
- Type
- Required
- Default
- Description
-
-
- {props.map(prop => (
-
- {prop.name}
- {prop.type}
- {prop.required && }
- {prop.default ? prop.default : ''}
- {prop.comment && }
-
- ))}
-
-
-
-);
-
-PropsTableTs.propTypes = propTypes;
-PropsTableTs.defaultProps = defaultProps;
-
-export default PropsTableTs;
diff --git a/packages/patternfly-4/react-docs/src/components/propsTableTs/propsTableTs.styles.js b/packages/patternfly-4/react-docs/src/components/propsTableTs/propsTableTs.styles.js
deleted file mode 100644
index 8b18485ae1a..00000000000
--- a/packages/patternfly-4/react-docs/src/components/propsTableTs/propsTableTs.styles.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import { StyleSheet } from '@patternfly/react-styles';
-
-export default StyleSheet.create({
- enumValues: {
- maxWidth: 200
- },
- requiredColumn: {
- textAlign: 'center'
- }
-});
diff --git a/packages/patternfly-4/react-docs/src/components/section/index.js b/packages/patternfly-4/react-docs/src/components/section/index.js
deleted file mode 100644
index ce2b58cbac7..00000000000
--- a/packages/patternfly-4/react-docs/src/components/section/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from './section';
diff --git a/packages/patternfly-4/react-docs/src/components/section/section.js b/packages/patternfly-4/react-docs/src/components/section/section.js
deleted file mode 100644
index 6905804d405..00000000000
--- a/packages/patternfly-4/react-docs/src/components/section/section.js
+++ /dev/null
@@ -1,48 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import { css } from '@patternfly/react-styles';
-import styles from './section.styles';
-import { Title } from '@patternfly/react-core';
-
-const propTypes = {
- children: PropTypes.node,
- className: PropTypes.string,
- description: PropTypes.string,
- headingLevel: PropTypes.string,
- headingSize: PropTypes.string,
- name: PropTypes.string,
- preface: PropTypes.string,
- title: PropTypes.string
-};
-
-const defaultProps = {
- children: null,
- className: '',
- description: '',
- name: '',
- preface: '',
- title: '',
- headingSize: 'lg'
-};
-
-const Section = ({ children, className, description, headingLevel, headingSize, name, preface, title, ...props }) => (
-
- {Boolean(title || description) && (
-
- {Boolean(title) && (
-
- {title}
-
- )}
- {Boolean(preface) && {preface}
}
- {Boolean(description) && {description}
}
-
- )}
- {children}
-
-);
-
-Section.propTypes = propTypes;
-Section.defaultProps = defaultProps;
-
-export default Section;
diff --git a/packages/patternfly-4/react-docs/src/components/section/section.styles.js b/packages/patternfly-4/react-docs/src/components/section/section.styles.js
deleted file mode 100644
index 201c2b26f37..00000000000
--- a/packages/patternfly-4/react-docs/src/components/section/section.styles.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import { StyleSheet } from '@patternfly/react-styles';
-import {
- global_spacer_lg as spacerLg,
- global_spacer_md as spacerMd,
- global_spacer_sm as spacerSm
-} from '@patternfly/react-tokens';
-
-export default StyleSheet.create({
- section: {
- marginBottom: spacerLg.var
- },
- header: {
- marginBottom: spacerMd.var
- },
- preface: {
- marginTop: spacerSm.var,
- marginBottom: spacerSm.var
- }
-});
diff --git a/packages/patternfly-4/react-docs/src/components/siteNav.js b/packages/patternfly-4/react-docs/src/components/siteNav.js
new file mode 100644
index 00000000000..6bf49c8178a
--- /dev/null
+++ b/packages/patternfly-4/react-docs/src/components/siteNav.js
@@ -0,0 +1,114 @@
+import React from "react";
+import { useStaticQuery, graphql } from "gatsby";
+import { Link } from "gatsby";
+import { Location } from '@reach/router';
+
+import { Nav, NavList, NavExpandable, NavItem } from '@patternfly/react-core';
+
+const SiteNav = () => {
+ const data = useStaticQuery(graphql`
+ {
+ site {
+ pathPrefix
+ }
+ allSitePage {
+ edges {
+ node {
+ path
+ context {
+ title
+ }
+ }
+ }
+ }
+ }`);
+
+ const getSlashCount = str => {
+ let count = 0;
+ str.split('/').forEach(s => {
+ if (s.length > 0)
+ count++;
+ });
+
+ return count;
+ }
+
+ const grouped = data.allSitePage.edges
+ .map(edge => edge.node)
+ .filter(node => node.context)
+ .map(node => { // Add a title for pages under src/pages/*/*.js
+ if (!node.context.title) {
+ const split = node.path.split('/');
+ split.forEach(s => { if (s) node.context.title = s; });
+ }
+ return node;
+ })
+ .filter(node => getSlashCount(node.path) === 2) // to exclude default /404.html/
+ .reduce((acc, node) => {
+ const group = node.path.split('/')[1];
+ acc[group] = acc[group] || [];
+ acc[group].push(node);
+ return acc;
+ }, {});
+
+ const isActive = (path, curPath) => {
+ return curPath === path || curPath === data.site.pathPrefix + path;
+ };
+
+ const getNavItem = (value) => (
+
+ {({ location }) => (
+
+ {value.context.title}
+
+ )}
+
+ );
+
+ const hasActiveLink = (navGroup, location) => {
+ for (const value of navGroup) {
+ if (isActive(value.path, location.pathname)) {
+ return true;
+ }
+ }
+
+ return false;
+ };
+
+ const getNavGroup = ([navGroupName, navGroup]) => {
+ if (navGroup.length === 1) {
+ return getNavItem(navGroup[0]);
+ } else {
+ return (
+
+ {({ location }) => (
+
+ {navGroup
+ .sort((v1, v2) => v1.context.title.localeCompare(v2.context.title))
+ .map(getNavItem)}
+
+ )}
+
+ );
+ }
+ };
+
+ return (
+
+
+ {Object.entries(grouped)
+ .sort(([k1, v1], [k2, v2]) => {
+ if (v1.length === 1 && v2.length > 1) { // Group single items at bottom
+ return 1;
+ } else if (v1.length > 1 && v2.length === 1) {
+ return -1;
+ }
+ return k1.localeCompare(k2)
+ })
+ .map(getNavGroup)}
+
+
+ );
+}
+
+export default SiteNav;
diff --git a/packages/patternfly-4/react-docs/src/components/table/index.js b/packages/patternfly-4/react-docs/src/components/table/index.js
deleted file mode 100644
index 01643f0f57f..00000000000
--- a/packages/patternfly-4/react-docs/src/components/table/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export * from './table';
diff --git a/packages/patternfly-4/react-docs/src/components/table/table.js b/packages/patternfly-4/react-docs/src/components/table/table.js
deleted file mode 100644
index 6296bd77a86..00000000000
--- a/packages/patternfly-4/react-docs/src/components/table/table.js
+++ /dev/null
@@ -1,50 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import styles from './table.styles';
-import { css } from '@patternfly/react-styles';
-
-const propTypes = {
- children: PropTypes.any,
- align: PropTypes.oneOf(['left', 'center', 'right']), // eslint-disable-line
- className: PropTypes.string // eslint-disable-line
-};
-
-const defaultProps = {
- children: null,
- align: null,
- className: ''
-};
-
-export const TD = ({ children, align, className, ...props }) => (
-
- {children}
-
-);
-TD.propTypes = propTypes;
-TD.defaultProps = defaultProps;
-
-export const TH = ({ children, align }) => (
- {children}
-);
-TH.propTypes = propTypes;
-TH.defaultProps = defaultProps;
-
-export const Row = ({ children }) => {children} ;
-Row.propTypes = propTypes;
-Row.defaultProps = defaultProps;
-
-export const Heading = ({ children }) => (
-
- {children}
-
-);
-Heading.propTypes = propTypes;
-Heading.defaultProps = defaultProps;
-
-export const Body = ({ children }) => {children} ;
-Body.propTypes = propTypes;
-Body.defaultProps = defaultProps;
-
-export const Table = ({ children }) => ;
-Table.propTypes = propTypes;
-Table.defaultProps = defaultProps;
diff --git a/packages/patternfly-4/react-docs/src/components/table/table.styles.js b/packages/patternfly-4/react-docs/src/components/table/table.styles.js
deleted file mode 100644
index c4330d13ce1..00000000000
--- a/packages/patternfly-4/react-docs/src/components/table/table.styles.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import { StyleSheet } from '@patternfly/react-styles';
-import {
- global_FontSize_sm as fontSizeSm,
- global_spacer_sm as spacerSm,
- global_spacer_md as spacerMd,
- global_BorderWidth_sm as borderWidth,
- global_BorderColor_light as borderColor
-} from '@patternfly/react-tokens';
-
-export default StyleSheet.create({
- table: {
- width: '100%',
- fontSize: fontSizeSm.var
- },
- row: {
- borderBottom: `${borderWidth.var} solid ${borderColor.var}`
- },
- cell: {
- padding: `${spacerSm.var} ${spacerMd.var}`
- },
- enumValues: {
- whiteSpace: 'pre'
- },
- leftAlign: {
- textAlign: 'left'
- },
- centerAlign: {
- textAlign: 'center'
- },
- rightAlign: {
- textAlign: 'right'
- }
-});
diff --git a/packages/patternfly-4/react-docs/src/helpers/astHelpers.js b/packages/patternfly-4/react-docs/src/helpers/astHelpers.js
new file mode 100644
index 00000000000..ee77fb47b80
--- /dev/null
+++ b/packages/patternfly-4/react-docs/src/helpers/astHelpers.js
@@ -0,0 +1,50 @@
+function getUsedComponents0(htmlAstNode, possibleComponents, res) {
+ if (!htmlAstNode) {
+ return;
+ }
+
+ if (htmlAstNode.type === 'element' &&
+ htmlAstNode.tagName === 'code' &&
+ htmlAstNode.properties.className &&
+ htmlAstNode.properties.className[0] === 'language-js') {
+ htmlAstNode.children.filter(c => c.type === 'text').map(c => c.value.toLowerCase()).forEach(text => {
+ possibleComponents.forEach(p => {
+ if (text.indexOf(p.toLowerCase()) !== -1) res[p] = true;
+ })
+ });
+ }
+ else if (htmlAstNode.children) {
+ for (const c of htmlAstNode.children) {
+ getUsedComponents0(c, possibleComponents, res);
+ }
+ }
+}
+
+// Recursively look through all tagName: code blocks for which components are used in the *.md file
+// Save results in res
+exports.getUsedComponents = (htmlAstNode, possibleComponents) => {
+ let res = {};
+ getUsedComponents0(htmlAstNode, possibleComponents, res);
+ return Object.keys(res);
+}
+
+function getLinks0(htmlAstNode, res) {
+ if (!htmlAstNode) {
+ return;
+ }
+
+ if (htmlAstNode.type === 'element' && htmlAstNode.tagName === 'a') {
+ res[htmlAstNode.properties.href] = true;
+ }
+ else if (htmlAstNode.children) {
+ for (const c of htmlAstNode.children) {
+ getLinks0(c, res);
+ }
+ }
+}
+
+exports.getLinks = (htmlAst) => {
+ let res = {};
+ getLinks0(htmlAst, res);
+ return Object.keys(res);
+}
\ No newline at end of file
diff --git a/packages/patternfly-4/react-docs/src/helpers/dynamicImports.js b/packages/patternfly-4/react-docs/src/helpers/dynamicImports.js
new file mode 100644
index 00000000000..20016ecd280
--- /dev/null
+++ b/packages/patternfly-4/react-docs/src/helpers/dynamicImports.js
@@ -0,0 +1,49 @@
+// Dynamic imports. Yep, this is as ghetto as it looks.
+// We cannot use `"@patternfly/react-core": "file:../react-core"` in package.json and then
+// use the normal require("@patternfly/react-core") here because we need to use a *locked*
+// version of react-core for other component _inside_ our website (like the nav) in case
+// they break during local development. This is so the website won't fall apart if you break
+// the code for react-core/src/components/Button locally.
+const reactCharts = require("../../../react-charts/dist/esm");
+const reactCore = require("../../../react-core/dist/esm");
+const reactIcons = require("../../../../react-icons/dist/esm");
+const reactStyled = require("../../../react-styled-system/dist/esm");
+const reactStyles = require("../../../react-styles/dist/esm");
+const reactTable = require("../../../react-table/dist/esm");
+const reactTokens = require("../../../react-tokens/dist/esm");
+const reactStyledSystem = require("../../../react-styled-system/dist/esm")
+const reactInlineEdit = require("../../../react-inline-edit-extension/dist/esm")
+// This is from our gatsby-transformer-react-examples plugin
+const exampleComponents = require("../../.cache/example_index");
+
+
+let imports = {
+ "@patternfly/react-charts": reactCharts,
+ "@patternfly/react-core": reactCore,
+ "@patternfly/react-icons": reactIcons,
+ "@patternfly/react-styled-system": reactStyled,
+ "@patternfly/react-styles": reactStyles,
+ "@patternfly/react-table": reactTable,
+ "@patternfly/react-tokens": reactTokens,
+ "@patternfly/react-styled-system": reactStyledSystem,
+ "@patternfly/react-inline-edit-extension": reactInlineEdit
+};
+
+exports.getScope = (sourceCode, exampleResources) => {
+ let res = {};
+ Object.entries(imports).forEach(([key, value]) => {
+ if (sourceCode.indexOf(key) !== -1) {
+ Object.keys(value).forEach(expor => res[expor] = value[expor]);
+ }
+ });
+
+ // If this doesn't resolve, the filename of the imported component _must_ match
+ // the import. i.e. import abc123 from './examples/abc123'
+ exampleResources.forEach(resource => {
+ res[resource] = exampleComponents[resource];
+ });
+
+ return res;
+};
+
+exports.getTokens = () => imports["@patternfly/react-tokens"];
diff --git a/packages/patternfly-4/react-docs/src/helpers/navHelpers.js b/packages/patternfly-4/react-docs/src/helpers/navHelpers.js
new file mode 100644
index 00000000000..431bcfa290e
--- /dev/null
+++ b/packages/patternfly-4/react-docs/src/helpers/navHelpers.js
@@ -0,0 +1,11 @@
+const path = require("path")
+
+exports.getFileName = filename => {
+ const extension = path.extname(filename);
+ return path.basename(filename, extension).toLowerCase().trim();
+}
+
+exports.getParentFolder = filename => {
+ const split = filename.split('/');
+ return split[split.length - 2]; // i.e. 'Alert' in '/ff/ff/Alert/AlertSomething.js'
+}
diff --git a/packages/patternfly-4/react-docs/src/pages/getting-started/faqs.js b/packages/patternfly-4/react-docs/src/pages/getting-started/faqs.js
deleted file mode 100644
index a60e6d37a5b..00000000000
--- a/packages/patternfly-4/react-docs/src/pages/getting-started/faqs.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import React from 'react';
-
-export default () => Getting Started - Faqs
;
diff --git a/packages/patternfly-4/react-docs/src/pages/getting-started/index.js b/packages/patternfly-4/react-docs/src/pages/getting-started/index.js
deleted file mode 100644
index 514095de93f..00000000000
--- a/packages/patternfly-4/react-docs/src/pages/getting-started/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import React from 'react';
-
-export default () => Getting Started
;
diff --git a/packages/patternfly-4/react-docs/src/pages/icons/icons.js b/packages/patternfly-4/react-docs/src/pages/icons/icons.js
new file mode 100644
index 00000000000..383c3ea8005
--- /dev/null
+++ b/packages/patternfly-4/react-docs/src/pages/icons/icons.js
@@ -0,0 +1,59 @@
+import React from 'react';
+import { Title, Grid, GridItem, Tooltip, Text, PageSection } from '@patternfly/react-core';
+import { global_spacer_md as spacerMd, global_FontSize_sm as labelFontSize } from '@patternfly/react-tokens';
+import * as IconsModule from '@patternfly/react-icons';
+import SidebarLayout from '../../templates/sidebarLayout';
+
+const Icons = () => {
+ const allIcons = Object.entries(IconsModule)
+ .filter(([name]) => name.endsWith('Icon'))
+ .sort(([name1], [name2]) => name1.localeCompare(name2));
+
+ const cellStyle = {
+ display: 'flex',
+ flexDirection: 'column',
+ alignItems: 'center',
+ padding: spacerMd.var
+ };
+
+ const labelStyle = {
+ textAlign: 'center',
+ fontSize: labelFontSize.var
+ };
+
+ const getLabel = (label) => {
+ let res = '';
+ label = label.replace(/[iI]con/g, '');
+ for (let i = 0; i < label.length; i++) {
+ if (label.charAt(i) === label.charAt(i).toUpperCase()) {
+ res += ' ';
+ }
+ res += label.charAt(i);
+ }
+
+ return res;
+ }
+
+ return (
+
+
+ Icons
+
+ These are all Patternfly React Icons.
+
+
+ {allIcons.map(([id, Icon]) => (
+
+ {id}
}>
+
+
+
{getLabel(id)}
+
+ ))}
+
+
+
+ );
+}
+
+export default Icons;
diff --git a/packages/patternfly-4/react-docs/src/pages/index.js b/packages/patternfly-4/react-docs/src/pages/index.js
index 6deda13c292..7f2b2b88e4d 100644
--- a/packages/patternfly-4/react-docs/src/pages/index.js
+++ b/packages/patternfly-4/react-docs/src/pages/index.js
@@ -1,45 +1,105 @@
import React from 'react';
-import ReactDOM from 'react-dom';
-import Content from '../components/content';
-import { Title } from '@patternfly/react-core';
-import { StyleSheet, css } from '@patternfly/react-styles';
-import packageJson from '../../../react-core/package.json';
-import {
- global_Color_dark_100 as heroBackgrounColor,
- global_Color_light_100 as heroTextColor
-} from '@patternfly/react-tokens';
-import DocsLayout from '../components/layouts';
+import { graphql } from 'gatsby';
+import SidebarLayout from '../templates/sidebarLayout';
+import { Title, PageSection, PageSectionVariants } from '@patternfly/react-core';
-if (process.env.NODE_ENV !== 'production') {
- const axe = require('react-axe'); // eslint-disable-line global-require
- axe(React, ReactDOM, 1000);
-}
+const containerStyle = {
+ display: "flex",
+ justifyContent: "center",
+ flexDirection: "column",
+ height: "100%"
+};
-const styles = StyleSheet.create({
- hero: {
- height: '100vh',
- backgroundColor: heroBackgrounColor.var,
- display: 'flex',
- alignItems: 'center'
- },
- heroText: {
- color: heroTextColor.var
- }
-});
+// https://philipwalton.github.io/solved-by-flexbox/demos/vertical-centering/
+const centerStyle = {
+ flexGrow: 1,
+ display: "flex",
+ alignItems: "center",
+ justifyContent: "center"
+};
-const IndexPage = () => (
-
-
-
-
- PatternFly React
-
-
- Version: {packageJson.version}
-
-
-
-
-);
+const IndexPage = ({ data }) => {
+ const prInfo = data.allEnvVars.edges
+ .filter(({ node }) => node.name === 'PR_INFO')[0].node;
+
+ return (
+
+
+
+
+
PatternFly 4 React Docs
+
+ {prInfo.num ? PR #{prInfo.num} : "Hi people!"}
+
+
Welcome to Patternfly 4 React docs.
+
Now go build something great.
+
+
+
+ Built with:
+ {Object.values(data)
+ .filter(v => v.nodes)
+ .map(v => v.nodes[0])
+ .map(node => {node.name}: {node.version}
)}
+
+
+
+ );
+};
+
+export const pageQuery = graphql`
+{
+ allReactCoreJson {
+ nodes {
+ name
+ version
+ }
+ }
+ allReactTableJson {
+ nodes {
+ name
+ version
+ }
+ }
+ allReactChartsJson {
+ nodes {
+ name
+ version
+ }
+ }
+ allReactTokensJson {
+ nodes {
+ name
+ version
+ }
+ }
+ allReactStyledSystemJson {
+ nodes {
+ name
+ version
+ }
+ }
+ allReactInlineEditExtensionJson {
+ nodes {
+ name
+ version
+ }
+ }
+ allReactTokensJson {
+ nodes {
+ name
+ version
+ }
+ }
+ allEnvVars {
+ edges {
+ node {
+ name
+ num
+ url
+ }
+ }
+ }
+}`;
export default IndexPage;
diff --git a/packages/patternfly-4/react-docs/src/pages/styles/icons.js b/packages/patternfly-4/react-docs/src/pages/styles/icons.js
deleted file mode 100644
index a9f53cc7bf7..00000000000
--- a/packages/patternfly-4/react-docs/src/pages/styles/icons.js
+++ /dev/null
@@ -1,42 +0,0 @@
-import React from 'react';
-import Content from '../../components/content';
-import { Title, Grid, GridItem } from '@patternfly/react-core';
-import * as icons from '@patternfly/react-icons';
-import { css, StyleSheet } from '@patternfly/react-styles';
-import { global_spacer_md as spacerMd, global_FontSize_sm as labelFontSize } from '@patternfly/react-tokens';
-import DocsLayout from '../../components/layouts';
-
-const allIcons = Object.entries(icons).filter(([name]) => name.endsWith('Icon'));
-
-const styles = StyleSheet.create({
- iconCell: {
- display: 'flex',
- flexDirection: 'column',
- alignItems: 'center',
- padding: spacerMd.var
- },
- label: {
- textAlign: 'center',
- fontSize: labelFontSize.var
- }
-});
-
-function Icons() {
- return (
-
-
- Icons
-
- {allIcons.map(([id, Icon]) => (
-
-
- {id}
-
- ))}
-
-
-
- );
-}
-
-export default Icons;
diff --git a/packages/patternfly-4/react-docs/src/pages/styles/tokens.js b/packages/patternfly-4/react-docs/src/pages/styles/tokens.js
deleted file mode 100644
index fc399e01394..00000000000
--- a/packages/patternfly-4/react-docs/src/pages/styles/tokens.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import React from 'react';
-import Content from '../../components/content';
-import { Title } from '@patternfly/react-core';
-import DocsLayout from '../../components/layouts';
-import Tokens from '../../components/css-variables';
-
-function GlobalVariables() {
- return (
-
-
- Global CSS Variables
-
-
-
- );
-}
-
-export default GlobalVariables;
diff --git a/packages/patternfly-4/react-docs/src/pages/tokens/global-css-variables.js b/packages/patternfly-4/react-docs/src/pages/tokens/global-css-variables.js
new file mode 100644
index 00000000000..6f1b389cde4
--- /dev/null
+++ b/packages/patternfly-4/react-docs/src/pages/tokens/global-css-variables.js
@@ -0,0 +1,15 @@
+import React from 'react';
+import SidebarLayout from '../../templates/sidebarLayout';
+import { CSSVars } from '../../components/componentDocs';
+import { Title, PageSection } from '@patternfly/react-core';
+
+const GlobalCSSVars = () => (
+
+
+ Global CSS Icons
+
+
+
+);
+
+export default GlobalCSSVars;
diff --git a/packages/patternfly-4/react-docs/src/templates/markdownTemplate.js b/packages/patternfly-4/react-docs/src/templates/markdownTemplate.js
new file mode 100644
index 00000000000..39de1b6d8d5
--- /dev/null
+++ b/packages/patternfly-4/react-docs/src/templates/markdownTemplate.js
@@ -0,0 +1,131 @@
+import React from 'react';
+import { graphql } from 'gatsby';
+import SidebarLayout from './sidebarLayout';
+import { CSSVars, Props, LiveEdit } from '../components/componentDocs';
+import rehypeReact from 'rehype-react';
+import { getUsedComponents } from '../helpers/astHelpers';
+import { getScope } from '../helpers/dynamicImports';
+import { Title, PageSection } from '@patternfly/react-core';
+
+const getRehypeReact = scope => {
+ return new rehypeReact({
+ // Here we inject the properties down to ALL our listed components
+ createElement: (type, props, ...children) => {
+ if (typeof type === 'function') {
+ props.scope = scope;
+ props.size = 'xl';
+ props.style = { marginTop: '32px' }
+ }
+ return React.createElement(type, props, ...children);
+ },
+ components: {
+ code: LiveEdit,
+ h2: Title
+ },
+ }).Compiler;
+}
+
+const MarkdownTemplate = ({ data }) => {
+ // Exported components in the folder (i.e. src/components/Alerts/[Alert, AlertIcon, AlertBody])
+ const helperComponents = data.metadata.edges
+ .map(edge => edge.node.name)
+ .filter(name => name); // Some HOCs don't get docgenned properly (like TabContent)
+ // Exported components with names used in the *.md file
+ const propComponents = getUsedComponents(data.markdownRemark.htmlAst, helperComponents, {})
+ // Finally, the props for each relevant component!
+ const props = data.metadata.edges
+ .filter(edge => propComponents.indexOf(edge.node.name) !== -1)
+ .map(edge => { return { name: edge.node.name, props: edge.node.props } });
+
+ // These get set at compile time, so no hot-reloading
+ // This is good, we don't want every single one of our packages' full dist in our bundle!
+ let scope = getScope(data.markdownRemark.rawMarkdownBody,
+ data.exampleResources.edges.map(edge => edge.node.importName));
+
+ // https://github.com/rhysd/rehype-react#programmatic
+ // https://using-remark.gatsbyjs.org/custom-components
+ const renderAst = getRehypeReact(scope);
+
+ const cssPrefix = data.markdownRemark.frontmatter.cssPrefix;
+
+ let section = data.markdownRemark.frontmatter.section;
+ if (!section)
+ section = 'component';
+
+ return (
+
+
+
+ {data.markdownRemark.frontmatter.title} {section.indexOf('-') === -1 ? section : ''}
+
+ {renderAst(data.markdownRemark.htmlAst)}
+
+
+ {props.length > 0 && props.map(component =>
+
+ {props.description}
+
+
+ )}
+
+ {cssPrefix &&
+
+
+ CSS Variables starting with --{cssPrefix} from
+ patternfly-next
+
+ } cssPrefix={cssPrefix} />
+
+ }
+
+ );
+};
+
+// Test queries in http://localhost:8000/___graphql
+// See how to filter from: https://www.gatsbyjs.org/docs/graphql-reference/
+// We want the markdown from gatsby-transformer-remark
+// We want ALL the component metadata from gatsby-transformer-react-docgen-typescript
+// for components in that folder
+export const pageQuery = graphql`
+query GetComponent($fileAbsolutePath: String!, $pathRegex: String!, $examplesRegex: String!) {
+ markdownRemark(fileAbsolutePath: { eq: $fileAbsolutePath }) {
+ htmlAst
+ rawMarkdownBody
+ frontmatter {
+ title
+ section
+ cssPrefix
+ }
+ }
+ metadata: allComponentMetadata(filter: {path: {regex: $pathRegex}}) {
+ edges {
+ node {
+ path
+ name
+ description
+ props {
+ name
+ description
+ required
+ type {
+ name
+ }
+ defaultValue {
+ value
+ }
+ }
+ }
+ }
+ }
+ exampleResources: allComponentExamples(filter: {path: {regex: $examplesRegex}}) {
+ edges {
+ node {
+ importName
+ }
+ }
+ }
+}
+`;
+
+export default MarkdownTemplate;
diff --git a/packages/patternfly-4/react-docs/src/templates/sidebarLayout.js b/packages/patternfly-4/react-docs/src/templates/sidebarLayout.js
new file mode 100644
index 00000000000..b7735f768c7
--- /dev/null
+++ b/packages/patternfly-4/react-docs/src/templates/sidebarLayout.js
@@ -0,0 +1,68 @@
+/**
+ * Layout component that queries for data
+ * with Gatsby's StaticQuery component
+ *
+ * See: https://www.gatsbyjs.org/docs/static-query/
+ */
+
+import React from 'react';
+import { useStaticQuery, graphql } from 'gatsby';
+import Helmet from 'react-helmet';
+import { Page, PageHeader, PageSidebar } from '@patternfly/react-core';
+import SiteNav from '../components/siteNav';
+
+
+const SidebarLayout = ({ children }) => {
+ const data = useStaticQuery(graphql`
+ {
+ site {
+ siteMetadata {
+ title
+ }
+ }
+ allEnvVars {
+ edges {
+ node {
+ name
+ num
+ url
+ }
+ }
+ }
+ }`);
+
+ const prInfo = data.allEnvVars.edges
+ .filter(({ node }) => node.name === 'PR_INFO')[0].node;
+
+ const Header = (
+
+ );
+
+ const SideBar = (
+
} />
+ );
+
+ return (
+
+
+
+
+
+
+
+
+ {/* Nothing quite like dogfooding your own components */}
+
+ {children}
+
+
+ );
+}
+
+export default SidebarLayout;
diff --git a/packages/patternfly-4/react-docs/static/favicon.ico b/packages/patternfly-4/react-docs/static/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..43c816376215009662951e5daa1cfe4b580a7168
GIT binary patch
literal 6518
zcmeHKU2GiH6`mmVork{hFb3ho3B>VVh#`~sCqG~!r#OX75Je)TB5F~~AVF0`p-o>_
z2q|rlK!S`zFpdLFoS{h+N*uyX0@<~9cWm$4UOQvQKWpDvTO~^
nJ
zHU;rOu5|XC^PTTI=gytk^;l7sDK{xM->kqFC`CU~l;w(|6co(lKUS3Oz>0u@0!9{x
zQxxD!S)aUg3nN>KMskCHxit{nS6~MJTwsOv-xiSgd_MBV3N?D5$PoVZ6-kC}gr^mE^<^7k?E$3{J}$OK_Tt4bo6NaD1)S-&!v4{^J!o
zVwN~oW+z%JjQ&=U1FJ9+$I5N0!F1ArW0BT5S?TTN@_Tow&Z)|b@Fyz`)UtM}(wMjohcg3ymAvYVzO~(TgxQd@t1;xBXsg;?icJrQWns&`sHOe5&hyXR7mleX6U@
zoa(G&!Vpgq)>-Eehqzf){^vhp+tg3{>N8jS>g}t&^$fA~X>YxCwQoDSn%HhrjX3$L
z{OmL50rlEYL+10L9sKhvJNPy7uxo=2na?giu%K3U`sc`l>X*rfGGC7GocnqdLCH6*<2@}^&SnR-^dEd#U
z^qspaf26yyn8zAdYw?4{daSY7L2M&72t&T)XTfiey-lTh&!N&x{7|XW(^STg8!)x!
ztum|UP)Pt7;u0QzbG5kM_@Ontx2ar(CIF2k>P=;&VblZl4E6NCqI|UPaG9EDF5|s#
zmx9
zK~@L;TCOIJpeOC^ozg(!or>$SCVf9JXajvM6@r_1H-A=dOQ}Jxye4R=h(vgO=6w5_?nn8StNk4Q_<3lI!
z5%)`CS5B?hhECkWNr$>Ucw)V{FTfbgyGIlgM!LZhcO%xsIRoR=L-rGO%s@TwdouF=
zMhiCQT!3jXMz!J78<^}fa(aUa%$rX!Ok6AN6?LH*{d*OIE^j{d7&)y4z!zsa)>fmB
zeo#H0
z;TJaBs2i|3eNgkx40SJ-qewHO_5IF4Z%nXSQNw)4{bZ}Se^NhrX-mMpw24vfUfOD+
z9+2lx80y}hQ1fD{rNAW(#qf-@6w8IWNi%c%rGncWn9#s$u)Jq96|9?;Z}YBeGWc~&
zGmy{b@>H;1Jcl#`z2=-3=~AHvCl%U(`cE`B)R0bvzJ9kwjiKh19%HIcFiy+aIyrjz>*+6W)?sxBU^v?f98EN8pTiJgUQ!G2&2-I36F`nI6>3+qDV>a*DEuJ65nj79N`ef_74de!J@!Vv&kBR+}MkgP2$csYayJ6
zpD-uFPdM-nkL(fOZ+OJNR3{>P4AcV110s&>QHe|akn5z$YJaidYicj(chS^ZKS#Vw0O?B{gn8AA!mpg
z@gDkM*WK>lUw6A-NW*7R-7k<)
zjM>lU{S8{|9OC)SlKR;-xBEps75l^WRP2w_Glu=V_>E`FIrDirUwY!DVtcWNz1YK_
lV0*vw*))^p`|RQWnms)|t$d$G*L7pvIDs1{@WVWT{{oKCJYN6+
literal 0
HcmV?d00001
diff --git a/packages/patternfly-4/react-inline-edit-extension/src/components/InlineEdit/InlineEdit.docs.js b/packages/patternfly-4/react-inline-edit-extension/src/components/InlineEdit/InlineEdit.docs.js
deleted file mode 100644
index 5700703aa6d..00000000000
--- a/packages/patternfly-4/react-inline-edit-extension/src/components/InlineEdit/InlineEdit.docs.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import EditableTable from './examples/EditableTable';
-import EditableTableColumn from './examples/EditableTableColumn';
-import CollapsibleEditableTable from './examples/CollapsibleEditableTable';
-
-export default {
- title: 'Inline Edit Table',
- components: {},
- examples: [
- { component: EditableTable, title: 'Editable table With Inline Edit Row' },
- { component: EditableTableColumn, title: 'Editable Table With Inline Edit Columns' },
- { component: CollapsibleEditableTable, title: 'Editable Table With Collapsible Rows' }
- ]
-};
diff --git a/packages/patternfly-4/react-inline-edit-extension/src/components/InlineEdit/InlineEdit.md b/packages/patternfly-4/react-inline-edit-extension/src/components/InlineEdit/InlineEdit.md
new file mode 100644
index 00000000000..9bf718e0751
--- /dev/null
+++ b/packages/patternfly-4/react-inline-edit-extension/src/components/InlineEdit/InlineEdit.md
@@ -0,0 +1,762 @@
+---
+title: "Inline Edit"
+section: "inline-table"
+---
+## Editable table With Inline Edit Row
+```js
+import React from 'react';
+import { Table, TableHeader, TableBody, RowWrapper } from '@patternfly/react-table';
+import {
+ editableTableBody,
+ editableRowWrapper,
+ inlineEditFormatterFactory,
+ TableEditConfirmation,
+ TableTextInput
+} from '@patternfly/react-inline-edit-extension';
+import { Dropdown, DropdownToggle, DropdownItem, Checkbox } from '@patternfly/react-core';
+
+class EditableTable extends React.Component {
+ constructor(props) {
+ super(props);
+
+ // text input
+ const textInputFormatter = inlineEditFormatterFactory({
+ renderEdit: (value, { columnIndex, rowIndex, column }, { activeEditId }) => {
+ const id = this.makeId({ rowIndex, columnIndex, column });
+ return (
+
+ this.onChange(newValue, {
+ rowIndex,
+ columnIndex
+ })
+ }
+ autoFocus={activeEditId === id}
+ />
+ );
+ }
+ });
+
+ // dropdown
+ const workspacesFormatter = inlineEditFormatterFactory({
+ resolveValue: (value, { rowData }) => rowData.data.workspace,
+ renderEdit: (workspace, { column, rowData, columnIndex, rowIndex }, { activeEditId }) => {
+ const dropdownItems = column.data.dropdownItems.map(item => {item} );
+ const toggleId = this.makeId({ rowIndex, columnIndex, column, name: 'toggle' });
+ return (
+
+ this.onWorkspaceChange({ selected: event.target.text, isDropdownOpen: false }, { rowIndex })
+ }
+ toggle={
+ this.onWorkspaceChange({ isDropdownOpen: !workspace.isDropdownOpen }, { rowIndex })}
+ >
+ {workspace.selected}
+
+ }
+ isOpen={workspace.isDropdownOpen}
+ dropdownItems={dropdownItems}
+ />
+ );
+ },
+ renderValue: workspace => workspace.selected
+ });
+
+ // checkbox
+ const privateRepoFormatter = inlineEditFormatterFactory({
+ resolveValue: (value, { rowData }) => rowData.data.privateRepo,
+ renderEdit: (privateRepo, { column, columnIndex, rowIndex }) => (
+
+ this.onPrivateRepoChange(value, {
+ rowIndex,
+ columnIndex
+ })
+ }
+ aria-label="checkbox"
+ />
+ ),
+ renderValue: (privateRepo, { columnIndex, rowIndex, column }) => (
+
+ )
+ });
+
+ this.state = {
+ columns: [
+ {
+ title: 'Repositories',
+ cellFormatters: [textInputFormatter]
+ },
+ {
+ title: 'Branches',
+ cellFormatters: [(value, { rowData }) => rowData.data.branches[rowData.data.branches.length - 1]]
+ },
+ 'Pull requests',
+ {
+ title: 'Workspaces',
+ cellFormatters: [workspacesFormatter],
+ data: {
+ dropdownItems: ['Green', 'Purple', 'Orange', 'Grey']
+ }
+ },
+ {
+ title: 'Last Commit',
+ cellFormatters: [textInputFormatter]
+ },
+ {
+ title: 'Private',
+ cellFormatters: [privateRepoFormatter]
+ }
+ ],
+ rows: [
+ {
+ cells: ['one', null, 7, null, 'five', null],
+ data: {
+ branches: ['master'],
+ workspace: {
+ selected: 'Green',
+ isDropdownOpen: false
+ },
+ privateRepo: false
+ }
+ // isEditing: true,
+ },
+ {
+ cells: ['', null, 0, null, '', null],
+ data: {
+ branches: ['master', 'v0.7.0', 'v1.0.0'],
+ workspace: {
+ selected: 'Grey',
+ isDropdownOpen: false
+ },
+ privateRepo: false
+ }
+ },
+ {
+ cells: ['p', null, 0, null, '', null],
+ data: {
+ branches: ['master', 'v0.7.0'],
+ workspace: {
+ selected: 'Orange',
+ isDropdownOpen: false
+ },
+ privateRepo: true
+ }
+ }
+ ],
+ // eslint-disable-next-line react/no-unused-state
+ editedRowBackup: null,
+ activeEditId: null
+ };
+
+ this.WORKSPACE_COL = 3;
+ this.PRIVATE_REPO_COL = 5;
+ this.ACTIONS_COL = 6;
+
+ this.makeId = ({ column, rowIndex, columnIndex, name }) =>
+ `${column.property}-${rowIndex}-${columnIndex}${name ? `-${name}` : ''}`;
+
+ this.onPrivateRepoChange = (value, { rowIndex }) => {
+ this.setState(({ rows }) => {
+ const row = rows[rowIndex];
+ row.data.privateRepo = value;
+ return { rows };
+ });
+ };
+
+ this.onWorkspaceChange = (value, { rowIndex }) => {
+ this.setState(({ rows }) => {
+ const row = rows[rowIndex];
+ row.data.workspace = Object.assign({}, row.data.workspace, value);
+ return { rows };
+ });
+ };
+
+ this.onChange = (value, { rowIndex, columnIndex }) => {
+ this.setState(({ rows }) => {
+ rows = [...rows];
+ const row = rows[rowIndex];
+ row.cells[columnIndex] = value;
+ return {
+ rows,
+ activeEditId: null // stop autoFocus
+ };
+ });
+ };
+
+ this.idEquals = (elementId, activeEditId, { rowIndex, columnIndex }) => {
+ if (columnIndex === this.WORKSPACE_COL) {
+ // equality for dropdowns should take toggle vs dropdown id clicks into account
+ const genericDropdownId = this.makeId({
+ rowIndex,
+ columnIndex,
+ column: { property: 'workspaces' }
+ });
+ return (
+ elementId &&
+ activeEditId &&
+ elementId.startsWith(genericDropdownId) &&
+ activeEditId.startsWith(genericDropdownId)
+ );
+ }
+ return elementId === activeEditId;
+ };
+
+ this.onEditCellClicked = (event, clickedRow, { rowIndex, columnIndex, elementId }) => {
+ if (
+ !this.idEquals(elementId, this.state.activeEditId, { rowIndex, columnIndex }) &&
+ clickedRow.isEditing &&
+ columnIndex !== this.ACTIONS_COL
+ ) {
+ this.setState(({ rows }) => ({
+ activeEditId: elementId,
+ rows: rows.map((row, id) => {
+ if (id === rowIndex) {
+ if (elementId && columnIndex === this.WORKSPACE_COL) {
+ row.data.workspace.isDropdownOpen = !row.data.workspace.isDropdownOpen;
+ } else {
+ if (elementId && columnIndex === this.PRIVATE_REPO_COL) {
+ row.data.privateRepo = !row.data.privateRepo;
+ }
+ row.data.workspace.isDropdownOpen = false;
+ }
+ }
+ return row;
+ })
+ }));
+ }
+ };
+
+ this.onEditActionClick = (event, rowId) => {
+ this.setState(
+ ({ rows, editedRowBackup }) =>
+ !editedRowBackup && {
+ editedRowBackup: JSON.parse(JSON.stringify(rows[rowId])), // clone
+ rows: rows.map((row, id) => {
+ row.isEditing = id === rowId;
+ return row;
+ })
+ }
+ );
+ };
+
+ this.onEditConfirmed = (event, clickedRow, { rowIndex }) => {
+ this.setState(({ rows }) => {
+ rows = [...rows];
+ rows[rowIndex].isEditing = false;
+ return {
+ rows,
+ editedRowBackup: null,
+ activeEditId: null
+ };
+ });
+ };
+
+ this.onEditCanceled = (event, clickedRow, { rowIndex }) => {
+ this.setState(({ rows, editedRowBackup }) => {
+ rows = [...rows];
+ rows[rowIndex] = editedRowBackup;
+ return {
+ rows,
+ editedRowBackup: null,
+ activeEditId: null
+ };
+ });
+ };
+
+ this.actionResolver = rowData =>
+ rowData.isTableEditing
+ ? null
+ : [
+ {
+ title: 'Edit',
+ onClick: this.onEditActionClick
+ }
+ ];
+ }
+
+ render() {
+ const { columns, rows, activeEditId } = this.state;
+ const editConfig = {
+ activeEditId,
+ onEditCellClicked: this.onEditCellClicked,
+ editConfirmationType: TableEditConfirmation.ROW,
+ onEditConfirmed: this.onEditConfirmed,
+ onEditCanceled: this.onEditCanceled
+ };
+
+ const ComposedBody = editableTableBody(TableBody);
+ const ComposedRowWrapper = editableRowWrapper(RowWrapper);
+
+ return (
+
+ );
+ }
+}
+```
+
+## Editable Table With Inline Edit Columns
+```js
+import React from 'react';
+import { Table, TableHeader, TableBody, RowWrapper, TableVariant } from '@patternfly/react-table';
+import {
+ editableTableBody,
+ editableRowWrapper,
+ inlineEditFormatterFactory,
+ TableEditConfirmation,
+ TableTextInput
+} from '@patternfly/react-inline-edit-extension';
+
+class EditableTableColumn extends React.Component {
+ constructor(props) {
+ super(props);
+
+ this.makeId = ({ column, rowIndex, columnIndex, name }) =>
+ `${column.property}-${rowIndex}-${columnIndex}${name ? `-${name}` : ''}`;
+
+ // text input
+ const inlineEditingFormatter = inlineEditFormatterFactory({
+ renderEdit: (value, { columnIndex, rowIndex, column }, { activeEditId }) => {
+ const id = this.makeId({ rowIndex, columnIndex, column });
+ return (
+
+ this.onBlur(newValue, {
+ rowIndex,
+ columnIndex
+ })
+ }
+ autoFocus={activeEditId === id}
+ />
+ );
+ },
+ renderValue: (value, { rowData }) => (rowData.isTableEditing ? `${value} (Not Editable)` : value),
+ isEditable: ({ rowIndex }) => rowIndex !== 1
+ });
+
+ this.state = {
+ columns: [
+ {
+ title: 'Repositories',
+ cellFormatters: [inlineEditingFormatter]
+ },
+ {
+ title: 'Branches',
+ cellFormatters: [inlineEditingFormatter]
+ },
+ 'Pull requests',
+ 'Workspaces',
+ {
+ title: 'Last Commit',
+ cellFormatters: [inlineEditingFormatter]
+ }
+ ],
+ rows: [
+ {
+ cells: ['one', 'two', 7, 'four', 'five']
+ },
+ {
+ cells: ['a', 'two', 0, 'four', 'five']
+ },
+ {
+ cells: ['p', 'two', 0, 'four', 'five']
+ },
+ {
+ cells: ['a', 'two', 5, 'four', 'five']
+ }
+ ],
+ rowsBackup: null,
+ activeEditId: null
+ };
+
+ this.onBlur = (value, { rowIndex, columnIndex }) => {
+ this.setState(({ rows }) => {
+ rows = [...rows];
+ const row = rows[rowIndex];
+ row.cells[columnIndex] = value;
+ return {
+ rows,
+ activeEditId: null // stop autoFocus
+ };
+ });
+ };
+
+ this.onEditCellClicked = (event, clickedRow, { rowIndex, columnIndex, elementId }) => {
+ if (elementId !== this.state.activeEditId) {
+ this.setState({
+ activeEditId: elementId
+ });
+ }
+ };
+
+ this.setEditing = (rows, isEditing) =>
+ rows.map(row => {
+ row.isEditing = isEditing;
+ return row;
+ });
+
+ this.onRowClick = () => {
+ this.setState(
+ ({ rows, rowsBackup }) =>
+ !rowsBackup && {
+ rowsBackup: JSON.parse(JSON.stringify(rows)), // clone
+ rows: this.setEditing(rows, true)
+ }
+ );
+ };
+
+ this.onEditConfirmed = () => {
+ this.setState(({ rows }) => ({
+ rows: this.setEditing(rows, false),
+ rowsBackup: null,
+ activeEditId: null
+ }));
+ };
+
+ this.onEditCanceled = () => {
+ this.setState(({ rows, rowsBackup }) => ({
+ rows: rowsBackup,
+ rowsBackup: null,
+ activeEditId: null
+ }));
+ };
+ }
+
+ render() {
+ const { columns, rows, activeEditId } = this.state;
+ const editConfig = {
+ activeEditId,
+ editConfirmationType: TableEditConfirmation.TABLE_BOTTOM,
+ onEditCellClicked: this.onEditCellClicked,
+ onEditConfirmed: this.onEditConfirmed,
+ onEditCanceled: this.onEditCanceled
+ };
+
+ const ComposedBody = editableTableBody(TableBody);
+ const ComposedRowWrapper = editableRowWrapper(RowWrapper);
+
+ return (
+
+ );
+ }
+}
+```
+
+## Editable Table With Collapsible Rows
+```js
+import React from 'react';
+import { Table, TableHeader, TableBody, RowWrapper, ExpandableRowContent } from '@patternfly/react-table';
+import {
+ editableTableBody,
+ editableRowWrapper,
+ inlineEditFormatterFactory,
+ TableEditConfirmation,
+ TableTextInput
+} from '@patternfly/react-inline-edit-extension';
+
+class CollapsibleEditableTable extends React.Component {
+ constructor(props) {
+ super(props);
+
+ this.makeId = ({ column, rowIndex, columnIndex, name }) =>
+ `${column.property}-${rowIndex}-${columnIndex}${name ? `-${name}` : ''}`;
+
+ const childEditRenderer = (value, { column, rowIndex, rowData, columnIndex, activeEditId }) => (
+
+ {rowData.data.modules.map((module, idx) => {
+ const inlineStyle = {
+ marginLeft: idx && '1em',
+ display: 'inline-block',
+ width: '48%'
+ };
+
+ const id = this.makeId({ rowIndex, columnIndex, column, name: `module-${idx}` });
+
+ return (
+
+ this.onChange(newValue, {
+ rowIndex,
+ moduleIndex: idx
+ })
+ }
+ autoFocus={activeEditId === id}
+ />
+ );
+ })}
+
+ );
+
+ const parentEditRenderer = (value, { column, rowIndex, columnIndex, activeEditId }) => {
+ const id = this.makeId({ rowIndex, columnIndex, column, name: 'parent-repo' });
+ return (
+
+ this.onChange(newValue, {
+ rowIndex,
+ columnIndex
+ })
+ }
+ autoFocus={activeEditId === id}
+ />
+ );
+ };
+
+ const textInputFormatter = inlineEditFormatterFactory({
+ renderValue: (value, { rowData }) =>
+ rowData.hasOwnProperty('parent') ? (
+ {rowData.data.modules.filter(a => a).join(', ')}
+ ) : (
+ value
+ ),
+ renderEdit: (value, { column, columnIndex, rowIndex, rowData }, { activeEditId }) => {
+ const renderer = rowData.hasOwnProperty('parent') ? childEditRenderer : parentEditRenderer;
+ return renderer(value, { rowData, column, rowIndex, columnIndex, activeEditId });
+ }
+ });
+
+ this.state = {
+ columns: [
+ {
+ title: 'Repositories',
+ cellFormatters: [textInputFormatter]
+ },
+ {
+ title: 'Branches'
+ },
+ 'Pull requests',
+ {
+ title: 'Workspaces',
+ cellFormatters: [textInputFormatter]
+ },
+ {
+ title: 'Last Commit',
+ cellFormatters: [textInputFormatter]
+ }
+ ],
+ rows: [
+ {
+ cells: ['one', 'master', 7, 'Grey', 'five'],
+ isOpen: false
+ },
+ {
+ cells: [null],
+ data: {
+ modules: ['', '']
+ },
+ parent: 0,
+ isEditableTogetherWithParent: true
+ },
+ {
+ cells: ['uno', 'v2.3.0', 125, 'Orange', 'cinco'],
+ isOpen: false
+ },
+ {
+ cells: [null],
+ data: {
+ modules: ['storage', '']
+ },
+ parent: 2
+ },
+ {
+ cells: ['', 'master', 0, 'Blue', ''],
+ isOpen: true
+ },
+ {
+ cells: [null],
+ data: {
+ modules: ['security', 'network']
+ },
+ parent: 4,
+ isEditableTogetherWithParent: true
+ }
+ ],
+ editedRowsBackup: null,
+ activeEditId: null
+ };
+ this.onChange = (value, { rowIndex, columnIndex, moduleIndex }) => {
+ this.setState(({ rows }) => {
+ rows = [...rows];
+ const row = rows[rowIndex];
+ if (moduleIndex != null) {
+ row.data.modules[moduleIndex] = value;
+ } else {
+ const shiftedColumnIndex = columnIndex - 1; // to take Expandable Column into account;
+ row.cells[shiftedColumnIndex] = value;
+ }
+ return { rows, activeEditId: null };
+ });
+ };
+ this.onEditCellClicked = (event, clickedRow, { rowIndex, columnIndex, elementId }) => {
+ const EXPANDABLE_COL = 0;
+ const ACTIONS_COL = 6;
+
+ if (elementId !== this.state.activeEditId && clickedRow.isEditing && columnIndex !== ACTIONS_COL) {
+ this.setState(({ rows }) => ({
+ activeEditId: elementId,
+ rows: rows.map((row, id) => {
+ if (id === rowIndex && columnIndex === EXPANDABLE_COL && row.hasOwnProperty('isOpen')) {
+ row.isOpen = !row.isOpen;
+ }
+ return row;
+ })
+ }));
+ }
+ };
+
+ // depth max 1 in this example
+ this.getParentId = (rowId, rows) => (rows[rowId].parent === undefined ? rowId : rows[rowId].parent);
+ this.getChildIdId = (rowId, rows) =>
+ rows[rowId].parent === undefined
+ ? rows.map((row, idx) => (row.parent === rowId ? idx : null)).find(idx => idx !== null)
+ : rowId;
+
+ this.onEditActionClick = (event, rowId) => {
+ this.setState(({ rows, editedRowBackup }) => {
+ if (!editedRowBackup) {
+ const childId = this.getChildIdId(rowId, rows);
+ const parentId = this.getParentId(rowId, rows);
+
+ const backup = rows[childId].isEditableTogetherWithParent
+ ? {
+ [parentId]: rows[parentId],
+ [childId]: rows[childId]
+ }
+ : {
+ [rowId]: rows[rowId]
+ };
+
+ return {
+ editedRowsBackup: JSON.parse(JSON.stringify(backup)), // clone
+ rows: rows.map((row, id) => {
+ row.isEditing = !!backup[id];
+ return row;
+ })
+ };
+ }
+ return undefined;
+ });
+ };
+
+ this.onEditConfirmed = () => {
+ this.setState(({ rows, editedRowsBackup }) => {
+ rows = [...rows];
+ Object.keys(editedRowsBackup).forEach(key => {
+ rows[key].isEditing = false;
+ });
+
+ return {
+ rows,
+ editedRowsBackup: null,
+ activeEditId: null
+ };
+ });
+ };
+
+ this.onEditCanceled = () => {
+ this.setState(({ rows, editedRowsBackup }) => {
+ rows = [...rows];
+ Object.keys(editedRowsBackup).forEach(key => {
+ rows[key] = editedRowsBackup[key];
+ });
+ return {
+ rows,
+ editedRowsBackup: null,
+ activeEditId: null
+ };
+ });
+ };
+
+ this.onCollapse = (event, rowKey, isOpen) => {
+ const { rows } = this.state;
+ /**
+ * Please do not use rowKey as row index for more complex tables.
+ * Rather use some kind of identifier like ID passed with each row.
+ */
+ rows[rowKey].isOpen = isOpen;
+ this.setState({
+ rows
+ });
+ };
+
+ this.actionResolver = rowData =>
+ rowData.isTableEditing
+ ? null
+ : [
+ {
+ title: 'Edit',
+ onClick: this.onEditActionClick
+ }
+ ];
+ }
+
+ render() {
+ const { activeEditId, columns, rows } = this.state;
+ const editConfig = {
+ activeEditId,
+ onEditCellClicked: this.onEditCellClicked,
+ editConfirmationType: TableEditConfirmation.ROW,
+ onEditConfirmed: this.onEditConfirmed,
+ onEditCanceled: this.onEditCanceled
+ };
+ const ComposedBody = editableTableBody(TableBody);
+ const ComposedRowWrapper = editableRowWrapper(RowWrapper);
+
+ return (
+
+ );
+ }
+}
+
+```
\ No newline at end of file
diff --git a/packages/patternfly-4/react-inline-edit-extension/src/components/InlineEdit/examples/CollapsibleEditableTable.js b/packages/patternfly-4/react-inline-edit-extension/src/components/InlineEdit/examples/CollapsibleEditableTable.js
deleted file mode 100644
index efb702e82ad..00000000000
--- a/packages/patternfly-4/react-inline-edit-extension/src/components/InlineEdit/examples/CollapsibleEditableTable.js
+++ /dev/null
@@ -1,284 +0,0 @@
-import React from 'react';
-import { Table, TableHeader, TableBody, RowWrapper, ExpandableRowContent } from '@patternfly/react-table';
-import {
- editableTableBody,
- editableRowWrapper,
- inlineEditFormatterFactory,
- TableEditConfirmation,
- TableTextInput
-} from '@patternfly/react-inline-edit-extension';
-
-class CollapsibleEditableTable extends React.Component {
- makeId = ({ column, rowIndex, columnIndex, name }) =>
- `${column.property}-${rowIndex}-${columnIndex}${name ? `-${name}` : ''}`;
-
- constructor(props) {
- super(props);
-
- const childEditRenderer = (value, { column, rowIndex, rowData, columnIndex, activeEditId }) => (
-
- {rowData.data.modules.map((module, idx) => {
- const inlineStyle = {
- marginLeft: idx && '1em',
- display: 'inline-block',
- width: '48%'
- };
-
- const id = this.makeId({ rowIndex, columnIndex, column, name: `module-${idx}` });
-
- return (
-
- this.onChange(newValue, {
- rowIndex,
- moduleIndex: idx
- })
- }
- autoFocus={activeEditId === id}
- />
- );
- })}
-
- );
-
- const parentEditRenderer = (value, { column, rowIndex, columnIndex, activeEditId }) => {
- const id = this.makeId({ rowIndex, columnIndex, column, name: 'parent-repo' });
- return (
-
- this.onChange(newValue, {
- rowIndex,
- columnIndex
- })
- }
- autoFocus={activeEditId === id}
- />
- );
- };
-
- const textInputFormatter = inlineEditFormatterFactory({
- renderValue: (value, { rowData }) =>
- rowData.hasOwnProperty('parent') ? (
- {rowData.data.modules.filter(a => a).join(', ')}
- ) : (
- value
- ),
- renderEdit: (value, { column, columnIndex, rowIndex, rowData }, { activeEditId }) => {
- const renderer = rowData.hasOwnProperty('parent') ? childEditRenderer : parentEditRenderer;
- return renderer(value, { rowData, column, rowIndex, columnIndex, activeEditId });
- }
- });
-
- this.state = {
- columns: [
- {
- title: 'Repositories',
- cellFormatters: [textInputFormatter]
- },
- {
- title: 'Branches'
- },
- 'Pull requests',
- {
- title: 'Workspaces',
- cellFormatters: [textInputFormatter]
- },
- {
- title: 'Last Commit',
- cellFormatters: [textInputFormatter]
- }
- ],
- rows: [
- {
- cells: ['one', 'master', 7, 'Grey', 'five'],
- isOpen: false
- },
- {
- cells: [null],
- data: {
- modules: ['', '']
- },
- parent: 0,
- isEditableTogetherWithParent: true
- },
- {
- cells: ['uno', 'v2.3.0', 125, 'Orange', 'cinco'],
- isOpen: false
- },
- {
- cells: [null],
- data: {
- modules: ['storage', '']
- },
- parent: 2
- },
- {
- cells: ['', 'master', 0, 'Blue', ''],
- isOpen: true
- },
- {
- cells: [null],
- data: {
- modules: ['security', 'network']
- },
- parent: 4,
- isEditableTogetherWithParent: true
- }
- ],
- editedRowsBackup: null,
- activeEditId: null
- };
- }
-
- onChange = (value, { rowIndex, columnIndex, moduleIndex }) => {
- this.setState(({ rows }) => {
- rows = [...rows];
- const row = rows[rowIndex];
- if (moduleIndex != null) {
- row.data.modules[moduleIndex] = value;
- } else {
- const shiftedColumnIndex = columnIndex - 1; // to take Expandable Column into account;
- row.cells[shiftedColumnIndex] = value;
- }
- return { rows, activeEditId: null };
- });
- };
-
- onEditCellClicked = (event, clickedRow, { rowIndex, columnIndex, elementId }) => {
- const EXPANDABLE_COL = 0;
- const ACTIONS_COL = 6;
-
- if (elementId !== this.state.activeEditId && clickedRow.isEditing && columnIndex !== ACTIONS_COL) {
- this.setState(({ rows }) => ({
- activeEditId: elementId,
- rows: rows.map((row, id) => {
- if (id === rowIndex && columnIndex === EXPANDABLE_COL && row.hasOwnProperty('isOpen')) {
- row.isOpen = !row.isOpen;
- }
- return row;
- })
- }));
- }
- };
-
- // depth max 1 in this example
- getParentId = (rowId, rows) => (rows[rowId].parent === undefined ? rowId : rows[rowId].parent);
- getChildIdId = (rowId, rows) =>
- rows[rowId].parent === undefined
- ? rows.map((row, idx) => (row.parent === rowId ? idx : null)).find(idx => idx !== null)
- : rowId;
-
- onEditActionClick = (event, rowId) => {
- this.setState(({ rows, editedRowBackup }) => {
- if (!editedRowBackup) {
- const childId = this.getChildIdId(rowId, rows);
- const parentId = this.getParentId(rowId, rows);
-
- const backup = rows[childId].isEditableTogetherWithParent
- ? {
- [parentId]: rows[parentId],
- [childId]: rows[childId]
- }
- : {
- [rowId]: rows[rowId]
- };
-
- return {
- editedRowsBackup: JSON.parse(JSON.stringify(backup)), // clone
- rows: rows.map((row, id) => {
- row.isEditing = !!backup[id];
- return row;
- })
- };
- }
- return undefined;
- });
- };
-
- onEditConfirmed = () => {
- this.setState(({ rows, editedRowsBackup }) => {
- rows = [...rows];
- Object.keys(editedRowsBackup).forEach(key => {
- rows[key].isEditing = false;
- });
-
- return {
- rows,
- editedRowsBackup: null,
- activeEditId: null
- };
- });
- };
-
- onEditCanceled = () => {
- this.setState(({ rows, editedRowsBackup }) => {
- rows = [...rows];
- Object.keys(editedRowsBackup).forEach(key => {
- rows[key] = editedRowsBackup[key];
- });
- return {
- rows,
- editedRowsBackup: null,
- activeEditId: null
- };
- });
- };
-
- onCollapse = (event, rowKey, isOpen) => {
- const { rows } = this.state;
- /**
- * Please do not use rowKey as row index for more complex tables.
- * Rather use some kind of identifier like ID passed with each row.
- */
- rows[rowKey].isOpen = isOpen;
- this.setState({
- rows
- });
- };
-
- actionResolver = rowData =>
- rowData.isTableEditing
- ? null
- : [
- {
- title: 'Edit',
- onClick: this.onEditActionClick
- }
- ];
-
- render() {
- const { activeEditId, columns, rows } = this.state;
- const editConfig = {
- activeEditId,
- onEditCellClicked: this.onEditCellClicked,
- editConfirmationType: TableEditConfirmation.ROW,
- onEditConfirmed: this.onEditConfirmed,
- onEditCanceled: this.onEditCanceled
- };
- const ComposedBody = editableTableBody(TableBody);
- const ComposedRowWrapper = editableRowWrapper(RowWrapper);
-
- return (
-
- );
- }
-}
-
-export default CollapsibleEditableTable;
diff --git a/packages/patternfly-4/react-inline-edit-extension/src/components/InlineEdit/examples/EditableTable.js b/packages/patternfly-4/react-inline-edit-extension/src/components/InlineEdit/examples/EditableTable.js
deleted file mode 100644
index ded6d9e1342..00000000000
--- a/packages/patternfly-4/react-inline-edit-extension/src/components/InlineEdit/examples/EditableTable.js
+++ /dev/null
@@ -1,313 +0,0 @@
-import React from 'react';
-import { Table, TableHeader, TableBody, RowWrapper } from '@patternfly/react-table';
-import {
- editableTableBody,
- editableRowWrapper,
- inlineEditFormatterFactory,
- TableEditConfirmation,
- TableTextInput
-} from '@patternfly/react-inline-edit-extension';
-import { Dropdown, DropdownToggle, DropdownItem, Checkbox } from '@patternfly/react-core';
-
-class EditableTable extends React.Component {
- WORKSPACE_COL = 3;
- PRIVATE_REPO_COL = 5;
- ACTIONS_COL = 6;
-
- makeId = ({ column, rowIndex, columnIndex, name }) =>
- `${column.property}-${rowIndex}-${columnIndex}${name ? `-${name}` : ''}`;
-
- constructor(props) {
- super(props);
-
- // text input
- const textInputFormatter = inlineEditFormatterFactory({
- renderEdit: (value, { columnIndex, rowIndex, column }, { activeEditId }) => {
- const id = this.makeId({ rowIndex, columnIndex, column });
- return (
-
- this.onChange(newValue, {
- rowIndex,
- columnIndex
- })
- }
- autoFocus={activeEditId === id}
- />
- );
- }
- });
-
- // dropdown
- const workspacesFormatter = inlineEditFormatterFactory({
- resolveValue: (value, { rowData }) => rowData.data.workspace,
- renderEdit: (workspace, { column, rowData, columnIndex, rowIndex }, { activeEditId }) => {
- const dropdownItems = column.data.dropdownItems.map(item => {item} );
- const toggleId = this.makeId({ rowIndex, columnIndex, column, name: 'toggle' });
- return (
-
- this.onWorkspaceChange({ selected: event.target.text, isDropdownOpen: false }, { rowIndex })
- }
- toggle={
- this.onWorkspaceChange({ isDropdownOpen: !workspace.isDropdownOpen }, { rowIndex })}
- >
- {workspace.selected}
-
- }
- isOpen={workspace.isDropdownOpen}
- dropdownItems={dropdownItems}
- />
- );
- },
- renderValue: workspace => workspace.selected
- });
-
- // checkbox
- const privateRepoFormatter = inlineEditFormatterFactory({
- resolveValue: (value, { rowData }) => rowData.data.privateRepo,
- renderEdit: (privateRepo, { column, columnIndex, rowIndex }) => (
-
- this.onPrivateRepoChange(value, {
- rowIndex,
- columnIndex
- })
- }
- aria-label="checkbox"
- />
- ),
- renderValue: (privateRepo, { columnIndex, rowIndex, column }) => (
-
- )
- });
-
- this.state = {
- columns: [
- {
- title: 'Repositories',
- cellFormatters: [textInputFormatter]
- },
- {
- title: 'Branches',
- cellFormatters: [(value, { rowData }) => rowData.data.branches[rowData.data.branches.length - 1]]
- },
- 'Pull requests',
- {
- title: 'Workspaces',
- cellFormatters: [workspacesFormatter],
- data: {
- dropdownItems: ['Green', 'Purple', 'Orange', 'Grey']
- }
- },
- {
- title: 'Last Commit',
- cellFormatters: [textInputFormatter]
- },
- {
- title: 'Private',
- cellFormatters: [privateRepoFormatter]
- }
- ],
- rows: [
- {
- cells: ['one', null, 7, null, 'five', null],
- data: {
- branches: ['master'],
- workspace: {
- selected: 'Green',
- isDropdownOpen: false
- },
- privateRepo: false
- }
- // isEditing: true,
- },
- {
- cells: ['', null, 0, null, '', null],
- data: {
- branches: ['master', 'v0.7.0', 'v1.0.0'],
- workspace: {
- selected: 'Grey',
- isDropdownOpen: false
- },
- privateRepo: false
- }
- },
- {
- cells: ['p', null, 0, null, '', null],
- data: {
- branches: ['master', 'v0.7.0'],
- workspace: {
- selected: 'Orange',
- isDropdownOpen: false
- },
- privateRepo: true
- }
- }
- ],
- // eslint-disable-next-line react/no-unused-state
- editedRowBackup: null,
- activeEditId: null
- };
- }
-
- onPrivateRepoChange = (value, { rowIndex }) => {
- this.setState(({ rows }) => {
- const row = rows[rowIndex];
- row.data.privateRepo = value;
- return { rows };
- });
- };
-
- onWorkspaceChange = (value, { rowIndex }) => {
- this.setState(({ rows }) => {
- const row = rows[rowIndex];
- row.data.workspace = Object.assign({}, row.data.workspace, value);
- return { rows };
- });
- };
-
- onChange = (value, { rowIndex, columnIndex }) => {
- this.setState(({ rows }) => {
- rows = [...rows];
- const row = rows[rowIndex];
- row.cells[columnIndex] = value;
- return {
- rows,
- activeEditId: null // stop autoFocus
- };
- });
- };
-
- idEquals = (elementId, activeEditId, { rowIndex, columnIndex }) => {
- if (columnIndex === this.WORKSPACE_COL) {
- // equality for dropdowns should take toggle vs dropdown id clicks into account
- const genericDropdownId = this.makeId({
- rowIndex,
- columnIndex,
- column: { property: 'workspaces' }
- });
- return (
- elementId &&
- activeEditId &&
- elementId.startsWith(genericDropdownId) &&
- activeEditId.startsWith(genericDropdownId)
- );
- }
- return elementId === activeEditId;
- };
-
- onEditCellClicked = (event, clickedRow, { rowIndex, columnIndex, elementId }) => {
- if (
- !this.idEquals(elementId, this.state.activeEditId, { rowIndex, columnIndex }) &&
- clickedRow.isEditing &&
- columnIndex !== this.ACTIONS_COL
- ) {
- this.setState(({ rows }) => ({
- activeEditId: elementId,
- rows: rows.map((row, id) => {
- if (id === rowIndex) {
- if (elementId && columnIndex === this.WORKSPACE_COL) {
- row.data.workspace.isDropdownOpen = !row.data.workspace.isDropdownOpen;
- } else {
- if (elementId && columnIndex === this.PRIVATE_REPO_COL) {
- row.data.privateRepo = !row.data.privateRepo;
- }
- row.data.workspace.isDropdownOpen = false;
- }
- }
- return row;
- })
- }));
- }
- };
-
- onEditActionClick = (event, rowId) => {
- this.setState(
- ({ rows, editedRowBackup }) =>
- !editedRowBackup && {
- editedRowBackup: JSON.parse(JSON.stringify(rows[rowId])), // clone
- rows: rows.map((row, id) => {
- row.isEditing = id === rowId;
- return row;
- })
- }
- );
- };
-
- onEditConfirmed = (event, clickedRow, { rowIndex }) => {
- this.setState(({ rows }) => {
- rows = [...rows];
- rows[rowIndex].isEditing = false;
- return {
- rows,
- editedRowBackup: null,
- activeEditId: null
- };
- });
- };
-
- onEditCanceled = (event, clickedRow, { rowIndex }) => {
- this.setState(({ rows, editedRowBackup }) => {
- rows = [...rows];
- rows[rowIndex] = editedRowBackup;
- return {
- rows,
- editedRowBackup: null,
- activeEditId: null
- };
- });
- };
-
- actionResolver = rowData =>
- rowData.isTableEditing
- ? null
- : [
- {
- title: 'Edit',
- onClick: this.onEditActionClick
- }
- ];
-
- render() {
- const { columns, rows, activeEditId } = this.state;
- const editConfig = {
- activeEditId,
- onEditCellClicked: this.onEditCellClicked,
- editConfirmationType: TableEditConfirmation.ROW,
- onEditConfirmed: this.onEditConfirmed,
- onEditCanceled: this.onEditCanceled
- };
-
- const ComposedBody = editableTableBody(TableBody);
- const ComposedRowWrapper = editableRowWrapper(RowWrapper);
-
- return (
-
- );
- }
-}
-
-export default EditableTable;
diff --git a/packages/patternfly-4/react-inline-edit-extension/src/components/InlineEdit/examples/EditableTableColumn.js b/packages/patternfly-4/react-inline-edit-extension/src/components/InlineEdit/examples/EditableTableColumn.js
deleted file mode 100644
index 017479906e6..00000000000
--- a/packages/patternfly-4/react-inline-edit-extension/src/components/InlineEdit/examples/EditableTableColumn.js
+++ /dev/null
@@ -1,158 +0,0 @@
-/* eslint-disable react/no-unused-state */
-import React from 'react';
-import { Table, TableHeader, TableBody, RowWrapper, TableVariant } from '@patternfly/react-table';
-import {
- editableTableBody,
- editableRowWrapper,
- inlineEditFormatterFactory,
- TableEditConfirmation,
- TableTextInput
-} from '@patternfly/react-inline-edit-extension';
-
-class EditableTableColumn extends React.Component {
- makeId = ({ column, rowIndex, columnIndex, name }) =>
- `${column.property}-${rowIndex}-${columnIndex}${name ? `-${name}` : ''}`;
-
- constructor(props) {
- super(props);
-
- // text input
- const inlineEditingFormatter = inlineEditFormatterFactory({
- renderEdit: (value, { columnIndex, rowIndex, column }, { activeEditId }) => {
- const id = this.makeId({ rowIndex, columnIndex, column });
- return (
-
- this.onBlur(newValue, {
- rowIndex,
- columnIndex
- })
- }
- autoFocus={activeEditId === id}
- />
- );
- },
- renderValue: (value, { rowData }) => (rowData.isTableEditing ? `${value} (Not Editable)` : value),
- isEditable: ({ rowIndex }) => rowIndex !== 1
- });
-
- this.state = {
- columns: [
- {
- title: 'Repositories',
- cellFormatters: [inlineEditingFormatter]
- },
- {
- title: 'Branches',
- cellFormatters: [inlineEditingFormatter]
- },
- 'Pull requests',
- 'Workspaces',
- {
- title: 'Last Commit',
- cellFormatters: [inlineEditingFormatter]
- }
- ],
- rows: [
- {
- cells: ['one', 'two', 7, 'four', 'five']
- },
- {
- cells: ['a', 'two', 0, 'four', 'five']
- },
- {
- cells: ['p', 'two', 0, 'four', 'five']
- },
- {
- cells: ['a', 'two', 5, 'four', 'five']
- }
- ],
- rowsBackup: null,
- activeEditId: null
- };
- }
-
- onBlur = (value, { rowIndex, columnIndex }) => {
- this.setState(({ rows }) => {
- rows = [...rows];
- const row = rows[rowIndex];
- row.cells[columnIndex] = value;
- return {
- rows,
- activeEditId: null // stop autoFocus
- };
- });
- };
-
- onEditCellClicked = (event, clickedRow, { rowIndex, columnIndex, elementId }) => {
- if (elementId !== this.state.activeEditId) {
- this.setState({
- activeEditId: elementId
- });
- }
- };
-
- setEditing = (rows, isEditing) =>
- rows.map(row => {
- row.isEditing = isEditing;
- return row;
- });
-
- onRowClick = () => {
- this.setState(
- ({ rows, rowsBackup }) =>
- !rowsBackup && {
- rowsBackup: JSON.parse(JSON.stringify(rows)), // clone
- rows: this.setEditing(rows, true)
- }
- );
- };
-
- onEditConfirmed = () => {
- this.setState(({ rows }) => ({
- rows: this.setEditing(rows, false),
- rowsBackup: null,
- activeEditId: null
- }));
- };
-
- onEditCanceled = () => {
- this.setState(({ rows, rowsBackup }) => ({
- rows: rowsBackup,
- rowsBackup: null,
- activeEditId: null
- }));
- };
-
- render() {
- const { columns, rows, activeEditId } = this.state;
- const editConfig = {
- activeEditId,
- editConfirmationType: TableEditConfirmation.TABLE_BOTTOM,
- onEditCellClicked: this.onEditCellClicked,
- onEditConfirmed: this.onEditConfirmed,
- onEditCanceled: this.onEditCanceled
- };
-
- const ComposedBody = editableTableBody(TableBody);
- const ComposedRowWrapper = editableRowWrapper(RowWrapper);
-
- return (
-
- );
- }
-}
-
-export default EditableTableColumn;
diff --git a/packages/patternfly-4/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.docs.js b/packages/patternfly-4/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.docs.js
deleted file mode 100644
index e17470841c8..00000000000
--- a/packages/patternfly-4/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.docs.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import { TableTextInput } from '@patternfly/react-inline-edit-extension';
-import SimpleTableTextInput from './examples/SimpleTableTextInput';
-
-export default {
- title: 'TableTextInput',
- components: {
- TableTextInput
- },
- examples: [{ component: SimpleTableTextInput, title: 'Simple TableTextInput' }]
-};
diff --git a/packages/patternfly-4/react-inline-edit-extension/src/components/TableTextInput/examples/SimpleTableTextInput.js b/packages/patternfly-4/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.md
similarity index 57%
rename from packages/patternfly-4/react-inline-edit-extension/src/components/TableTextInput/examples/SimpleTableTextInput.js
rename to packages/patternfly-4/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.md
index d8e76d28cc3..2cc77903f9b 100644
--- a/packages/patternfly-4/react-inline-edit-extension/src/components/TableTextInput/examples/SimpleTableTextInput.js
+++ b/packages/patternfly-4/react-inline-edit-extension/src/components/TableTextInput/TableTextInput.md
@@ -1,14 +1,23 @@
+---
+title: "Table Text Input"
+section: "inline-table"
+---
+## Simple TableTextInput
+```js
import React from 'react';
import { TableTextInput } from '@patternfly/react-inline-edit-extension';
class SimpleTableTextInput extends React.Component {
- state = {
- value: ''
- };
+ constructor(props) {
+ super(props);
+ this.state = {
+ value: ''
+ };
- handleTextInputChange = value => {
- this.setState({ value });
- };
+ this.handleTextInputChange = value => {
+ this.setState({ value });
+ };
+ }
render() {
const { value } = this.state;
@@ -18,5 +27,4 @@ class SimpleTableTextInput extends React.Component {
);
}
}
-
-export default SimpleTableTextInput;
+```
\ No newline at end of file
diff --git a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/StyledSystem.docs.js b/packages/patternfly-4/react-styled-system/src/components/StyledSystem/StyledSystem.docs.js
deleted file mode 100644
index 29158e1e9b8..00000000000
--- a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/StyledSystem.docs.js
+++ /dev/null
@@ -1,84 +0,0 @@
-import { PatternFlyThemeProvider, StyledBox, StyledFlex, StyledText } from '@patternfly/react-styled-system';
-import SpaceStyles from './examples/SpaceStyles';
-import ResponsiveStyles from './examples/ResponsiveStyles';
-import FlexStyles from './examples/FlexStyles';
-import WidthStyles from './examples/WidthStyles';
-import FontSizeStyles from './examples/FontSizeStyles';
-import ColorStyles from './examples/ColorStyles';
-import TypographyStyles from './examples/TypographyStyles';
-import BorderStyles from './examples/BorderStyles';
-import BoxShadowStyles from './examples/BoxShadowStyles';
-import PositionStyles from './examples/PositionStyles';
-import OverrideTheme from './examples/OverrideTheme';
-
-export default {
- title: 'StyledSystem',
- components: {
- PatternFlyThemeProvider,
- StyledBox,
- StyledFlex,
- StyledText
- },
- examples: [
- {
- component: SpaceStyles,
- title: 'Space',
- description: `
- The space utility converts shorthand margin and padding props to margin and padding CSS declarations.
- Use StyledConstants.space with margin and padding props
- Negative values from StyledConstants.space (neg_*) can be used for negative margins.
- String values are passed as raw CSS values.
- Array values are converted into responsive values.
- `
- },
- {
- component: WidthStyles,
- title: 'Width',
- description: `
- Numbers from 0-1 are converted to percentage widths.
- Numbers greater than 1 are converted to pixel values.
- String values are passed as raw CSS values.
- Array values are converted into responsive width styles.
- `
- },
- {
- component: ResponsiveStyles,
- title: 'Responsive',
- description:
- 'All props accept arrays as values for responsive styling. You can specify up to 4 array values for each of the breakpoints. '
- },
- { component: FlexStyles, title: 'Flex' },
- {
- component: FontSizeStyles,
- title: 'Font Size',
- description: `
- Use StyledConstants.fontSizes to set a size.
- Array values are converted into responsive values.
- `
- },
- {
- component: ColorStyles,
- title: 'Colors',
- description: `
- Use color or bg (background) props with StyledConstants.colors to set a color.
- Array values are converted into responsive values.
- `
- },
- { component: TypographyStyles, title: 'Typography' },
- { component: BorderStyles, title: 'Borders' },
- { component: BoxShadowStyles, title: 'Box Shadow' },
- { component: PositionStyles, title: 'Position' },
- {
- component: OverrideTheme,
- title: 'Override Theme',
- description: `
- You can override the theme by supplying a theme object.
- If multiple PatternFlyThemeProviders are nested, the theme object of the lower provider will be merged into the ancestor theme.
`
- }
- ],
- description: `
- Warning, the StyledSystem components are experimental and in their own package @patternfly/react-styled-system. Use at your own risk!
- The PatternFlyThemeProvider component maps CSS to PatternFly global values that can be used with StyledBox, StyledFlex, and StyledText components.
- The StyledFlex and StyledText components inherit all the props from StyledBox in addition to their own props.
- To apply the PatternFly theme, use at the root of your application.`
-};
diff --git a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/StyledSystem.md b/packages/patternfly-4/react-styled-system/src/components/StyledSystem/StyledSystem.md
new file mode 100644
index 00000000000..f5e5d0cf931
--- /dev/null
+++ b/packages/patternfly-4/react-styled-system/src/components/StyledSystem/StyledSystem.md
@@ -0,0 +1,341 @@
+---
+title: "Styled System"
+section: "styled-system"
+---
+## **Warning, the StyledSystem components are experimental and in their own package _@patternfly/react-styled-system_. Use at your own risk!**
+The PatternFlyThemeProvider component maps CSS to PatternFly global values that can be used with StyledBox, StyledFlex, and StyledText components. The StyledFlex and StyledText components inherit all the props from StyledBox in addition to their own props. To apply the PatternFly theme, use PatternFlyThemeProvider at the root of your application.
+
+## Space
+The space utility converts shorthand margin and padding props to margin and padding CSS declarations.
+
+Use StyledConstants.space with margin and padding props.
+
+Negative values from StyledConstants.space (neg_*) can be used for negative margins.
+
+String values are passed as raw CSS values.
+
+Array values are converted into responsive values.
+
+```js
+import React from 'react';
+import { PatternFlyThemeProvider, StyledConstants, StyledBox } from '@patternfly/react-styled-system';
+
+SpaceStyles = () => {
+ const { space, borders } = StyledConstants;
+ return (
+
+
+
+ sets medium margin value
+
+
+ sets negative medium margin value
+
+
+ sets margin auto
+
+
+
+ );
+}
+```
+
+## Width
+Numbers from 0-1 are converted to percentage widths.
+
+Numbers greater than 1 are converted to pixel values.
+
+String values are passed as raw CSS values.
+
+Array values are converted into responsive width styles.
+```js
+import React from 'react';
+import { PatternFlyThemeProvider, StyledConstants, StyledBox } from '@patternfly/react-styled-system';
+
+WidthStyles = () => {
+ const { borders, ratio } = StyledConstants;
+ return (
+
+
+
+ width 50%
+
+
+ width 256px
+
+
+ width 4em
+
+
+ width `100%` when less than first breakpoint, and `50%` from the second breakpoint and up
+
+
+ golden ratio: width = height * ratio
+
+
+
+ );
+}
+```
+
+## Responsive
+All props accept arrays as values for responsive styling. You can specify up to 4 array values for each of the breakpoints.
+
+```js
+import React from 'react';
+import { PatternFlyThemeProvider, StyledConstants, StyledBox, StyledText } from '@patternfly/react-styled-system';
+
+ResponsiveStyles = () => {
+ const { space, colors, fontSizes, borders } = StyledConstants;
+
+ return (
+
+
+
+ In this example, the Box widths are: 100% below the smallest breakpoint, 50% from the next breakpoint and
+ up, 25% from the next breakpoint and up
+
+
+
+
+
+
+ This text changes the font size depending on the screen width
+
+
+ This box has different margins depending on the screen width
+
+
+ This box has different paddings depending on the screen width
+
+
+
+ );
+}
+```
+
+## Colors
+Use color or bg (background) props with StyledConstants.colors to set a color.
+
+Array values are converted into responsive values.
+
+```js
+import React from 'react';
+import { PatternFlyThemeProvider, StyledConstants, StyledBox } from '@patternfly/react-styled-system';
+
+ColorStyles = () => {
+ const { colors } = StyledConstants;
+ return (
+
+
+
+ Light text on dark background
+
+
+ Light text on dark transparent background
+
+
+
+ );
+}
+```
+
+## Typography
+```js
+import React from 'react';
+import { PatternFlyThemeProvider, StyledConstants, StyledText } from '@patternfly/react-styled-system';
+
+TypographyStyles = () => {
+ const { fonts, lineHeights, fontWeights, fontSizes } = StyledConstants;
+ return (
+
+
+ Font family: Monospace
+ Font family: Sans serif
+
+ Alignment: Centered text
+
+ Alignment: Centered text for smaller viewports, left aligned for wider viewports
+
+
+ Line height: small
+ Line height: medium
+
+ Font weight: light
+ Font weight: semi bold
+ Font weight: bold
+
+ Font size: small
+ Font size: medium
+ Font size: large
+
+
+ );
+}
+```
+
+## Borders
+```js
+import React from 'react';
+import { PatternFlyThemeProvider, StyledConstants, StyledBox } from '@patternfly/react-styled-system';
+
+BorderStyles = () => {
+ const { space, borders, radii, colors } = StyledConstants;
+ return (
+
+
+
+ small border
+
+
+ medium border
+
+
+ large border
+
+
+ mixed borders
+
+
+ border radius
+
+
+ border color
+
+
+
+ );
+}
+```
+
+## Box Shadow
+```js
+import React from 'react';
+import { PatternFlyThemeProvider, StyledConstants, StyledBox } from '@patternfly/react-styled-system';
+
+BoxShadowStyles = () => {
+ const { space, borders, radii, colors, shadows } = StyledConstants;
+ return (
+
+
+
+ small shadow
+
+
+ medium shadow
+
+
+ large shadow
+
+
+ inset shadow
+
+
+ right and bottom shadow
+
+
+ border radius
+
+
+ border color
+
+
+
+ );
+}
+```
+
+## Position
+```js
+import React from 'react';
+import { PatternFlyThemeProvider, StyledConstants, StyledBox } from '@patternfly/react-styled-system';
+
+PositionStyles = () => {
+ const { space, borders, zIndices, colors } = StyledConstants;
+ return (
+
+
+
+ Absolute position
+
+
+ higher zIndex
+
+
+ lower zIndex
+
+
+
+ );
+}
+```
+
+## Override Theme
+You can override the theme by supplying a theme object.
+
+If multiple PatternFlyThemeProviders are nested, the theme object of the lower provider will be merged into the ancestor theme.
+
+```js
+import React from 'react';
+import { PatternFlyThemeProvider, StyledConstants, StyledBox, StyledText } from '@patternfly/react-styled-system';
+
+OverrideTheme = () => {
+ const { colors } = StyledConstants;
+ const customTheme = {
+ fontSizes: ['0.5rem', '1rem', '1.5rem', '2rem', '2.5rem', '3rem', '3.5rem'],
+ colors: {
+ bg_dark_100: 'black',
+ bg_dark_transparent_200: 'brown',
+ color_100: 'red',
+ light_100: 'blue',
+ light_200: 'yellow'
+ }
+ };
+ return (
+
+
+ Original font size
+
+ Light text on dark background
+
+
+ Light text on dark transparent background
+
+
+
+
+ Overridden font size
+
+ Blue text on black background
+
+
+ Yellow text on brown background
+
+
+
+
+
+ );
+}
+```
\ No newline at end of file
diff --git a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/BorderStyles.js b/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/BorderStyles.js
deleted file mode 100644
index 7b7e50becee..00000000000
--- a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/BorderStyles.js
+++ /dev/null
@@ -1,40 +0,0 @@
-import React from 'react';
-import { PatternFlyThemeProvider, StyledConstants, StyledBox } from '@patternfly/react-styled-system';
-
-class BorderStyles extends React.Component {
- render() {
- const { space, borders, radii, colors } = StyledConstants;
- return (
-
-
-
- small border
-
-
- medium border
-
-
- large border
-
-
- mixed borders
-
-
- border radius
-
-
- border color
-
-
-
- );
- }
-}
-
-export default BorderStyles;
diff --git a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/BoxShadowStyles.js b/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/BoxShadowStyles.js
deleted file mode 100644
index 309b31ec7b2..00000000000
--- a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/BoxShadowStyles.js
+++ /dev/null
@@ -1,37 +0,0 @@
-import React from 'react';
-import { PatternFlyThemeProvider, StyledConstants, StyledBox } from '@patternfly/react-styled-system';
-
-class BoxShadowStyles extends React.Component {
- render() {
- const { space, borders, radii, colors, shadows } = StyledConstants;
- return (
-
-
-
- small shadow
-
-
- medium shadow
-
-
- large shadow
-
-
- inset shadow
-
-
- right and bottom shadow
-
-
- border radius
-
-
- border color
-
-
-
- );
- }
-}
-
-export default BoxShadowStyles;
diff --git a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/ColorStyles.js b/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/ColorStyles.js
deleted file mode 100644
index 359a8c94d37..00000000000
--- a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/ColorStyles.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import React from 'react';
-import { PatternFlyThemeProvider, StyledConstants, StyledBox } from '@patternfly/react-styled-system';
-
-class ColorStyles extends React.Component {
- render() {
- const { colors } = StyledConstants;
- return (
-
-
-
- Light text on dark background
-
-
- Light text on dark transparent background
-
-
-
- );
- }
-}
-
-export default ColorStyles;
diff --git a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/FlexStyles.js b/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/FlexStyles.js
deleted file mode 100644
index 696e72e55c3..00000000000
--- a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/FlexStyles.js
+++ /dev/null
@@ -1,32 +0,0 @@
-import React from 'react';
-import {
- PatternFlyThemeProvider,
- StyledConstants,
- StyledBox,
- StyledFlex,
- StyledText
-} from '@patternfly/react-styled-system';
-
-class FlexStyles extends React.Component {
- render() {
- const { fonts, space, colors, fontSizes } = StyledConstants;
- return (
-
-
-
-
- Hello World
-
-
-
- Left Text
-
- Right Text
-
-
-
- );
- }
-}
-
-export default FlexStyles;
diff --git a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/FontSizeStyles.js b/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/FontSizeStyles.js
deleted file mode 100644
index d9a26eaec27..00000000000
--- a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/FontSizeStyles.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import React from 'react';
-import { PatternFlyThemeProvider, StyledConstants, StyledText } from '@patternfly/react-styled-system';
-
-class FontSizeStyles extends React.Component {
- render() {
- const { fontSizes } = StyledConstants;
- return (
-
-
- Large font size
-
- Extra small font for small viewports, large for the next breakpoint, and 4xl font from the 3rd breakpoint
- and up
-
-
-
- );
- }
-}
-
-export default FontSizeStyles;
diff --git a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/OverrideTheme.js b/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/OverrideTheme.js
deleted file mode 100644
index ffa3917de7d..00000000000
--- a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/OverrideTheme.js
+++ /dev/null
@@ -1,45 +0,0 @@
-import React from 'react';
-import { PatternFlyThemeProvider, StyledConstants, StyledBox, StyledText } from '@patternfly/react-styled-system';
-
-class OverrideTheme extends React.Component {
- render() {
- const { colors } = StyledConstants;
- const customTheme = {
- fontSizes: ['0.5rem', '1rem', '1.5rem', '2rem', '2.5rem', '3rem', '3.5rem'],
- colors: {
- bg_dark_100: 'black',
- bg_dark_transparent_200: 'brown',
- color_100: 'red',
- light_100: 'blue',
- light_200: 'yellow'
- }
- };
- return (
-
-
- Original font size
-
- Light text on dark background
-
-
- Light text on dark transparent background
-
-
-
-
- Overridden font size
-
- Blue text on black background
-
-
- Yellow text on brown background
-
-
-
-
-
- );
- }
-}
-
-export default OverrideTheme;
diff --git a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/PositionStyles.js b/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/PositionStyles.js
deleted file mode 100644
index 51621c4a60a..00000000000
--- a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/PositionStyles.js
+++ /dev/null
@@ -1,40 +0,0 @@
-import React from 'react';
-import { PatternFlyThemeProvider, StyledConstants, StyledBox } from '@patternfly/react-styled-system';
-
-class PositionStyles extends React.Component {
- render() {
- const { space, borders, zIndices, colors } = StyledConstants;
- return (
-
-
-
- Absolute position
-
-
- higher zIndex
-
-
- lower zIndex
-
-
-
- );
- }
-}
-
-export default PositionStyles;
diff --git a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/ResponsiveStyles.js b/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/ResponsiveStyles.js
deleted file mode 100644
index 0931b058b0f..00000000000
--- a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/ResponsiveStyles.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import React from 'react';
-import { PatternFlyThemeProvider, StyledConstants, StyledBox, StyledText } from '@patternfly/react-styled-system';
-
-class ResponsiveStyles extends React.Component {
- render() {
- const { space, colors, fontSizes, borders } = StyledConstants;
-
- return (
-
-
-
- In this example, the Box widths are: 100% below the smallest breakpoint, 50% from the next breakpoint and
- up, 25% from the next breakpoint and up
-
-
-
-
-
-
- This text changes the font size depending on the screen width
-
-
- This box has different margins depending on the screen width
-
-
- This box has different paddings depending on the screen width
-
-
-
- );
- }
-}
-
-export default ResponsiveStyles;
diff --git a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/SpaceStyles.js b/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/SpaceStyles.js
deleted file mode 100644
index 1d17cc140d9..00000000000
--- a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/SpaceStyles.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import React from 'react';
-import { PatternFlyThemeProvider, StyledConstants, StyledBox } from '@patternfly/react-styled-system';
-
-class SpaceStyles extends React.Component {
- render() {
- const { space, borders } = StyledConstants;
- return (
-
-
-
- sets medium margin value
-
-
- sets negative medium margin value
-
-
- sets margin auto
-
-
-
- );
- }
-}
-
-export default SpaceStyles;
diff --git a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/TypographyStyles.js b/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/TypographyStyles.js
deleted file mode 100644
index beb1316be3a..00000000000
--- a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/TypographyStyles.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import React from 'react';
-import { PatternFlyThemeProvider, StyledConstants, StyledText } from '@patternfly/react-styled-system';
-
-class TypographyStyles extends React.Component {
- render() {
- const { fonts, lineHeights, fontWeights, fontSizes } = StyledConstants;
- return (
-
-
- Font family: Monospace
- Font family: Sans serif
-
- Alignment: Centered text
-
- Alignment: Centered text for smaller viewports, left aligned for wider viewports
-
-
- Line height: small
- Line height: medium
-
- Font weight: light
- Font weight: semi bold
- Font weight: bold
-
- Font size: small
- Font size: medium
- Font size: large
-
-
- );
- }
-}
-
-export default TypographyStyles;
diff --git a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/WidthStyles.js b/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/WidthStyles.js
deleted file mode 100644
index 5e7006d9d4b..00000000000
--- a/packages/patternfly-4/react-styled-system/src/components/StyledSystem/examples/WidthStyles.js
+++ /dev/null
@@ -1,31 +0,0 @@
-import React from 'react';
-import { PatternFlyThemeProvider, StyledConstants, StyledBox } from '@patternfly/react-styled-system';
-
-class WidthStyles extends React.Component {
- render() {
- const { borders, ratio } = StyledConstants;
- return (
-
-
-
- width 50%
-
-
- width 256px
-
-
- width 4em
-
-
- width `100%` when less than first breakpoint, and `50%` from the second breakpoint and up
-
-
- golden ratio: width = height * ratio
-
-
-
- );
- }
-}
-
-export default WidthStyles;
diff --git a/packages/patternfly-4/react-table/src/components/Table/Table.docs.js b/packages/patternfly-4/react-table/src/components/Table/Table.docs.js
deleted file mode 100644
index 9664f7a94ce..00000000000
--- a/packages/patternfly-4/react-table/src/components/Table/Table.docs.js
+++ /dev/null
@@ -1,31 +0,0 @@
-import { Table, TableHeader, TableBody } from '@patternfly/react-table';
-import Simple from './examples/SimpleTable';
-import Sortable from './examples/SortableTable';
-import Selectable from './examples/SelectableTable';
-import SimpleActions from './examples/SimpleActionsTable';
-import Actions from './examples/ActionsTable';
-import CellHeader from './examples/CellHeader';
-import Compact from './examples/CompactTable';
-import Width from './examples/WidthTable';
-import Collapsible from './examples/CollapsibleTable';
-
-export default {
- title: 'Table',
- components: {
- Table,
- TableBody,
- TableHeader
- },
- variablesRoot: 'pf-c-table',
- examples: [
- { component: Simple, title: 'Simple Table' },
- { component: Sortable, title: 'Sortable Table' },
- { component: Selectable, title: 'Selectable Table' },
- { component: SimpleActions, title: 'Simple Actions Table' },
- { component: Actions, title: 'Actions Table' },
- { component: CellHeader, title: 'First cell as Header' },
- { component: Compact, title: 'Compact Table' },
- { component: Width, title: 'Table with Width Modifiers' },
- { component: Collapsible, title: 'Collapsible table' }
- ]
-};
diff --git a/packages/patternfly-4/react-table/src/components/Table/Table.md b/packages/patternfly-4/react-table/src/components/Table/Table.md
new file mode 100644
index 00000000000..7d4cf7da5a1
--- /dev/null
+++ b/packages/patternfly-4/react-table/src/components/Table/Table.md
@@ -0,0 +1,462 @@
+---
+title: "Table"
+cssPrefix: "pf-c-table"
+---
+Note: Table lives in its own package [`@patternfly/react-table`](https://www.npmjs.com/package/@patternfly/react-table)!
+
+## Simple Table
+```js
+import React from 'react';
+import { Table, TableHeader, TableBody } from '@patternfly/react-table';
+
+class SimpleTable extends React.Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ columns: [{ title: 'Repositories' }, 'Branches', { title: 'Pull requests' }, 'Workspaces', 'Last Commit'],
+ rows: [
+ ['one', 'two', 'three', 'four', 'five'],
+ [
+ {
+ title: one - 2
,
+ props: { title: 'hover title', colSpan: 3 }
+ },
+ 'four - 2',
+ 'five - 2'
+ ]
+ ]
+ };
+ }
+
+ render() {
+ const { columns, rows } = this.state;
+
+ return (
+
+ );
+ }
+}
+```
+
+## Sortable Table
+```js
+import React from 'react';
+import { Table, TableHeader, TableBody, sortable, SortByDirection } from '@patternfly/react-table';
+
+class SortableTable extends React.Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ columns: [
+ { title: 'Repositories', transforms: [sortable] },
+ 'Branches',
+ { title: 'Pull requests', transforms: [sortable] },
+ 'Workspaces',
+ 'Last Commit'
+ ],
+ rows: [['one', 'two', 'a', 'four', 'five'], ['a', 'two', 'k', 'four', 'five'], ['p', 'two', 'b', 'four', 'five']],
+ sortBy: {}
+ };
+ this.onSort = this.onSort.bind(this);
+ }
+
+ onSort(_event, index, direction) {
+ const sortedRows = this.state.rows.sort((a, b) => (a[index] < b[index] ? -1 : a[index] > b[index] ? 1 : 0));
+ this.setState({
+ sortBy: {
+ index,
+ direction
+ },
+ rows: direction === SortByDirection.asc ? sortedRows : sortedRows.reverse()
+ });
+ }
+
+ render() {
+ const { columns, rows, sortBy } = this.state;
+
+ return (
+
+ );
+ }
+}
+```
+
+## Selectable Table
+```js
+import React from 'react';
+import { Table, TableHeader, TableBody } from '@patternfly/react-table';
+
+class SelectableTable extends React.Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ columns: [{ title: 'Repositories' }, 'Branches', { title: 'Pull requests' }, 'Workspaces', 'Last Commit'],
+ rows: [
+ {
+ cells: ['one', 'two', 'a', 'four', 'five']
+ },
+ {
+ cells: ['a', 'two', 'k', 'four', 'five']
+ },
+ {
+ cells: ['p', 'two', 'b', 'four', 'five']
+ }
+ ]
+ };
+ this.onSelect = this.onSelect.bind(this);
+ }
+
+ onSelect(event, isSelected, rowId) {
+ let rows;
+ if (rowId === -1) {
+ rows = this.state.rows.map(oneRow => {
+ oneRow.selected = isSelected;
+ return oneRow;
+ });
+ } else {
+ rows = [...this.state.rows];
+ rows[rowId].selected = isSelected;
+ }
+ this.setState({
+ rows
+ });
+ }
+
+ render() {
+ const { columns, rows } = this.state;
+
+ return (
+
+ );
+ }
+}
+```
+
+## Simple Actions Table
+```js
+import React from 'react';
+import { Table, TableHeader, TableBody } from '@patternfly/react-table';
+
+class SimpleActionsTable extends React.Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ columns: [{ title: 'Repositories' }, 'Branches', { title: 'Pull requests' }, 'Workspaces', 'Last Commit'],
+ rows: [
+ {
+ cells: ['one', 'two', 'a', 'four', 'five']
+ },
+ {
+ cells: ['a', 'two', 'k', 'four', 'five']
+ },
+ {
+ cells: ['p', 'two', 'b', 'four', 'five'],
+ disableActions: true
+ }
+ ],
+ actions: [
+ {
+ title: 'Some action',
+ onClick: (event, rowId, rowData, extra) => console.log('clicked on Some action, on row: ', rowId)
+ },
+ {
+ title: Another action
,
+ onClick: (event, rowId, rowData, extra) => console.log('clicked on Another action, on row: ', rowId)
+ },
+ {
+ isSeparator: true
+ },
+ {
+ title: 'Third action',
+ onClick: (event, rowId, rowData, extra) => console.log('clicked on Third action, on row: ', rowId)
+ }
+ ]
+ };
+ }
+
+ render() {
+ const { columns, rows, actions } = this.state;
+ return (
+
+ );
+ }
+}
+```
+
+## Actions Table
+```js
+import React from 'react';
+import { Table, TableHeader, TableBody } from '@patternfly/react-table';
+
+class ActionsTable extends React.Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ columns: [{ title: 'Repositories' }, 'Branches', { title: 'Pull requests' }, 'Workspaces', 'Last Commit'],
+ rows: [
+ {
+ cells: ['one', 'two', 'a', 'four', 'five'],
+ type: 'green'
+ },
+ {
+ cells: ['a', 'two', 'k', 'four', 'five']
+ },
+ {
+ cells: ['p', 'two', 'b', 'four', 'five'],
+ type: 'blue'
+ },
+ {
+ cells: ['5', '2', 'b', 'four', 'five']
+ }
+ ]
+ };
+ }
+
+ actionResolver(rowData, { rowIndex }) {
+ if (rowIndex === 1) {
+ return null;
+ }
+
+ const thirdAction =
+ rowData.type === 'blue'
+ ? [
+ {
+ isSeparator: true
+ },
+ {
+ title: 'Third action',
+ onClick: (event, rowId, rowData, extra) =>
+ console.log(`clicked on Third action, on row ${rowId} of type ${rowData.type}`)
+ }
+ ]
+ : [];
+
+ return [
+ {
+ title: 'Some action',
+ onClick: (event, rowId, rowData, extra) =>
+ console.log(`clicked on Some action, on row ${rowId} of type ${rowData.type}`)
+ },
+ {
+ title: Another action
,
+ onClick: (event, rowId, rowData, extra) =>
+ console.log(`clicked on Another action, on row ${rowId} of type ${rowData.type}`)
+ },
+ ...thirdAction
+ ];
+ };
+
+ areActionsDisabled(rowData, { rowIndex }) {
+ return rowIndex === 3
+ };
+
+ render() {
+ const { columns, rows } = this.state;
+ return (
+
+ );
+ }
+}
+```
+
+## First cell as Header Table
+```js
+import React from 'react';
+import { Table, TableHeader, TableBody, headerCol } from '@patternfly/react-table';
+
+class CellHeader extends React.Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ columns: [
+ { title: 'Header cell', cellTransforms: [headerCol('selectable')] },
+ 'Branches',
+ { title: 'Pull requests' },
+ 'Workspaces',
+ 'Last Commit'
+ ],
+ rows: [['one', 'two', 'three', 'four', 'five']]
+ };
+ }
+
+ render() {
+ const { columns, rows } = this.state;
+
+ return (
+
+ );
+ }
+}
+```
+
+## Compact Table
+```js
+import React from 'react';
+import { Table, TableHeader, TableBody, TableVariant } from '@patternfly/react-table';
+
+class CompactTable extends React.Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ columns: [
+ { title: 'Header cell' },
+ 'Branches',
+ { title: 'Pull requests', props: { className: 'pf-u-text-align-center' } },
+ '' // deliberately empty
+ ],
+ rows: [['one', 'two', 'three', 'four'], ['one', 'two', 'three', 'four'], ['one', 'two', 'three', 'four']]
+ };
+ }
+
+ render() {
+ const { columns, rows } = this.state;
+
+ return (
+
+ );
+ }
+}
+```
+
+## Table with Width Modifiers
+```js
+import React from 'react';
+import { Table, TableHeader, TableBody, cellWidth } from '@patternfly/react-table';
+
+class WidthTable extends React.Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ columns: [
+ { title: 'Header cell', transforms: [cellWidth(10)] },
+ 'Branches',
+ { title: 'Pull requests', transforms: [cellWidth(30)] },
+ 'Workspaces',
+ {
+ title: 'Last Commit',
+ transforms: [cellWidth('max')]
+ }
+ ],
+ rows: [['one', 'two', 'three', 'four', 'five']]
+ };
+ }
+
+ render() {
+ const { columns, rows } = this.state;
+
+ return (
+
+ );
+ }
+}
+```
+
+## Collapsible table
+```js
+import React from 'react';
+import { Table, TableHeader, TableBody, expandable } from '@patternfly/react-table';
+
+class CollapsibleTable extends React.Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ columns: [
+ {
+ title: 'Header cell',
+ cellFormatters: [expandable]
+ },
+ 'Branches',
+ { title: 'Pull requests' },
+ 'Workspaces',
+ {
+ title: 'Last Commit'
+ }
+ ],
+ rows: [
+ {
+ cells: ['one', 'two', 'three', 'four', 'five']
+ },
+ {
+ isOpen: true,
+ cells: ['parent - 1', 'two', 'three', 'four', 'five']
+ },
+ {
+ parent: 1,
+ cells: ['child - 1']
+ },
+ {
+ isOpen: false,
+ cells: ['parent - 2', 'two', 'three', 'four', 'five']
+ },
+ {
+ parent: 3,
+ cells: ['child - 2']
+ },
+ {
+ isOpen: false,
+ cells: ['parent - 3', 'two', 'three', 'four', 'five']
+ },
+ {
+ parent: 5,
+ cells: ['child - 3']
+ }
+ ]
+ };
+ this.onCollapse = this.onCollapse.bind(this);
+ }
+
+ onCollapse(event, rowKey, isOpen) {
+ const { rows } = this.state;
+ /**
+ * Please do not use rowKey as row index for more complex tables.
+ * Rather use some kind of identifier like ID passed with each row.
+ */
+ rows[rowKey].isOpen = isOpen;
+ this.setState({
+ rows
+ });
+ }
+
+ render() {
+ const { columns, rows } = this.state;
+
+ return (
+
+ );
+ }
+}
+
+```
\ No newline at end of file
diff --git a/packages/patternfly-4/react-table/src/components/Table/examples/ActionsTable.js b/packages/patternfly-4/react-table/src/components/Table/examples/ActionsTable.js
deleted file mode 100644
index da2e309380e..00000000000
--- a/packages/patternfly-4/react-table/src/components/Table/examples/ActionsTable.js
+++ /dev/null
@@ -1,82 +0,0 @@
-/* eslint-disable no-console */
-import React from 'react';
-import { Table, TableHeader, TableBody } from '@patternfly/react-table';
-
-class ActionsTable extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- columns: [{ title: 'Repositories' }, 'Branches', { title: 'Pull requests' }, 'Workspaces', 'Last Commit'],
- rows: [
- {
- cells: ['one', 'two', 'a', 'four', 'five'],
- type: 'green'
- },
- {
- cells: ['a', 'two', 'k', 'four', 'five']
- },
- {
- cells: ['p', 'two', 'b', 'four', 'five'],
- type: 'blue'
- },
- {
- cells: ['5', '2', 'b', 'four', 'five']
- }
- ]
- };
- }
-
- actionResolver = (rowData, { rowIndex }) => {
- if (rowIndex === 1) {
- return null;
- }
-
- const thirdAction =
- rowData.type === 'blue'
- ? [
- {
- isSeparator: true
- },
- {
- title: 'Third action',
- onClick: (event, rowId, rowData, extra) =>
- console.log(`clicked on Third action, on row ${rowId} of type ${rowData.type}`)
- }
- ]
- : [];
-
- return [
- {
- title: 'Some action',
- onClick: (event, rowId, rowData, extra) =>
- console.log(`clicked on Some action, on row ${rowId} of type ${rowData.type}`)
- },
- {
- title: Another action
,
- onClick: (event, rowId, rowData, extra) =>
- console.log(`clicked on Another action, on row ${rowId} of type ${rowData.type}`)
- },
- ...thirdAction
- ];
- };
-
- areActionsDisabled = (rowData, { rowIndex }) => rowIndex === 3;
-
- render() {
- const { columns, rows } = this.state;
- return (
-
- );
- }
-}
-
-export default ActionsTable;
diff --git a/packages/patternfly-4/react-table/src/components/Table/examples/CellHeader.js b/packages/patternfly-4/react-table/src/components/Table/examples/CellHeader.js
deleted file mode 100644
index fa49566f327..00000000000
--- a/packages/patternfly-4/react-table/src/components/Table/examples/CellHeader.js
+++ /dev/null
@@ -1,31 +0,0 @@
-import React from 'react';
-import { Table, TableHeader, TableBody, headerCol } from '@patternfly/react-table';
-
-class CellHeader extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- columns: [
- { title: 'Header cell', cellTransforms: [headerCol('selectable')] },
- 'Branches',
- { title: 'Pull requests' },
- 'Workspaces',
- 'Last Commit'
- ],
- rows: [['one', 'two', 'three', 'four', 'five']]
- };
- }
-
- render() {
- const { columns, rows } = this.state;
-
- return (
-
- );
- }
-}
-
-export default CellHeader;
diff --git a/packages/patternfly-4/react-table/src/components/Table/examples/CollapsibleTable.js b/packages/patternfly-4/react-table/src/components/Table/examples/CollapsibleTable.js
deleted file mode 100644
index bfc6f0ea19d..00000000000
--- a/packages/patternfly-4/react-table/src/components/Table/examples/CollapsibleTable.js
+++ /dev/null
@@ -1,77 +0,0 @@
-import React from 'react';
-import { Table, TableHeader, TableBody, expandable } from '@patternfly/react-table';
-
-class CollapsibleTable extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- columns: [
- {
- title: 'Header cell',
- cellFormatters: [expandable]
- },
- 'Branches',
- { title: 'Pull requests' },
- 'Workspaces',
- {
- title: 'Last Commit'
- }
- ],
- rows: [
- {
- cells: ['one', 'two', 'three', 'four', 'five']
- },
- {
- isOpen: true,
- cells: ['parent - 1', 'two', 'three', 'four', 'five']
- },
- {
- parent: 1,
- cells: ['child - 1']
- },
- {
- isOpen: false,
- cells: ['parent - 2', 'two', 'three', 'four', 'five']
- },
- {
- parent: 3,
- cells: ['child - 2']
- },
- {
- isOpen: false,
- cells: ['parent - 3', 'two', 'three', 'four', 'five']
- },
- {
- parent: 5,
- cells: ['child - 3']
- }
- ]
- };
- this.onCollapse = this.onCollapse.bind(this);
- }
-
- onCollapse(event, rowKey, isOpen) {
- const { rows } = this.state;
- /**
- * Please do not use rowKey as row index for more complex tables.
- * Rather use some kind of identifier like ID passed with each row.
- */
- rows[rowKey].isOpen = isOpen;
- this.setState({
- rows
- });
- }
-
- render() {
- const { columns, rows } = this.state;
-
- return (
-
- );
- }
-}
-
-export default CollapsibleTable;
diff --git a/packages/patternfly-4/react-table/src/components/Table/examples/CompactTable.js b/packages/patternfly-4/react-table/src/components/Table/examples/CompactTable.js
deleted file mode 100644
index 9e7351ddcad..00000000000
--- a/packages/patternfly-4/react-table/src/components/Table/examples/CompactTable.js
+++ /dev/null
@@ -1,30 +0,0 @@
-import React from 'react';
-import { Table, TableHeader, TableBody, TableVariant } from '@patternfly/react-table';
-
-class CompactTable extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- columns: [
- { title: 'Header cell' },
- 'Branches',
- { title: 'Pull requests', props: { className: 'pf-u-text-align-center' } },
- '' // deliberately empty
- ],
- rows: [['one', 'two', 'three', 'four'], ['one', 'two', 'three', 'four'], ['one', 'two', 'three', 'four']]
- };
- }
-
- render() {
- const { columns, rows } = this.state;
-
- return (
-
- );
- }
-}
-
-export default CompactTable;
diff --git a/packages/patternfly-4/react-table/src/components/Table/examples/SelectableTable.js b/packages/patternfly-4/react-table/src/components/Table/examples/SelectableTable.js
deleted file mode 100644
index 9b30c1fb4e0..00000000000
--- a/packages/patternfly-4/react-table/src/components/Table/examples/SelectableTable.js
+++ /dev/null
@@ -1,52 +0,0 @@
-import React from 'react';
-import { Table, TableHeader, TableBody } from '@patternfly/react-table';
-
-class SelectableTable extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- columns: [{ title: 'Repositories' }, 'Branches', { title: 'Pull requests' }, 'Workspaces', 'Last Commit'],
- rows: [
- {
- cells: ['one', 'two', 'a', 'four', 'five']
- },
- {
- cells: ['a', 'two', 'k', 'four', 'five']
- },
- {
- cells: ['p', 'two', 'b', 'four', 'five']
- }
- ]
- };
- this.onSelect = this.onSelect.bind(this);
- }
-
- onSelect(event, isSelected, rowId) {
- let rows;
- if (rowId === -1) {
- rows = this.state.rows.map(oneRow => {
- oneRow.selected = isSelected;
- return oneRow;
- });
- } else {
- rows = [...this.state.rows];
- rows[rowId].selected = isSelected;
- }
- this.setState({
- rows
- });
- }
-
- render() {
- const { columns, rows } = this.state;
-
- return (
-
- );
- }
-}
-
-export default SelectableTable;
diff --git a/packages/patternfly-4/react-table/src/components/Table/examples/SimpleActionsTable.js b/packages/patternfly-4/react-table/src/components/Table/examples/SimpleActionsTable.js
deleted file mode 100644
index 38f95bfec0f..00000000000
--- a/packages/patternfly-4/react-table/src/components/Table/examples/SimpleActionsTable.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/* eslint-disable no-console */
-import React from 'react';
-import { Table, TableHeader, TableBody } from '@patternfly/react-table';
-
-class SimpleActionsTable extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- columns: [{ title: 'Repositories' }, 'Branches', { title: 'Pull requests' }, 'Workspaces', 'Last Commit'],
- rows: [
- {
- cells: ['one', 'two', 'a', 'four', 'five']
- },
- {
- cells: ['a', 'two', 'k', 'four', 'five']
- },
- {
- cells: ['p', 'two', 'b', 'four', 'five'],
- disableActions: true
- }
- ],
- actions: [
- {
- title: 'Some action',
- onClick: (event, rowId, rowData, extra) => console.log('clicked on Some action, on row: ', rowId)
- },
- {
- title: Another action
,
- onClick: (event, rowId, rowData, extra) => console.log('clicked on Another action, on row: ', rowId)
- },
- {
- isSeparator: true
- },
- {
- title: 'Third action',
- onClick: (event, rowId, rowData, extra) => console.log('clicked on Third action, on row: ', rowId)
- }
- ]
- };
- }
-
- render() {
- const { columns, rows, actions } = this.state;
- return (
-
- );
- }
-}
-
-export default SimpleActionsTable;
diff --git a/packages/patternfly-4/react-table/src/components/Table/examples/SimpleTable.js b/packages/patternfly-4/react-table/src/components/Table/examples/SimpleTable.js
deleted file mode 100644
index 3df8f762364..00000000000
--- a/packages/patternfly-4/react-table/src/components/Table/examples/SimpleTable.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import React from 'react';
-import { Table, TableHeader, TableBody } from '@patternfly/react-table';
-
-class SimpleTable extends React.Component {
- static title = 'Simple Table';
- constructor(props) {
- super(props);
- this.state = {
- columns: [{ title: 'Repositories' }, 'Branches', { title: 'Pull requests' }, 'Workspaces', 'Last Commit'],
- rows: [
- ['one', 'two', 'three', 'four', 'five'],
- [
- {
- title: one - 2
,
- props: { title: 'hover title', colSpan: 3 }
- },
- 'four - 2',
- 'five - 2'
- ]
- ]
- };
- }
-
- render() {
- const { columns, rows } = this.state;
-
- return (
-
- );
- }
-}
-
-export default SimpleTable;
diff --git a/packages/patternfly-4/react-table/src/components/Table/examples/SortableTable.js b/packages/patternfly-4/react-table/src/components/Table/examples/SortableTable.js
deleted file mode 100644
index dc19b800a26..00000000000
--- a/packages/patternfly-4/react-table/src/components/Table/examples/SortableTable.js
+++ /dev/null
@@ -1,44 +0,0 @@
-import React from 'react';
-import { Table, TableHeader, TableBody, sortable, SortByDirection } from '@patternfly/react-table';
-
-class SortableTable extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- columns: [
- { title: 'Repositories', transforms: [sortable] },
- 'Branches',
- { title: 'Pull requests', transforms: [sortable] },
- 'Workspaces',
- 'Last Commit'
- ],
- rows: [['one', 'two', 'a', 'four', 'five'], ['a', 'two', 'k', 'four', 'five'], ['p', 'two', 'b', 'four', 'five']],
- sortBy: {}
- };
- this.onSort = this.onSort.bind(this);
- }
-
- onSort(_event, index, direction) {
- const sortedRows = this.state.rows.sort((a, b) => (a[index] < b[index] ? -1 : a[index] > b[index] ? 1 : 0));
- this.setState({
- sortBy: {
- index,
- direction
- },
- rows: direction === SortByDirection.asc ? sortedRows : sortedRows.reverse()
- });
- }
-
- render() {
- const { columns, rows, sortBy } = this.state;
-
- return (
-
- );
- }
-}
-
-export default SortableTable;
diff --git a/packages/patternfly-4/react-table/src/components/Table/examples/WidthTable.js b/packages/patternfly-4/react-table/src/components/Table/examples/WidthTable.js
deleted file mode 100644
index 01122c16837..00000000000
--- a/packages/patternfly-4/react-table/src/components/Table/examples/WidthTable.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import React from 'react';
-import { Table, TableHeader, TableBody, cellWidth } from '@patternfly/react-table';
-
-class WidthTable extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- columns: [
- { title: 'Header cell', transforms: [cellWidth(10)] },
- 'Branches',
- { title: 'Pull requests', transforms: [cellWidth(30)] },
- 'Workspaces',
- {
- title: 'Last Commit',
- transforms: [cellWidth('max')]
- }
- ],
- rows: [['one', 'two', 'three', 'four', 'five']]
- };
- }
-
- render() {
- const { columns, rows } = this.state;
-
- return (
-
- );
- }
-}
-
-export default WidthTable;
diff --git a/scripts/generators/patternfly-4-component/index.js b/scripts/generators/patternfly-4-component/index.js
index 5143d7225ba..b20532ecdcb 100644
--- a/scripts/generators/patternfly-4-component/index.js
+++ b/scripts/generators/patternfly-4-component/index.js
@@ -46,8 +46,8 @@ function setPF4Generators(plop) {
{
data,
type: 'add',
- templateFile: join(base, 'component.docs.js.hbs'),
- path: join(reactCoreRoot, './src/{{typeDir}}/{{componentName}}/{{componentName}}.docs.js')
+ templateFile: join(base, 'component.md.hbs'),
+ path: join(reactCoreRoot, './src/{{typeDir}}/{{componentName}}/{{componentName}}.md')
},
{
data,
@@ -55,12 +55,6 @@ function setPF4Generators(plop) {
templateFile: join(base, 'index.ts.hbs'),
path: join(reactCoreRoot, './src/{{typeDir}}/{{componentName}}/index.ts')
},
- {
- data,
- type: 'add',
- templateFile: join(base, 'example.js.hbs'),
- path: join(reactCoreRoot, './src/{{typeDir}}/{{componentName}}/examples/Simple{{componentName}}.tsx')
- },
{
data,
type: ADD_TO_BARREL_FILE,
diff --git a/scripts/generators/patternfly-4-component/templates/component/component.docs.js.hbs b/scripts/generators/patternfly-4-component/templates/component/component.docs.js.hbs
deleted file mode 100644
index d37d4745187..00000000000
--- a/scripts/generators/patternfly-4-component/templates/component/component.docs.js.hbs
+++ /dev/null
@@ -1,10 +0,0 @@
-import { {{componentName}} } from '@patternfly/react-core';
-import Simple from './examples/Simple{{componentName}}';
-
-export default {
- title: '{{componentName}}',
- components: {
- {{componentName}}
- },
- examples: [{component: Simple, title: 'Simple {{componentName}}'}]
-};
diff --git a/scripts/generators/patternfly-4-component/templates/component/example.js.hbs b/scripts/generators/patternfly-4-component/templates/component/component.md.hbs
similarity index 65%
rename from scripts/generators/patternfly-4-component/templates/component/example.js.hbs
rename to scripts/generators/patternfly-4-component/templates/component/component.md.hbs
index 1df26f1c1f5..9dc833d0201 100644
--- a/scripts/generators/patternfly-4-component/templates/component/example.js.hbs
+++ b/scripts/generators/patternfly-4-component/templates/component/component.md.hbs
@@ -1,13 +1,17 @@
+---
+title: {{componentName}}
+---
+{{componentName}} is used for ...
+## Simple {{componentName}} Example
+```js
import React from 'react';
import { {{componentName}} } from '@patternfly/react-core';
class Simple{{componentName}} extends React.Component {
-
render() {
return (
<{{componentName}} />
);
}
}
-
-export default Simple{{componentName}};
+```
diff --git a/yarn.lock b/yarn.lock
index bc1fe7e8788..be77ddb6b1e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -63,16 +63,16 @@
source-map "^0.5.0"
"@babel/core@>=7.1.0", "@babel/core@^7.0.0", "@babel/core@^7.0.1":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.3.4.tgz#921a5a13746c21e32445bf0798680e9d11a6530b"
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.0.tgz#248fd6874b7d755010bfe61f557461d4f446d9e9"
dependencies:
"@babel/code-frame" "^7.0.0"
- "@babel/generator" "^7.3.4"
- "@babel/helpers" "^7.2.0"
- "@babel/parser" "^7.3.4"
- "@babel/template" "^7.2.2"
- "@babel/traverse" "^7.3.4"
- "@babel/types" "^7.3.4"
+ "@babel/generator" "^7.4.0"
+ "@babel/helpers" "^7.4.0"
+ "@babel/parser" "^7.4.0"
+ "@babel/template" "^7.4.0"
+ "@babel/traverse" "^7.4.0"
+ "@babel/types" "^7.4.0"
convert-source-map "^1.1.0"
debug "^4.1.0"
json5 "^2.1.0"
@@ -81,11 +81,11 @@
semver "^5.4.1"
source-map "^0.5.0"
-"@babel/generator@^7.0.0", "@babel/generator@^7.1.6", "@babel/generator@^7.2.2", "@babel/generator@^7.3.4":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.3.4.tgz#9aa48c1989257877a9d971296e5b73bfe72e446e"
+"@babel/generator@^7.0.0", "@babel/generator@^7.1.6", "@babel/generator@^7.2.2", "@babel/generator@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.4.0.tgz#c230e79589ae7a729fd4631b9ded4dc220418196"
dependencies:
- "@babel/types" "^7.3.4"
+ "@babel/types" "^7.4.0"
jsesc "^2.5.1"
lodash "^4.17.11"
source-map "^0.5.0"
@@ -111,32 +111,32 @@
"@babel/types" "^7.3.0"
esutils "^2.0.0"
-"@babel/helper-call-delegate@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz#6a957f105f37755e8645343d3038a22e1449cc4a"
+"@babel/helper-call-delegate@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.0.tgz#f308eabe0d44f451217853aedf4dea5f6fe3294f"
dependencies:
- "@babel/helper-hoist-variables" "^7.0.0"
- "@babel/traverse" "^7.1.0"
- "@babel/types" "^7.0.0"
+ "@babel/helper-hoist-variables" "^7.4.0"
+ "@babel/traverse" "^7.4.0"
+ "@babel/types" "^7.4.0"
-"@babel/helper-create-class-features-plugin@^7.3.0", "@babel/helper-create-class-features-plugin@^7.3.4":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.3.4.tgz#092711a7a3ad8ea34de3e541644c2ce6af1f6f0c"
+"@babel/helper-create-class-features-plugin@^7.3.0", "@babel/helper-create-class-features-plugin@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.4.0.tgz#30fd090e059d021995c1762a5b76798fa0b51d82"
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.3.4"
- "@babel/helper-split-export-declaration" "^7.0.0"
+ "@babel/helper-replace-supers" "^7.4.0"
+ "@babel/helper-split-export-declaration" "^7.4.0"
-"@babel/helper-define-map@^7.1.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz#3b74caec329b3c80c116290887c0dd9ae468c20c"
+"@babel/helper-define-map@^7.1.0", "@babel/helper-define-map@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.4.0.tgz#cbfd8c1b2f12708e262c26f600cd16ed6a3bc6c9"
dependencies:
"@babel/helper-function-name" "^7.1.0"
- "@babel/types" "^7.0.0"
- lodash "^4.17.10"
+ "@babel/types" "^7.4.0"
+ lodash "^4.17.11"
"@babel/helper-explode-assignable-expression@^7.1.0":
version "7.1.0"
@@ -159,11 +159,11 @@
dependencies:
"@babel/types" "^7.0.0"
-"@babel/helper-hoist-variables@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz#46adc4c5e758645ae7a45deb92bab0918c23bb88"
+"@babel/helper-hoist-variables@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.0.tgz#25b621399ae229869329730a62015bbeb0a6fbd6"
dependencies:
- "@babel/types" "^7.0.0"
+ "@babel/types" "^7.4.0"
"@babel/helper-member-expression-to-functions@^7.0.0":
version "7.0.0"
@@ -214,14 +214,14 @@
"@babel/traverse" "^7.1.0"
"@babel/types" "^7.0.0"
-"@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.3.4":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.3.4.tgz#a795208e9b911a6eeb08e5891faacf06e7013e13"
+"@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.4.0.tgz#4f56adb6aedcd449d2da9399c2dcf0545463b64c"
dependencies:
"@babel/helper-member-expression-to-functions" "^7.0.0"
"@babel/helper-optimise-call-expression" "^7.0.0"
- "@babel/traverse" "^7.3.4"
- "@babel/types" "^7.3.4"
+ "@babel/traverse" "^7.4.0"
+ "@babel/types" "^7.4.0"
"@babel/helper-simple-access@^7.1.0":
version "7.1.0"
@@ -230,11 +230,11 @@
"@babel/template" "^7.1.0"
"@babel/types" "^7.0.0"
-"@babel/helper-split-export-declaration@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813"
+"@babel/helper-split-export-declaration@^7.0.0", "@babel/helper-split-export-declaration@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.0.tgz#571bfd52701f492920d63b7f735030e9a3e10b55"
dependencies:
- "@babel/types" "^7.0.0"
+ "@babel/types" "^7.4.0"
"@babel/helper-wrap-function@^7.1.0":
version "7.2.0"
@@ -245,13 +245,13 @@
"@babel/traverse" "^7.1.0"
"@babel/types" "^7.2.0"
-"@babel/helpers@^7.1.5", "@babel/helpers@^7.2.0":
- version "7.3.1"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.3.1.tgz#949eec9ea4b45d3210feb7dc1c22db664c9e44b9"
+"@babel/helpers@^7.1.5", "@babel/helpers@^7.2.0", "@babel/helpers@^7.4.0":
+ version "7.4.2"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.4.2.tgz#3bdfa46a552ca77ef5a0f8551be5f0845ae989be"
dependencies:
- "@babel/template" "^7.1.2"
- "@babel/traverse" "^7.1.5"
- "@babel/types" "^7.3.0"
+ "@babel/template" "^7.4.0"
+ "@babel/traverse" "^7.4.0"
+ "@babel/types" "^7.4.0"
"@babel/highlight@^7.0.0":
version "7.0.0"
@@ -261,9 +261,9 @@
esutils "^2.0.2"
js-tokens "^4.0.0"
-"@babel/parser@^7.0.0", "@babel/parser@^7.1.3", "@babel/parser@^7.1.6", "@babel/parser@^7.2.2", "@babel/parser@^7.3.4":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.3.4.tgz#a43357e4bbf4b92a437fb9e465c192848287f27c"
+"@babel/parser@^7.0.0", "@babel/parser@^7.1.3", "@babel/parser@^7.1.6", "@babel/parser@^7.2.2", "@babel/parser@^7.4.0":
+ version "7.4.2"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.4.2.tgz#b4521a400cb5a871eab3890787b4bc1326d38d91"
"@babel/plugin-proposal-async-generator-functions@^7.2.0":
version "7.2.0"
@@ -281,10 +281,10 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-proposal-class-properties@^7.0.0":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.3.4.tgz#410f5173b3dc45939f9ab30ca26684d72901405e"
+ 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.3.4"
+ "@babel/helper-create-class-features-plugin" "^7.4.0"
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-proposal-decorators@7.3.0":
@@ -323,9 +323,9 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-object-rest-spread" "^7.2.0"
-"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.3.1", "@babel/plugin-proposal-object-rest-spread@^7.3.4":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.4.tgz#47f73cf7f2a721aad5c0261205405c642e424654"
+"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.3.1", "@babel/plugin-proposal-object-rest-spread@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.0.tgz#e4960575205eadf2a1ab4e0c79f9504d5b82a97f"
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-object-rest-spread" "^7.2.0"
@@ -337,13 +337,13 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-optional-catch-binding" "^7.2.0"
-"@babel/plugin-proposal-unicode-property-regex@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz#abe7281fe46c95ddc143a65e5358647792039520"
+"@babel/plugin-proposal-unicode-property-regex@^7.2.0", "@babel/plugin-proposal-unicode-property-regex@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.0.tgz#202d91ee977d760ef83f4f416b280d568be84623"
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/helper-regex" "^7.0.0"
- regexpu-core "^4.2.0"
+ regexpu-core "^4.5.4"
"@babel/plugin-syntax-async-generators@^7.2.0":
version "7.2.0"
@@ -423,9 +423,9 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-async-to-generator@^7.2.0", "@babel/plugin-transform-async-to-generator@^7.3.4":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.3.4.tgz#4e45408d3c3da231c0e7b823f407a53a7eb3048c"
+"@babel/plugin-transform-async-to-generator@^7.2.0", "@babel/plugin-transform-async-to-generator@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.0.tgz#234fe3e458dce95865c0d152d256119b237834b0"
dependencies:
"@babel/helper-module-imports" "^7.0.0"
"@babel/helper-plugin-utils" "^7.0.0"
@@ -437,9 +437,9 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.2.0", "@babel/plugin-transform-block-scoping@^7.3.4":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.3.4.tgz#5c22c339de234076eee96c8783b2fed61202c5c4"
+"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.2.0", "@babel/plugin-transform-block-scoping@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.0.tgz#164df3bb41e3deb954c4ca32ffa9fcaa56d30bcb"
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
lodash "^4.17.11"
@@ -457,17 +457,17 @@
"@babel/helper-split-export-declaration" "^7.0.0"
globals "^11.1.0"
-"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.2.0", "@babel/plugin-transform-classes@^7.3.4":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.3.4.tgz#dc173cb999c6c5297e0b5f2277fdaaec3739d0cc"
+"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.2.0", "@babel/plugin-transform-classes@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.0.tgz#e3428d3c8a3d01f33b10c529b998ba1707043d4d"
dependencies:
"@babel/helper-annotate-as-pure" "^7.0.0"
- "@babel/helper-define-map" "^7.1.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.3.4"
- "@babel/helper-split-export-declaration" "^7.0.0"
+ "@babel/helper-replace-supers" "^7.4.0"
+ "@babel/helper-split-export-declaration" "^7.4.0"
globals "^11.1.0"
"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.2.0":
@@ -476,12 +476,18 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-destructuring@7.3.2", "@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.2.0":
+"@babel/plugin-transform-destructuring@7.3.2":
version "7.3.2"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.3.2.tgz#f2f5520be055ba1c38c41c0e094d8a461dd78f2d"
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
+"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.2.0", "@babel/plugin-transform-destructuring@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.0.tgz#acbb9b2418d290107db333f4d6cd8aa6aea00343"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
"@babel/plugin-transform-dotall-regex@^7.2.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz#f0aabb93d120a8ac61e925ea0ba440812dbe0e49"
@@ -511,15 +517,15 @@
"@babel/plugin-syntax-flow" "^7.2.0"
"@babel/plugin-transform-flow-strip-types@^7.0.0":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.3.4.tgz#00156236defb7dedddc2d3c9477dcc01a4494327"
+ 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-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz#ab7468befa80f764bb03d3cb5eef8cc998e1cad9"
+"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.2.0", "@babel/plugin-transform-for-of@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.0.tgz#56c8c36677f5d4a16b80b12f7b768de064aaeb5f"
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
@@ -549,19 +555,19 @@
"@babel/helper-module-transforms" "^7.1.0"
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz#c4f1933f5991d5145e9cfad1dfd848ea1727f404"
+"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.2.0", "@babel/plugin-transform-modules-commonjs@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.0.tgz#3b8ec61714d3b75d20c5ccfa157f2c2e087fd4ca"
dependencies:
"@babel/helper-module-transforms" "^7.1.0"
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/helper-simple-access" "^7.1.0"
-"@babel/plugin-transform-modules-systemjs@^7.2.0", "@babel/plugin-transform-modules-systemjs@^7.3.4":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.3.4.tgz#813b34cd9acb6ba70a84939f3680be0eb2e58861"
+"@babel/plugin-transform-modules-systemjs@^7.2.0", "@babel/plugin-transform-modules-systemjs@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.0.tgz#c2495e55528135797bc816f5d50f851698c586a1"
dependencies:
- "@babel/helper-hoist-variables" "^7.0.0"
+ "@babel/helper-hoist-variables" "^7.4.0"
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-transform-modules-umd@^7.2.0":
@@ -571,15 +577,15 @@
"@babel/helper-module-transforms" "^7.1.0"
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-named-capturing-groups-regex@^7.3.0":
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.3.0.tgz#140b52985b2d6ef0cb092ef3b29502b990f9cd50"
+"@babel/plugin-transform-named-capturing-groups-regex@^7.3.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.4.2":
+ version "7.4.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.2.tgz#800391136d6cbcc80728dbdba3c1c6e46f86c12e"
dependencies:
regexp-tree "^0.1.0"
-"@babel/plugin-transform-new-target@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz#ae8fbd89517fa7892d20e6564e641e8770c3aa4a"
+"@babel/plugin-transform-new-target@^7.0.0", "@babel/plugin-transform-new-target@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.0.tgz#67658a1d944edb53c8d4fa3004473a0dd7838150"
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
@@ -596,11 +602,11 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/helper-replace-supers" "^7.1.0"
-"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.2.0":
- version "7.3.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.3.3.tgz#3a873e07114e1a5bee17d04815662c8317f10e30"
+"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.2.0", "@babel/plugin-transform-parameters@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.0.tgz#a1309426fac4eecd2a9439a4c8c35124a11a48a9"
dependencies:
- "@babel/helper-call-delegate" "^7.1.0"
+ "@babel/helper-call-delegate" "^7.4.0"
"@babel/helper-get-function-arity" "^7.0.0"
"@babel/helper-plugin-utils" "^7.0.0"
@@ -645,9 +651,9 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-jsx" "^7.2.0"
-"@babel/plugin-transform-regenerator@^7.0.0", "@babel/plugin-transform-regenerator@^7.3.4":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.3.4.tgz#1601655c362f5b38eead6a52631f5106b29fa46a"
+"@babel/plugin-transform-regenerator@^7.0.0", "@babel/plugin-transform-regenerator@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.0.tgz#0780e27ee458cc3fdbad18294d703e972ae1f6d1"
dependencies:
regenerator-transform "^0.13.4"
@@ -661,8 +667,8 @@
semver "^5.5.1"
"@babel/plugin-transform-runtime@^7.0.0":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.3.4.tgz#57805ac8c1798d102ecd75c03b024a5b3ea9b431"
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.4.0.tgz#b4d8c925ed957471bc57e0b9da53408ebb1ed457"
dependencies:
"@babel/helper-module-imports" "^7.0.0"
"@babel/helper-plugin-utils" "^7.0.0"
@@ -701,9 +707,9 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-typescript@^7.1.0", "@babel/plugin-transform-typescript@^7.3.2":
- version "7.3.2"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.3.2.tgz#59a7227163e55738842f043d9e5bd7c040447d96"
+"@babel/plugin-transform-typescript@^7.0.0", "@babel/plugin-transform-typescript@^7.1.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.4.0.tgz#0389ec53a34e80f99f708c4ca311181449a68eb1"
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-typescript" "^7.2.0"
@@ -717,11 +723,11 @@
regexpu-core "^4.1.3"
"@babel/polyfill@^7.0.0":
- version "7.2.5"
- resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.2.5.tgz#6c54b964f71ad27edddc567d065e57e87ed7fa7d"
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.4.0.tgz#90f9d68ae34ac42ab4b4aa03151848f536960218"
dependencies:
- core-js "^2.5.7"
- regenerator-runtime "^0.12.0"
+ core-js "^2.6.5"
+ regenerator-runtime "^0.13.2"
"@babel/preset-env@7.3.1":
version "7.3.1"
@@ -771,50 +777,52 @@
js-levenshtein "^1.1.3"
semver "^5.3.0"
-"@babel/preset-env@^7.0.0":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.3.4.tgz#887cf38b6d23c82f19b5135298bdb160062e33e1"
+"@babel/preset-env@^7.0.0", "@babel/preset-env@^7.4.1":
+ version "7.4.2"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.4.2.tgz#2f5ba1de2daefa9dcca653848f96c7ce2e406676"
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.3.4"
+ "@babel/plugin-proposal-object-rest-spread" "^7.4.0"
"@babel/plugin-proposal-optional-catch-binding" "^7.2.0"
- "@babel/plugin-proposal-unicode-property-regex" "^7.2.0"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.4.0"
"@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.3.4"
+ "@babel/plugin-transform-async-to-generator" "^7.4.0"
"@babel/plugin-transform-block-scoped-functions" "^7.2.0"
- "@babel/plugin-transform-block-scoping" "^7.3.4"
- "@babel/plugin-transform-classes" "^7.3.4"
+ "@babel/plugin-transform-block-scoping" "^7.4.0"
+ "@babel/plugin-transform-classes" "^7.4.0"
"@babel/plugin-transform-computed-properties" "^7.2.0"
- "@babel/plugin-transform-destructuring" "^7.2.0"
+ "@babel/plugin-transform-destructuring" "^7.4.0"
"@babel/plugin-transform-dotall-regex" "^7.2.0"
"@babel/plugin-transform-duplicate-keys" "^7.2.0"
"@babel/plugin-transform-exponentiation-operator" "^7.2.0"
- "@babel/plugin-transform-for-of" "^7.2.0"
+ "@babel/plugin-transform-for-of" "^7.4.0"
"@babel/plugin-transform-function-name" "^7.2.0"
"@babel/plugin-transform-literals" "^7.2.0"
"@babel/plugin-transform-modules-amd" "^7.2.0"
- "@babel/plugin-transform-modules-commonjs" "^7.2.0"
- "@babel/plugin-transform-modules-systemjs" "^7.3.4"
+ "@babel/plugin-transform-modules-commonjs" "^7.4.0"
+ "@babel/plugin-transform-modules-systemjs" "^7.4.0"
"@babel/plugin-transform-modules-umd" "^7.2.0"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.3.0"
- "@babel/plugin-transform-new-target" "^7.0.0"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.2"
+ "@babel/plugin-transform-new-target" "^7.4.0"
"@babel/plugin-transform-object-super" "^7.2.0"
- "@babel/plugin-transform-parameters" "^7.2.0"
- "@babel/plugin-transform-regenerator" "^7.3.4"
+ "@babel/plugin-transform-parameters" "^7.4.0"
+ "@babel/plugin-transform-regenerator" "^7.4.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.2.0"
"@babel/plugin-transform-typeof-symbol" "^7.2.0"
"@babel/plugin-transform-unicode-regex" "^7.2.0"
- browserslist "^4.3.4"
+ "@babel/types" "^7.4.0"
+ browserslist "^4.4.2"
+ core-js-compat "^3.0.0"
invariant "^2.2.2"
js-levenshtein "^1.1.3"
semver "^5.3.0"
@@ -836,19 +844,12 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-transform-typescript" "^7.1.0"
-"@babel/preset-typescript@^7.0.0":
- version "7.3.3"
- resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.3.3.tgz#88669911053fa16b2b276ea2ede2ca603b3f307a"
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-transform-typescript" "^7.3.2"
-
"@babel/runtime-corejs2@^7.0.0":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.3.4.tgz#63f8bbc77622da202e9ea6f8f6e3bf28991832d9"
+ version "7.4.2"
+ resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.4.2.tgz#a0cec2c41717fa415e9c204f32b603d88b1796c2"
dependencies:
- core-js "^2.5.7"
- regenerator-runtime "^0.12.0"
+ core-js "^2.6.5"
+ regenerator-runtime "^0.13.2"
"@babel/runtime@7.3.1":
version "7.3.1"
@@ -857,36 +858,36 @@
regenerator-runtime "^0.12.0"
"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.4.tgz#73d12ba819e365fcf7fd152aed56d6df97d21c83"
+ version "7.4.2"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.2.tgz#f5ab6897320f16decd855eed70b705908a313fe8"
dependencies:
- regenerator-runtime "^0.12.0"
+ regenerator-runtime "^0.13.2"
-"@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2":
- version "7.2.2"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907"
+"@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2", "@babel/template@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.0.tgz#12474e9c077bae585c5d835a95c0b0b790c25c8b"
dependencies:
"@babel/code-frame" "^7.0.0"
- "@babel/parser" "^7.2.2"
- "@babel/types" "^7.2.2"
+ "@babel/parser" "^7.4.0"
+ "@babel/types" "^7.4.0"
-"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.1.5", "@babel/traverse@^7.1.6", "@babel/traverse@^7.2.2", "@babel/traverse@^7.3.4":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.3.4.tgz#1330aab72234f8dea091b08c4f8b9d05c7119e06"
+"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.1.6", "@babel/traverse@^7.2.2", "@babel/traverse@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.4.0.tgz#14006967dd1d2b3494cdd650c686db9daf0ddada"
dependencies:
"@babel/code-frame" "^7.0.0"
- "@babel/generator" "^7.3.4"
+ "@babel/generator" "^7.4.0"
"@babel/helper-function-name" "^7.1.0"
- "@babel/helper-split-export-declaration" "^7.0.0"
- "@babel/parser" "^7.3.4"
- "@babel/types" "^7.3.4"
+ "@babel/helper-split-export-declaration" "^7.4.0"
+ "@babel/parser" "^7.4.0"
+ "@babel/types" "^7.4.0"
debug "^4.1.0"
globals "^11.1.0"
lodash "^4.17.11"
-"@babel/types@^7.0.0", "@babel/types@^7.1.6", "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.3.0", "@babel/types@^7.3.4":
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.3.4.tgz#bf482eaeaffb367a28abbf9357a94963235d90ed"
+"@babel/types@^7.0.0", "@babel/types@^7.1.6", "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.3.0", "@babel/types@^7.4.0":
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.4.0.tgz#670724f77d24cce6cc7d8cf64599d511d164894c"
dependencies:
esutils "^2.0.2"
lodash "^4.17.11"
@@ -958,21 +959,21 @@
version "0.8.2"
resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.8.2.tgz#576ff7fb1230185b619a75d258cbc98f0867a8dc"
-"@fortawesome/fontawesome-common-types@^0.2.15":
- version "0.2.15"
- resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.15.tgz#16af950653083d1e3064061de9f8e5e3b579f688"
+"@fortawesome/fontawesome-common-types@^0.2.17":
+ version "0.2.17"
+ resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.17.tgz#d8c36e6f6f3b3415fa1f83eaffe4f41bd313715c"
"@fortawesome/free-regular-svg-icons@^5.7.2":
- version "5.7.2"
- resolved "https://registry.yarnpkg.com/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.7.2.tgz#7113bf9df5a970918b8cac8eb45e5ad120818741"
+ version "5.8.1"
+ resolved "https://registry.yarnpkg.com/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.8.1.tgz#9477a973fe3f681f871375fa95ff32a87dcb5111"
dependencies:
- "@fortawesome/fontawesome-common-types" "^0.2.15"
+ "@fortawesome/fontawesome-common-types" "^0.2.17"
"@fortawesome/free-solid-svg-icons@^5.7.2":
- version "5.7.2"
- resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.7.2.tgz#9ec2ed353d630092a8e19cc8aae2f716572963e5"
+ version "5.8.1"
+ resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.8.1.tgz#086c70f95b34a4bcf6f50ff1078d46e53486eb52"
dependencies:
- "@fortawesome/fontawesome-common-types" "^0.2.15"
+ "@fortawesome/fontawesome-common-types" "^0.2.17"
"@gatsbyjs/relay-compiler@2.0.0-printer-fix.2":
version "2.0.0-printer-fix.2"
@@ -1572,6 +1573,12 @@
npmlog "^4.1.2"
write-file-atomic "^2.3.0"
+"@mapbox/hast-util-table-cell-style@^0.1.3":
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/@mapbox/hast-util-table-cell-style/-/hast-util-table-cell-style-0.1.3.tgz#5b7166ae01297d72216932b245e4b2f0b642dca6"
+ dependencies:
+ unist-util-visit "^1.3.0"
+
"@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"
@@ -1612,8 +1619,8 @@
universal-user-agent "^2.0.1"
"@octokit/rest@^16.16.0":
- version "16.19.0"
- resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.19.0.tgz#238244eae904c15bc9aa863bb3819142d3369ccb"
+ version "16.21.1"
+ resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.21.1.tgz#16993b0a9c19be95a0a11dae54af702cefac6765"
dependencies:
"@octokit/request" "2.4.2"
before-after-hook "^1.4.0"
@@ -1654,11 +1661,11 @@
version "0.7.0"
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd"
-"@storybook/addon-actions@3.4.11", "@storybook/addon-actions@^v3.4.11":
- version "3.4.11"
- resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-3.4.11.tgz#a51418c5b684fd3df2788c19ef266845d6068baf"
+"@storybook/addon-actions@3.4.12", "@storybook/addon-actions@^v3.4.11":
+ version "3.4.12"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-3.4.12.tgz#ff6cbaf563c3cb5d648d6a35f66cfa50ced49bf4"
dependencies:
- "@storybook/components" "3.4.11"
+ "@storybook/components" "3.4.12"
babel-runtime "^6.26.0"
deep-equal "^1.0.1"
glamor "^2.20.40"
@@ -1670,11 +1677,11 @@
uuid "^3.2.1"
"@storybook/addon-info@^v3.4.11":
- version "3.4.11"
- resolved "https://registry.yarnpkg.com/@storybook/addon-info/-/addon-info-3.4.11.tgz#eb4eafb2ec5a580acdaeacab0065ee8463eddefd"
+ version "3.4.12"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-info/-/addon-info-3.4.12.tgz#3e867ed347997823a5389369aa018231e9416b8e"
dependencies:
- "@storybook/client-logger" "3.4.11"
- "@storybook/components" "3.4.11"
+ "@storybook/client-logger" "3.4.12"
+ "@storybook/components" "3.4.12"
babel-runtime "^6.26.0"
glamor "^2.20.40"
glamorous "^4.12.1"
@@ -1686,10 +1693,10 @@
util-deprecate "^1.0.2"
"@storybook/addon-knobs@^v3.4.11":
- version "3.4.11"
- resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-3.4.11.tgz#13ca0c73f19c0a3fda1a1d1ff07ef00fa3a914b3"
+ version "3.4.12"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-3.4.12.tgz#32fb48e15648f58870450d9699fa80cf6d7a0f47"
dependencies:
- "@storybook/components" "3.4.11"
+ "@storybook/components" "3.4.12"
babel-runtime "^6.26.0"
deep-equal "^1.0.1"
global "^4.3.2"
@@ -1702,26 +1709,26 @@
react-textarea-autosize "^5.2.1"
util-deprecate "^1.0.2"
-"@storybook/addon-links@3.4.11", "@storybook/addon-links@^v3.4.11":
- version "3.4.11"
- resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-3.4.11.tgz#097b4fcf4b3af3903762ac0d7e65c5d37d14af88"
+"@storybook/addon-links@3.4.12", "@storybook/addon-links@^v3.4.11":
+ version "3.4.12"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-3.4.12.tgz#aabedd5e3bc81930ae37badbf8b5f90d67ef8a05"
dependencies:
- "@storybook/components" "3.4.11"
+ "@storybook/components" "3.4.12"
babel-runtime "^6.26.0"
global "^4.3.2"
prop-types "^15.6.1"
"@storybook/addon-options@^v3.4.11":
- version "3.4.11"
- resolved "https://registry.yarnpkg.com/@storybook/addon-options/-/addon-options-3.4.11.tgz#6f27f223cad466dc1079045f5af01c99f94f65d0"
+ version "3.4.12"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-options/-/addon-options-3.4.12.tgz#6d2885a24c9ed7087d560fcedc59affbf6a83f40"
dependencies:
babel-runtime "^6.26.0"
"@storybook/addon-storysource@^v3.4.11":
- version "3.4.11"
- resolved "https://registry.yarnpkg.com/@storybook/addon-storysource/-/addon-storysource-3.4.11.tgz#75096f89249a4b7a5794ab846e4c29fe08bd46ae"
+ version "3.4.12"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-storysource/-/addon-storysource-3.4.12.tgz#58db76d493fe8c4829d3882c93a3e7f6a734d5d2"
dependencies:
- "@storybook/components" "3.4.11"
+ "@storybook/components" "3.4.12"
acorn "^5.5.3"
acorn-es7 "^0.1.0"
acorn-jsx "^4.1.1"
@@ -1734,51 +1741,51 @@
react-syntax-highlighter "^7.0.2"
"@storybook/addon-viewport@^3.4.11":
- version "3.4.11"
- resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-3.4.11.tgz#55f10b258b8010baeeb9dfccefc0a9cfcb4e97b0"
+ version "3.4.12"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-3.4.12.tgz#0f0ac27e6cce2de835a0810b915eabe64912d6f8"
dependencies:
- "@storybook/components" "3.4.11"
+ "@storybook/components" "3.4.12"
babel-runtime "^6.26.0"
global "^4.3.2"
prop-types "^15.6.1"
-"@storybook/addons@3.4.11", "@storybook/addons@^3.3.0":
- version "3.4.11"
- resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.4.11.tgz#f3e27c46d80ad1f171888c4aad0a19a8a032d072"
+"@storybook/addons@3.4.12", "@storybook/addons@^3.3.0":
+ version "3.4.12"
+ resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.4.12.tgz#b973479b9910d60dd5ab087f875e10085ab3a0f9"
-"@storybook/channel-postmessage@3.4.11":
- version "3.4.11"
- resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-3.4.11.tgz#69782fa3b9f879ae02a6d9b85b5d0902e75dabc2"
+"@storybook/channel-postmessage@3.4.12":
+ version "3.4.12"
+ resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-3.4.12.tgz#e905440c838a01141bd8826bb9f90f202c8773fd"
dependencies:
- "@storybook/channels" "3.4.11"
+ "@storybook/channels" "3.4.12"
global "^4.3.2"
json-stringify-safe "^5.0.1"
-"@storybook/channels@3.4.11":
- version "3.4.11"
- resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-3.4.11.tgz#853ec40fdfa6c3ae8cff23f0cd86b77a719823f5"
+"@storybook/channels@3.4.12":
+ version "3.4.12"
+ resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-3.4.12.tgz#11bd6cfaf88682db08d2b9b3f78941a07445a3e2"
-"@storybook/client-logger@3.4.11":
- version "3.4.11"
- resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-3.4.11.tgz#b592ea227f9f330f50925f7c1c266cc658cbc704"
+"@storybook/client-logger@3.4.12":
+ version "3.4.12"
+ resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-3.4.12.tgz#060a335cb560e4f0a0b61b358bac95a7529ef3d3"
-"@storybook/components@3.4.11":
- version "3.4.11"
- resolved "https://registry.yarnpkg.com/@storybook/components/-/components-3.4.11.tgz#dbaa1ee19036cd8617993fb6bf4a07780d111f7e"
+"@storybook/components@3.4.12":
+ version "3.4.12"
+ resolved "https://registry.yarnpkg.com/@storybook/components/-/components-3.4.12.tgz#07499c43aca1f8543211202f3d142764bdd4c807"
dependencies:
glamor "^2.20.40"
glamorous "^4.12.1"
prop-types "^15.6.1"
-"@storybook/core@3.4.11":
- version "3.4.11"
- resolved "https://registry.yarnpkg.com/@storybook/core/-/core-3.4.11.tgz#fda9b0fbca73e3d2a8b1578296f113836fc2d473"
+"@storybook/core@3.4.12":
+ version "3.4.12"
+ resolved "https://registry.yarnpkg.com/@storybook/core/-/core-3.4.12.tgz#ef4ab39974ed53dc2b6d0875e5f2fa2ba38b3834"
dependencies:
- "@storybook/addons" "3.4.11"
- "@storybook/channel-postmessage" "3.4.11"
- "@storybook/client-logger" "3.4.11"
- "@storybook/node-logger" "3.4.11"
- "@storybook/ui" "3.4.11"
+ "@storybook/addons" "3.4.12"
+ "@storybook/channel-postmessage" "3.4.12"
+ "@storybook/client-logger" "3.4.12"
+ "@storybook/node-logger" "3.4.12"
+ "@storybook/ui" "3.4.12"
autoprefixer "^7.2.6"
babel-runtime "^6.26.0"
chalk "^2.3.2"
@@ -1810,9 +1817,9 @@
"@storybook/react-simple-di" "^1.2.1"
babel-runtime "6.x.x"
-"@storybook/node-logger@3.4.11":
- version "3.4.11"
- resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-3.4.11.tgz#a6684a4c21f74dae937cd9f202deec0932d3f3b5"
+"@storybook/node-logger@3.4.12":
+ version "3.4.12"
+ resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-3.4.12.tgz#1b88d637e9c3d8b1e285aca4c8058212a7dbaf4b"
dependencies:
npmlog "^4.1.2"
@@ -1849,17 +1856,17 @@
babel-runtime "^6.5.0"
"@storybook/react@^v3.4.11":
- version "3.4.11"
- resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.4.11.tgz#0496132d78ca2f66ace79d9c4f7e951402c962db"
- dependencies:
- "@storybook/addon-actions" "3.4.11"
- "@storybook/addon-links" "3.4.11"
- "@storybook/addons" "3.4.11"
- "@storybook/channel-postmessage" "3.4.11"
- "@storybook/client-logger" "3.4.11"
- "@storybook/core" "3.4.11"
- "@storybook/node-logger" "3.4.11"
- "@storybook/ui" "3.4.11"
+ version "3.4.12"
+ resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.4.12.tgz#432072204365cbf5962846333732b2fa9a218d91"
+ dependencies:
+ "@storybook/addon-actions" "3.4.12"
+ "@storybook/addon-links" "3.4.12"
+ "@storybook/addons" "3.4.12"
+ "@storybook/channel-postmessage" "3.4.12"
+ "@storybook/client-logger" "3.4.12"
+ "@storybook/core" "3.4.12"
+ "@storybook/node-logger" "3.4.12"
+ "@storybook/ui" "3.4.12"
airbnb-js-shims "^1 || ^2"
babel-loader "^7.1.4"
babel-plugin-macros "^2.2.0"
@@ -1902,11 +1909,11 @@
shelljs "^0.8.1"
yargs "^11.0.0"
-"@storybook/ui@3.4.11":
- version "3.4.11"
- resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.4.11.tgz#d7b1bf92f0b27dbce86d8e22d0296095e692d2d0"
+"@storybook/ui@3.4.12":
+ version "3.4.12"
+ resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.4.12.tgz#c5d29c66479904a6af95b5d0026b5bc44301d11a"
dependencies:
- "@storybook/components" "3.4.11"
+ "@storybook/components" "3.4.12"
"@storybook/mantra-core" "^1.7.2"
"@storybook/podda" "^1.2.3"
"@storybook/react-komposer" "^2.0.3"
@@ -2169,28 +2176,14 @@
version "1.2.0"
resolved "https://registry.yarnpkg.com/@types/exenv/-/exenv-1.2.0.tgz#84ff936feeafc917c3c66f80b43e917f56eed00b"
-"@types/fs-extra@^5.0.3":
- version "5.0.5"
- resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.0.5.tgz#080d90a792f3fa2c5559eb44bd8ef840aae9104b"
- dependencies:
- "@types/node" "*"
-
"@types/geojson@*":
- version "7946.0.6"
- resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.6.tgz#416f388a06b227784a2d91a88a53f14de05cd54b"
+ version "7946.0.7"
+ resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.7.tgz#c8fa532b60a0042219cdf173ca21a975ef0666ad"
"@types/get-port@^0.0.4":
version "0.0.4"
resolved "https://registry.yarnpkg.com/@types/get-port/-/get-port-0.0.4.tgz#eb6bb7423d9f888b632660dc7d2fd3e69a35643e"
-"@types/glob@*", "@types/glob@^7.1.1":
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575"
- dependencies:
- "@types/events" "*"
- "@types/minimatch" "*"
- "@types/node" "*"
-
"@types/glob@^5.0.30":
version "5.0.36"
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.36.tgz#0c80a9c8664fc7d19781de229f287077fd622cb2"
@@ -2199,15 +2192,13 @@
"@types/minimatch" "*"
"@types/node" "*"
-"@types/handlebars@^4.0.38":
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/@types/handlebars/-/handlebars-4.1.0.tgz#3fcce9bf88f85fe73dc932240ab3fb682c624850"
+"@types/glob@^7.1.1":
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575"
dependencies:
- handlebars "*"
-
-"@types/highlight.js@^9.12.3":
- version "9.12.3"
- resolved "https://registry.yarnpkg.com/@types/highlight.js/-/highlight.js-9.12.3.tgz#b672cfaac25cbbc634a0fd92c515f66faa18dbca"
+ "@types/events" "*"
+ "@types/minimatch" "*"
+ "@types/node" "*"
"@types/history@*":
version "4.7.2"
@@ -2223,15 +2214,7 @@
dependencies:
"@types/jest-diff" "*"
-"@types/lodash@^4.14.110":
- version "4.14.123"
- resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.123.tgz#39be5d211478c8dd3bdae98ee75bb7efe4abfe4d"
-
-"@types/marked@^0.4.0":
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/@types/marked/-/marked-0.4.2.tgz#64a89e53ea37f61cc0f3ee1732c555c2dbf6452f"
-
-"@types/minimatch@*", "@types/minimatch@3.0.3":
+"@types/minimatch@*":
version "3.0.3"
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
@@ -2240,8 +2223,8 @@
resolved "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-0.3.29.tgz#7f2ad7ec55f914482fc9b1ec4bb1ae6028d46066"
"@types/node@*":
- version "11.11.3"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.3.tgz#7c6b0f8eaf16ae530795de2ad1b85d34bf2f5c58"
+ version "11.12.1"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-11.12.1.tgz#d90123f6c61fdf2f7cddd286ddae891586dd3488"
"@types/node@^7.0.11":
version "7.10.5"
@@ -2263,25 +2246,18 @@
"@types/react" "*"
"@types/react-dom@~16.8.0":
- version "16.8.2"
- resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.8.2.tgz#9bd7d33f908b243ff0692846ef36c81d4941ad12"
+ version "16.8.3"
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.8.3.tgz#6131b7b6158bc7ed1925a3374b88b7c00481f0cb"
dependencies:
"@types/react" "*"
"@types/react@*", "@types/react@~16.8.0":
- version "16.8.8"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-16.8.8.tgz#4b60a469fd2469f7aa6eaa0f8cfbc51f6d76e662"
+ version "16.8.10"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-16.8.10.tgz#1ccb6fde17f71a62ef055382ec68bdc379d4d8d9"
dependencies:
"@types/prop-types" "*"
csstype "^2.2.0"
-"@types/shelljs@^0.8.0":
- version "0.8.3"
- resolved "https://registry.yarnpkg.com/@types/shelljs/-/shelljs-0.8.3.tgz#f713f312dbae49ab5025290007e71ea32998e9a9"
- dependencies:
- "@types/glob" "*"
- "@types/node" "*"
-
"@types/styled-system@^3.0.7":
version "3.2.2"
resolved "https://registry.yarnpkg.com/@types/styled-system/-/styled-system-3.2.2.tgz#a40b30baf20a8d9820808688a370a973cb778e7c"
@@ -2629,10 +2605,6 @@ acorn-dynamic-import@^3.0.0:
dependencies:
acorn "^5.0.0"
-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"
-
acorn-es7@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/acorn-es7/-/acorn-es7-0.1.0.tgz#4a6de4522faacb4c31209e1b73b5f301ed2bb30a"
@@ -2670,7 +2642,7 @@ acorn-jsx@^4.1.1:
dependencies:
acorn "^5.0.3"
-acorn-jsx@^5.0.0, acorn-jsx@^5.0.1:
+acorn-jsx@^5.0.0:
version "5.0.1"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e"
@@ -2726,7 +2698,7 @@ acorn@^5.0.0, acorn@^5.0.3, acorn@^5.2.1, acorn@^5.3.0, acorn@^5.4.0, acorn@^5.4
version "5.7.3"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
-acorn@^6.0.1, acorn@^6.0.2, acorn@^6.0.4, acorn@^6.0.7, acorn@^6.1.1:
+acorn@^6.0.1, acorn@^6.0.2, acorn@^6.0.4, acorn@^6.0.7:
version "6.1.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
@@ -2966,13 +2938,6 @@ argparse@^1.0.7:
dependencies:
sprintf-js "~1.0.2"
-argv-tools@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/argv-tools/-/argv-tools-0.1.1.tgz#588283f3393ada47141440b12981cd41bf6b7032"
- dependencies:
- array-back "^2.0.0"
- find-replace "^2.0.1"
-
argv@^0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab"
@@ -3076,6 +3041,10 @@ array-includes@^3.0.3:
define-properties "^1.1.2"
es-abstract "^1.7.0"
+array-iterate@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/array-iterate/-/array-iterate-1.1.2.tgz#f66a57e84426f8097f4197fbb6c051b8e5cdf7d8"
+
array-map@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"
@@ -3098,7 +3067,7 @@ array-union@^1.0.1, array-union@^1.0.2:
dependencies:
array-uniq "^1.0.1"
-array-uniq@^1.0.1:
+array-uniq@^1.0.1, array-uniq@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
@@ -3182,6 +3151,10 @@ ast-types@0.11.7:
version "0.11.7"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.7.tgz#f318bf44e339db6a320be0009ded64ec1471f46c"
+ast-types@0.12.3:
+ version "0.12.3"
+ resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.12.3.tgz#2299c6201d34b2a749a2dd9f2de7ef5f0e84f423"
+
ast-types@0.9.6:
version "0.9.6"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9"
@@ -3697,7 +3670,7 @@ babel-plugin-react-docgen@^1.9.0:
lodash "^4.17.0"
react-docgen "^3.0.0-beta11"
-babel-plugin-remove-graphql-queries@^2.5.2, babel-plugin-remove-graphql-queries@^2.6.2:
+babel-plugin-remove-graphql-queries@^2.6.2:
version "2.6.2"
resolved "https://registry.yarnpkg.com/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.6.2.tgz#8ee167324befa6579858fcaf1dbd75a84766d555"
@@ -4294,14 +4267,14 @@ babel-preset-flow@^6.23.0:
dependencies:
babel-plugin-transform-flow-strip-types "^6.22.0"
-babel-preset-gatsby@^0.1.9:
- version "0.1.9"
- resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-0.1.9.tgz#b308b983e446cc1e84ad125dbaeb83326b2b3dcb"
+babel-preset-gatsby@^0.1.10:
+ version "0.1.10"
+ resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-0.1.10.tgz#5197bfcd350139beb49f2d305481944c556db67b"
dependencies:
"@babel/plugin-proposal-class-properties" "^7.0.0"
"@babel/plugin-syntax-dynamic-import" "^7.0.0"
"@babel/plugin-transform-runtime" "^7.0.0"
- "@babel/preset-env" "^7.0.0"
+ "@babel/preset-env" "^7.4.1"
"@babel/preset-react" "^7.0.0"
babel-plugin-macros "^2.4.2"
@@ -4580,8 +4553,8 @@ big.js@^5.2.2:
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
binary-extensions@^1.0.0:
- version "1.13.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.0.tgz#9523e001306a32444b907423f1de2164222f6ab1"
+ version "1.13.1"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
blob-polyfill@^3.0.20180112:
version "3.0.20180112"
@@ -4829,11 +4802,11 @@ browserslist@^2.11.3:
caniuse-lite "^1.0.30000792"
electron-to-chromium "^1.3.30"
-browserslist@^4.0.0, browserslist@^4.3.4, browserslist@^4.4.2:
- version "4.5.1"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.5.1.tgz#2226cada1947b33f4cfcf7b608dcb519b6128106"
+browserslist@^4.0.0, browserslist@^4.3.4, browserslist@^4.4.2, browserslist@^4.5.1:
+ version "4.5.2"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.5.2.tgz#36ad281f040af684555a23c780f5c2081c752df0"
dependencies:
- caniuse-lite "^1.0.30000949"
+ caniuse-lite "^1.0.30000951"
electron-to-chromium "^1.3.116"
node-releases "^1.1.11"
@@ -4853,18 +4826,16 @@ btoa-lite@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337"
-buble@^0.19.3:
- version "0.19.7"
- resolved "https://registry.yarnpkg.com/buble/-/buble-0.19.7.tgz#1dfd080ab688101aad5388d3304bc82601a244fd"
+buble@0.19.6:
+ version "0.19.6"
+ resolved "https://registry.yarnpkg.com/buble/-/buble-0.19.6.tgz#915909b6bd5b11ee03b1c885ec914a8b974d34d3"
dependencies:
- acorn "^6.1.1"
- acorn-dynamic-import "^4.0.0"
- acorn-jsx "^5.0.1"
- chalk "^2.4.2"
- magic-string "^0.25.2"
+ chalk "^2.4.1"
+ magic-string "^0.25.1"
minimist "^1.2.0"
os-homedir "^1.0.1"
- regexpu-core "^4.5.4"
+ regexpu-core "^4.2.0"
+ vlq "^1.0.0"
buffer-alloc-unsafe@^1.1.0:
version "1.1.0"
@@ -5125,7 +5096,7 @@ camelcase@^4.0.0, camelcase@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
-camelcase@^5.0.0, camelcase@^5.2.0:
+camelcase@^5.0.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.2.0.tgz#e7522abda5ed94cc0489e1b8466610e88404cf45"
@@ -5148,12 +5119,12 @@ caniuse-api@^3.0.0:
lodash.uniq "^4.5.0"
caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
- version "1.0.30000950"
- resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000950.tgz#d8356a082b28bc22975f010fc7668fcb77e1339f"
+ version "1.0.30000955"
+ resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000955.tgz#d638a170f94654d77eff7821ec33b51dcd1330b0"
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000905, caniuse-lite@^1.0.30000929, caniuse-lite@^1.0.30000947, caniuse-lite@^1.0.30000949:
- version "1.0.30000950"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000950.tgz#8c559d66e332b34e919d1086cc6d29c1948856ae"
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000905, caniuse-lite@^1.0.30000929, caniuse-lite@^1.0.30000947, caniuse-lite@^1.0.30000951:
+ version "1.0.30000955"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000955.tgz#360fdb9a1e41d6dd996130411334e44a39e4446d"
capture-exit@^1.2.0:
version "1.2.0"
@@ -5177,7 +5148,7 @@ caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
-ccount@^1.0.0:
+ccount@^1.0.0, ccount@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.3.tgz#f1cec43f332e2ea5a569fd46f9f5bde4e6102aff"
@@ -5311,6 +5282,24 @@ cheerio@^1.0.0-rc.2:
lodash "^4.15.0"
parse5 "^3.0.1"
+chokidar@2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.2.tgz#9c23ea40b01638439e0513864d362aeacc5ad058"
+ dependencies:
+ anymatch "^2.0.0"
+ async-each "^1.0.1"
+ braces "^2.3.2"
+ glob-parent "^3.1.0"
+ inherits "^2.0.3"
+ is-binary-path "^1.0.0"
+ is-glob "^4.0.0"
+ normalize-path "^3.0.0"
+ path-is-absolute "^1.0.0"
+ readdirp "^2.2.1"
+ upath "^1.1.0"
+ optionalDependencies:
+ fsevents "^1.2.7"
+
chokidar@^1.6.1:
version "1.7.0"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
@@ -5326,9 +5315,9 @@ chokidar@^1.6.1:
optionalDependencies:
fsevents "^1.0.0"
-chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.3, chokidar@^2.0.4, chokidar@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.2.tgz#9c23ea40b01638439e0513864d362aeacc5ad058"
+chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.3, chokidar@^2.0.4:
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.5.tgz#0ae8434d962281a5f56c72869e79cb6d9d86ad4d"
dependencies:
anymatch "^2.0.0"
async-each "^1.0.1"
@@ -5340,7 +5329,7 @@ chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.3, chokidar@^2.0.4, chokidar@^2.
normalize-path "^3.0.0"
path-is-absolute "^1.0.0"
readdirp "^2.2.1"
- upath "^1.1.0"
+ upath "^1.1.1"
optionalDependencies:
fsevents "^1.2.7"
@@ -5354,14 +5343,14 @@ chrome-trace-event@^1.0.0:
dependencies:
tslib "^1.9.0"
+ci-info@2.0.0, ci-info@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
+
ci-info@^1.5.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497"
-ci-info@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
-
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"
@@ -5457,18 +5446,6 @@ cli-width@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
-clipboard-copy@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/clipboard-copy/-/clipboard-copy-2.0.1.tgz#25214db3aabc282109cfa3429ffd885b014fc8b3"
-
-clipboard@^1.5.5:
- version "1.7.1"
- resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-1.7.1.tgz#360d6d6946e99a7a1fef395e42ba92b5e9b5a16b"
- dependencies:
- good-listener "^1.2.2"
- select "^1.1.2"
- tiny-emitter "^2.0.0"
-
clipboard@^2.0.0:
version "2.0.4"
resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.4.tgz#836dafd66cf0fea5d71ce5d5b0bf6e958009112d"
@@ -5585,7 +5562,7 @@ codecov@^3.2.0:
teeny-request "^3.7.0"
urlgrey "^0.4.4"
-collapse-white-space@^1.0.2:
+collapse-white-space@^1.0.0, collapse-white-space@^1.0.2:
version "1.0.4"
resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.4.tgz#ce05cf49e54c3277ae573036a26851ba430a0091"
@@ -5675,7 +5652,7 @@ combined-stream@^1.0.6, combined-stream@~1.0.6:
dependencies:
delayed-stream "~1.0.0"
-comma-separated-tokens@^1.0.0:
+comma-separated-tokens@^1.0.0, comma-separated-tokens@^1.0.1:
version "1.0.5"
resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.5.tgz#b13793131d9ea2d2431cf5b507ddec258f0ce0db"
dependencies:
@@ -5686,14 +5663,13 @@ command-exists@^1.2.2:
resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.8.tgz#715acefdd1223b9c9b37110a149c6392c2852291"
command-line-args@^5.0.2:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.0.2.tgz#c4e56b016636af1323cf485aa25c3cb203dfbbe4"
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.1.0.tgz#632d3d3df35c8f0cc4365e442a3fd6d63b65621b"
dependencies:
- argv-tools "^0.1.1"
- array-back "^2.0.0"
- find-replace "^2.0.1"
+ array-back "^3.0.1"
+ find-replace "^3.0.0"
lodash.camelcase "^4.3.0"
- typical "^2.6.1"
+ typical "^4.0.0"
command-line-commands@^2.0.1:
version "2.0.1"
@@ -5845,6 +5821,17 @@ config-chain@^1.1.11:
ini "^1.3.4"
proto-list "~1.2.1"
+configstore@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/configstore/-/configstore-4.0.0.tgz#5933311e95d3687efb592c528b922d9262d227e7"
+ dependencies:
+ dot-prop "^4.1.0"
+ graceful-fs "^4.1.2"
+ make-dir "^1.0.0"
+ unique-string "^1.0.0"
+ write-file-atomic "^2.0.0"
+ xdg-basedir "^3.0.0"
+
configstore@^3.0.0:
version "3.1.2"
resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f"
@@ -6038,15 +6025,32 @@ copyfiles@^1.2.0:
noms "0.0.0"
through2 "^2.0.1"
+core-js-compat@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.0.0.tgz#cd9810b8000742535a4a43773866185e310bd4f7"
+ dependencies:
+ browserslist "^4.5.1"
+ core-js "3.0.0"
+ core-js-pure "3.0.0"
+ semver "^5.6.0"
+
+core-js-pure@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.0.0.tgz#a5679adb4875427c8c0488afc93e6f5b7125859b"
+
core-js@2.6.4:
version "2.6.4"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.4.tgz#b8897c062c4d769dd30a0ac5c73976c47f92ea0d"
+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@^1.0.0:
version "1.2.7"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
-core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0, core-js@^2.5.3, core-js@^2.5.7:
+core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0, core-js@^2.5.3, core-js@^2.6.5:
version "2.6.5"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.5.tgz#44bc8d249e7fb2ff5d00e0341a7ffb94fbf67895"
@@ -6064,13 +6068,12 @@ cosmiconfig@^4.0.0:
require-from-string "^2.0.1"
cosmiconfig@^5.0.0, cosmiconfig@^5.0.5, cosmiconfig@^5.0.6, cosmiconfig@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.1.0.tgz#6c5c35e97f37f985061cdf653f114784231185cf"
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.0.tgz#45038e4d28a7fe787203aede9c25bca4a08b12c8"
dependencies:
import-fresh "^2.0.0"
is-directory "^0.3.1"
- js-yaml "^3.9.0"
- lodash.get "^4.4.2"
+ js-yaml "^3.13.0"
parse-json "^4.0.0"
create-ecdh@^4.0.0:
@@ -6293,22 +6296,6 @@ css-loader@^1.0.0:
postcss-value-parser "^3.3.0"
source-list-map "^2.0.0"
-css-loader@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.1.tgz#d8254f72e412bb2238bb44dd674ffbef497333ea"
- dependencies:
- camelcase "^5.2.0"
- icss-utils "^4.1.0"
- loader-utils "^1.2.3"
- normalize-path "^3.0.0"
- postcss "^7.0.14"
- postcss-modules-extract-imports "^2.0.0"
- postcss-modules-local-by-default "^2.0.6"
- postcss-modules-scope "^2.1.0"
- postcss-modules-values "^2.0.0"
- postcss-value-parser "^3.3.0"
- schema-utils "^1.0.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"
@@ -6331,6 +6318,10 @@ css-select@^2.0.0:
domutils "^1.7.0"
nth-check "^1.0.2"
+css-selector-parser@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/css-selector-parser/-/css-selector-parser-1.3.0.tgz#5f1ad43e2d8eefbfdc304fcd39a521664943e3eb"
+
css-selector-tokenizer@^0.7.0:
version "0.7.1"
resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d"
@@ -6365,7 +6356,7 @@ css-what@2.1, css-what@^2.1.2:
version "2.1.3"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
-css@^2.2.3:
+css@2.2.4, css@^2.2.3:
version "2.2.4"
resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929"
dependencies:
@@ -6386,10 +6377,6 @@ cssesc@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703"
-cssesc@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
-
cssnano-preset-default@^4.0.7:
version "4.0.7"
resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76"
@@ -6513,8 +6500,8 @@ cssstyle@^0.3.1:
cssom "0.3.x"
cssstyle@^1.0.0, cssstyle@^1.1.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.2.1.tgz#3aceb2759eaf514ac1a21628d723d6043a819495"
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.2.2.tgz#427ea4d585b18624f6fdbf9de7a2a1a3ba713077"
dependencies:
cssom "0.3.x"
@@ -6624,8 +6611,8 @@ d3-scale@^1.0.0:
d3-time-format "2"
d3-shape@^1.0.0, d3-shape@^1.2.0:
- version "1.3.4"
- resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.4.tgz#358e76014645321eecc7c364e188f8ae3d2a07d4"
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.5.tgz#e81aea5940f59f0a79cfccac012232a8987c6033"
dependencies:
d3-path "1"
@@ -6914,6 +6901,12 @@ destroy@^1.0.4, destroy@~1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
+detab@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.1.tgz#531f5e326620e2fd4f03264a905fb3bcc8af4df4"
+ dependencies:
+ repeat-string "^1.5.4"
+
detect-file@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
@@ -7221,8 +7214,8 @@ ee-first@1.1.1:
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.103, electron-to-chromium@^1.3.116, electron-to-chromium@^1.3.30, electron-to-chromium@^1.3.47:
- version "1.3.116"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.116.tgz#1dbfee6a592a0c14ade77dbdfe54fef86387d702"
+ version "1.3.121"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.121.tgz#761aaec1ec947b8ed3e9538177598d8f6ca3b5bd"
elegant-spinner@^1.0.1:
version "1.0.1"
@@ -7240,6 +7233,10 @@ elliptic@^6.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.0"
+"emoji-regex@>=6.0.0 <=6.1.1":
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.1.1.tgz#c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e"
+
emoji-regex@^6.5.1:
version "6.5.1"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2"
@@ -8588,12 +8585,11 @@ find-node-modules@2.0.0:
findup-sync "^3.0.0"
merge "^1.2.1"
-find-replace@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-2.0.1.tgz#6d9683a7ca20f8f9aabeabad07e4e2580f528550"
+find-replace@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38"
dependencies:
- array-back "^2.0.0"
- test-value "^3.0.0"
+ array-back "^3.0.1"
find-root@1.1.0, find-root@^1.1.0:
version "1.1.0"
@@ -8682,8 +8678,8 @@ flatten@^1.0.2:
resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
flow-parser@^0.*:
- version "0.95.1"
- resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.95.1.tgz#e1045d958b7e05f65e4fd3304f266f1fd0619698"
+ version "0.95.2"
+ resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.95.2.tgz#9b750ac0578bee0a2f68eba26140d76a90784fb8"
flush-write-stream@^1.0.0:
version "1.1.1"
@@ -8915,9 +8911,9 @@ fuse.js@^3.0.1, fuse.js@^3.2.0:
version "3.4.4"
resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.4.4.tgz#f98f55fcb3b595cf6a3e629c5ffaf10982103e95"
-gatsby-cli@^2.4.16:
- version "2.4.16"
- resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-2.4.16.tgz#62581d5c6289ab72cbb34a36ad4ac83fc649768b"
+gatsby-cli@^2.5.4:
+ version "2.5.4"
+ resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-2.5.4.tgz#d11a00f61227a6db7965e71ac93e142d73b25587"
dependencies:
"@babel/code-frame" "^7.0.0"
"@babel/runtime" "^7.0.0"
@@ -8929,15 +8925,18 @@ gatsby-cli@^2.4.16:
execa "^0.8.0"
fs-exists-cached "^1.0.0"
fs-extra "^4.0.1"
+ gatsby-telemetry "^1.0.4"
hosted-git-info "^2.6.0"
lodash "^4.17.10"
meant "^1.0.1"
+ node-fetch "2.3.0"
opentracing "^0.14.3"
pretty-error "^2.1.1"
resolve-cwd "^2.0.0"
source-map "^0.5.7"
stack-trace "^0.0.10"
update-notifier "^2.3.0"
+ uuid "3.3.2"
yargs "^12.0.5"
yurnalist "^1.0.2"
@@ -8949,13 +8948,13 @@ gatsby-link@^2.0.16:
"@types/reach__router" "^1.0.0"
prop-types "^15.6.1"
-gatsby-plugin-page-creator@^2.0.10:
- version "2.0.10"
- resolved "https://registry.yarnpkg.com/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.0.10.tgz#5ad313242afaa21e3aefb5b570d7d10c1faa7665"
+gatsby-plugin-page-creator@^2.0.12:
+ version "2.0.12"
+ resolved "https://registry.yarnpkg.com/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.0.12.tgz#00a5103715881e141c81b68b670ad8fb06291b7d"
dependencies:
"@babel/runtime" "^7.0.0"
bluebird "^3.5.0"
- chokidar "^2.1.2"
+ chokidar "2.1.2"
fs-exists-cached "^1.0.0"
glob "^7.1.1"
lodash "^4.17.10"
@@ -8963,36 +8962,28 @@ gatsby-plugin-page-creator@^2.0.10:
parse-filepath "^1.0.1"
slash "^1.0.0"
-gatsby-plugin-react-helmet@^3.0.8:
- version "3.0.10"
- resolved "https://registry.yarnpkg.com/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-3.0.10.tgz#08a4f3f7d6ffd020d78817679535fb6548602302"
- dependencies:
- "@babel/runtime" "^7.0.0"
-
-gatsby-plugin-typescript@2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.0.3.tgz#07b4f42180d8e4d39b3fa9da5a494390a03d0c6e"
+gatsby-plugin-react-helmet@^3.0.11:
+ version "3.0.11"
+ resolved "https://registry.yarnpkg.com/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-3.0.11.tgz#0e8aa39d89b06be613177835e1300590be67b499"
dependencies:
- "@babel/preset-typescript" "^7.0.0"
"@babel/runtime" "^7.0.0"
- babel-plugin-remove-graphql-queries "^2.5.2"
-gatsby-react-router-scroll@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/gatsby-react-router-scroll/-/gatsby-react-router-scroll-2.0.6.tgz#b04a8fe6ee77db5ca8f804b7ef476fd205dc4a40"
+gatsby-react-router-scroll@^2.0.7:
+ version "2.0.7"
+ resolved "https://registry.yarnpkg.com/gatsby-react-router-scroll/-/gatsby-react-router-scroll-2.0.7.tgz#b9425e366d4be546036080d85664d60ae76e6c29"
dependencies:
"@babel/runtime" "^7.0.0"
scroll-behavior "^0.9.9"
warning "^3.0.0"
-gatsby-source-filesystem@^2.0.23:
- version "2.0.27"
- resolved "https://registry.yarnpkg.com/gatsby-source-filesystem/-/gatsby-source-filesystem-2.0.27.tgz#58b2191b26b874d17ec8b596d9870580cb02d7d9"
+gatsby-source-filesystem@^2.0.28:
+ version "2.0.28"
+ resolved "https://registry.yarnpkg.com/gatsby-source-filesystem/-/gatsby-source-filesystem-2.0.28.tgz#5fc91ce6f72b642a27838e421c05eb4b5ee44d63"
dependencies:
"@babel/runtime" "^7.0.0"
better-queue "^3.8.7"
bluebird "^3.5.0"
- chokidar "^2.1.2"
+ chokidar "2.1.2"
file-type "^10.2.0"
fs-extra "^5.0.0"
got "^7.1.0"
@@ -9005,27 +8996,59 @@ gatsby-source-filesystem@^2.0.23:
valid-url "^1.0.9"
xstate "^3.1.0"
-gatsby-transformer-json@^2.1.8:
+gatsby-telemetry@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/gatsby-telemetry/-/gatsby-telemetry-1.0.4.tgz#309e982919831200400e590b3fcff33735b188fd"
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/runtime" "^7.0.0"
+ bluebird "^3.5.0"
+ ci-info "2.0.0"
+ configstore "4.0.0"
+ envinfo "^5.8.1"
+ fs-extra "^7.0.1"
+ node-fetch "2.3.0"
+ resolve-cwd "^2.0.0"
+ source-map "^0.5.7"
+ stack-trace "^0.0.10"
+ stack-utils "1.0.2"
+ uuid "3.3.2"
+
+gatsby-transformer-json@^2.1.11:
version "2.1.11"
resolved "https://registry.yarnpkg.com/gatsby-transformer-json/-/gatsby-transformer-json-2.1.11.tgz#b1c9acbc0da6e7e11b7dd278e9543171a71ecd89"
dependencies:
"@babel/runtime" "^7.0.0"
bluebird "^3.5.0"
-gatsby-transformer-react-docgen@3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/gatsby-transformer-react-docgen/-/gatsby-transformer-react-docgen-3.0.2.tgz#cc35829a48810dcc9b5d2d6f052b57ff7cec4cb1"
+gatsby-transformer-remark@^2.3.8:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/gatsby-transformer-remark/-/gatsby-transformer-remark-2.3.8.tgz#bf25bceb747f1e1fd2e5809731ff6da0810c1b14"
dependencies:
- "@babel/code-frame" "^7.0.0"
"@babel/runtime" "^7.0.0"
- "@babel/types" "^7.0.0"
- common-tags "^1.4.0"
- react-docgen "3.0.0-rc.2"
- react-docgen-displayname-handler " ^2.1.0"
-
-gatsby@^2.1.29:
- version "2.1.37"
- resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-2.1.37.tgz#bbb16aef7d4cd65a0757688b8fd2550299a123bb"
+ bluebird "^3.5.0"
+ gray-matter "^4.0.0"
+ hast-util-raw "^4.0.0"
+ hast-util-to-html "^4.0.0"
+ lodash "^4.17.10"
+ mdast-util-to-hast "^3.0.0"
+ mdast-util-to-string "^1.0.5"
+ mdast-util-toc "^2.0.1"
+ remark "^9.0.0"
+ remark-parse "^5.0.0"
+ remark-retext "^3.1.0"
+ remark-stringify "^5.0.0"
+ retext-english "^3.0.0"
+ sanitize-html "^1.18.2"
+ underscore.string "^3.3.5"
+ unified "^6.1.5"
+ unist-util-remove-position "^1.1.2"
+ unist-util-select "^1.5.0"
+ unist-util-visit "^1.3.0"
+
+gatsby@^2.1.37, gatsby@^2.3.3:
+ version "2.3.4"
+ resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-2.3.4.tgz#4f8b2a7649b645779333535860c34e576eb8321a"
dependencies:
"@babel/code-frame" "^7.0.0"
"@babel/core" "^7.0.0"
@@ -9044,7 +9067,7 @@ gatsby@^2.1.29:
babel-plugin-add-module-exports "^0.2.1"
babel-plugin-dynamic-import-node "^1.2.0"
babel-plugin-remove-graphql-queries "^2.6.2"
- babel-preset-gatsby "^0.1.9"
+ babel-preset-gatsby "^0.1.10"
better-opn "0.1.4"
better-queue "^3.8.6"
bluebird "^3.5.0"
@@ -9052,7 +9075,7 @@ gatsby@^2.1.29:
cache-manager "^2.9.0"
cache-manager-fs-hash "^0.0.6"
chalk "^2.3.2"
- chokidar "^2.0.2"
+ chokidar "2.1.2"
common-tags "^1.4.0"
compression "^1.7.3"
convert-hrtime "^2.0.0"
@@ -9081,21 +9104,22 @@ gatsby@^2.1.29:
flat "^4.0.0"
fs-exists-cached "1.0.0"
fs-extra "^5.0.0"
- gatsby-cli "^2.4.16"
+ gatsby-cli "^2.5.4"
gatsby-link "^2.0.16"
- gatsby-plugin-page-creator "^2.0.10"
- gatsby-react-router-scroll "^2.0.6"
+ gatsby-plugin-page-creator "^2.0.12"
+ gatsby-react-router-scroll "^2.0.7"
+ gatsby-telemetry "^1.0.4"
glob "^7.1.1"
graphql "^14.1.1"
+ graphql-compose "^6.0.3"
graphql-playground-middleware-express "^1.7.10"
graphql-relay "^0.6.0"
- graphql-skip-limit "^2.0.6"
graphql-tools "^3.0.4"
- graphql-type-json "^0.2.1"
hash-mod "^0.0.5"
invariant "^2.2.4"
is-relative "^1.0.0"
is-relative-url "^2.0.0"
+ is-wsl "^1.1.0"
jest-worker "^23.2.0"
joi "12.x.x"
json-loader "^0.5.7"
@@ -9148,6 +9172,7 @@ gatsby@^2.1.29:
webpack-hot-middleware "^2.21.0"
webpack-merge "^4.1.0"
webpack-stats-plugin "^0.1.5"
+ xstate "^4.3.2"
yaml-loader "^0.5.0"
gauge@~2.7.3:
@@ -9298,6 +9323,12 @@ gitdiff-parser@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/gitdiff-parser/-/gitdiff-parser-0.1.2.tgz#26a256e05e9c2d5016b512a96c1dacb40862b92a"
+github-slugger@^1.1.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.2.1.tgz#47e904e70bf2dccd0014748142d31126cfd49508"
+ dependencies:
+ emoji-regex ">=6.0.0 <=6.1.1"
+
glamor@^2.20.40:
version "2.20.40"
resolved "https://registry.yarnpkg.com/glamor/-/glamor-2.20.40.tgz#f606660357b7cf18dface731ad1a2cfa93817f05"
@@ -9468,8 +9499,8 @@ globule@^1.0.0:
minimatch "~3.0.2"
gonzales-pe@^4.2.3:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-4.2.3.tgz#41091703625433285e0aee3aa47829fc1fbeb6f2"
+ version "4.2.4"
+ resolved "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-4.2.4.tgz#356ae36a312c46fe0f1026dd6cb539039f8500d2"
dependencies:
minimist "1.1.x"
@@ -9544,6 +9575,13 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.4
version "4.1.15"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
+graphql-compose@^6.0.3:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/graphql-compose/-/graphql-compose-6.1.0.tgz#f9140a7d5430d763a3743de2ef3f5763f7cdafbb"
+ dependencies:
+ graphql-type-json "^0.2.2"
+ object-path "^0.11.4"
+
graphql-config@^2.0.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-2.2.1.tgz#5fd0ec77ac7428ca5fb2026cf131be10151a0cb2"
@@ -9583,12 +9621,6 @@ graphql-request@^1.5.0:
dependencies:
cross-fetch "2.2.2"
-graphql-skip-limit@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/graphql-skip-limit/-/graphql-skip-limit-2.0.6.tgz#67cdfbf33254db338aade6e7b44ea3e779b4b1c4"
- dependencies:
- "@babel/runtime" "^7.0.0"
-
graphql-tools@^3.0.4:
version "3.1.1"
resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-3.1.1.tgz#d593358f01e7c8b1671a17b70ddb034dea9dbc50"
@@ -9599,16 +9631,25 @@ graphql-tools@^3.0.4:
iterall "^1.1.3"
uuid "^3.1.0"
-graphql-type-json@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/graphql-type-json/-/graphql-type-json-0.2.1.tgz#d2c177e2f1b17d87f81072cd05311c0754baa420"
+graphql-type-json@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/graphql-type-json/-/graphql-type-json-0.2.2.tgz#d4d3808fbf2ead9b6184fd338fe23794cd9715be"
graphql@^14.1.1:
- version "14.1.1"
- resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.1.1.tgz#d5d77df4b19ef41538d7215d1e7a28834619fac0"
+ version "14.2.0"
+ resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.2.0.tgz#ff25813ad6d186f3975977d56bc2d2434871f3b9"
dependencies:
iterall "^1.2.2"
+gray-matter@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.2.tgz#9aa379e3acaf421193fce7d2a28cebd4518ac454"
+ dependencies:
+ js-yaml "^3.11.0"
+ kind-of "^6.0.2"
+ section-matter "^1.0.0"
+ strip-bom-string "^1.0.0"
+
growl@1.10.5:
version "1.10.5"
resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
@@ -9675,7 +9716,7 @@ handle-thing@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754"
-handlebars@*, handlebars@^4.0.3, handlebars@^4.0.5, handlebars@^4.0.6, handlebars@^4.1.0:
+handlebars@^4.0.3, handlebars@^4.0.5, handlebars@^4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.1.tgz#6e4e41c18ebe7719ae4d38e5aca3d32fa3dd23d3"
dependencies:
@@ -9801,10 +9842,86 @@ hash.js@^1.0.0, hash.js@^1.0.3:
inherits "^2.0.3"
minimalistic-assert "^1.0.1"
-hast-util-parse-selector@^2.2.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.1.tgz#4ddbae1ae12c124e3eb91b581d2556441766f0ab"
-
+hast-to-hyperscript@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-5.0.0.tgz#5106cbba78edb7c95e2e8a49079371eb196c1ced"
+ dependencies:
+ comma-separated-tokens "^1.0.0"
+ property-information "^4.0.0"
+ space-separated-tokens "^1.0.0"
+ style-to-object "^0.2.1"
+ unist-util-is "^2.0.0"
+ web-namespaces "^1.1.2"
+
+hast-util-from-parse5@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-4.0.2.tgz#b7164a7ffc88da4f751dc7c2f801ff8d7c143bab"
+ dependencies:
+ ccount "^1.0.3"
+ hastscript "^4.0.0"
+ property-information "^4.0.0"
+ web-namespaces "^1.1.2"
+ xtend "^4.0.1"
+
+hast-util-is-element@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-1.0.2.tgz#c23c9428b6a5a4e323bf9e16f87417476314981b"
+
+hast-util-parse-selector@^2.2.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.1.tgz#4ddbae1ae12c124e3eb91b581d2556441766f0ab"
+
+hast-util-raw@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-4.0.0.tgz#2dc10c9facd9b810ea6ac51df251e6f87c2ed5b5"
+ dependencies:
+ hast-util-from-parse5 "^4.0.2"
+ hast-util-to-parse5 "^4.0.1"
+ html-void-elements "^1.0.1"
+ parse5 "^5.0.0"
+ unist-util-position "^3.0.0"
+ web-namespaces "^1.0.0"
+ xtend "^4.0.1"
+ zwitch "^1.0.0"
+
+hast-util-to-html@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-4.0.1.tgz#3666b05afb62bd69f8f5e6c94db04dea19438e2a"
+ dependencies:
+ ccount "^1.0.0"
+ comma-separated-tokens "^1.0.1"
+ hast-util-is-element "^1.0.0"
+ hast-util-whitespace "^1.0.0"
+ html-void-elements "^1.0.0"
+ property-information "^4.0.0"
+ space-separated-tokens "^1.0.0"
+ stringify-entities "^1.0.1"
+ unist-util-is "^2.0.0"
+ xtend "^4.0.1"
+
+hast-util-to-parse5@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-4.0.1.tgz#e52534b4bf40dc4e7d0428fcaf6d32bc75c62ee5"
+ dependencies:
+ hast-to-hyperscript "^5.0.0"
+ property-information "^4.0.0"
+ web-namespaces "^1.0.0"
+ xtend "^4.0.1"
+ zwitch "^1.0.0"
+
+hast-util-whitespace@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-1.0.2.tgz#c97153a3fbc9091a14fd823830a47724e7a1da99"
+
+hastscript@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-4.1.0.tgz#ea5593fa6f6709101fc790ced818393ddaa045ce"
+ dependencies:
+ comma-separated-tokens "^1.0.0"
+ hast-util-parse-selector "^2.2.0"
+ property-information "^4.0.0"
+ space-separated-tokens "^1.0.0"
+
hastscript@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-5.0.0.tgz#fee10382c1bc4ba3f1be311521d368c047d2c43a"
@@ -9833,10 +9950,6 @@ hex-color-regex@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
-highlight.js@^9.13.1:
- version "9.15.6"
- resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.15.6.tgz#72d4d8d779ec066af9a17cb14360c3def0aa57c4"
-
highlight.js@~9.12.0:
version "9.12.0"
resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.12.0.tgz#e6d9dbe57cbefe60751f02af336195870c90c01e"
@@ -9914,8 +10027,8 @@ html-element-attributes@^1.0.0:
resolved "https://registry.yarnpkg.com/html-element-attributes/-/html-element-attributes-1.3.1.tgz#9fa6a2e37e6b61790a303e87ddbbb9746e8c035f"
html-element-map@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/html-element-map/-/html-element-map-1.0.0.tgz#19a41940225153ecdfead74f8509154ff1cdc18b"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/html-element-map/-/html-element-map-1.0.1.tgz#3c4fcb4874ebddfe4283b51c8994e7713782b592"
dependencies:
array-filter "^1.0.0"
@@ -9969,6 +10082,10 @@ html-tokenize@^2.0.0:
readable-stream "~1.0.27-1"
through2 "~0.4.1"
+html-void-elements@^1.0.0, html-void-elements@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.3.tgz#956707dbecd10cf658c92c5d27fee763aa6aa982"
+
html-webpack-plugin@4.0.0-alpha.2:
version "4.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-alpha.2.tgz#7745967e389a57a098e26963f328ebe4c19b598d"
@@ -10129,12 +10246,6 @@ icss-utils@^2.1.0:
dependencies:
postcss "^6.0.1"
-icss-utils@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.0.tgz#339dbbffb9f8729a243b701e1c29d4cc58c52f0e"
- dependencies:
- postcss "^7.0.14"
-
identity-obj-proxy@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14"
@@ -10142,8 +10253,8 @@ identity-obj-proxy@3.0.0:
harmony-reflect "^1.4.6"
ieee754@^1.1.4:
- version "1.1.12"
- resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b"
+ version "1.1.13"
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
iferr@^0.1.5:
version "0.1.5"
@@ -10516,7 +10627,7 @@ 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"
-is-buffer@^1.0.2, is-buffer@^1.1.5, is-buffer@~1.1.1:
+is-buffer@^1.0.2, is-buffer@^1.1.4, 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"
@@ -10674,8 +10785,8 @@ is-glob@^3.1.0:
is-extglob "^2.1.0"
is-glob@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0"
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
dependencies:
is-extglob "^2.1.1"
@@ -11406,9 +11517,9 @@ js-tokens@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
-js-yaml@^3.10.0, js-yaml@^3.12.0, js-yaml@^3.5.2, js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1:
- version "3.12.2"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.2.tgz#ef1d067c5a9d9cb65bd72f285b5d8105c77f14fc"
+js-yaml@^3.10.0, js-yaml@^3.11.0, js-yaml@^3.12.0, js-yaml@^3.13.0, js-yaml@^3.5.2, js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1:
+ version "3.13.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.0.tgz#38ee7178ac0eea2c97ff6d96fff4b18c7d8cf98e"
dependencies:
argparse "^1.0.7"
esprima "^4.0.0"
@@ -11444,7 +11555,7 @@ jscodeshift@^0.5.0:
temp "^0.8.1"
write-file-atomic "^1.2.0"
-jsdom@>=11.0.0:
+jsdom@>=11.0.0, jsdom@^14.0.0:
version "14.0.0"
resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-14.0.0.tgz#c7f1441ebcc57902d08d5fb2f6ba2baf746da7c6"
dependencies:
@@ -11999,8 +12110,8 @@ load-module@^1.0.0:
array-back "^2.0.0"
loader-fs-cache@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.1.tgz#56e0bf08bd9708b26a765b68509840c8dec9fdbc"
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz#54cedf6b727e1779fd8f01205f05f6e88706f086"
dependencies:
find-cache-dir "^0.1.1"
mkdirp "0.5.1"
@@ -12009,7 +12120,7 @@ loader-runner@^2.3.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
-loader-utils@1.2.3, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3:
+loader-utils@1.2.3, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0:
version "1.2.3"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
dependencies:
@@ -12105,6 +12216,10 @@ lodash.escape@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz#c9044690c21e04294beaa517712fded1fa88de98"
+lodash.escaperegexp@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347"
+
lodash.every@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.every/-/lodash.every-4.6.0.tgz#eb89984bebc4364279bb3aefbbd1ca19bfa6c6a7"
@@ -12145,6 +12260,10 @@ lodash.isplainobject@^4.0.6:
version "4.0.6"
resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
+lodash.isstring@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
+
lodash.kebabcase@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36"
@@ -12177,7 +12296,7 @@ lodash.merge@^4.6.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.0, lodash.mergewith@^4.6.1:
version "4.6.1"
resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927"
@@ -12481,7 +12600,7 @@ macos-release@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.1.0.tgz#c87935891fbeb0dba7537913fc66f469fee9d662"
-magic-string@^0.25.2:
+magic-string@^0.25.1:
version "0.25.2"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.2.tgz#139c3a729515ec55e96e69e82a11fe890a293ad9"
dependencies:
@@ -12579,10 +12698,6 @@ marked@^0.3.12, marked@^0.3.9:
version "0.3.19"
resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790"
-marked@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/marked/-/marked-0.4.0.tgz#9ad2c2a7a1791f10a852e0112f77b571dce10c66"
-
marksy@^6.0.3:
version "6.1.0"
resolved "https://registry.yarnpkg.com/marksy/-/marksy-6.1.0.tgz#36482148a1115cc78570855f7ebd744bb453d5cc"
@@ -12635,10 +12750,57 @@ mdast-util-compact@^1.0.0:
dependencies:
unist-util-visit "^1.1.0"
+mdast-util-definitions@^1.2.0:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-1.2.3.tgz#49f936b09207c45b438db19551652934312f04f0"
+ dependencies:
+ unist-util-visit "^1.0.0"
+
+mdast-util-to-hast@^3.0.0:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-3.0.4.tgz#132001b266031192348d3366a6b011f28e54dc40"
+ dependencies:
+ collapse-white-space "^1.0.0"
+ detab "^2.0.0"
+ mdast-util-definitions "^1.2.0"
+ mdurl "^1.0.1"
+ trim "0.0.1"
+ trim-lines "^1.0.0"
+ unist-builder "^1.0.1"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.0"
+ xtend "^4.0.1"
+
+mdast-util-to-nlcst@^3.2.0:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/mdast-util-to-nlcst/-/mdast-util-to-nlcst-3.2.2.tgz#71972eecd64dc03d5cf2713f08555e2d9e2d7d10"
+ dependencies:
+ nlcst-to-string "^2.0.0"
+ repeat-string "^1.5.2"
+ unist-util-position "^3.0.0"
+ vfile-location "^2.0.0"
+
+mdast-util-to-string@^1.0.2, mdast-util-to-string@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.5.tgz#3552b05428af22ceda34f156afe62ec8e6d731ca"
+
+mdast-util-toc@^2.0.1:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-toc/-/mdast-util-toc-2.1.0.tgz#82b6b218577bb0e67b23abf5c3f7ac73a4b5389f"
+ dependencies:
+ github-slugger "^1.1.1"
+ mdast-util-to-string "^1.0.2"
+ unist-util-visit "^1.1.0"
+
mdn-data@~1.1.0:
version "1.1.4"
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01"
+mdurl@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"
+
meant@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/meant/-/meant-1.0.1.tgz#66044fea2f23230ec806fb515efea29c44d2115d"
@@ -13077,8 +13239,8 @@ name-all-modules-plugin@^1.0.1:
resolved "https://registry.yarnpkg.com/name-all-modules-plugin/-/name-all-modules-plugin-1.0.1.tgz#0abfb6ad835718b9fb4def0674e06657a954375c"
nan@^2.10.0, nan@^2.9.2:
- version "2.13.1"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.1.tgz#a15bee3790bde247e8f38f1d446edcdaeb05f2dd"
+ version "2.13.2"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7"
nanomatch@^1.2.9:
version "1.2.13"
@@ -13146,6 +13308,10 @@ nice-try@^1.0.4:
version "1.0.5"
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
+nlcst-to-string@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/nlcst-to-string/-/nlcst-to-string-2.0.2.tgz#7125af4d4d369850c697192a658f01f36af9937b"
+
no-case@^2.2.0, no-case@^2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
@@ -13188,6 +13354,10 @@ node-fetch@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5"
+node-fetch@2.3.0, node-fetch@^2.2.0, node-fetch@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.3.0.tgz#1a1d940bbfb916a1d3e0219f037e89e71f8c5fa5"
+
node-fetch@^1.0.1:
version "1.7.3"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
@@ -13195,10 +13365,6 @@ node-fetch@^1.0.1:
encoding "^0.1.11"
is-stream "^1.0.1"
-node-fetch@^2.2.0, node-fetch@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.3.0.tgz#1a1d940bbfb916a1d3e0219f037e89e71f8c5fa5"
-
node-forge@0.7.5:
version "0.7.5"
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df"
@@ -13313,8 +13479,8 @@ node-pre-gyp@^0.10.0:
tar "^4"
node-releases@^1.1.11, node-releases@^1.1.3:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.11.tgz#9a0841a4b0d92b7d5141ed179e764f42ad22724a"
+ version "1.1.12"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.12.tgz#1d6baf544316b5422fcd35efe18708370a4e7637"
dependencies:
semver "^5.3.0"
@@ -13496,7 +13662,7 @@ npm-run-path@^2.0.0:
gauge "~2.7.3"
set-blocking "~2.0.0"
-nth-check@^1.0.2, nth-check@~1.0.1:
+nth-check@^1.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"
dependencies:
@@ -13519,8 +13685,10 @@ number-is-nan@^1.0.0:
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
nwsapi@^2.0.7, nwsapi@^2.0.9:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.1.tgz#08d6d75e69fd791bdea31507ffafe8c843b67e9c"
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.2.tgz#c360ee8745aa318d8a7c8c8095decc4e373338aa"
+ dependencies:
+ jsdom "^14.0.0"
oauth-sign@~0.9.0:
version "0.9.0"
@@ -13566,7 +13734,7 @@ object-keys@~0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336"
-object-path@^0.11.2:
+object-path@^0.11.2, object-path@^0.11.4:
version "0.11.4"
resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949"
@@ -13920,7 +14088,7 @@ p-try@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
-p-try@^2.0.0:
+p-try@^2.0.0, p-try@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.1.0.tgz#c1a0f1030e97de018bb2c718929d2af59463e505"
@@ -13983,15 +14151,15 @@ parallel-transform@^1.1.0:
inherits "^2.0.3"
readable-stream "^2.1.5"
-param-case@2.1.x, param-case@^2.1.0, param-case@^2.1.1:
+param-case@2.1.x, param-case@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
dependencies:
no-case "^2.2.0"
parent-module@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.0.tgz#df250bdc5391f4a085fb589dad761f5ad6b865b5"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
dependencies:
callsites "^3.0.0"
@@ -14015,6 +14183,15 @@ parse-domain@^2.0.0:
mkdirp "^0.5.1"
mocha "^5.2.0"
+parse-english@^4.0.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/parse-english/-/parse-english-4.1.1.tgz#2f75872e617769d857d9b6992dcde2a891f1b2d3"
+ dependencies:
+ nlcst-to-string "^2.0.0"
+ parse-latin "^4.0.0"
+ unist-util-modify-children "^1.0.0"
+ unist-util-visit-children "^1.0.0"
+
parse-entities@^1.0.2, parse-entities@^1.1.0, parse-entities@^1.1.2:
version "1.2.1"
resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.1.tgz#2c761ced065ba7dc68148580b5a225e4918cdd69"
@@ -14060,6 +14237,14 @@ parse-json@^4.0.0:
error-ex "^1.3.1"
json-parse-better-errors "^1.0.1"
+parse-latin@^4.0.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/parse-latin/-/parse-latin-4.1.1.tgz#3a3edef405b2d5dce417b7157d3d8a5c7cdfab1d"
+ dependencies:
+ nlcst-to-string "^2.0.0"
+ unist-util-modify-children "^1.0.0"
+ unist-util-visit-children "^1.0.0"
+
parse-node-version@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b"
@@ -14108,7 +14293,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.1.0, parse5@^5.0.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2"
@@ -14853,12 +15038,6 @@ postcss-modules-extract-imports@^1.2.0:
dependencies:
postcss "^6.0.1"
-postcss-modules-extract-imports@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e"
- dependencies:
- postcss "^7.0.5"
-
postcss-modules-local-by-default@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069"
@@ -14866,14 +15045,6 @@ postcss-modules-local-by-default@^1.2.0:
css-selector-tokenizer "^0.7.0"
postcss "^6.0.1"
-postcss-modules-local-by-default@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz#dd9953f6dd476b5fd1ef2d8830c8929760b56e63"
- dependencies:
- postcss "^7.0.6"
- postcss-selector-parser "^6.0.0"
- postcss-value-parser "^3.3.1"
-
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"
@@ -14881,13 +15052,6 @@ postcss-modules-scope@^1.1.0:
css-selector-tokenizer "^0.7.0"
postcss "^6.0.1"
-postcss-modules-scope@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz#ad3f5bf7856114f6fcab901b0502e2a2bc39d4eb"
- 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"
@@ -14895,13 +15059,6 @@ postcss-modules-values@^1.3.0:
icss-replace-symbols "^1.1.0"
postcss "^6.0.1"
-postcss-modules-values@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz#479b46dc0c5ca3dc7fa5270851836b9ec7152f64"
- dependencies:
- icss-replace-symbols "^1.1.0"
- postcss "^7.0.6"
-
postcss-nesting@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.0.tgz#6e26a770a0c8fcba33782a6b6f350845e1a448f6"
@@ -15190,14 +15347,6 @@ postcss-selector-parser@^5.0.0, postcss-selector-parser@^5.0.0-rc.3, postcss-sel
indexes-of "^1.0.1"
uniq "^1.0.1"
-postcss-selector-parser@^6.0.0:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c"
- dependencies:
- cssesc "^3.0.0"
- indexes-of "^1.0.1"
- uniq "^1.0.1"
-
postcss-svgo@^2.1.1:
version "2.1.6"
resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d"
@@ -15273,7 +15422,7 @@ postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.17, postcss@^6.0.23:
source-map "^0.6.1"
supports-color "^5.4.0"
-postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.13, postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.6, postcss@^7.0.7:
+postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.13, postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.7:
version "7.0.14"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5"
dependencies:
@@ -15337,15 +15486,13 @@ pretty-format@^23.0.1, pretty-format@^23.6.0:
ansi-regex "^3.0.0"
ansi-styles "^3.2.0"
-prismjs@1.6:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.6.0.tgz#118d95fb7a66dba2272e343b345f5236659db365"
- optionalDependencies:
- clipboard "^1.5.5"
+prism-react-renderer@^0.1.0:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-0.1.6.tgz#c9216baa234fab1c234209fcdaf0cd23a01c50a9"
-prismjs@^1.8.4, prismjs@~1.15.0:
- version "1.15.0"
- resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.15.0.tgz#8801d332e472091ba8def94976c8877ad60398d9"
+prismjs@^1.8.4, prismjs@~1.16.0:
+ version "1.16.0"
+ resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.16.0.tgz#406eb2c8aacb0f5f0f1167930cb83835d10a4308"
optionalDependencies:
clipboard "^2.0.0"
@@ -15442,6 +15589,12 @@ prop-types@^15, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, pro
object-assign "^4.1.1"
react-is "^16.8.1"
+property-information@^4.0.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/property-information/-/property-information-4.2.0.tgz#f0e66e07cbd6fed31d96844d958d153ad3eb486e"
+ dependencies:
+ xtend "^4.0.1"
+
property-information@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.0.1.tgz#c3b09f4f5750b1634c0b24205adbf78f18bdf94f"
@@ -15535,8 +15688,8 @@ qs@6.5.2, qs@~6.5.2:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
qs@^6.5.1, qs@^6.5.2:
- version "6.6.0"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.6.0.tgz#a99c0f69a8d26bf7ef012f871cdabb0aee4424c2"
+ version "6.7.0"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
query-string@^4.1.0:
version "4.3.4"
@@ -15562,8 +15715,8 @@ querystring@0.2.0, querystring@^0.2.0:
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
querystringify@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.0.tgz#7ded8dfbf7879dcc60d0a644ac6754b283ad17ef"
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e"
quick-lru@^1.0.0:
version "1.1.0"
@@ -15676,8 +15829,8 @@ react-bootstrap-switch@^15.5.3:
resolved "https://registry.yarnpkg.com/react-bootstrap-switch/-/react-bootstrap-switch-15.5.3.tgz#97287791d4ec0d1892d142542e7e5248002b1251"
react-bootstrap-typeahead@^3.4.1:
- version "3.4.1"
- resolved "https://registry.yarnpkg.com/react-bootstrap-typeahead/-/react-bootstrap-typeahead-3.4.1.tgz#484c3c1be635c49898ca8dce59a6c71f2fce5888"
+ version "3.4.2"
+ resolved "https://registry.yarnpkg.com/react-bootstrap-typeahead/-/react-bootstrap-typeahead-3.4.2.tgz#d0090488854a8597387007ced641dd5fbfc901f7"
dependencies:
classnames "^2.2.0"
create-react-context "^0.2.3"
@@ -15748,7 +15901,6 @@ react-datetime@^2.14.0:
react-debounce-input@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/react-debounce-input/-/react-debounce-input-3.2.0.tgz#6978c6061d898f549f40417fb0d2ebbecf50aaaa"
- integrity sha1-aXjGBh2Jj1SfQEF/sNLrvs9Qqqo=
dependencies:
lodash.debounce "^4"
prop-types "^15"
@@ -15840,15 +15992,13 @@ react-diff-view@^1.8.1:
lodash.mapvalues "^4.6.0"
warning "^4.0.1"
-"react-docgen-displayname-handler@ ^2.1.0":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/react-docgen-displayname-handler/-/react-docgen-displayname-handler-2.1.1.tgz#a7863a2cc0058ac3c72e6348fa5e40cc4278c5ae"
- dependencies:
- ast-types "0.11.5"
+react-docgen-typescript@^1.12.3:
+ version "1.12.3"
+ resolved "https://registry.yarnpkg.com/react-docgen-typescript/-/react-docgen-typescript-1.12.3.tgz#fe62a5ce82e93573e316366e53adfe8273121c70"
-react-docgen@3.0.0-rc.2:
- version "3.0.0-rc.2"
- resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-3.0.0-rc.2.tgz#5939c64699fd9959da6d97d890f7b648e542dbcc"
+react-docgen@^3.0.0-beta11:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-3.0.0.tgz#79c6e1b1870480c3c2bc1a65bede0577a11c38cd"
dependencies:
"@babel/parser" "^7.1.3"
"@babel/runtime" "^7.0.0"
@@ -15858,31 +16008,30 @@ react-docgen@3.0.0-rc.2:
node-dir "^0.1.10"
recast "^0.16.0"
-react-docgen@^3.0.0-beta11:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-3.0.0.tgz#79c6e1b1870480c3c2bc1a65bede0577a11c38cd"
+react-docgen@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-4.1.0.tgz#218887feba5b2c36af337879a27e74bda90ed7cb"
dependencies:
- "@babel/parser" "^7.1.3"
+ "@babel/core" "^7.0.0"
"@babel/runtime" "^7.0.0"
async "^2.1.4"
commander "^2.19.0"
- doctrine "^2.0.0"
+ doctrine "^3.0.0"
node-dir "^0.1.10"
- recast "^0.16.0"
+ recast "^0.17.3"
-react-dom@^16.2.0, react-dom@^16.6.3, react-dom@~16.8.4:
- version "16.8.4"
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.4.tgz#1061a8e01a2b3b0c8160037441c3bf00a0e3bc48"
+react-dom@^16.2.0, react-dom@~16.8.4:
+ version "16.8.6"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.6.tgz#71d6303f631e8b0097f56165ef608f051ff6e10f"
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
prop-types "^15.6.2"
- scheduler "^0.13.4"
+ scheduler "^0.13.6"
react-ellipsis-with-tooltip@^1.0.8:
version "1.0.8"
resolved "https://registry.yarnpkg.com/react-ellipsis-with-tooltip/-/react-ellipsis-with-tooltip-1.0.8.tgz#fce2d0c9c4820e85ad7fc8c1a77e9a0b86f429fb"
- integrity sha512-GdEYrrvS/iPYVAufShdJz8gtwG5kZNxlBh1Kb/LjCwYgNwGmRlCbVEmXS///bHrbhXoSxnzYbymGHFyYKR4Q6A==
dependencies:
uuid "^3.1.0"
@@ -15963,10 +16112,6 @@ react-icons@^2.2.7:
dependencies:
react-icon-base "2.1.0"
-react-icons@^3.5.0:
- version "3.5.0"
- resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-3.5.0.tgz#a6135480e3bcbc63f5dd045193ef2a814263d8d1"
-
react-inspector@^2.2.2:
version "2.3.1"
resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-2.3.1.tgz#f0eb7f520669b545b441af9d38ec6d706e5f649c"
@@ -15975,24 +16120,25 @@ react-inspector@^2.2.2:
is-dom "^1.0.9"
prop-types "^15.6.1"
-react-is@^16.3.2, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4:
- version "16.8.4"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.4.tgz#90f336a68c3a29a096a3d648ab80e87ec61482a2"
+react-is@^16.3.2, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.6:
+ version "16.8.6"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16"
react-lifecycles-compat@^3.0.0, 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"
-react-live@^1.12.0:
- version "1.12.0"
- resolved "https://registry.yarnpkg.com/react-live/-/react-live-1.12.0.tgz#2876d4e913331002b66dfa73cf58051376bc2518"
+react-live@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/react-live/-/react-live-2.0.0.tgz#37230dfe64dd32494c2700189f74a7ed3b606031"
dependencies:
- buble "^0.19.3"
+ buble "0.19.6"
core-js "^2.4.1"
create-react-context "^0.2.3"
dom-iterator "^1.0.0"
- prismjs "1.6"
+ prism-react-renderer "^0.1.0"
prop-types "^15.5.8"
+ react-simple-code-editor "^0.9.0"
unescape "^0.2.0"
react-modal@^3.3.2:
@@ -16105,13 +16251,15 @@ react-side-effect@^1.1.0:
exenv "^1.2.1"
shallowequal "^1.0.1"
+react-simple-code-editor@^0.9.0:
+ version "0.9.7"
+ resolved "https://registry.yarnpkg.com/react-simple-code-editor/-/react-simple-code-editor-0.9.7.tgz#5cba6c0b482c51d97101cb2f69877e75176bb4e4"
+
react-split-pane@^0.1.77:
- version "0.1.85"
- resolved "https://registry.yarnpkg.com/react-split-pane/-/react-split-pane-0.1.85.tgz#64819946a99b617ffa2d20f6f45a0056b6ee4faa"
+ version "0.1.87"
+ resolved "https://registry.yarnpkg.com/react-split-pane/-/react-split-pane-0.1.87.tgz#a7027ae554abfacca35f5f780288b07fe4ec4cbd"
dependencies:
prop-types "^15.5.10"
- react "^16.6.3"
- react-dom "^16.6.3"
react-lifecycles-compat "^3.0.4"
react-style-proptype "^3.0.0"
@@ -16132,13 +16280,13 @@ react-syntax-highlighter@^7.0.2:
refractor "^2.4.1"
react-test-renderer@^16.0.0-0:
- version "16.8.4"
- resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.8.4.tgz#abee4c2c3bf967a8892a7b37f77370c5570d5329"
+ version "16.8.6"
+ resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.8.6.tgz#188d8029b8c39c786f998aa3efd3ffe7642d5ba1"
dependencies:
object-assign "^4.1.1"
prop-types "^15.6.2"
- react-is "^16.8.4"
- scheduler "^0.13.4"
+ react-is "^16.8.6"
+ scheduler "^0.13.6"
react-textarea-autosize@^5.2.1:
version "5.2.1"
@@ -16147,8 +16295,8 @@ react-textarea-autosize@^5.2.1:
prop-types "^15.6.0"
react-transition-group@^2.0.0, react-transition-group@^2.2.0:
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.6.1.tgz#abf4a95e2f13fb9ba83a970a896fedbc5c4856a2"
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.7.1.tgz#1fe6d54e811e8f9dfd329aa836b39d9cd16587cb"
dependencies:
dom-helpers "^3.3.1"
loose-envify "^1.4.0"
@@ -16184,14 +16332,14 @@ react-wooden-tree@^1.1.2:
react "^16.2.0"
react-dom "^16.2.0"
-react@^16.2.0, react@^16.6.3, react@~16.8.4:
- version "16.8.4"
- resolved "https://registry.yarnpkg.com/react/-/react-16.8.4.tgz#fdf7bd9ae53f03a9c4cd1a371432c206be1c4768"
+react@^16.2.0, react@~16.8.4:
+ version "16.8.6"
+ resolved "https://registry.yarnpkg.com/react/-/react-16.8.6.tgz#ad6c3a9614fd3a4e9ef51117f54d888da01f2bbe"
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
prop-types "^15.6.2"
- scheduler "^0.13.4"
+ scheduler "^0.13.6"
reactabular-table@^8.14.0:
version "8.14.0"
@@ -16366,6 +16514,15 @@ recast@^0.16.0:
private "~0.1.5"
source-map "~0.6.1"
+recast@^0.17.3:
+ version "0.17.5"
+ resolved "https://registry.yarnpkg.com/recast/-/recast-0.17.5.tgz#cbba5757867b34826dbea3fffcee6225ba2cee3d"
+ dependencies:
+ ast-types "0.12.3"
+ esprima "~4.0.0"
+ private "^0.1.8"
+ source-map "~0.6.1"
+
recast@~0.11.12:
version "0.11.23"
resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3"
@@ -16455,12 +16612,12 @@ redux@^4.0.0:
symbol-observable "^1.2.0"
refractor@^2.4.1:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/refractor/-/refractor-2.7.0.tgz#3ed9a96a619e75326a429e644241dea51be070a3"
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/refractor/-/refractor-2.8.0.tgz#29d7b2254e823edd2e3e476af286af1c11472bfa"
dependencies:
hastscript "^5.0.0"
parse-entities "^1.1.2"
- prismjs "~1.15.0"
+ prismjs "~1.16.0"
regenerate-unicode-properties@^8.0.2:
version "8.0.2"
@@ -16484,6 +16641,10 @@ regenerator-runtime@^0.12.0:
version "0.12.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de"
+regenerator-runtime@^0.13.2:
+ version "0.13.2"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz#32e59c9a6fb9b1a4aff09b4930ca2d4477343447"
+
regenerator-transform@^0.10.0:
version "0.10.1"
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd"
@@ -16557,8 +16718,8 @@ regexpu-core@^4.1.3, regexpu-core@^4.2.0, regexpu-core@^4.5.4:
unicode-match-property-value-ecmascript "^1.1.0"
registry-auth-token@^3.0.1:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20"
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e"
dependencies:
rc "^1.1.6"
safe-buffer "^5.0.1"
@@ -16589,6 +16750,14 @@ regjsparser@^0.6.0:
dependencies:
jsesc "~0.5.0"
+rehype-react@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/rehype-react/-/rehype-react-3.1.0.tgz#bdd4b66ff24bd68e57c2f2e716607b3029c9e63e"
+ dependencies:
+ "@mapbox/hast-util-table-cell-style" "^0.1.3"
+ has "^1.0.1"
+ hast-to-hyperscript "^5.0.0"
+
relateurl@0.2.x:
version "0.2.7"
resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
@@ -16606,6 +16775,26 @@ relay-runtime@2.0.0:
"@babel/runtime" "^7.0.0"
fbjs "^1.0.0"
+remark-parse@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz#4c077f9e499044d1d5c13f80d7a98cf7b9285d95"
+ dependencies:
+ collapse-white-space "^1.0.2"
+ is-alphabetical "^1.0.0"
+ is-decimal "^1.0.0"
+ is-whitespace-character "^1.0.0"
+ is-word-character "^1.0.0"
+ markdown-escapes "^1.0.0"
+ parse-entities "^1.1.0"
+ repeat-string "^1.5.4"
+ state-toggle "^1.0.0"
+ trim "0.0.1"
+ trim-trailing-lines "^1.0.0"
+ unherit "^1.0.4"
+ unist-util-remove-position "^1.0.0"
+ vfile-location "^2.0.0"
+ xtend "^4.0.1"
+
remark-parse@^6.0.0:
version "6.0.3"
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-6.0.3.tgz#c99131052809da482108413f87b0ee7f52180a3a"
@@ -16626,6 +16815,31 @@ remark-parse@^6.0.0:
vfile-location "^2.0.0"
xtend "^4.0.1"
+remark-retext@^3.1.0:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/remark-retext/-/remark-retext-3.1.2.tgz#983003d7495cf9198aa450c5ae5a7737011eec5f"
+ dependencies:
+ mdast-util-to-nlcst "^3.2.0"
+
+remark-stringify@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-5.0.0.tgz#336d3a4d4a6a3390d933eeba62e8de4bd280afba"
+ dependencies:
+ ccount "^1.0.0"
+ is-alphanumeric "^1.0.0"
+ is-decimal "^1.0.0"
+ is-whitespace-character "^1.0.0"
+ longest-streak "^2.0.1"
+ markdown-escapes "^1.0.0"
+ markdown-table "^1.1.0"
+ mdast-util-compact "^1.0.0"
+ parse-entities "^1.0.2"
+ repeat-string "^1.5.4"
+ state-toggle "^1.0.0"
+ stringify-entities "^1.0.1"
+ unherit "^1.0.4"
+ xtend "^4.0.1"
+
remark-stringify@^6.0.0:
version "6.0.4"
resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-6.0.4.tgz#16ac229d4d1593249018663c7bddf28aafc4e088"
@@ -16653,6 +16867,14 @@ remark@^10.0.1:
remark-stringify "^6.0.0"
unified "^7.0.0"
+remark@^9.0.0:
+ version "9.0.0"
+ resolved "https://registry.yarnpkg.com/remark/-/remark-9.0.0.tgz#c5cfa8ec535c73a67c4b0f12bfdbd3a67d8b2f60"
+ dependencies:
+ remark-parse "^5.0.0"
+ remark-stringify "^5.0.0"
+ unified "^6.0.0"
+
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"
@@ -16848,6 +17070,13 @@ ret@~0.1.10:
version "0.1.15"
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+retext-english@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/retext-english/-/retext-english-3.0.2.tgz#efc239c445b112d13f3f511b1856abc2b5476cb4"
+ dependencies:
+ parse-english "^4.0.0"
+ unherit "^1.0.4"
+
retry@^0.10.0:
version "0.10.1"
resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4"
@@ -16874,7 +17103,7 @@ right-pad@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/right-pad/-/right-pad-1.0.1.tgz#8ca08c2cbb5b55e74dafa96bf7fd1a27d568c8d0"
-rimraf@2, rimraf@2.6.3, rimraf@2.x.x, rimraf@^2.2.8, rimraf@^2.5.0, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@~2.6.2:
+rimraf@2, rimraf@2.6.3, rimraf@2.x.x, rimraf@^2.2.8, rimraf@^2.5.0, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@~2.6.2:
version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
dependencies:
@@ -16973,6 +17202,21 @@ sane@^2.0.0:
optionalDependencies:
fsevents "^1.2.3"
+sanitize-html@^1.18.2:
+ version "1.20.0"
+ resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.20.0.tgz#9a602beb1c9faf960fb31f9890f61911cc4d9156"
+ dependencies:
+ chalk "^2.4.1"
+ htmlparser2 "^3.10.0"
+ lodash.clonedeep "^4.5.0"
+ lodash.escaperegexp "^4.1.2"
+ lodash.isplainobject "^4.0.6"
+ lodash.isstring "^4.0.1"
+ lodash.mergewith "^4.6.1"
+ postcss "^7.0.5"
+ srcset "^1.0.0"
+ xtend "^4.0.1"
+
sass-graph@^2.2.4:
version "2.2.4"
resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49"
@@ -17013,9 +17257,9 @@ saxes@^3.1.5:
dependencies:
xmlchars "^1.3.1"
-scheduler@^0.13.4:
- version "0.13.4"
- resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.13.4.tgz#8fef05e7a3580c76c0364d2df5e550e4c9140298"
+scheduler@^0.13.6:
+ version "0.13.6"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.13.6.tgz#466a4ec332467b31a91b9bf74e5347072e4cd889"
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
@@ -17055,6 +17299,13 @@ scss-tokenizer@^0.2.3:
js-base64 "^2.1.8"
source-map "^0.4.2"
+section-matter@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167"
+ dependencies:
+ extend-shallow "^2.0.1"
+ kind-of "^6.0.0"
+
select-hose@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
@@ -17076,8 +17327,8 @@ semver-diff@^2.0.0:
semver "^5.0.3"
"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
- version "5.6.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004"
+ version "5.7.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
semver@5.5.0:
version "5.5.0"
@@ -17258,7 +17509,7 @@ shelljs@0.7.6:
interpret "^1.0.0"
rechoir "^0.6.2"
-shelljs@^0.8.1, shelljs@^0.8.2:
+shelljs@^0.8.1:
version "0.8.3"
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097"
dependencies:
@@ -17613,10 +17864,21 @@ split@^1.0.0:
dependencies:
through "2"
+sprintf-js@^1.0.3:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673"
+
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+srcset@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/srcset/-/srcset-1.0.0.tgz#a5669de12b42f3b1d5e83ed03c71046fc48f41ef"
+ dependencies:
+ array-uniq "^1.0.2"
+ number-is-nan "^1.0.0"
+
sshpk@^1.7.0:
version "1.16.1"
resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
@@ -17651,7 +17913,7 @@ stack-trace@0.0.x, stack-trace@^0.0.10:
version "0.0.10"
resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
-stack-utils@^1.0.1:
+stack-utils@1.0.2, stack-utils@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8"
@@ -17890,6 +18152,10 @@ strip-ansi@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991"
+strip-bom-string@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
+
strip-bom@3.0.0, strip-bom@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
@@ -17958,6 +18224,12 @@ style-search@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902"
+style-to-object@^0.2.1:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.2.2.tgz#3ea3b276bd3fa9da1195fcdcdd03bc52aa2aae01"
+ dependencies:
+ css "2.2.4"
+
styled-system@^3.1.11:
version "3.2.1"
resolved "https://registry.yarnpkg.com/styled-system/-/styled-system-3.2.1.tgz#491e1e6f88d7ee021f6f49376f12852cde8007cb"
@@ -18340,13 +18612,6 @@ test-exclude@^4.2.1:
read-pkg-up "^1.0.1"
require-main-filename "^1.0.1"
-test-value@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/test-value/-/test-value-3.0.0.tgz#9168c062fab11a86b8d444dd968bb4b73851ce92"
- dependencies:
- array-back "^2.0.0"
- typical "^2.6.1"
-
text-extensions@^1.0.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26"
@@ -18538,6 +18803,10 @@ tree-kill@^1.1.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.1.tgz#5398f374e2f292b9dcc7b2e71e30a5c3bb6c743a"
+trim-lines@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-1.1.1.tgz#da738ff58fa74817588455e30b11b85289f2a396"
+
trim-newlines@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
@@ -18687,32 +18956,6 @@ typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
-typedoc-default-themes@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.5.0.tgz#6dc2433e78ed8bea8e887a3acde2f31785bd6227"
-
-typedoc@^0.14.2:
- version "0.14.2"
- resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.14.2.tgz#769f457f4f9e4bdb8b5f3b177c86b6a31d8c3dc3"
- dependencies:
- "@types/fs-extra" "^5.0.3"
- "@types/handlebars" "^4.0.38"
- "@types/highlight.js" "^9.12.3"
- "@types/lodash" "^4.14.110"
- "@types/marked" "^0.4.0"
- "@types/minimatch" "3.0.3"
- "@types/shelljs" "^0.8.0"
- fs-extra "^7.0.0"
- handlebars "^4.0.6"
- highlight.js "^9.13.1"
- lodash "^4.17.10"
- marked "^0.4.0"
- minimatch "^3.0.0"
- progress "^2.0.0"
- shelljs "^0.8.2"
- typedoc-default-themes "^0.5.0"
- typescript "3.2.x"
-
typescript-eslint-parser@^16.0.0:
version "16.0.1"
resolved "https://registry.yarnpkg.com/typescript-eslint-parser/-/typescript-eslint-parser-16.0.1.tgz#b40681c7043b222b9772748b700a000b241c031b"
@@ -18724,10 +18967,6 @@ typescript@3.2.2:
version "3.2.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.2.tgz#fe8101c46aa123f8353523ebdcf5730c2ae493e5"
-typescript@3.2.x:
- version "3.2.4"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.4.tgz#c585cb952912263d915b462726ce244ba510ef3d"
-
typescript@^2.5.1:
version "2.9.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c"
@@ -18740,6 +18979,10 @@ typical@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/typical/-/typical-3.0.2.tgz#1891683995b7916822c7ab0ccc238fc462f66e71"
+typical@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4"
+
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"
@@ -18751,7 +18994,7 @@ uglify-es@^3.3.4:
commander "~2.13.0"
source-map "~0.6.1"
-uglify-js@3.4.x, uglify-js@^3.1.4:
+uglify-js@3.4.x:
version "3.4.10"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f"
dependencies:
@@ -18767,6 +19010,13 @@ uglify-js@^2.8.29:
optionalDependencies:
uglify-to-browserify "~1.0.0"
+uglify-js@^3.1.4:
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.5.2.tgz#dc0c7ac2da0a4b7d15e84266818ff30e82529474"
+ dependencies:
+ commander "~2.19.0"
+ source-map "~0.6.1"
+
uglify-to-browserify@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
@@ -18810,6 +19060,13 @@ uncontrollable@^5.0.0:
dependencies:
invariant "^2.2.4"
+underscore.string@^3.3.5:
+ version "3.3.5"
+ resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.5.tgz#fc2ad255b8bd309e239cbc5816fd23a9b7ea4023"
+ dependencies:
+ sprintf-js "^1.0.3"
+ util-deprecate "^1.0.2"
+
underscore@~1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8"
@@ -18850,6 +19107,17 @@ unidiff@^1.0.1:
dependencies:
diff "^2.2.2"
+unified@^6.0.0, unified@^6.1.5:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/unified/-/unified-6.2.0.tgz#7fbd630f719126d67d40c644b7e3f617035f6dba"
+ dependencies:
+ bail "^1.0.0"
+ extend "^3.0.0"
+ is-plain-obj "^1.1.0"
+ trough "^1.0.0"
+ vfile "^2.0.0"
+ x-is-string "^0.1.0"
+
unified@^7.0.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/unified/-/unified-7.1.0.tgz#5032f1c1ee3364bd09da12e27fdd4a7553c7be13"
@@ -18898,33 +19166,65 @@ unique-string@^1.0.0:
dependencies:
crypto-random-string "^1.0.0"
+unist-builder@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-1.0.3.tgz#ab0f9d0f10936b74f3e913521955b0478e0ff036"
+ dependencies:
+ object-assign "^4.1.0"
+
unist-util-find-all-after@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/unist-util-find-all-after/-/unist-util-find-all-after-1.0.2.tgz#9be49cfbae5ca1566b27536670a92836bf2f8d6d"
dependencies:
unist-util-is "^2.0.0"
+unist-util-generated@^1.1.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.3.tgz#ca650470aef2fbcc5fe54c465bc26b41ca109e2b"
+
unist-util-is@^2.0.0, unist-util-is@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-2.1.2.tgz#1193fa8f2bfbbb82150633f3a8d2eb9a1c1d55db"
-unist-util-remove-position@^1.0.0:
+unist-util-modify-children@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/unist-util-modify-children/-/unist-util-modify-children-1.1.3.tgz#d764a935f612dfb21b1bb92b0ea24321dc19a5f7"
+ dependencies:
+ array-iterate "^1.0.0"
+
+unist-util-position@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.0.2.tgz#80ad4a05efc4ab01a66886cc70493893ba73c5eb"
+
+unist-util-remove-position@^1.0.0, unist-util-remove-position@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.2.tgz#86b5dad104d0bbfbeb1db5f5c92f3570575c12cb"
dependencies:
unist-util-visit "^1.1.0"
+unist-util-select@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/unist-util-select/-/unist-util-select-1.5.0.tgz#a93c2be8c0f653827803b81331adec2aa24cd933"
+ dependencies:
+ css-selector-parser "^1.1.0"
+ debug "^2.2.0"
+ nth-check "^1.0.1"
+
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-visit-children@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/unist-util-visit-children/-/unist-util-visit-children-1.1.2.tgz#bd78b53db9644b9c339ac502854f15471f964f5b"
+
unist-util-visit-parents@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.0.1.tgz#63fffc8929027bee04bfef7d2cce474f71cb6217"
dependencies:
unist-util-is "^2.1.2"
-unist-util-visit@^1.1.0:
+unist-util-visit@^1.0.0, unist-util-visit@^1.1.0, unist-util-visit@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.0.tgz#1cb763647186dc26f5e1df5db6bd1e48b3cc2fb1"
dependencies:
@@ -18959,7 +19259,7 @@ unzip-response@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
-upath@^1.1.0:
+upath@^1.1.0, upath@^1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068"
@@ -19114,7 +19414,7 @@ utils-merge@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
-uuid@^3.0.0, uuid@^3.0.1, uuid@^3.1.0, uuid@^3.2.1, uuid@^3.3.2:
+uuid@3.3.2, uuid@^3.0.0, uuid@^3.0.1, uuid@^3.1.0, uuid@^3.2.1, uuid@^3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
@@ -19184,6 +19484,15 @@ vfile-message@^1.0.0:
dependencies:
unist-util-stringify-position "^1.1.1"
+vfile@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/vfile/-/vfile-2.3.0.tgz#e62d8e72b20e83c324bc6c67278ee272488bf84a"
+ dependencies:
+ is-buffer "^1.1.4"
+ replace-ext "1.0.0"
+ unist-util-stringify-position "^1.0.0"
+ vfile-message "^1.0.0"
+
vfile@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/vfile/-/vfile-3.0.1.tgz#47331d2abe3282424f4a4bb6acd20a44c4121803"
@@ -19457,6 +19766,10 @@ victory@^30.1.0:
victory-voronoi-container "^30.6.1"
victory-zoom-container "^30.6.1"
+vlq@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.0.tgz#8101be90843422954c2b13eb27f2f3122bdcc806"
+
vm-browserify@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
@@ -19481,8 +19794,8 @@ w3c-hr-time@^1.0.1:
browser-process-hrtime "^0.1.2"
w3c-xmlserializer@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.0.1.tgz#054cdcd359dc5d1f3ec9be4e272c756af4b21d39"
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794"
dependencies:
domexception "^1.0.1"
webidl-conversions "^4.0.2"
@@ -19537,6 +19850,10 @@ wcwidth@^1.0.0, wcwidth@^1.0.1:
dependencies:
defaults "^1.0.3"
+web-namespaces@^1.0.0, web-namespaces@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.2.tgz#c8dc267ab639505276bae19e129dbd6ae72b22b4"
+
webidl-conversions@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
@@ -19863,12 +20180,12 @@ winston@0.8.x:
stack-trace "0.0.x"
with-open-file@^0.1.5:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/with-open-file/-/with-open-file-0.1.5.tgz#877239a04e56ec92ebb1f698809d03b93e07aabc"
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/with-open-file/-/with-open-file-0.1.6.tgz#0bc178ecab75f6baac8ae11c85e07445d690ea50"
dependencies:
p-finally "^1.0.0"
- p-try "^2.0.0"
- pify "^3.0.0"
+ p-try "^2.1.0"
+ pify "^4.0.1"
word-wrap@^1.0.3:
version "1.2.3"
@@ -20075,8 +20392,8 @@ ws@^5.2.0, ws@^5.2.1:
async-limiter "~1.0.0"
ws@^6.1.2:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.0.tgz#13806d9913b2a5f3cbb9ba47b563c002cbc7c526"
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb"
dependencies:
async-limiter "~1.0.0"
@@ -20114,6 +20431,10 @@ xstate@^3.1.0:
version "3.3.3"
resolved "https://registry.yarnpkg.com/xstate/-/xstate-3.3.3.tgz#64177cd4473d4c2424b3df7d2434d835404b09a9"
+xstate@^4.3.2:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.4.0.tgz#0daedbdc49313357413546de04fafa0dba7aa0ce"
+
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"
@@ -20350,3 +20671,7 @@ zen-observable-ts@^0.8.18:
zen-observable@^0.8.0:
version "0.8.13"
resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.13.tgz#a9f1b9dbdfd2d60a08761ceac6a861427d44ae2e"
+
+zwitch@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.3.tgz#159fae4b3f737db1e42bf321d3423e4c96688a18"