Browse Source

Switched back to previous splitter layout
Fixed monospace trigger
Potentionally fixed Service Worker interaction with upgrades
Added a 'spoiler' definition to the modal list

Aleksandr Bashurov 1 year ago
parent
commit
209b84a683
8 changed files with 406 additions and 334 deletions
  1. 1 0
      package.json
  2. 0 16
      public/index.html
  3. 9 6
      src/App.js
  4. 1 1
      src/components/Menubar.js
  5. 220 185
      src/index.css
  6. 6 2
      src/index.js
  7. 128 124
      src/views/TriggerListModal.js
  8. 41 0
      yarn.lock

+ 1 - 0
package.json

@@ -14,6 +14,7 @@
     "react-dom": "^16.1.1",
     "react-helmet": "^5.2.0",
     "react-scripts": "1.1.4",
+    "react-split-pane": "^0.1.81",
     "react-splitter-layout": "^3.0.0",
     "semantic-ui-css": "2.3.1",
     "semantic-ui-react": "0.81.1",

+ 0 - 16
public/index.html

@@ -20,22 +20,6 @@
       Learn how to configure a non-root public URL by running `npm run build`.
     -->
     <title>Editor 1.2</title>
-    <!-- Matomo -->
-    <script type="text/javascript">
-    var _paq = _paq || [];
-    /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
-    _paq.push(["setCookieDomain", "*.kcs.rocks"]);
-    _paq.push(['trackPageView']);
-    _paq.push(['enableLinkTracking']);
-    (function() {
-      var u="//matomo.darnass.us/";
-      _paq.push(['setTrackerUrl', u+'piwik.php']);
-      _paq.push(['setSiteId', '1']);
-      var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
-      g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
-    })();
-    </script>
-    <!-- End Matomo Code -->
   </head>
   <body>
     <noscript>

+ 9 - 6
src/App.js

@@ -1,7 +1,7 @@
 import React, { Component } from 'react'
 import { Container } from 'semantic-ui-react'
 import Noty from 'noty'
-import SplitterLayout from 'react-splitter-layout'
+import SplitPane from 'react-split-pane'
 import Menubar from './components/Menubar'
 import TriggerListModal from './views/TriggerListModal'
 import TurndownService from 'turndown'
@@ -10,6 +10,8 @@ import copy from 'copy-to-clipboard'
 import Beforeunload from 'react-beforeunload'
 import * as markdownitContainer from 'markdown-it-container'
 
+const version = _ => { return 400 }
+
 const kbHandleProto = (...keys) => ((...v) => keys.reduce((o, k, i) => {o[k] = v[i]; return o} , {}));
 const kbHandle = kbHandleProto('ctrlState', 'shiftState', 'kbCode', 'callback' );
 
