refactor(bundle): create separate plugins bundle closes #15
This commit is contained in:
4
dist/ReactFlow.min.js
vendored
4
dist/ReactFlow.min.js
vendored
File diff suppressed because one or more lines are too long
2
dist/ReactFlow.min.js.map
vendored
2
dist/ReactFlow.min.js.map
vendored
File diff suppressed because one or more lines are too long
189
dist/plugins/index.css
vendored
Normal file
189
dist/plugins/index.css
vendored
Normal file
@@ -0,0 +1,189 @@
|
||||
.react-flow {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.react-flow__renderer {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.react-flow__zoompane {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.react-flow__selectionpane {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.react-flow__selection {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background: rgba(0, 89, 220, 0.08);
|
||||
border: 1px dotted rgba(0, 89, 220, 0.8);
|
||||
}
|
||||
|
||||
.react-flow__edges {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
pointer-events: none;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.react-flow__edge {
|
||||
fill: none;
|
||||
stroke: #bbb;
|
||||
stroke-width: 2;
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
.react-flow__edge.selected {
|
||||
stroke: #555;
|
||||
}
|
||||
|
||||
.react-flow__edge.animated {
|
||||
stroke-dasharray: 5;
|
||||
-webkit-animation: dashdraw 0.5s linear infinite;
|
||||
animation: dashdraw 0.5s linear infinite;
|
||||
}
|
||||
|
||||
.react-flow__edge.connection {
|
||||
stroke: '#ddd';
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
@-webkit-keyframes dashdraw {
|
||||
from {stroke-dashoffset: 10}
|
||||
}
|
||||
|
||||
@keyframes dashdraw {
|
||||
from {stroke-dashoffset: 10}
|
||||
}
|
||||
|
||||
.react-flow__nodes {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
z-index: 3;
|
||||
pointer-events: none;
|
||||
transform-origin: 0 0;
|
||||
}
|
||||
|
||||
.react-flow__node {
|
||||
position: absolute;
|
||||
color: #222;
|
||||
font-family: sans-serif;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
cursor: -webkit-grab;
|
||||
cursor: grab;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
pointer-events: all;
|
||||
transform-origin: 0 0;
|
||||
}
|
||||
|
||||
.react-flow__node:hover > * {
|
||||
box-shadow: 0 1px 5px 2px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.react-flow__node.selected > * {
|
||||
box-shadow: 0 0 0 2px #555;
|
||||
}
|
||||
|
||||
.react-flow__handle {
|
||||
position: absolute;
|
||||
width: 10px;
|
||||
height: 8px;
|
||||
background: rgba(255, 255, 255, 0.4);
|
||||
cursor: crosshair;
|
||||
}
|
||||
|
||||
.react-flow__handle.bottom {
|
||||
top: auto;
|
||||
left: 50%;
|
||||
bottom: 0;
|
||||
transform: translate(-50%, 0);
|
||||
}
|
||||
|
||||
.react-flow__handle.top {
|
||||
left: 50%;
|
||||
top: 0;
|
||||
transform: translate(-50%, 0);
|
||||
}
|
||||
|
||||
.react-flow__handle.left {
|
||||
top: 50%;
|
||||
left: 0;
|
||||
transform: translate(0, -50%);
|
||||
|
||||
}
|
||||
|
||||
.react-flow__handle.right {
|
||||
right: 0;
|
||||
top: 50%;
|
||||
transform: translate(0, -50%);
|
||||
}
|
||||
|
||||
.react-flow__nodesselection {
|
||||
z-index: 3;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
transform-origin: left top;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.react-flow__nodesselection-rect {
|
||||
position: absolute;
|
||||
background: rgba(0, 89, 220, 0.08);
|
||||
border: 1px dotted rgba(0, 89, 220, 0.8);
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
.react-flow__controls {
|
||||
box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.react-flow__controls-button {
|
||||
background: #fefefe;
|
||||
border-bottom: 1px solid #eee;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
cursor: pointer;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.react-flow__controls-button img {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.react-flow__controls-button:hover {
|
||||
background: #f4f4f4;
|
||||
}
|
||||
8
dist/plugins/index.js
vendored
Normal file
8
dist/plugins/index.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/plugins/index.js.map
vendored
Normal file
1
dist/plugins/index.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -1,6 +1,7 @@
|
||||
import React, { PureComponent } from 'react';
|
||||
|
||||
import Graph, { isEdge, removeElements, addEdge, getOutgoers, MiniMap, Controls } from '../../../src';
|
||||
import Graph, { isEdge, removeElements, addEdge, getOutgoers } from '../../../src';
|
||||
import { MiniMap, Controls } from '../../../src/plugins';
|
||||
|
||||
import SpecialNode from './SpecialNode';
|
||||
import InputNode from './InputNode';
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"name": "react-flow",
|
||||
"version": "1.0.0",
|
||||
"module": "dist/ReactFlow.esm.js",
|
||||
"browser": "dist/ReactFlow.min.js",
|
||||
"main": "dist/ReactFlow.min.js",
|
||||
"private": true,
|
||||
|
||||
@@ -10,15 +10,33 @@ import svg from 'rollup-plugin-svg';
|
||||
import pkg from './package.json';
|
||||
|
||||
const isProd = process.env.NODE_ENV === 'production';
|
||||
const external = ['react', 'react-dom', 'prop-types'];
|
||||
const onwarn = (warning, rollupWarn) => {
|
||||
if (warning.code !== 'CIRCULAR_DEPENDENCY') {
|
||||
rollupWarn(warning);
|
||||
}
|
||||
};
|
||||
const plugins = [
|
||||
bundleSize(),
|
||||
postcss({
|
||||
extract: isProd
|
||||
}),
|
||||
resolve(),
|
||||
babel({
|
||||
exclude: 'node_modules/**'
|
||||
}),
|
||||
commonjs({
|
||||
include: /node_modules/
|
||||
}),
|
||||
svg(),
|
||||
visualizer(),
|
||||
isProd && terser()
|
||||
];
|
||||
|
||||
export default [{
|
||||
input: 'src/index.js',
|
||||
external: ['react', 'react-dom', 'prop-types'],
|
||||
onwarn(warning, rollupWarn) {
|
||||
if (warning.code !== 'CIRCULAR_DEPENDENCY') {
|
||||
rollupWarn(warning);
|
||||
}
|
||||
},
|
||||
external: external,
|
||||
onwarn,
|
||||
output: {
|
||||
name: 'ReactFlow',
|
||||
file: pkg.browser,
|
||||
@@ -30,20 +48,21 @@ export default [{
|
||||
'prop-types': 'PropTypes'
|
||||
}
|
||||
},
|
||||
plugins: [
|
||||
bundleSize(),
|
||||
postcss({
|
||||
extract: isProd
|
||||
}),
|
||||
resolve(),
|
||||
babel({
|
||||
exclude: 'node_modules/**'
|
||||
}),
|
||||
commonjs({
|
||||
include: /node_modules/
|
||||
}),
|
||||
svg(),
|
||||
visualizer(),
|
||||
isProd && terser()
|
||||
]}
|
||||
];
|
||||
plugins
|
||||
}, {
|
||||
input: 'src/plugins/index.js',
|
||||
external: external,
|
||||
onwarn,
|
||||
output: {
|
||||
name: 'ReactFlow Plugins',
|
||||
file: 'dist/plugins/index.js',
|
||||
format: 'umd',
|
||||
sourcemap: isProd,
|
||||
globals: {
|
||||
react: 'React',
|
||||
'react-dom': 'ReactDOM',
|
||||
'prop-types': 'PropTypes'
|
||||
}
|
||||
},
|
||||
plugins
|
||||
}];
|
||||
|
||||
@@ -3,7 +3,6 @@ import ReactFlow from './container/ReactFlow';
|
||||
export default ReactFlow;
|
||||
|
||||
export { default as Handle } from './components/Handle';
|
||||
export { MiniMap, Controls } from './plugins';
|
||||
|
||||
export {
|
||||
isNode,
|
||||
|
||||
@@ -182,14 +182,3 @@ export const zoomOut = () => {
|
||||
const state = store.getState();
|
||||
state.d3Zoom.scaleTo(state.d3Selection, state.transform[2] - 0.2);
|
||||
};
|
||||
|
||||
export default {
|
||||
isEdge,
|
||||
getBoundingBox,
|
||||
graphPosToZoomedPos,
|
||||
getConnectedEdges,
|
||||
parseElement,
|
||||
fitView,
|
||||
zoomIn,
|
||||
zoomOut
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user