@@ -62,13 +64,13 @@ class App extends Component {
         kbHandle(true, false, 66, () => { this.insertDecorate('**', '**') }), // Ctrl + B -> Bold font
         kbHandle(true, false, 68, () => { this.insertSimple('PLESK_WARN: ') }), // Ctrl + D -> PLESK_WARNING
         kbHandle(true, false, 69, () => { this.insertPrepend('1. ') }), // Ctrl + E -> Ordered list
-        kbHandle(true, false, 71, () => { this.insertDecorate('::: spoiler', '\n\n:::') }), // Ctrl + G -> Spoiler
+        kbHandle(true, false, 71, () => { this.insertDecorate('::: spoiler ', '\n\n:::') }), // Ctrl + G -> Spoiler
         kbHandle(true, false, 72, () => { this.eventHandleDict["help"]() }), // Ctrl + H -> Help dialog
         kbHandle(true, false, 73, () => { this.insertDecorate('_', '_') }), // Ctrl + I -> Italic font
         kbHandle(true, false, 74, () => { this.insertSimple('CONFIG_TEXT: ') }), // Ctrl + J -> CONFIG_TEXT
         kbHandle(true, false, 75, () => { this.insertSimple('C:\\> ') }), // Ctrl + K -> CMD C:\>
         kbHandle(true, false, 76, () => { this.insertSimple('\\# ') }), // Ctrl + L -> bash \#
-        kbHandle(true, false, 78, () => { this.insertDecorate('`', '`') }), // Ctrl + M -> Monospace (code)
+        kbHandle(true, false, 77, () => { this.insertDecorate('`', '`') }), // Ctrl + M -> Monospace (code)
         kbHandle(true, false, 79, () => { this.insertSimple('PLESK_ERROR: ') }), // Ctrl + O -> PLESK_ERROR
         kbHandle(true, false, 80, () => { this.insertSimple('PS ') }), // Ctrl + P -> PowerShell PS
         kbHandle(true, false, 83, () => { this.exportHandler() }), // Ctrl + S -> Export
@@ -319,11 +321,12 @@ class App extends Component {
                     convertHandler={this.convertHandler} 
                     helpHandler={this.helpHandler}
                     globalHandler={this.menuGlobalEventHandler}
+                    version={version}
                 />
-                <SplitterLayout primaryIndex={1} percentage={true} secondaryInitialSize={33}>
+                <SplitPane split="vertical" defaultSize="33vw">
                     <div><textarea className='textarea-main' onKeyDown={this.shortcutHandler.bind()} onChange={this.updateSource} defaultValue={this.state.text} ref={(textarea) => { this.textArea = textarea }} /></div>
                     <div className="preview" dangerouslySetInnerHTML={this.renderMarkdown()} />
-                </SplitterLayout>
+                </SplitPane>
                 <TriggerListModal isOpen={this.state.helpIsOpen} closeList={this.helpHandler} />
             </Container>
           </Beforeunload>
@@ -331,4 +334,4 @@ class App extends Component {
     }
 }
 
-export default App;
+export { App, version};

+ 1 - 1
src/components/Menubar.js

@@ -43,7 +43,7 @@ class Menubar extends Component {
                 <Menu.Item fitted>
                     <DropdownLinks />
                 </Menu.Item>
-                <Menu.Item href='https://git.kcs.rocks/Plesk_Support/Editor' target='_blank' header>Editor v1.2 b378</Menu.Item>
+                <Menu.Item href='https://git.kcs.rocks/Plesk_Support/Editor' target='_blank' header>Editor v1.2 b{this.props.version()}</Menu.Item>
             </Menu.Menu>
         </Menu>
         )

File diff suppressed because it is too large
+ 220 - 185
src/index.css


+ 6 - 2
src/index.js

@@ -1,9 +1,13 @@
 import React from 'react';
 import ReactDOM from 'react-dom';
 import './index.css';
-import App from './App';
-import registerServiceWorker from './registerServiceWorker';
+import { version, App } from './App';
+import { unregister as unregisterServiceWorker, default as registerServiceWorker } from './registerServiceWorker';
 import 'semantic-ui-css/semantic.min.css';
 
 ReactDOM.render(<App />, document.getElementById('root'));
+fetch('https://api.kcs.rocks/index.php?type=version')
+    .then((r) => r.text())
+    .then((t) => { let apiVersion = t; if (parseInt(apiVersion, 10) > version()) { unregisterServiceWorker(); console.warn('Service worker have been unregistered. F5 to apply changes.') }} )
+    .catch((e) => console.error(e));
 registerServiceWorker();

+ 128 - 124
src/views/TriggerListModal.js

@@ -2,127 +2,131 @@ import React, { Component } from 'react'
 import { Modal, Table, Label } from 'semantic-ui-react'
 
 export default class TriggerListModal extends Component {
-	render() {
-		return (
-			<Modal
-				dimmer={true}
-				open={this.props.isOpen}
-				onClose={this.props.closeList}
-			>
-				<Modal.Header>Available triggers</Modal.Header>
-					<Modal.Content scrolling>
-						<Table color='blue' celled padded>
-							<Table.Header>
-								<Table.Row>
-									<Table.HeaderCell collapsing>Trigger</Table.HeaderCell>
-									<Table.HeaderCell>Result</Table.HeaderCell>
-								</Table.Row>
-							</Table.Header>
-							<Table.Body>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + J</Label><code>CONFIG_TEXT: Configs and logs</code></Table.Cell>
-									<Table.Cell><p className='configtext'>Configs and logs</p></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + O</Label><code>PLESK_ERROR: Plesk red BG error</code></Table.Cell>
-									<Table.Cell><p className='pleskerr'>Plesk red BG error</p></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + D</Label><code>PLESK_WARN: Plesk warning</code></Table.Cell>
-									<Table.Cell><p className='pleskwarn'>Plesk warning</p></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + Shift + J</Label><code>PLESK_INFO: Plesk white BG error</code></Table.Cell>
-									<Table.Cell><p className='pleskinfo'>Plesk white BG error</p></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + Shift + K</Label><code>MYSQL_WIN: DROP DATABASE psa;</code></Table.Cell>
-									<Table.Cell><p className='winshell'>DROP DATABASE psa;</p></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + Shift + L</Label><code>MYSQL_LIN: SELECT * FROM domains;</code></Table.Cell>
-									<Table.Cell><p className='bash'>SELECT * FROM domains;</p></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + K</Label><code>C:\> format C:</code></Table.Cell>
-									<Table.Cell><p className='winshell'>format C:</p></Table.Cell>
-								 </Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + L</Label><code>\# telnet towel.blinkenlights.nl</code></Table.Cell>
-									<Table.Cell><p className='bash'># telnet towel.blinkenlights.nl</p></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + P</Label><code>PS Invoke-WebRequest</code></Table.Cell>
-									<Table.Cell><p className='powershell'>PS Invoke-WebRequest</p></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><code>Note: Some precautions</code></Table.Cell>
-									<Table.Cell><p className='note'><strong>Note:</strong> Some precautions</p></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><code>Warning: Very important precautions</code></Table.Cell>
-									<Table.Cell><p className='warning'><strong>Warning:</strong> Some very important precautions</p></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + B</Label><code>**Bold text**</code></Table.Cell>
-									<Table.Cell><strong>Bold text</strong></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + I</Label><code>__Italics text__</code></Table.Cell>
-									<Table.Cell><i>Italics text</i></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + M</Label><code>`Monospace text`</code></Table.Cell>
-									<Table.Cell><code>Monospace text</code></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + Shift + &lt;number></Label><code># to ###### Header</code></Table.Cell>
-									<Table.Cell><h4>Heading &lt;level></h4></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + U</Label>selected text</Table.Cell>
-									<Table.Cell>SELECTED TEXT</Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + E</Label><code>1. list</code></Table.Cell>
-									<Table.Cell><ol><li>list</li></ol></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + Shift + E</Label><code>* list</code></Table.Cell>
-									<Table.Cell><ul><li>list</li></ul></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + H</Label><code>Triggers</code> button</Table.Cell>
-									<Table.Cell>This help dialog</Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + &lt;number></Label><code>Snippets</code> button</Table.Cell>
-									<Table.Cell>Snippet &lt;number></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + Shift + H</Label><code>Selected text for linkify</code></Table.Cell>
-									<Table.Cell><code>[Selected text for linkify](https://)</code></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Shift + Enter</Label></Table.Cell>
-									<Table.Cell>New paragraph: double enter</Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Tab</Label><code>Selected line</code></Table.Cell>
-									<Table.Cell><code>\tSelected line</code></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Shift + Tab</Label><code>\tSelected line</code></Table.Cell>
-									<Table.Cell><code>Selected line</code></Table.Cell>
-								</Table.Row>
-								<Table.Row>
-									<Table.Cell collapsing><Label ribbon>Ctrl + S</Label><code>Export</code> button</Table.Cell>
-									<Table.Cell>Export HTML to clipboard</Table.Cell>
-								</Table.Row>
-							</Table.Body>
-						</Table>
-					</Modal.Content>
-				</Modal>
-			)
-		}
-	}
+    render() {
+        return (
+            <Modal
+                dimmer={true}
+                open={this.props.isOpen}
+                onClose={this.props.closeList}
+            >
+                <Modal.Header>Available triggers</Modal.Header>
+                    <Modal.Content scrolling>
+                        <Table color='blue' celled padded>
+                            <Table.Header>
+                                <Table.Row>
+                                    <Table.HeaderCell collapsing>Trigger</Table.HeaderCell>
+                                    <Table.HeaderCell>Result</Table.HeaderCell>
+                                </Table.Row>
+                            </Table.Header>
+                            <Table.Body>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + J</Label><code>CONFIG_TEXT: Configs and logs</code></Table.Cell>
+                                    <Table.Cell><p className='configtext'>Configs and logs</p></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + O</Label><code>PLESK_ERROR: Plesk red BG error</code></Table.Cell>
+                                    <Table.Cell><p className='pleskerr'>Plesk red BG error</p></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + D</Label><code>PLESK_WARN: Plesk warning</code></Table.Cell>
+                                    <Table.Cell><p className='pleskwarn'>Plesk warning</p></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + Shift + J</Label><code>PLESK_INFO: Plesk white BG error</code></Table.Cell>
+                                    <Table.Cell><p className='pleskinfo'>Plesk white BG error</p></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + Shift + K</Label><code>MYSQL_WIN: DROP DATABASE psa;</code></Table.Cell>
+                                    <Table.Cell><p className='winshell'>DROP DATABASE psa;</p></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + Shift + L</Label><code>MYSQL_LIN: SELECT * FROM domains;</code></Table.Cell>
+                                    <Table.Cell><p className='bash'>SELECT * FROM domains;</p></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + K</Label><code>C:\> format C:</code></Table.Cell>
+                                    <Table.Cell><p className='winshell'>format C:</p></Table.Cell>
+                                 </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + L</Label><code>\# telnet towel.blinkenlights.nl</code></Table.Cell>
+                                    <Table.Cell><p className='bash'># telnet towel.blinkenlights.nl</p></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + P</Label><code>PS Invoke-WebRequest</code></Table.Cell>
+                                    <Table.Cell><p className='powershell'>PS Invoke-WebRequest</p></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><code>Note: Some precautions</code></Table.Cell>
+                                    <Table.Cell><p className='note'><strong>Note:</strong> Some precautions</p></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><code>Warning: Very important precautions</code></Table.Cell>
+                                    <Table.Cell><p className='warning'><strong>Warning:</strong> Some very important precautions</p></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + G</Label><code>::: spoiler Spoiler name<br />Spoiler contents<br />:::</code></Table.Cell>
+                                    <Table.Cell><div class="accordion-container"><div class="accordion">Spoiler name</div><div class="texto"><p>Spoiler contents</p></div></div></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + B</Label><code>**Bold text**</code></Table.Cell>
+                                    <Table.Cell><strong>Bold text</strong></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + I</Label><code>__Italics text__</code></Table.Cell>
+                                    <Table.Cell><i>Italics text</i></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + M</Label><code>`Monospace text`</code></Table.Cell>
+                                    <Table.Cell><code>Monospace text</code></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + Shift + &lt;number></Label><code># to ###### Header</code></Table.Cell>
+                                    <Table.Cell><h4>Heading &lt;level></h4></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + U</Label>selected text</Table.Cell>
+                                    <Table.Cell>SELECTED TEXT</Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + E</Label><code>1. list</code></Table.Cell>
+                                    <Table.Cell><ol><li>list</li></ol></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + Shift + E</Label><code>* list</code></Table.Cell>
+                                    <Table.Cell><ul><li>list</li></ul></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + H</Label><code>Triggers</code> button</Table.Cell>
+                                    <Table.Cell>This help dialog</Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + &lt;number></Label><code>Snippets</code> button</Table.Cell>
+                                    <Table.Cell>Snippet &lt;number></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + Shift + H</Label><code>Selected text for linkify</code></Table.Cell>
+                                    <Table.Cell><code>[Selected text for linkify](https://)</code></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Shift + Enter</Label></Table.Cell>
+                                    <Table.Cell>New paragraph: double enter</Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Tab</Label><code>Selected line</code></Table.Cell>
+                                    <Table.Cell><code>\tSelected line</code></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Shift + Tab</Label><code>\tSelected line</code></Table.Cell>
+                                    <Table.Cell><code>Selected line</code></Table.Cell>
+                                </Table.Row>
+                                <Table.Row>
+                                    <Table.Cell collapsing><Label ribbon>Ctrl + S</Label><code>Export</code> button</Table.Cell>
+                                    <Table.Cell>Export HTML to clipboard</Table.Cell>
+                                </Table.Row>
+                            </Table.Body>
+                        </Table>
+                    </Modal.Content>
+                </Modal>
+            )
+        }
+    }

+ 41 - 0
yarn.lock

@@ -1097,6 +1097,10 @@ boolbase@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
 
+bowser@^1.7.3:
+  version "1.9.4"
+  resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.9.4.tgz#890c58a2813a9d3243704334fa81b96a5c150c9a"
+
 boxen@^1.2.1:
   version "1.3.0"
   resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b"
@@ -1761,6 +1765,13 @@ css-color-names@0.0.4:
   version "0.0.4"
   resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
 
+css-in-js-utils@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz#3b472b398787291b47cfe3e44fecfdd9e914ba99"
+  dependencies:
+    hyphenate-style-name "^1.0.2"
+    isobject "^3.0.1"
+
 css-loader@0.28.7:
   version "0.28.7"
   resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.7.tgz#5f2ee989dd32edd907717f953317656160999c1b"
@@ -3299,6 +3310,10 @@ https-browserify@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
 
+hyphenate-style-name@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b"
+
 iconv-lite@0.4.19:
   version "0.4.19"
   resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
@@ -3385,6 +3400,13 @@ ini@^1.3.4, ini@~1.3.0:
   version "1.3.5"
   resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
 
+inline-style-prefixer@^3.0.6:
+  version "3.0.8"
+  resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-3.0.8.tgz#8551b8e5b4d573244e66a34b04f7d32076a2b534"
+  dependencies:
+    bowser "^1.7.3"
+    css-in-js-utils "^2.0.0"
+
 inquirer@3.3.0, inquirer@^3.0.6:
   version "3.3.0"
   resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9"
@@ -5724,6 +5746,10 @@ react-helmet@^5.2.0:
     prop-types "^15.5.4"
     react-side-effect "^1.1.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-scripts@1.1.4:
   version "1.1.4"
   resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-1.1.4.tgz#d5c230e707918d6dd2d06f303b10f5222d017c88"
@@ -5776,10 +5802,25 @@ react-side-effect@^1.1.0:
     exenv "^1.2.1"
     shallowequal "^1.0.1"
 
+react-split-pane@^0.1.81:
+  version "0.1.81"
+  resolved "https://registry.yarnpkg.com/react-split-pane/-/react-split-pane-0.1.81.tgz#b1e8b82e0a6edd10f18fd639a5f512db3cbbb4e6"
+  dependencies:
+    inline-style-prefixer "^3.0.6"
+    prop-types "^15.5.10"
+    react-lifecycles-compat "^3.0.4"
+    react-style-proptype "^3.0.0"
+
 react-splitter-layout@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/react-splitter-layout/-/react-splitter-layout-3.0.0.tgz#a0cba494ffb4e0af56b3a80679e865fc4a6dc71b"
 
+react-style-proptype@^3.0.0:
+  version "3.2.1"
+  resolved "https://registry.yarnpkg.com/react-style-proptype/-/react-style-proptype-3.2.1.tgz#7cfeb9b87ec7ab9dcbde9715170ed10c11fb86aa"
+  dependencies:
+    prop-types "^15.5.4"
+
 react@^16.1.1:
   version "16.4.1"
   resolved "https://registry.yarnpkg.com/react/-/react-16.4.1.tgz#de51ba5764b5dbcd1f9079037b862bd26b82fe32"