├── src
├── types
│ ├── types.d.ts
│ └── draw2d.d.ts
├── ui
│ ├── i18n
│ │ ├── i18n-loader.ts
│ │ ├── en_us.json
│ │ └── fr_fr.json
│ ├── ui.html
│ └── css.styl
├── emulator
│ ├── compiler.ts
│ ├── micro-task-scheduler.ts
│ ├── emulator-manager.ts
│ └── avr-runner.ts
├── utils
│ └── dom.ts
├── editor
│ ├── coordinate-port-locator.ts
│ ├── connections-policies.ts
│ ├── editor.ts
│ ├── canvas.ts
│ └── component-figure.ts
├── main.ts
└── panels
│ ├── catalog.ts
│ └── component.ts
├── web
├── assets
│ └── icon.png
├── css
│ └── main.styl
├── index.html
└── index.ts
├── dist
├── web
│ ├── assets
│ │ └── icon.png
│ ├── 10fa3306660fb60c33fd.png
│ └── index.html
└── src
│ └── bundle.js.LICENSE.txt
├── .babelrc
├── index.html
├── tsconfig.json
├── README.md
├── LICENSE
├── webpack.config.js
├── webpack.config.web.js
└── package.json
/src/types/types.d.ts:
--------------------------------------------------------------------------------
1 | declare module "draw2d";
--------------------------------------------------------------------------------
/web/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ClementGre/HackCable/HEAD/web/assets/icon.png
--------------------------------------------------------------------------------
/dist/web/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ClementGre/HackCable/HEAD/dist/web/assets/icon.png
--------------------------------------------------------------------------------
/dist/web/10fa3306660fb60c33fd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ClementGre/HackCable/HEAD/dist/web/10fa3306660fb60c33fd.png
--------------------------------------------------------------------------------
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | "@babel/preset-env",
4 | "@babel/typescript"
5 | ],
6 | "plugins": [
7 | "@babel/proposal-class-properties",
8 | "@babel/proposal-object-rest-spread"
9 | ]
10 | }
--------------------------------------------------------------------------------
/src/ui/i18n/i18n-loader.ts:
--------------------------------------------------------------------------------
1 | import i18next from "i18next";
2 |
3 | export function loadTranslations(){
4 | i18next.addResourceBundle('fr_fr', 'common', require('./fr_fr.json'));
5 | i18next.addResourceBundle('en_us', 'common', require('./en_us.json'));
6 | }
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Redirecting...
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/ui/i18n/en_us.json:
--------------------------------------------------------------------------------
1 | {
2 | "wokwiComponents.arduinoUno.description": "Arduino Uno Card",
3 | "wokwiComponents.led.description": "Light-Emitting Diode",
4 | "wokwiComponents.rgbLed.description": "Light-Emitting Diode with a controllable color",
5 | "wokwiComponents.ledBar.description": "Bar composed of 10 Light-Emitting Diode"
6 | }
--------------------------------------------------------------------------------
/src/ui/i18n/fr_fr.json:
--------------------------------------------------------------------------------
1 | {
2 | "wokwiComponents.arduinoUno.description": "Carte Arduino Uno",
3 | "wokwiComponents.led.description": "Diode Électroluminescente",
4 | "wokwiComponents.rgbLed.description": "Diode Électroluminescente de couleur contrôllable",
5 | "wokwiComponents.ledBar.description": "Barre de 10 Diodes Électroluminescentes"
6 | }
--------------------------------------------------------------------------------
/src/emulator/compiler.ts:
--------------------------------------------------------------------------------
1 | export interface CompileResult {
2 | stdout: string;
3 | stderr: string;
4 | hex: string;
5 | }
6 |
7 | export async function compileToHex(source: string) {
8 | const resp = await fetch('https://hexi.wokwi.com/build', {
9 | method: 'POST',
10 | mode: 'cors',
11 | cache: 'no-cache',
12 | headers: {
13 | 'Content-Type': 'application/json'
14 | },
15 | body: JSON.stringify({ sketch: source })
16 | });
17 | return (await resp.json()) as CompileResult;
18 | }
--------------------------------------------------------------------------------
/src/utils/dom.ts:
--------------------------------------------------------------------------------
1 | export function css(element: HTMLElement, style: any) {
2 |
3 | Object.keys(style).forEach((key: any) => {
4 | if (key in element.style) {
5 | if (typeof style[key] == 'number')
6 | element.style[key] = style[key] + 'px';
7 | else element.style[key] = style[key];
8 | }
9 | });
10 | }
11 | export function unitToPx(value: string): number{
12 | if(value.endsWith('mm')){
13 | return parseInt(value.replace('mm', ''), 10) * 3.8
14 | }else{
15 | return parseInt(value.replace('mm', ''), 10)
16 | }
17 | }
--------------------------------------------------------------------------------
/src/editor/coordinate-port-locator.ts:
--------------------------------------------------------------------------------
1 | import draw2d from "draw2d";
2 |
3 | export class CoordinatePortLocator extends draw2d.layout.locator.PortLocator{
4 |
5 | public readonly portId: string;
6 | private readonly x: number;
7 | private readonly y: number;
8 | constructor(portId: string, x: number, y: number){
9 | super();
10 | this.portId = portId;
11 | this.x = x;
12 | this.y = y;
13 | }
14 | public relocate(index: any, figure: any){
15 | super.relocate(index, figure)
16 | this.applyConsiderRotation(figure, this.x, this.y);
17 | }
18 |
19 |
20 | }
--------------------------------------------------------------------------------
/src/ui/ui.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
16 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "allowSyntheticDefaultImports": true,
4 | "noFallthroughCasesInSwitch": true,
5 | "noUnusedParameters": true,
6 | "noImplicitReturns": true,
7 | "esModuleInterop": true,
8 | "noUnusedLocals": true,
9 | "noImplicitAny": true,
10 | "declarationDir": "dist/types",
11 | "declaration": true,
12 | "target": "es2015",
13 | "module": "es2015",
14 | "strict": true,
15 | "moduleResolution": "Node",
16 | "typeRoots": ["./node_modules/@types", "./src/types", "./node_modules/draw2d-types"]
17 | },
18 | "include": [
19 | "src/**/*",
20 | "web/**/*",
21 | "node_modules/draw2d-types/draw2d.d.ts"
22 | ],
23 | "exclude": [
24 | "node_modules",
25 | "dist"
26 | ],
27 |
28 | }
--------------------------------------------------------------------------------
/dist/web/index.html:
--------------------------------------------------------------------------------
1 | HackCable
--------------------------------------------------------------------------------
/src/emulator/micro-task-scheduler.ts:
--------------------------------------------------------------------------------
1 | export type IMicroTaskCallback = () => void;
2 |
3 | export class MicroTaskScheduler {
4 | private readonly channel = new MessageChannel();
5 | private executionQueue: Array = [];
6 | private _stopped = true;
7 |
8 | start() {
9 | if (this._stopped) {
10 | this._stopped = false;
11 | this.channel.port2.onmessage = this.handleMessage;
12 | }
13 | }
14 |
15 | stop() {
16 | this._stopped = true;
17 | this.executionQueue.splice(0, this.executionQueue.length);
18 | this.channel.port2.onmessage = null;
19 | }
20 |
21 | get stopped(){
22 | return this._stopped;
23 | }
24 |
25 |
26 | postTask(fn: IMicroTaskCallback) {
27 | if (!this._stopped) {
28 | this.executionQueue.push(fn);
29 | this.channel.port1.postMessage(null);
30 | }
31 | }
32 |
33 | private handleMessage = () => {
34 | const executeJob = this.executionQueue.shift();
35 | if (executeJob !== undefined) {
36 | executeJob();
37 | }
38 | };
39 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # HackCable
2 | Arduino and ESP32 simulator (Wire components + emulate code)
3 | Test the library here [https://clementgre.github.io/HackCable/](https://clementgre.github.io/HackCable/)
4 |
5 | ## Goals
6 |
7 | - Offer a graphical interface to wire electronic component to board.
8 | - Using [Wokwi Elements](https://github.com/wokwi/wokwi-elements) for components definition/display
9 | - and [Wokwi Boards](https://github.com/wokwi/wokwi-boards) for ESP32 board definition/display.
10 | - Using [Draw2D](http://www.draw2d.org) for the wiring system.
11 | - Allow emulating code on these boards
12 | - Using [AVR8JS](https://github.com/wokwi/avr8js) for emulating the code on Arduino.
13 |
14 | ### Project structure
15 |
16 | HackCable is coded in TypeScript, using Webpack + Babel.
17 |
18 | The code is using only one npm configuration, but there is two webpack configuration files, and two main folders:
19 | - ``src`` is the code of the library itself
20 | - ``web`` is the website that allow to test the library, and to make an example of use. The ``:web`` tasks allow to use this part of the code, associated with the webpack config : ``webpack.config.web.js``.
21 |
22 | # Tasks
23 |
24 | TypeScript Type checking and generating
25 |
26 | ``type-check``
27 |
28 | ``type-check:watch``
29 |
30 | ``build:types``
31 |
32 | Build the library itself
33 |
34 | ``build:src``
35 |
36 | Build or start the live server of the web page that use the library
37 |
38 | ``build:web``
39 |
40 | ``serve:web``
--------------------------------------------------------------------------------
/web/css/main.styl:
--------------------------------------------------------------------------------
1 | p, h1, h2, h3, h4, select, label
2 | font-family Rubik
3 | color white
4 |
5 | html
6 | min-height 100vh
7 |
8 | body
9 | margin 0
10 | padding 0
11 | min-height 100vh
12 | position relative
13 |
14 | header
15 | position absolute
16 | top 40
17 | height 40px
18 | width 100%
19 | background-color #30343F
20 | border-bottom 1px solid black
21 |
22 |
23 | main
24 | box-sizing: border-box
25 | padding-top 40px;
26 | padding-bottom 20px;
27 | height 100vh
28 | overflow hidden
29 | display flex
30 |
31 | .sideBar
32 | background-color #30343F
33 | max-width 500px
34 | min-width 40%
35 | height 100%
36 | border-right 1px solid black
37 | padding 10px
38 | flex-direction column
39 | overflow scroll
40 |
41 | .buttonBar
42 | display flex
43 | flex-direction row
44 | margin-bottom 10px
45 | gap 10px
46 | flex-wrap wrap
47 | line-height 0
48 | button
49 | border none
50 | border-radius 5px
51 | padding 3px 7px
52 | textarea
53 | border none
54 | border-radius 5px
55 | width 100%
56 | resize vertical
57 | min-height 50%
58 |
59 |
60 | footer
61 | position absolute
62 | bottom 0
63 | height 20px
64 | width 100%
65 | background-color #30343F
66 | border-top 1px solid black
67 |
--------------------------------------------------------------------------------
/src/editor/connections-policies.ts:
--------------------------------------------------------------------------------
1 | import draw2d from "draw2d";
2 |
3 | export class VertexClickConnectionPolicy extends draw2d.policy.connection.ClickConnectionCreatePolicy{
4 | createConnection(){
5 | const connection = super.createConnection();
6 | if(connection.getRouter() instanceof draw2d.layout.connection.VertexRouter){
7 | // The vertex order is reversed when using hybrid ports (bug from Draw2D)
8 | connection.setVertices(this.vertices.reverse())
9 | }else{
10 | // When there is only 2 vertices, superclass is using a DirectRouter.
11 | connection.setRouter(new draw2d.layout.connection.VertexRouter());
12 | }
13 | return connection
14 | }
15 | }
16 | class VertexDragConnectionPolicy extends draw2d.policy.connection.DragConnectionCreatePolicy{
17 | createConnection(){
18 | return new draw2d.Connection({router: new draw2d.layout.connection.VertexRouter()})
19 | }
20 | }
21 |
22 | /*let createOrthogonalConnection = function(){
23 | //return new draw2d.Connection({router: new draw2d.layout.connection.CircuitConnectionRouter()});
24 | return new draw2d.Connection({router: new draw2d.layout.connection.InteractiveManhattanConnectionRouter()});
25 | };*/
26 |
27 | export const connectionsPolicy = new draw2d.policy.connection.ComposedConnectionCreatePolicy([
28 | new VertexDragConnectionPolicy(),
29 | new VertexClickConnectionPolicy()
30 | //new draw2d.policy.connection.OrthogonalConnectionCreatePolicy({createConnection: createOrthogonalConnection})
31 | ])
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | BSD 3-Clause License
2 |
3 | Copyright (c) 2021, Clément Grennerat
4 | All rights reserved.
5 |
6 | Redistribution and use in source and binary forms, with or without
7 | modification, are permitted provided that the following conditions are met:
8 |
9 | 1. Redistributions of source code must retain the above copyright notice, this
10 | list of conditions and the following disclaimer.
11 |
12 | 2. Redistributions in binary form must reproduce the above copyright notice,
13 | this list of conditions and the following disclaimer in the documentation
14 | and/or other materials provided with the distribution.
15 |
16 | 3. Neither the name of the copyright holder nor the names of its
17 | contributors may be used to endorse or promote products derived from
18 | this software without specific prior written permission.
19 |
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 |
--------------------------------------------------------------------------------
/web/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | HackCable
6 |
7 |
8 |
9 |
10 |
11 |
12 |
15 |
16 |
41 |
42 |
43 |
44 |
45 |
50 |
51 |
--------------------------------------------------------------------------------
/src/emulator/emulator-manager.ts:
--------------------------------------------------------------------------------
1 | import {AVRRunner} from "./avr-runner";
2 | import {CompileResult, compileToHex} from "./compiler";
3 | import {HackCable} from "../main";
4 |
5 | export class EmulatorManager{
6 |
7 | private readonly hackcable: HackCable;
8 | constructor(hackcable: HackCable) {
9 | this.hackcable = hackcable;
10 | }
11 |
12 | private runner: AVRRunner | undefined;
13 | private loadingRunner: AVRRunner | undefined;
14 |
15 |
16 | static async compileCode(code: string): Promise{
17 | return compileToHex(code);
18 | }
19 | async compileAndLoadCode(code: string): Promise{
20 | const data = await compileToHex(code);
21 | console.log(data)
22 | this.loadCode(data.hex);
23 | return data;
24 | }
25 | loadCode(hexCode: string){
26 | this.loadingRunner = new AVRRunner(hexCode.replace(/\n\n/g, "\n"));
27 | }
28 | run(){
29 | stop();
30 | this.runner = this.loadingRunner;
31 | this.setupHardware();
32 | // Callback called every 500 000 cpu cycles
33 | this.runner?.execute(() => {});
34 | }
35 |
36 |
37 | setPaused(pause: boolean){
38 | if(this.runner) this.runner.pause = pause;
39 | }
40 | isPosed(){
41 | if(this.runner) return this.runner.pause;
42 | return true;
43 | }
44 | stop(){
45 | if(this.runner) this.runner.stop();
46 | }
47 |
48 |
49 | private setupHardware(){
50 | if(!this.runner) throw new Error("Runner mustn't be null!")
51 | this.runner.portD.addListener(() => {
52 | if(this.runner) this.hackcable.portDUpdate(this.runner.portD)
53 | });
54 | }
55 | }
56 |
57 |
--------------------------------------------------------------------------------
/webpack.config.js:
--------------------------------------------------------------------------------
1 | const path = require('path');
2 | const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
3 | const webpack = require('webpack')
4 |
5 | module.exports = {
6 | entry: ["@babel/polyfill", path.resolve(__dirname, 'src') + "/main.ts"],
7 | performance: {
8 | hints: false
9 | },
10 | output: {
11 | filename: 'bundle.js',
12 | path: path.resolve(__dirname, 'dist/src'),
13 | library: "hackcable",
14 | libraryTarget: "umd", // exposes and know when to use module.exports or exports.
15 | clean: true,
16 | },
17 | resolve: {
18 | extensions: ['.ts', '.js', '.json']
19 | },
20 | module: {
21 | rules: [
22 | { // TS loader
23 | test: /\.(js|ts)$/,
24 | exclude: /node_modules/,
25 | use: {
26 | loader: 'babel-loader'
27 | },
28 | },
29 | {
30 | test: /\.html$/i,
31 | loader: "html-loader",
32 | },
33 | {
34 | test: /\.styl$/,
35 | use: [
36 | "style-loader",
37 | "css-loader",
38 | {
39 | loader: "stylus-loader",
40 | options: {
41 | webpackImporter: false,
42 | },
43 | },
44 | ],
45 | },
46 | {
47 | test: /\.css$/i,
48 | use: ["style-loader", "css-loader"]
49 | }
50 | ]
51 | },
52 | plugins: [
53 | new ForkTsCheckerWebpackPlugin(),
54 | new webpack.ProvidePlugin({
55 | Buffer: ['buffer', 'Buffer'],
56 | })
57 | ]
58 |
59 | };
--------------------------------------------------------------------------------
/src/ui/css.styl:
--------------------------------------------------------------------------------
1 |
2 | .hackCable-root
3 | height 100%
4 | width 100%
5 | display flex
6 | flex-wrap nowrap
7 |
8 | p, h1, h2, h3, h4, select
9 | font-family Rubik
10 | color #c9c9c9
11 |
12 | h3
13 | font-weight 400
14 | font-size .9em
15 | text-align center
16 | word-wrap break-word
17 |
18 | .hackCable-sideBar
19 | height 100%
20 | width 250px;
21 | background-color #424B5A
22 | display: flex;
23 | flex-direction column
24 |
25 | .hackCable-catalog-actions
26 | width 100%
27 | background: #30343F
28 | text-align center
29 |
30 | select
31 | margin 5px
32 | padding 3px
33 | width 80%
34 | max-width 150px
35 | background-color #22242c
36 | border-radius 3px
37 | border none
38 | color white
39 |
40 | .hackCable-catalog-list
41 | overflow-y scroll
42 | overflow-x hidden
43 | height 100%
44 | width 100%
45 | padding 5px 5px 0 5px
46 | box-sizing: border-box
47 | scrollbar-width thin
48 |
49 | .hackCable-catalog-element
50 | text-align center
51 | display block
52 | overflow hidden
53 | border-radius 5px
54 | background: #30343F
55 | padding 10px
56 | margin-bottom 5px
57 | h3
58 | margin 0 0 10px 0
59 |
60 | .hackCable-editor
61 | background-color white
62 | width 100%
63 | overflow scroll
64 | scrollbar-width thin
65 | position relative
66 |
67 | #hackCable-canvas
68 | width 1500px
69 | height 1000px
70 | position relative
71 |
72 | .hackCable-canvas-overlay-container
73 | height 100%
74 | width 100%
75 | position absolute
76 | overflow hidden
77 | transform-origin: left top;
78 |
79 | background-color rgba(0, 0, 0, 0)
80 | background-position 0 0, 0 0;
81 | background-repeat repeat, repeat
82 | background-attachment scroll, scroll
83 | background-image linear-gradient(to right, rgb(240, 240, 240) 1px, transparent 1px), linear-gradient(rgb(240, 240, 240) 1px, rgb(255, 255, 255) 1px)
84 | background-clip border-box, border-box
85 | background-size 20px 20px;
86 |
87 | *
88 | position absolute
89 | transform-origin left top
90 |
91 |
92 |
93 |
--------------------------------------------------------------------------------
/src/emulator/avr-runner.ts:
--------------------------------------------------------------------------------
1 | import {
2 | avrInstruction,
3 | AVRTimer,
4 | CPU,
5 | timer0Config,
6 | AVRIOPort,
7 | portBConfig,
8 | portCConfig,
9 | portDConfig, timer1Config, timer2Config, AVRUSART, usart0Config
10 | } from "avr8js";
11 | import {MicroTaskScheduler} from "./micro-task-scheduler";
12 |
13 | // ATmega328p params
14 | const FLASH = 0x8000;
15 |
16 | export class AVRRunner {
17 | readonly program = new Uint16Array(FLASH);
18 | readonly cpu: CPU;
19 | readonly timer0: AVRTimer;
20 | readonly timer1: AVRTimer;
21 | readonly timer2: AVRTimer;
22 | readonly portB: AVRIOPort;
23 | readonly portC: AVRIOPort;
24 | readonly portD: AVRIOPort;
25 | readonly usart: AVRUSART;
26 | readonly speed = 16e6; // 16 MHZ
27 | readonly workUnitCycles = 500000;
28 | readonly taskScheduler = new MicroTaskScheduler();
29 |
30 | constructor(hex: string) {
31 | const { data } = require('intel-hex').parse(hex)
32 | this.program = new Uint16Array(new Uint8Array(data).buffer);
33 | this.cpu = new CPU(this.program);
34 | this.timer0 = new AVRTimer(this.cpu, timer0Config);
35 | this.timer1 = new AVRTimer(this.cpu, timer1Config);
36 | this.timer2 = new AVRTimer(this.cpu, timer2Config);
37 | this.portB = new AVRIOPort(this.cpu, portBConfig);
38 | this.portC = new AVRIOPort(this.cpu, portCConfig);
39 | this.portD = new AVRIOPort(this.cpu, portDConfig);
40 | this.usart = new AVRUSART(this.cpu, usart0Config, this.speed);
41 | this.taskScheduler.start();
42 | }
43 |
44 | execute(callback: (cpu: CPU) => void) {
45 | const cyclesToRun = this.cpu.cycles + this.workUnitCycles;
46 | while(this.cpu.cycles < cyclesToRun) {
47 | avrInstruction(this.cpu);
48 | this.cpu.tick();
49 | }
50 |
51 | callback(this.cpu);
52 | this.taskScheduler.postTask(() => this.execute(callback));
53 | }
54 |
55 | set pause(pause: boolean){
56 | if(pause && !this.pause) this.taskScheduler.stop();
57 | else if(!pause && this.pause){
58 | this.taskScheduler.start();
59 | this.execute(() => {})
60 | }
61 | }
62 | get pause(){
63 | return this.taskScheduler.stopped;
64 | }
65 | stop(){
66 | this.taskScheduler.stop();
67 | }
68 | }
--------------------------------------------------------------------------------
/src/editor/editor.ts:
--------------------------------------------------------------------------------
1 | import {Canvas} from "./canvas";
2 | import {ComponentFigure, FigureData, WiringData} from "./component-figure";
3 | import {wokwiComponentById} from "../panels/component";
4 | import {Port} from "draw2d-types";
5 | import * as draw2d from "draw2d";
6 |
7 | export declare type EditorSaveData = {figures: FigureData[], connections: WiringData[]}
8 |
9 | export class Editor{
10 |
11 | private readonly _canvas;
12 |
13 | constructor() {
14 | this._canvas = new Canvas('hackCable-canvas');
15 | }
16 |
17 | public getEditorSaveData(): EditorSaveData{
18 |
19 | let data: EditorSaveData = {figures: [], connections: []};
20 |
21 | this._canvas.getFigures().data.forEach((figure: any) => {
22 | if(figure instanceof ComponentFigure){
23 | data.figures.push(figure.getFigureData());
24 | data.connections.push(...figure.getWiringData())
25 | }
26 | });
27 | return data;
28 | }
29 | public loadEditorSaveData(data: EditorSaveData){
30 | this._canvas.clear()
31 |
32 | // Create each figures
33 | data.figures.forEach((figureData) => {
34 | let figure = new ComponentFigure(wokwiComponentById[figureData.componentId]);
35 | figure.setId(figureData.figureId) // So the connections can find this figure
36 | this._canvas.add(figure.setX(figureData.x).setY(figureData.y))
37 | })
38 | // Add all connections
39 | data.connections.forEach((connectionData) => {
40 | const sourceFigure: ComponentFigure = this._canvas.getFigure(connectionData.fromFigure)
41 | const targetFigure: ComponentFigure = this._canvas.getFigure(connectionData.targetFigure)
42 | if(sourceFigure && targetFigure){
43 | const sourcePort: Port = sourceFigure.getPortByName(connectionData.fromPortName)
44 | const targetPort: Port = targetFigure.getPortByName(connectionData.targetPortName)
45 | if(sourcePort && targetPort){
46 | let con = new draw2d.Connection();
47 | con.setRouter(new draw2d.layout.connection.VertexRouter());
48 | con.setSource(sourcePort)
49 | con.setTarget(targetPort)
50 | con.setVertices(connectionData.svgPath)
51 | this._canvas.add(con)
52 | }
53 | }
54 | })
55 | }
56 |
57 | get canvas(){
58 | return this._canvas;
59 | }
60 | }
--------------------------------------------------------------------------------
/src/main.ts:
--------------------------------------------------------------------------------
1 | import "./ui/css.styl"
2 | import * as avr8js from 'avr8js';
3 | import '@wokwi/elements';
4 | import {LEDElement} from "@wokwi/elements";
5 | import {Catalog} from "./panels/catalog";
6 | import {EmulatorManager} from "./emulator/emulator-manager";
7 |
8 | export {AVRRunner} from "./emulator/avr-runner";
9 | export {EmulatorManager} from './emulator/emulator-manager';
10 | import * as compiler from './emulator/compiler';
11 | import {Editor} from "./editor/editor";
12 | import i18next, {TFunction} from "i18next";
13 | import {loadTranslations} from "./ui/i18n/i18n-loader";
14 | export type CompileResult = compiler.CompileResult;
15 |
16 | // Draw2D deps
17 | require('webpack-jquery-ui');
18 | require('webpack-jquery-ui/draggable');
19 |
20 | export class HackCable {
21 |
22 | public debug: boolean = process.env.NODE_ENV === "development";
23 | private readonly led: LEDElement | undefined;
24 |
25 | private readonly _emulatorManager: EmulatorManager;
26 | private readonly _catalog: Catalog;
27 | private readonly _editor: Editor;
28 |
29 | constructor(mountDiv: HTMLElement, language = 'en_us'){
30 | console.log("Mounting HackCable...")
31 |
32 | this.loadI18N(language)
33 |
34 | // Load HTML
35 | mountDiv.innerHTML = require('./ui/ui.html').default
36 | mountDiv.classList.add("hackCable-root");
37 |
38 | // Init classes
39 | this._catalog = new Catalog()
40 | this._emulatorManager = new EmulatorManager(this);
41 | this._editor = new Editor();
42 |
43 | console.log(i18next.t('wokwiComponents.arduinoUno.description'))
44 | }
45 |
46 | private loadI18N(language: string) {
47 | i18next.init({
48 | lng: language, // if you're using a language detector, do not define the lng option
49 | fallbackLng: ['fr', 'en'],
50 | defaultNS: 'common',
51 | debug: this.debug,
52 | resources: {}
53 | });
54 | loadTranslations();
55 | }
56 | public changeLanguage(language: string): Promise{
57 | return i18next.changeLanguage(language)
58 | }
59 | public getLanguage() {
60 | return i18next.language;
61 | }
62 |
63 | public get emulatorManager(){
64 | return this._emulatorManager;
65 | }
66 | public get catalog(){
67 | return this._catalog;
68 | }
69 | public get editor(){
70 | return this._editor;
71 | }
72 |
73 | public portDUpdate(portD: avr8js.AVRIOPort) {
74 | if(this.led != undefined) this.led.value = portD.pinState(1) === avr8js.PinState.High;
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/webpack.config.web.js:
--------------------------------------------------------------------------------
1 | const path = require('path');
2 | const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
3 | const HtmlWebpackPlugin = require('html-webpack-plugin');
4 | const CopyWebpackPlugin = require('copy-webpack-plugin');
5 | const webpack = require('webpack')
6 |
7 | module.exports = {
8 | entry: ["@babel/polyfill", path.resolve(__dirname, 'web') + "/index.ts"],
9 | performance: {
10 | hints: false
11 | },
12 | devServer: {
13 | client: {
14 | overlay: true,
15 | },
16 | compress: true,
17 | port: 9000,
18 | },
19 |
20 | output: {
21 | filename: 'bundle.js',
22 | path: path.resolve(__dirname, 'dist/web'),
23 | clean: true
24 | },
25 | resolve: {
26 | extensions: ['.ts', '.js', '.json', '.css'],
27 | fallback: {
28 | buffer: require.resolve('buffer/'),
29 | }
30 | },
31 | module: {
32 | rules: [
33 | { // TS loader
34 | test: /\.(js|ts)$/,
35 | exclude: /node_modules/,
36 | use: {
37 | loader: 'babel-loader'
38 | }
39 | },
40 | {
41 | test: /\.html$/i,
42 | loader: "html-loader",
43 | },
44 | {
45 | test: /\.styl$/,
46 | use: [
47 | "style-loader",
48 | "css-loader",
49 | {
50 | loader: "stylus-loader",
51 | options: {
52 | webpackImporter: false,
53 | },
54 | },
55 | ],
56 | },
57 | { // CSS auto injection
58 | test: /\.css$/i,
59 | use: ["style-loader", "css-loader"]
60 | }
61 | ]
62 | },
63 | plugins: [
64 | new ForkTsCheckerWebpackPlugin(),
65 | new HtmlWebpackPlugin({ // Auto-inject JS into HTML + copy HTML
66 | template: "./web/index.html",
67 | filename: "./index.html"
68 | }),
69 | new CopyWebpackPlugin({ // Copy Assets
70 | patterns: [
71 | {
72 | from: './web/assets',
73 | to: 'assets'
74 | }
75 | ]
76 | }),
77 | new webpack.ProvidePlugin({
78 | Buffer: ['buffer', 'Buffer'],
79 | "$": "jquery",
80 | "jQuery": "jquery",
81 | "window.jQuery": "jquery"
82 | })
83 | ],
84 | }
85 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hackcable",
3 | "version": "0.0.3",
4 | "description": "Arduino and ESP32 simulator (Components wiring + code emulation)",
5 | "main": "dist/bundle.js",
6 | "types": "dist/types/src/main.d.ts",
7 | "scripts": {
8 | "type-check": "tsc --noEmit",
9 | "type-check:watch": "npm run type-check -- --watch",
10 | "build:types": "tsc --emitDeclarationOnly",
11 | "build:src": "webpack --mode=production",
12 | "build:web": "webpack --mode=production --config ./webpack.config.web.js",
13 | "serve:web": "npx webpack serve --mode=development --config ./webpack.config.web.js"
14 | },
15 | "exports": {
16 | ".": "./dist/src/bundle.js"
17 | },
18 | "files": [
19 | "dist"
20 | ],
21 | "repository": {
22 | "type": "git",
23 | "url": "git+https://github.com/ClementGre/HackCable.git"
24 | },
25 | "author": "Clément Grennerat",
26 | "license": "BSD-3-Clause",
27 | "bugs": {
28 | "url": "https://github.com/ClementGre/HackCable/issues"
29 | },
30 | "homepage": "https://github.com/ClementGre/HackCable#readme",
31 | "keywords": [],
32 | "devDependencies": {
33 | "@babel/core": "^7.16.0",
34 | "@babel/plugin-proposal-class-properties": "^7.16.0",
35 | "@babel/plugin-proposal-object-rest-spread": "7.16.0",
36 | "@babel/plugin-transform-runtime": "^7.16.4",
37 | "@babel/polyfill": "^7.12.1",
38 | "@babel/preset-env": "^7.16.0",
39 | "@babel/preset-typescript": "7.16.0",
40 | "@types/jquery": "^3.5.9",
41 | "@types/react": "^17.0.37",
42 | "babel-loader": "^8.2.3",
43 | "buffer": "^6.0.3",
44 | "copy-webpack-plugin": "^10.0.0",
45 | "css-loader": "^6.5.1",
46 | "draw2d-types": "^1.0.3",
47 | "fork-ts-checker-webpack-plugin": "6.4.0",
48 | "html-loader": "^3.0.1",
49 | "html-webpack-plugin": "^5.5.0",
50 | "style-loader": "^3.3.1",
51 | "stylus": "^0.55.0",
52 | "stylus-loader": "^6.2.0",
53 | "typescript": "4.4.4",
54 | "webpack": "5.62.1",
55 | "webpack-cli": "4.9.1",
56 | "webpack-dev-server": "^4.5.0"
57 | },
58 | "dependencies": {
59 | "@wokwi/elements": "^0.54.1",
60 | "avr8js": "^0.18.6",
61 | "canvg": "^3.0.9",
62 | "class": "^0.1.4",
63 | "draw2d": "^1.0.38",
64 | "i18next": "^21.6.3",
65 | "intel-hex": "^0.1.2",
66 | "jquery": "^3.6.0",
67 | "jquery-autosize": "^1.18.18",
68 | "jquery-contextmenu": "^2.9.2",
69 | "jquery-ui": "^1.13.0",
70 | "jquery-ui-touch-punch": "^0.2.3",
71 | "json2": "^0.4.0",
72 | "pathfinding": "^0.4.18",
73 | "raphael": "^2.3.0",
74 | "rgbcolor": "^1.0.1",
75 | "shifty": "^2.16.0",
76 | "webpack-jquery-ui": "^2.0.1"
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/src/panels/catalog.ts:
--------------------------------------------------------------------------------
1 | import {ComponentElement, ComponentType, wokwiComponents} from "./component";
2 |
3 | export class Catalog {
4 |
5 | readonly elements: ComponentElement[] = []
6 | private readonly catalog;
7 | private readonly sorter: HTMLSelectElement | undefined;
8 | constructor() {
9 |
10 | this.elements = wokwiComponents().filter((c) => c.type != ComponentType.CARD).map((c) => {
11 | return new ComponentElement(c);
12 | });
13 |
14 | const root = document.querySelector(".hackCable-catalog-list")
15 | if(root instanceof HTMLDivElement){
16 | this.catalog = root;
17 |
18 | const sorter = document.querySelector(".hackCable-catalog-sorter")
19 | if(sorter instanceof HTMLSelectElement){
20 | this.sorter = sorter;
21 | this.build();
22 | }else console.error("[HackCable] Unable to find element .hackCable-catalog-sorter")
23 | }else console.error("[HackCable] Unable to find element .hackCable-catalog-list")
24 | }
25 |
26 |
27 | build(){
28 |
29 | // Actions
30 | if(this.sorter){
31 | this.sorter.innerHTML = "Tout afficher \n" +
32 | "LED \n" +
33 | "Moteur \n" +
34 | "Émmeteur \n" +
35 | "Bouton \n" +
36 | "Capteur \n" +
37 | "Autre \n";
38 |
39 | this.sorter.addEventListener("change", (e) => {
40 | console.log(e)
41 | this.updateCatalogList()
42 | })
43 | }
44 | this.updateCatalogList()
45 | }
46 |
47 | updateCatalogList(){
48 |
49 | if(this.catalog) this.catalog.innerHTML = ""
50 |
51 | let filterType: number = -1
52 | if(this.sorter){
53 | filterType = parseInt(this.sorter.value, 10)
54 | }
55 |
56 | this.elements.filter((e) => {
57 | return ComponentType[e.type] == ComponentType[filterType] || filterType == -1
58 | }).forEach((e) => {
59 | //console.log(e.pinInfo)
60 |
61 | const div = document.createElement('div');
62 | div.setAttribute("class", "hackCable-catalog-element")
63 | div.setAttribute("title", e.description)
64 | div.innerHTML = "" + e.name + " ";
65 | this.catalog?.appendChild(div);
66 |
67 | setTimeout(() => {
68 | const svg = e.wokwiComponent.shadowRoot?.querySelector("svg");
69 | if(svg) svg.setAttribute("style", "max-width: 100%; height: auto")
70 | })
71 | div.appendChild(e.wokwiComponent);
72 | })
73 | }
74 | }
--------------------------------------------------------------------------------
/src/editor/canvas.ts:
--------------------------------------------------------------------------------
1 | import draw2d from "draw2d";
2 | import {connectionsPolicy} from "./connections-policies";
3 | import {CoordinatePortLocator} from "./coordinate-port-locator";
4 | import {ComponentFigure} from "./component-figure";
5 | import {wokwiComponentByClass} from "../panels/component";
6 | import {ArduinoUnoElement, Dht22Element, LEDElement, NeoPixelElement} from "@wokwi/elements";
7 | import {css} from "../utils/dom";
8 |
9 | const DEFAULT_ZOOM = .6;
10 |
11 | export class Canvas extends draw2d.Canvas{
12 |
13 | private selected: any = null;
14 |
15 | constructor(divId: string){
16 | super(divId);
17 |
18 | // Overlay
19 | this.overlayContainer = document.querySelector('.hackCable-canvas-overlay-container');
20 | this.html.prepend(this.overlayContainer);
21 |
22 | this.setScrollArea(document.querySelector('.hackCable-canvas'))
23 |
24 | // Edit policies
25 | this.installEditPolicy(new draw2d.policy.canvas.PanningSelectionPolicy())
26 | this.installEditPolicy(new draw2d.policy.canvas.SnapToGeometryEditPolicy())
27 | this.installEditPolicy(new draw2d.policy.canvas.SnapToInBetweenEditPolicy())
28 | this.installEditPolicy(new draw2d.policy.canvas.SnapToCenterEditPolicy())
29 | this.installEditPolicy(connectionsPolicy);
30 |
31 | // Listeners
32 | this.on("select", (_emitter: any, event: any) => this.onSelectionChange(event.figure));
33 | this.on("zoom", () => this.onZoomChange());
34 | /*this.on("figure:add", () => {});*/
35 |
36 | this.setZoom(DEFAULT_ZOOM)
37 |
38 | // Add test figures
39 | let rect = new draw2d.shape.basic.Rectangle({x: 100, y: 10, stroke: 3, color: "#9e0000", bgColor: "#cd0000"});
40 | rect.createPort("hybrid", new CoordinatePortLocator("", 0, 0));
41 | rect.createPort("hybrid", new CoordinatePortLocator("", 30, 30));
42 | this.add(rect)
43 | let led = new ComponentFigure(wokwiComponentByClass[LEDElement.name]);
44 | this.add(led.setX(100).setY(100))
45 | let card = new ComponentFigure(wokwiComponentByClass[ArduinoUnoElement.name]);
46 | this.add(card.setX(200).setY(150))
47 | let pixel = new ComponentFigure(wokwiComponentByClass[NeoPixelElement.name]);
48 | this.add(pixel.setX(200).setY(50))
49 | let dht22 = new ComponentFigure(wokwiComponentByClass[Dht22Element.name]);
50 | this.add(dht22.setX(250).setY(10))
51 |
52 |
53 |
54 | }
55 | private onZoomChange(){
56 | css(this.overlayContainer, {transform: 'scale(' + 1/this.getZoom() + ')'})
57 | }
58 | private onSelectionChange(selected: any){
59 | if(this.selected != selected){
60 | if(this.selected instanceof ComponentFigure) this.selected.onUnselected()
61 | if(selected instanceof ComponentFigure) selected.onSelected();
62 | this.selected = selected;
63 | }
64 | }
65 | public clear(){
66 | super.clear()
67 | this.setZoom(DEFAULT_ZOOM)
68 | }
69 | }
--------------------------------------------------------------------------------
/web/index.ts:
--------------------------------------------------------------------------------
1 | import "./css/main.styl"
2 | import {CompileResult, EmulatorManager, HackCable} from "../src/main";
3 |
4 | console.log("Running HackCable web interface")
5 |
6 | const mountingDiv = document.getElementById('hackCable');
7 | if(!mountingDiv) throw new DOMException("Mounting div not found")
8 |
9 | const lang = localStorage.getItem('hackCable-webExample-language');
10 | let hackCable = new HackCable(mountingDiv, lang ? lang : 'fr_fr');
11 |
12 | const compileButton = document.getElementById('compile');
13 | const executeButton = document.getElementById('execute');
14 | const stopButton = document.getElementById('stop');
15 | const pauseButton = document.getElementById('pause');
16 | const codeInput = document.getElementById('code-editor');
17 | const hexInput = document.getElementById('code-compiled');
18 |
19 | if(compileButton && executeButton && stopButton && pauseButton && codeInput instanceof HTMLTextAreaElement && hexInput instanceof HTMLTextAreaElement){
20 |
21 | const code = localStorage.getItem('hackCable-webExample-inputCode');
22 | if(code) codeInput.value = code;
23 | const hex = localStorage.getItem('hackCable-webExample-inputHex');
24 | if(hex) hexInput.value = hex;
25 |
26 | compileButton.addEventListener("click", () => compile());
27 | executeButton.addEventListener("click", () => execute());
28 | stopButton.addEventListener("click", () => hackCable.emulatorManager.stop());
29 | pauseButton.addEventListener("click", () => {
30 | hackCable.emulatorManager.setPaused(!hackCable.emulatorManager.isPosed())
31 | });
32 |
33 | function compile(){
34 | if(codeInput instanceof HTMLTextAreaElement && hexInput instanceof HTMLTextAreaElement){
35 |
36 | console.log("Compiling...")
37 | localStorage.setItem('hackCable-webExample-inputCode', codeInput.value);
38 | hackCable.emulatorManager.compileAndLoadCode(codeInput.value).then(() => {})
39 | EmulatorManager.compileCode(codeInput.value).then((data: CompileResult) => {
40 | if(data){
41 | console.log("done")
42 | hexInput.value = data.hex
43 | localStorage.setItem('hackCable-webExample-inputHex', data.hex);
44 | }
45 | })
46 | }
47 |
48 | }
49 | function execute(){
50 | hackCable.emulatorManager.stop()
51 | if(hexInput instanceof HTMLTextAreaElement){
52 | localStorage.setItem('hackCable-webExample-inputHex', hexInput.value);
53 | hackCable.emulatorManager.loadCode(hexInput.value)
54 | hackCable.emulatorManager.run()
55 | }
56 | }
57 | }
58 |
59 | const save = document.getElementById('save');
60 | const restore = document.getElementById('restore');
61 | if(save && restore){
62 | save.addEventListener("click", () => {
63 | const data = hackCable.editor.getEditorSaveData();
64 | console.log('Saving data:', data)
65 | localStorage.setItem('savedEditor', JSON.stringify(data));
66 | });
67 | restore.addEventListener("click", () => {
68 | const data = JSON.parse(localStorage.getItem('savedEditor'));
69 | console.log('Loading data:', data)
70 | hackCable.editor.loadEditorSaveData(data)
71 | });
72 | }
73 |
74 | // language
75 |
76 | const languageEn = document.getElementById('language-en');
77 | const languageFr = document.getElementById('language-fr');
78 |
79 | languageEn?.addEventListener("click", () => {
80 | localStorage.setItem('hackCable-webExample-language', 'en_us');
81 | location.reload()
82 | });
83 | languageFr?.addEventListener("click", () => {
84 | console.log("Change lang")
85 | localStorage.setItem('hackCable-webExample-language', 'fr_fr');
86 | location.reload()
87 | });
88 |
89 |
90 |
91 |
--------------------------------------------------------------------------------
/src/editor/component-figure.ts:
--------------------------------------------------------------------------------
1 | import draw2d from "draw2d";
2 | import {ElementPin} from "@wokwi/elements";
3 | import {WokwiComponent, WokwiComponentInfo} from "../panels/component";
4 | import {CoordinatePortLocator} from "./coordinate-port-locator";
5 | import {css, unitToPx} from "../utils/dom";
6 | import {Port} from "draw2d-types";
7 |
8 | export declare type FigureData = {componentId: number, figureId: string, x: number, y: number}
9 | export declare type WiringData = {svgPath: string, fromFigure: string, fromPortName: string, targetFigure: string, targetPortName: string}
10 |
11 | export class ComponentFigure extends draw2d.shape.basic.Rectangle{
12 |
13 | private readonly component: WokwiComponentInfo;
14 | constructor(component: WokwiComponentInfo){
15 | super();
16 | this.component = component;
17 |
18 | this.setBackgroundColor(null)
19 | this.setColor(null)
20 | this.setResizeable(false)
21 | this.installEditPolicy(new draw2d.policy.figure.AntSelectionFeedbackPolicy());
22 |
23 | // Load wokwi component into overlay
24 | let element: WokwiComponent = new component.clasz();
25 | this.overlay = element;
26 |
27 | element.pinInfo.forEach((pinInfo: ElementPin) => {
28 | let port = this.createPort("hybrid", new CoordinatePortLocator(pinInfo.name, pinInfo.x, pinInfo.y));
29 | port.setAlpha(.7)
30 | port.setBackgroundColor('#424B5A')
31 | port.setDiameter(7)
32 | port.on("connect", () => port.setVisible(false));
33 | port.on("disconnect", () => port.setVisible(true));
34 | })
35 |
36 |
37 | // Listeners
38 | this.on("added", (_emitter: any, event: any) => {
39 | event.canvas.overlayContainer.append(this.overlay)
40 |
41 | setTimeout(() => {
42 | let svg = this.overlay.shadowRoot?.querySelector("svg")
43 | this.setWidth(unitToPx(svg.getAttribute('width')))
44 | this.setHeight(unitToPx(svg.getAttribute('height')))
45 | })
46 | })
47 | this.on("removed", (_emitter: any, _event: any) => {
48 | this.overlay.remove()
49 | })
50 | this.on("move", (_emitter: any, event: any) => {
51 | css(this.overlay, {top: event.y, left: event.x})
52 | })
53 | this.on("click", (_emitter: any, _event: any) => {
54 | this.toFront()
55 | })
56 | }
57 |
58 | public onSelected(){
59 | this.toFront()
60 | }
61 | public onUnselected(){
62 |
63 | }
64 | public toFront(){
65 | super.toFront()
66 | this.getCanvas().overlayContainer.append(this.overlay)
67 | }
68 |
69 | public getPortByName(name: string): Port{
70 | return this.hybridPorts.data.find((port: Port) => { // Iterate through ports
71 | return port.getLocator().portId === name;
72 | })
73 | }
74 |
75 | public getFigureData(): FigureData{
76 | return {
77 | componentId: this.component.id,
78 | figureId: this.getId(),
79 | x: this.getX(),
80 | y: this.getY(),
81 | }
82 | }
83 | public getWiringData(): WiringData[]{
84 |
85 | let wiringData: WiringData[] = [];
86 |
87 | this.hybridPorts.data.forEach((sourcePort: Port) => { // Iterate through ports
88 | sourcePort.getConnections().data.forEach((connection: any) => { // Iterate through connections of this port
89 | if(connection.sourcePort === sourcePort){ // Save connections only from theirs source port
90 | wiringData.push({
91 | svgPath: connection.getVertices().data,
92 | fromFigure: this.getId(),
93 | fromPortName: sourcePort.getLocator().portId,
94 | targetFigure: connection.getTarget().getParent().getId(),
95 | targetPortName: connection.getTarget().getLocator().portId
96 | });
97 | }
98 | })
99 | })
100 | return wiringData;
101 | }
102 | }
103 |
--------------------------------------------------------------------------------
/src/panels/component.ts:
--------------------------------------------------------------------------------
1 | import {
2 | AnalogJoystickElement, ArduinoMegaElement,
3 | ArduinoNanoElement,
4 | ArduinoUnoElement,
5 | BigSoundSensorElement,
6 | BuzzerElement,
7 | Dht22Element, DipSwitch8Element,
8 | Ds1307Element,
9 | ESP32DevkitV1Element, FlameSensorElement,
10 | FranzininhoElement, GasSensorElement,
11 | HCSR04Element,
12 | HeartBeatSensorElement,
13 | ILI9341Element,
14 | IRReceiverElement, IRRemoteElement,
15 | KY040Element,
16 | LCD1602Element, LCD2004Element, LedBarGraphElement, LEDElement,
17 | LEDRingElement, MembraneKeypadElement,
18 | MicrosdCardElement, MPU6050Element,
19 | NanoRP2040ConnectElement,
20 | NeoPixelElement,
21 | NeopixelMatrixElement, NTCTemperatureSensorElement, PhotoresistorSensorElement,
22 | PIRMotionSensorElement,
23 | PotentiometerElement,
24 | PushbuttonElement,
25 | ResistorElement, RGBLedElement,
26 | RotaryDialerElement,
27 | ServoElement, SevenSegmentElement, SlidePotentiometerElement,
28 | SlideSwitchElement,
29 | SmallSoundSensorElement, SSD1306Element,
30 | TiltSwitchElement
31 | } from "@wokwi/elements";
32 | import i18next from "i18next";
33 |
34 | export declare type WokwiComponent = SevenSegmentElement | ArduinoUnoElement | LCD1602Element | LEDElement | NeoPixelElement | PushbuttonElement | ResistorElement | MembraneKeypadElement | PotentiometerElement | NeopixelMatrixElement | SSD1306Element | BuzzerElement | RotaryDialerElement | ServoElement | Dht22Element | ArduinoMegaElement | ArduinoNanoElement | Ds1307Element | LEDRingElement | SlideSwitchElement | HCSR04Element | LCD2004Element | AnalogJoystickElement | SlidePotentiometerElement | IRReceiverElement | IRRemoteElement | PIRMotionSensorElement | NTCTemperatureSensorElement | HeartBeatSensorElement | TiltSwitchElement | FlameSensorElement | GasSensorElement | FranzininhoElement | NanoRP2040ConnectElement | SmallSoundSensorElement | BigSoundSensorElement | MPU6050Element | ESP32DevkitV1Element | KY040Element | PhotoresistorSensorElement | RGBLedElement | ILI9341Element | LedBarGraphElement | MicrosdCardElement | DipSwitch8Element
35 |
36 | export declare type WokwiClass = typeof Dht22Element;
37 |
38 | export const wokwiComponentClasses = [SevenSegmentElement, ArduinoUnoElement, LCD1602Element, LEDElement, NeoPixelElement, PushbuttonElement, ResistorElement, MembraneKeypadElement, PotentiometerElement, NeopixelMatrixElement, SSD1306Element, BuzzerElement, RotaryDialerElement, ServoElement, Dht22Element, ArduinoMegaElement, ArduinoNanoElement, Ds1307Element, LEDRingElement, SlideSwitchElement, HCSR04Element, LCD2004Element, AnalogJoystickElement, SlidePotentiometerElement, IRReceiverElement, IRRemoteElement, PIRMotionSensorElement, NTCTemperatureSensorElement, HeartBeatSensorElement, TiltSwitchElement, FlameSensorElement, GasSensorElement, FranzininhoElement, NanoRP2040ConnectElement, SmallSoundSensorElement, BigSoundSensorElement, MPU6050Element, ESP32DevkitV1Element, KY040Element, PhotoresistorSensorElement, RGBLedElement, ILI9341Element, LedBarGraphElement, MicrosdCardElement, DipSwitch8Element]
39 |
40 | export declare type WokwiComponentInfo = {id: number, clasz: WokwiClass, name: string, description: string, type: ComponentType}
41 | export declare type WokwiComponents = WokwiComponentInfo[]
42 | export declare type WokwiComponentById = {[id: number]: WokwiComponentInfo}
43 | export declare type WokwiComponentByClass = {[clasz: string]: WokwiComponentInfo}
44 |
45 | export enum ComponentType {
46 | LED,
47 | MOTOR,
48 | TRANSMITTER,
49 | BUTTON,
50 | SENSOR,
51 | OTHER,
52 | CARD
53 | }
54 |
55 | export const wokwiComponents = (): WokwiComponents => [
56 | {
57 | id: 0,
58 | clasz: ArduinoUnoElement,
59 | name: "Arduino Uno",
60 | description: i18next.t("wokwiComponents.arduinoUno.description"),
61 | type: ComponentType.CARD
62 | },{
63 | id: 1,
64 | clasz: LEDElement,
65 | name: "LED",
66 | description: i18next.t("wokwiComponents.led.description"),
67 | type: ComponentType.LED
68 | },{
69 | id: 2,
70 | clasz: RGBLedElement,
71 | name: "LED RGB",
72 | description: i18next.t("wokwiComponents.rgbLed.description"),
73 | type: ComponentType.LED
74 | },{
75 | id: 3,
76 | clasz: LedBarGraphElement,
77 | name: "LED Bar",
78 | description: i18next.t("wokwiComponents.ledBar.description"),
79 | type: ComponentType.LED
80 | },{
81 | id: 4,
82 | clasz: NeoPixelElement,
83 | name: "Pixel",
84 | description: i18next.t("wokwiComponents.led.description"),
85 | type: ComponentType.LED
86 | },{
87 | id: 5,
88 | clasz: SevenSegmentElement,
89 | name: "Numitrons",
90 | description: "Peut afficher un chiffre ou une lettre",
91 | type: ComponentType.LED
92 | },{
93 | id: 6,
94 | clasz: LEDRingElement,
95 | name: "LED Ring",
96 | description: "Anneau de Leds",
97 | type: ComponentType.LED
98 | },{
99 | id: 7,
100 | clasz: LCD1602Element,
101 | name: "Écran 2*16 caractères",
102 | description: "Peut afficher du texte (Jusqu'à 32 caractères sur 2 lignes)",
103 | type: ComponentType.LED
104 | },{
105 | id: 8,
106 | clasz: LCD2004Element,
107 | name: "Écran 4*20 caractères",
108 | description: "Peut afficher du texte (Jusqu'à 80 caractères sur 4 lignes)",
109 | type: ComponentType.LED
110 | },{
111 | id: 9,
112 | clasz: BuzzerElement,
113 | name: "Buzzer",
114 | description: "Haut parleur",
115 | type: ComponentType.TRANSMITTER
116 | },{
117 | id: 10,
118 | clasz: PushbuttonElement,
119 | name: "Bouton poussoir",
120 | description: "",
121 | type: ComponentType.BUTTON
122 | },{
123 | id: 11,
124 | clasz: PotentiometerElement,
125 | name: "Potentiomètre",
126 | description: "Résistance variable",
127 | type: ComponentType.BUTTON
128 | },{
129 | id: 12,
130 | clasz: SlideSwitchElement,
131 | name: "Slide switch",
132 | description: "Interrupteur",
133 | type: ComponentType.BUTTON
134 | },{
135 | id: 13,
136 | clasz: AnalogJoystickElement,
137 | name: "Joystick",
138 | description: "",
139 | type: ComponentType.BUTTON
140 | },{
141 | id: 14,
142 | clasz: SlidePotentiometerElement,
143 | name: "Potentiomètre",
144 | description: "Résistance variable",
145 | type: ComponentType.BUTTON
146 | },{
147 | id: 15,
148 | clasz: DipSwitch8Element,
149 | name: "DipSwitch8",
150 | description: "Barre de 8 interrupteurs",
151 | type: ComponentType.BUTTON
152 | },{
153 | id: 16,
154 | clasz: Dht22Element,
155 | name: "DHT22 (T° et φ)",
156 | description: "Capteur de température et d'humidité",
157 | type: ComponentType.SENSOR
158 | },{
159 | id: 17,
160 | clasz: HCSR04Element,
161 | name: "HCSR04",
162 | description: "Détecteur de proximité",
163 | type: ComponentType.SENSOR
164 | },{
165 | id: 18,
166 | clasz: NTCTemperatureSensorElement,
167 | name: "Temperature sensor",
168 | description: "",
169 | type: ComponentType.SENSOR
170 | },{
171 | id: 19,
172 | clasz: SmallSoundSensorElement,
173 | name: "Détecteur de son faible",
174 | description: "",
175 | type: ComponentType.SENSOR
176 | },{
177 | id: 20,
178 | clasz: BigSoundSensorElement,
179 | name: "Détecteur de son fort",
180 | description: "",
181 | type: ComponentType.SENSOR
182 | },{
183 | id: 21,
184 | clasz: ServoElement,
185 | name: "Servo moteur",
186 | description: "Moteur de précision (angle de rotation controllable)",
187 | type: ComponentType.MOTOR
188 | },{
189 | id: 22,
190 | clasz: KY040Element,
191 | name: "Potentiometre KY040",
192 | description: "Résistance variable",
193 | type: ComponentType.BUTTON
194 | },{
195 | id: 23,
196 | clasz: PhotoresistorSensorElement,
197 | name: "Photoresistance",
198 | description: "Capteur de lumière",
199 | type: ComponentType.SENSOR
200 | },{
201 | id: 24,
202 | clasz: ResistorElement,
203 | name: "Résistance",
204 | description: "",
205 | type: ComponentType.OTHER
206 | },{
207 | id: 25,
208 | clasz: Ds1307Element,
209 | name: "Ds1307 (Horloge)",
210 | description: "",
211 | type: ComponentType.OTHER
212 | }]
213 |
214 | export let wokwiComponentById: WokwiComponentById = {};
215 | export let wokwiComponentByClass: WokwiComponentByClass = {};
216 | for(let component of wokwiComponents()){
217 | wokwiComponentById[component.id] = component;
218 | wokwiComponentByClass[component.clasz.name] = component;
219 | }
220 |
221 |
222 | export class ComponentElement {
223 |
224 | public readonly componentId: number;
225 | public readonly wokwiComponent: WokwiComponent
226 | public readonly name: string
227 | public readonly description: string
228 | public readonly type: ComponentType
229 |
230 | constructor(component: WokwiComponentInfo) {
231 | this.componentId = component.id;
232 | this.wokwiComponent = new component.clasz();
233 | this.name = component.name;
234 | this.description = component.description;
235 | this.type = component.type
236 | }
237 |
238 | }
--------------------------------------------------------------------------------
/src/types/draw2d.d.ts:
--------------------------------------------------------------------------------
1 | // Type definitions for [draw2d]
2 | // Project: [http://www.draw2d.org]
3 | // Definitions by: Hesham Elbadawi
4 | // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
5 | export = Draw2D;
6 | declare namespace Draw2D {
7 | class Canvas {
8 | constructor(...args: any[]);
9 |
10 | add(figure: any, x: any, y: any): any;
11 | add(connection: any): any;
12 |
13 | addSelection(object: any): any;
14 |
15 | calculateConnectionIntersection(): any;
16 |
17 | clear(): any;
18 |
19 | destroy(): void;
20 |
21 | fireEvent(event: any, args: any): void;
22 |
23 | fromCanvasToDocumentCoordinate(x: any, y: any): any;
24 |
25 | fromDocumentToCanvasCoordinate(x: any, y: any): any;
26 |
27 | getAbsoluteX(): any;
28 |
29 | getAbsoluteY(): any;
30 |
31 | getAllPorts(): any;
32 |
33 | getBestFigure(x: any, y: any, blacklist: any, whitelist: any): any;
34 |
35 | getBestLine(x: any, y: any, lineToIgnore: any): any;
36 |
37 | getCommandStack(): any;
38 |
39 | getDimension(): any;
40 |
41 | getDropInterceptorPolicies(): any;
42 |
43 | getFigure(id: any): any;
44 |
45 | getFigures(): any;
46 |
47 | getHeight(): any;
48 |
49 | getHtmlContainer(): any;
50 |
51 | getIntersection(line: any): any;
52 |
53 | getLine(id: any): any;
54 |
55 | getLines(): any;
56 |
57 | getPrimarySelection(): any;
58 |
59 | getScrollArea(): any;
60 |
61 | getScrollLeft(): any;
62 |
63 | getScrollTop(): any;
64 |
65 | getSelection(): any;
66 |
67 | getWidth(): any;
68 |
69 | getZoom(): any;
70 |
71 | hideDecoration(): void;
72 |
73 | init(canvasId: any, width: any, height: any): any;
74 |
75 | installEditPolicy(policy: any): any;
76 |
77 | off(eventOrFunction: any): any;
78 |
79 | on(event: any, callback: any): any;
80 |
81 | onClick(x: any, y: any, shiftKey: any, ctrlKey: any): void;
82 |
83 | onDoubleClick(x: any, y: any, shiftKey: any, ctrlKey: any): void;
84 |
85 | onDrag(draggedDomNode: any, x: any, y: any): void;
86 |
87 | onDragEnter(draggedDomNode: any): void;
88 |
89 | onDragLeave(draggedDomNode: any): void;
90 |
91 | onDrop(droppedDomNode: any, x: any, y: any, shiftKey: any, ctrlKey: any): void;
92 |
93 | onMouseWheel(wheelDelta: any, x: any, y: any, shiftKey: any, ctrlKey: any): any;
94 |
95 | onRightMouseDown(x: any, y: any, shiftKey: any, ctrlKey: any): void;
96 |
97 | registerPort(port: any): any;
98 |
99 | remove(figure: any): any;
100 |
101 | scrollTo(top: any, left: any): any;
102 |
103 | setCurrentSelection(object: any): any;
104 |
105 | setDimension(dim: any, height: any): any;
106 |
107 | setScrollArea(elementSelector: any): any;
108 |
109 | setScrollLeft(left: any): any;
110 |
111 | setScrollTop(top: any): any;
112 |
113 | setZoom(zoomFactor: any, animated: any): void;
114 |
115 | showDecoration(): void;
116 |
117 | snapToHelper(figure: any, pos: any): any;
118 |
119 | uninstallEditPolicy(policy: any): any;
120 |
121 | unregisterPort(port: any): any;
122 |
123 | static extend: any;
124 | static inject: any;
125 | }
126 |
127 | class Corona {
128 | constructor(...args: any[]);
129 |
130 | init(...args: any[]): any;
131 |
132 | setAlpha(...args: any[]): any;
133 |
134 | static extend: any;
135 | static inject: any;
136 | }
137 |
138 | class Figure {
139 | constructor(...args: any[]);
140 |
141 | add(child: any, locator: any, index: any): any;
142 |
143 | addCssClass(className: any): any;
144 |
145 | applyTransformation(): any;
146 |
147 | attr(name: any, value: any): any;
148 |
149 | clone(cloneMetaData: any): any;
150 |
151 | contains(containedFigure: any): any;
152 |
153 | createCommand(request: any): any;
154 |
155 | createShapeElement(): void;
156 |
157 | delegateTarget(draggedFigure: any): any;
158 |
159 | fireEvent(event: any, args: any): void;
160 |
161 | getAbsoluteBounds(): any;
162 |
163 | getAbsolutePosition(): any;
164 |
165 | getAbsoluteX(): any;
166 |
167 | getAbsoluteY(): any;
168 |
169 | getAlpha(): any;
170 |
171 | getBestChild(x: any, y: any, figureToIgnore: any): any;
172 |
173 | getBoundingBox(): any;
174 |
175 | getCanSnapToHelper(): any;
176 |
177 | getCanvas(): any;
178 |
179 | getChildren(): any;
180 |
181 | getComposite(): any;
182 |
183 | getCssClass(): any;
184 |
185 | getHandleBBox(): any;
186 |
187 | getHeight(): any;
188 |
189 | getId(): any;
190 |
191 | getKeepAspectRatio(): any;
192 |
193 | getMinHeight(): any;
194 |
195 | getMinWidth(): any;
196 |
197 | getParent(): any;
198 |
199 | getPersistentAttributes(): any;
200 |
201 | getPosition(): any;
202 |
203 | getRoot(): any;
204 |
205 | getRotationAngle(): any;
206 |
207 | getSelectionAdapter(): any;
208 |
209 | getShapeElement(): any;
210 |
211 | getSnapToGridAnchor(): any;
212 |
213 | getTopLevelShapeElement(): any;
214 |
215 | getUserData(): any;
216 |
217 | getWidth(): any;
218 |
219 | getX(): any;
220 |
221 | getY(): any;
222 |
223 | getZOrder(): any;
224 |
225 | hasCssClass(className: any): any;
226 |
227 | hitTest(iX: any, iY: any, corona: any): any;
228 |
229 | init(attr: any, setter: any, getter: any): any;
230 |
231 | installEditPolicy(policy: any): any;
232 |
233 | isDeleteable(): any;
234 |
235 | isDraggable(): any;
236 |
237 | isResizeable(): any;
238 |
239 | isSelectable(): any;
240 |
241 | isSelected(): any;
242 |
243 | isStrechable(): any;
244 |
245 | isVisible(): any;
246 |
247 | off(eventOrFunction: any): any;
248 |
249 | on(event: any, callback: any, context: any): any;
250 |
251 | onCatch(droppedFigure: any, x: any, y: any, shiftKey: any, ctrlKey: any): void;
252 |
253 | onClick(): void;
254 |
255 | onContextMenu(x: any, y: any): void;
256 |
257 | onDoubleClick(): void;
258 |
259 | onDrag(dx: any, dy: any, dx2: any, dy2: any, shiftKey: any, ctrlKey: any): void;
260 |
261 | onDragEnd(x: any, y: any, shiftKey: any, ctrlKey: any): void;
262 |
263 | onDragEnter(draggedFigure: any): void;
264 |
265 | onDragLeave(draggedFigure: any): void;
266 |
267 | onDragStart(x: any, y: any, shiftKey: any, ctrlKey: any): any;
268 |
269 | onDrop(dropTarget: any, x: any, y: any, shiftKey: any, ctrlKey: any): void;
270 |
271 | onMouseEnter(): void;
272 |
273 | onMouseLeave(): void;
274 |
275 | onPanning(dx: any, dy: any, dx2: any, dy2: any, shiftKey: any, ctrlKey: any): void;
276 |
277 | onPanningEnd(): void;
278 |
279 | onTimer(): void;
280 |
281 | pick(obj: any, var_keys: any, ...args: any[]): any;
282 |
283 | remove(child: any): any;
284 |
285 | removeCssClass(className: any): any;
286 |
287 | repaint(attributes: any): any;
288 |
289 | resetChildren(): any;
290 |
291 | select(asPrimarySelection: any): any;
292 |
293 | setAlpha(percent: any): any;
294 |
295 | setBoundingBox(rect: any): any;
296 |
297 | setCanSnapToHelper(flag: any): any;
298 |
299 | setCanvas(canvas: any): any;
300 |
301 | setComposite(composite: any): any;
302 |
303 | setCssClass(cssClass: any): any;
304 |
305 | setDeleteable(flag: any): any;
306 |
307 | setDimension(w: any, h: any): any;
308 |
309 | setDraggable(flag: any): any;
310 |
311 | setGlow(flag: any): any;
312 |
313 | setHeight(height: any): any;
314 |
315 | setId(newId: any): any;
316 |
317 | setKeepAspectRatio(flag: any): any;
318 |
319 | setMinHeight(h: any): any;
320 |
321 | setMinWidth(w: any): any;
322 |
323 | setParent(parent: any): any;
324 |
325 | setPersistentAttributes(memento: any): any;
326 |
327 | setPosition(x: any, y: any): any;
328 |
329 | setResizeable(flag: any): any;
330 |
331 | setRotationAngle(angle: any): any;
332 |
333 | setSelectable(flag: any): any;
334 |
335 | setSelectionAdapter(adapter: any): any;
336 |
337 | setSnapToGridAnchor(point: any): any;
338 |
339 | setUserData(object: any): any;
340 |
341 | setVisible(flag: any, duration: any): any;
342 |
343 | setWidth(width: any): any;
344 |
345 | setX(x: any): any;
346 |
347 | setY(y: any): any;
348 |
349 | startTimer(milliSeconds: any): any;
350 |
351 | stopTimer(): any;
352 |
353 | toBack(figure: any): any;
354 |
355 | toFront(figure: any): any;
356 |
357 | toggleCssClass(className: any): any;
358 |
359 | translate(dx: any, dy: any): any;
360 |
361 | uninstallEditPolicy(policy: any): any;
362 |
363 | unselect(): any;
364 |
365 | static extend: any;
366 | static inject: any;
367 | }
368 |
369 | class HeadlessCanvas {
370 | constructor(...args: any[]);
371 |
372 | add(figure: any, x: any, y: any): any;
373 |
374 | calculateConnectionIntersection(): void;
375 |
376 | clear(): any;
377 |
378 | fireEvent(event: any, args: any): void;
379 |
380 | getAllPorts(): any;
381 |
382 | getCommandStack(): any;
383 |
384 | getFigure(id: any): any;
385 |
386 | getFigures(): any;
387 |
388 | getLine(id: any): any;
389 |
390 | getLines(): any;
391 |
392 | hideDecoration(): void;
393 |
394 | init(): void;
395 |
396 | off(eventOrFunction: any): any;
397 |
398 | on(event: any, callback: any): any;
399 |
400 | registerPort(port: any): any;
401 |
402 | showDecoration(): void;
403 |
404 | static extend: any;
405 | static inject: any;
406 | }
407 |
408 | class HybridPort {
409 | constructor(...args: any[]);
410 |
411 | createCommand(...args: any[]): any;
412 |
413 | init(...args: any[]): any;
414 |
415 | static extend: any;
416 | static inject: any;
417 | }
418 |
419 | class InputPort {
420 | constructor(...args: any[]);
421 |
422 | createCommand(...args: any[]): any;
423 |
424 | init(...args: any[]): any;
425 |
426 | static extend: any;
427 | static inject: any;
428 | }
429 |
430 | class OutputPort {
431 | constructor(...args: any[]);
432 |
433 | createCommand(...args: any[]): any;
434 |
435 | init(...args: any[]): any;
436 |
437 | static extend: any;
438 | static inject: any;
439 | }
440 |
441 | class Port {
442 | constructor(...args: any[]);
443 |
444 | createCommand(request: any): any;
445 |
446 | fireEvent(...args: any[]): any;
447 |
448 | getConnectionAnchorLocation(referencePoint: any, inquiringConnection: any): any;
449 |
450 | getConnectionAnchorReferencePoint(inquiringConnection: any): any;
451 |
452 | getConnectionDirection(peerPort: any): any;
453 |
454 | getConnections(): any;
455 |
456 | getCoronaWidth(): any;
457 |
458 | getLocator(): any;
459 |
460 | getMaxFanOut(): any;
461 |
462 | getName(): any;
463 |
464 | getPersistentAttributes(...args: any[]): any;
465 |
466 | getSelectionAdapter(): any;
467 |
468 | getValue(): any;
469 |
470 | hitTest(iX: any, iY: any, corona: any): any;
471 |
472 | init(...args: any[]): any;
473 |
474 | onConnect(connection: any): void;
475 |
476 | onDisconnect(connection: any): void;
477 |
478 | onDrag(...args: any[]): any;
479 |
480 | onDragEnd(x: any, y: any, shiftKey: any, ctrlKey: any): void;
481 |
482 | onDragStart(x: any, y: any, shiftKey: any, ctrlKey: any): any;
483 |
484 | onDrop(dropTarget: any, x: any, y: any, shiftKey: any, ctrlKey: any): void;
485 |
486 | onMouseEnter(): void;
487 |
488 | onMouseLeave(): void;
489 |
490 | repaint(...args: any[]): any;
491 |
492 | setBackgroundColor(...args: any[]): any;
493 |
494 | setConnectionAnchor(anchor: any): any;
495 |
496 | setConnectionDirection(direction: any): any;
497 |
498 | setCoronaWidth(width: any): void;
499 |
500 | setGlow(flag: any): any;
501 |
502 | setLocator(locator: any): any;
503 |
504 | setMaxFanOut(count: any): any;
505 |
506 | setName(name: any): void;
507 |
508 | setParent(...args: any[]): any;
509 |
510 | setPersistentAttributes(...args: any[]): any;
511 |
512 | setValue(value: any): any;
513 |
514 | static extend: any;
515 | static inject: any;
516 | }
517 |
518 | class ResizeHandle {
519 | constructor(...args: any[]);
520 |
521 | createShapeElement(...args: any[]): any;
522 |
523 | fireEvent(event: any, args: any): void;
524 |
525 | getOwner(): any;
526 |
527 | getSnapToDirection(): any;
528 |
529 | getType(): any;
530 |
531 | hide(): any;
532 |
533 | init(...args: any[]): any;
534 |
535 | onDrag(...args: any[]): any;
536 |
537 | onDragEnd(x: any, y: any, shiftKey: any, ctrlKey: any): void;
538 |
539 | onDragStart(x: any, y: any, shiftKey: any, ctrlKey: any): any;
540 |
541 | onKeyDown(keyCode: any, ctrl: any): void;
542 |
543 | repaint(...args: any[]): any;
544 |
545 | setBackgroundColor(...args: any[]): any;
546 |
547 | setCanvas(...args: any[]): any;
548 |
549 | setDimension(...args: any[]): any;
550 |
551 | setDraggable(...args: any[]): any;
552 |
553 | setOwner(owner: any): any;
554 |
555 | setPosition(x: any, y: any): any;
556 |
557 | setType(type: any): any;
558 |
559 | show(canvas: any): any;
560 |
561 | supportsSnapToHelper(): any;
562 |
563 | updateCursor(shape: any): any;
564 |
565 | static extend: any;
566 | static inject: any;
567 | }
568 |
569 | class SVGFigure {
570 | constructor(...args: any[]);
571 |
572 | createSet(): any;
573 |
574 | getSVG(): any;
575 |
576 | importSVG(canvas: any, rawSVG: any): any;
577 |
578 | init(...args: any[]): any;
579 |
580 | setPersistentAttributes(...args: any[]): any;
581 |
582 | setSVG(svg: any, duration: any): any;
583 |
584 | static extend: any;
585 | static inject: any;
586 | }
587 |
588 | class Selection {
589 | constructor(...args: any[]);
590 |
591 | add(figure: any): any;
592 |
593 | clear(): any;
594 |
595 | contains(figure: any, checkDescendant: any): any;
596 |
597 | each(func: any, reverse: any): any;
598 |
599 | getAll(expand: any): any;
600 |
601 | getPrimary(): any;
602 |
603 | getSize(): any;
604 |
605 | init(): void;
606 |
607 | remove(figure: any): any;
608 |
609 | setPrimary(figure: any): any;
610 |
611 | static extend: any;
612 | static inject: any;
613 | }
614 |
615 | class SetFigure {
616 | constructor(...args: any[]);
617 |
618 | applyAlpha(): void;
619 |
620 | applyTransformation(): any;
621 |
622 | createSet(): any;
623 |
624 | createShapeElement(): any;
625 |
626 | getTopLevelShapeElement(): any;
627 |
628 | init(...args: any[]): any;
629 |
630 | repaint(...args: any[]): any;
631 |
632 | setCanvas(...args: any[]): any;
633 |
634 | setCssClass(...args: any[]): any;
635 |
636 | setVisible(...args: any[]): any;
637 |
638 | toBack(figure: any): any;
639 |
640 | toFront(figure: any): any;
641 |
642 | static extend: any;
643 | static inject: any;
644 | }
645 |
646 | class VectorFigure {
647 | constructor(...args: any[]);
648 |
649 | getBackgroundColor(): any;
650 |
651 | getColor(): any;
652 |
653 | getDashArray(): any;
654 |
655 | getPersistentAttributes(...args: any[]): any;
656 |
657 | getRadius(): any;
658 |
659 | getStroke(): any;
660 |
661 | init(...args: any[]): any;
662 |
663 | repaint(...args: any[]): any;
664 |
665 | setBackgroundColor(color: any): any;
666 |
667 | setColor(color: any): any;
668 |
669 | setDashArray(dashPattern: any): any;
670 |
671 | setGlow(flag: any): any;
672 |
673 | setPersistentAttributes(...args: any[]): any;
674 |
675 | setRadius(radius: any): any;
676 |
677 | setStroke(w: any): any;
678 |
679 | static extend: any;
680 | static inject: any;
681 | }
682 |
683 | const Configuration: {
684 | factory: {
685 | createConnection: any;
686 | createHybridPort: any;
687 | createInputPort: any;
688 | createOutputPort: any;
689 | createResizeHandle: any;
690 | };
691 | i18n: {
692 | command: {
693 | addShape: string;
694 | addVertex: string;
695 | assignShape: string;
696 | changeAttributes: string;
697 | collection: string;
698 | connectPorts: string;
699 | deleteShape: string;
700 | deleteVertex: string;
701 | groupShapes: string;
702 | move: string;
703 | moveLine: string;
704 | moveShape: string;
705 | moveVertex: string;
706 | moveVertices: string;
707 | resizeShape: string;
708 | rotateShape: string;
709 | ungroupShapes: string;
710 | };
711 | dialog: {
712 | filenamePrompt: string;
713 | };
714 | menu: {
715 | addSegment: string;
716 | deleteSegment: string;
717 | };
718 | };
719 | version: string;
720 | };
721 | // Circular reference from draw2d.Connection.DROP_FILTER.draw2d
722 | const Connection: any;
723 | const SnapToHelper: {
724 | CENTER_H: number;
725 | CENTER_V: number;
726 | EAST: number;
727 | EAST_WEST: number;
728 | NORTH: number;
729 | NORTH_EAST: number;
730 | NORTH_SOUTH: number;
731 | NORTH_WEST: number;
732 | NSEW: number;
733 | SOUTH: number;
734 | SOUTH_EAST: number;
735 | SOUTH_WEST: number;
736 | WEST: number;
737 | };
738 | const decoration: {
739 | connection: {
740 | ArrowDecorator: any;
741 | BarDecorator: any;
742 | CircleDecorator: any;
743 | Decorator: any;
744 | DiamondDecorator: any;
745 | };
746 | };
747 | const isTouchDevice: boolean;
748 | const layout: {
749 | anchor: {
750 | CenterEdgeConnectionAnchor: any;
751 | ChopboxConnectionAnchor: any;
752 | ConnectionAnchor: any;
753 | FanConnectionAnchor: any;
754 | ShortesPathConnectionAnchor: any;
755 | };
756 | connection: {
757 | CircuitConnectionRouter: any;
758 | ConnectionRouter: any;
759 | DirectRouter: any;
760 | FanConnectionRouter: any;
761 | InteractiveManhattanConnectionRouter: any;
762 | ManhattanBridgedConnectionRouter: any;
763 | ManhattanConnectionRouter: any;
764 | MazeConnectionRouter: any;
765 | MuteableManhattanConnectionRouter: any;
766 | RubberbandRouter: any;
767 | SketchConnectionRouter: any;
768 | SplineConnectionRouter: any;
769 | VertexRouter: any;
770 | };
771 | locator: {
772 | BottomLocator: any;
773 | CenterLocator: any;
774 | ConnectionLocator: any;
775 | DraggableLocator: any;
776 | InputPortLocator: any;
777 | LeftLocator: any;
778 | Locator: any;
779 | ManhattanMidpointLocator: any;
780 | OutputPortLocator: any;
781 | ParallelMidpointLocator: any;
782 | PolylineMidpointLocator: any;
783 | PortLocator: any;
784 | RightLocator: any;
785 | SmartDraggableLocator: any;
786 | TopLocator: any;
787 | XYAbsPortLocator: any;
788 | XYRelPortLocator: any;
789 | };
790 | mesh: {
791 | ExplodeLayouter: any;
792 | MeshLayouter: any;
793 | ProposedMeshChange: any;
794 | };
795 | };
796 | const shape: {
797 | analog: {
798 | OpAmp: any;
799 | ResistorBridge: any;
800 | ResistorVertical: any;
801 | VoltageSupplyHorizontal: any;
802 | VoltageSupplyVertical: any;
803 | };
804 | arrow: {
805 | CalligrapherArrowDownLeft: any;
806 | CalligrapherArrowLeft: any;
807 | };
808 | basic: {
809 | Arc: any;
810 | Circle: any;
811 | Diamond: any;
812 | GhostVertexResizeHandle: any;
813 | Image: any;
814 | Label: any;
815 | Line: any;
816 | LineEndResizeHandle: any;
817 | LineResizeHandle: any;
818 | LineStartResizeHandle: any;
819 | Oval: any;
820 | PolyLine: any;
821 | Polygon: any;
822 | Rectangle: any;
823 | Text: any;
824 | VertexResizeHandle: any;
825 | };
826 | composite: {
827 | Composite: any;
828 | Group: any;
829 | Jailhouse: any;
830 | Raft: any;
831 | StrongComposite: any;
832 | WeakComposite: any;
833 | };
834 | diagram: {
835 | Diagram: any;
836 | Pie: any;
837 | Sparkline: any;
838 | };
839 | dimetric: {
840 | Rectangle: any;
841 | };
842 | flowchart: {
843 | Document: any;
844 | };
845 | icon: {
846 | Acw: any;
847 | Alarm: any;
848 | Anonymous: any;
849 | Apple: any;
850 | Apps: any;
851 | ArrowDown: any;
852 | ArrowLeft: any;
853 | ArrowLeft2: any;
854 | ArrowRight: any;
855 | ArrowRight2: any;
856 | ArrowUp: any;
857 | Aumade: any;
858 | BarChart: any;
859 | BioHazard: any;
860 | Book: any;
861 | Bookmark: any;
862 | Books: any;
863 | Bubble: any;
864 | Bug: any;
865 | Calendar: any;
866 | Cart: any;
867 | Ccw: any;
868 | Chat: any;
869 | Check: any;
870 | Chrome: any;
871 | Clip: any;
872 | Clock: any;
873 | Cloud: any;
874 | Cloud2: any;
875 | CloudDown: any;
876 | CloudUp: any;
877 | Cloudy: any;
878 | Code: any;
879 | CodeTalk: any;
880 | CommandLine: any;
881 | Connect: any;
882 | Contract: any;
883 | Crop: any;
884 | Cross: any;
885 | Cube: any;
886 | Customer: any;
887 | Db: any;
888 | Detour: any;
889 | Diagram: any;
890 | Disconnect: any;
891 | DockBottom: any;
892 | DockLeft: any;
893 | DockRight: any;
894 | DockTop: any;
895 | Download: any;
896 | Dry: any;
897 | Employee: any;
898 | End: any;
899 | Ethernet: any;
900 | Exchange: any;
901 | Expand: any;
902 | Export: any;
903 | Fave: any;
904 | Feed: any;
905 | Ff: any;
906 | Firefox: any;
907 | Flag: any;
908 | Flickr: any;
909 | Folder: any;
910 | Font: any;
911 | Fork: any;
912 | ForkAlt: any;
913 | FullCube: any;
914 | Future: any;
915 | GRaphael: any;
916 | Gear: any;
917 | Gear2: any;
918 | GitHub: any;
919 | GitHubAlt: any;
920 | Glasses: any;
921 | Globe: any;
922 | GlobeAlt: any;
923 | GlobeAlt2: any;
924 | Hail: any;
925 | Hammer: any;
926 | HammerAndScrewDriver: any;
927 | HangUp: any;
928 | Help: any;
929 | History: any;
930 | Home: any;
931 | IMac: any;
932 | Icon: any;
933 | Icons: any;
934 | Ie: any;
935 | Ie9: any;
936 | Import: any;
937 | InkScape: any;
938 | Ipad: any;
939 | Iphone: any;
940 | JQuery: any;
941 | Jigsaw: any;
942 | Key: any;
943 | Lab: any;
944 | Lamp: any;
945 | Lamp_alt: any;
946 | Landing: any;
947 | Landscape1: any;
948 | Landscape2: any;
949 | LineChart: any;
950 | Link: any;
951 | LinkedIn: any;
952 | Linux: any;
953 | List: any;
954 | Location: any;
955 | Lock: any;
956 | Locked: any;
957 | Magic: any;
958 | Magnet: any;
959 | Mail: any;
960 | Man: any;
961 | Merge: any;
962 | Mic: any;
963 | MicMute: any;
964 | Minus: any;
965 | NewWindow: any;
966 | No: any;
967 | NoMagnet: any;
968 | NodeJs: any;
969 | Notebook: any;
970 | Noview: any;
971 | Opera: any;
972 | Package: any;
973 | Page: any;
974 | Page2: any;
975 | Pallete: any;
976 | Palm: any;
977 | Paper: any;
978 | Parent: any;
979 | Pc: any;
980 | Pen: any;
981 | Pensil: any;
982 | People: any;
983 | Phone: any;
984 | Photo: any;
985 | Picker: any;
986 | Picture: any;
987 | PieChart: any;
988 | Plane: any;
989 | Plugin: any;
990 | Plus: any;
991 | Power: any;
992 | Ppt: any;
993 | Printer: any;
994 | Quote: any;
995 | Rain: any;
996 | Raphael: any;
997 | ReflectH: any;
998 | ReflectV: any;
999 | Refresh: any;
1000 | Resize2: any;
1001 | Rotate: any;
1002 | Ruler: any;
1003 | Run: any;
1004 | Rw: any;
1005 | Safari: any;
1006 | ScrewDriver: any;
1007 | Search: any;
1008 | Sencha: any;
1009 | Settings: any;
1010 | SettingsAlt: any;
1011 | Shuffle: any;
1012 | Skull: any;
1013 | Skype: any;
1014 | SlideShare: any;
1015 | Smile: any;
1016 | Smile2: any;
1017 | Snow: any;
1018 | Split: any;
1019 | Star: any;
1020 | Star2: any;
1021 | Star2Off: any;
1022 | Star3: any;
1023 | Star3Off: any;
1024 | StarOff: any;
1025 | Start: any;
1026 | Sticker: any;
1027 | Stop: any;
1028 | StopWatch: any;
1029 | Sun: any;
1030 | Svg: any;
1031 | TShirt: any;
1032 | Tag: any;
1033 | TakeOff: any;
1034 | Talke: any;
1035 | Talkq: any;
1036 | Thunder: any;
1037 | Trash: any;
1038 | Twitter: any;
1039 | TwitterBird: any;
1040 | Umbrella: any;
1041 | Undo: any;
1042 | Unlock: any;
1043 | Usb: any;
1044 | User: any;
1045 | Users: any;
1046 | Video: any;
1047 | View: any;
1048 | Vim: any;
1049 | Volume0: any;
1050 | Volume1: any;
1051 | Volume2: any;
1052 | Volume3: any;
1053 | Warning: any;
1054 | WheelChair: any;
1055 | Windows: any;
1056 | Woman: any;
1057 | Wrench: any;
1058 | Wrench2: any;
1059 | Wrench3: any;
1060 | ZoomIn: any;
1061 | ZoomOut: any;
1062 | };
1063 | layout: {
1064 | FlexGridLayout: any;
1065 | HorizontalLayout: any;
1066 | Layout: any;
1067 | StackLayout: any;
1068 | TableLayout: any;
1069 | VerticalLayout: any;
1070 | };
1071 | node: {
1072 | Between: any;
1073 | End: any;
1074 | Fulcrum: any;
1075 | HorizontalBus: any;
1076 | Hub: any;
1077 | Node: any;
1078 | Start: any;
1079 | VerticalBus: any;
1080 | };
1081 | note: {
1082 | PostIt: any;
1083 | };
1084 | pert: {
1085 | Activity: any;
1086 | Start: any;
1087 | };
1088 | state: {
1089 | Connection: any;
1090 | End: any;
1091 | Start: any;
1092 | State: any;
1093 | };
1094 | widget: {
1095 | Slider: any;
1096 | Widget: any;
1097 | };
1098 | };
1099 | const storage: {};
1100 | namespace command {
1101 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1102 | const Command: any;
1103 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1104 | const CommandAdd: any;
1105 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1106 | const CommandAddVertex: any;
1107 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1108 | const CommandAssignFigure: any;
1109 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1110 | const CommandAttr: any;
1111 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1112 | const CommandBoundingBox: any;
1113 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1114 | const CommandCollection: any;
1115 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1116 | const CommandConnect: any;
1117 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1118 | const CommandDelete: any;
1119 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1120 | const CommandDeleteGroup: any;
1121 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1122 | const CommandGroup: any;
1123 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1124 | const CommandMove: any;
1125 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1126 | const CommandMoveConnection: any;
1127 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1128 | const CommandMoveLine: any;
1129 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1130 | const CommandMoveVertex: any;
1131 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1132 | const CommandMoveVertices: any;
1133 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1134 | const CommandReconnect: any;
1135 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1136 | const CommandRemoveVertex: any;
1137 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1138 | const CommandReplaceVertices: any;
1139 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1140 | const CommandResize: any;
1141 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1142 | const CommandRotate: any;
1143 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1144 | const CommandStack: any;
1145 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1146 | const CommandStackEvent: any;
1147 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1148 | const CommandStackEventListener: any;
1149 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1150 | const CommandType: any;
1151 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.command
1152 | const CommandUngroup: any;
1153 | }
1154 | namespace geo {
1155 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.geo
1156 | const Line: any;
1157 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.geo
1158 | const Point: any;
1159 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.geo
1160 | const PositionConstants: any;
1161 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.geo
1162 | const Ray: any;
1163 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.geo
1164 | const Rectangle: any;
1165 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.geo
1166 | const Util: any;
1167 | }
1168 | namespace io {
1169 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.io
1170 | const Reader: any;
1171 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.io
1172 | const Writer: any;
1173 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.io
1174 | const json: any;
1175 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.io
1176 | const png: any;
1177 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.io
1178 | const svg: any;
1179 | }
1180 | namespace policy {
1181 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.policy
1182 | const EditPolicy: any;
1183 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.policy
1184 | const canvas: any;
1185 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.policy
1186 | const connection: any;
1187 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.policy
1188 | const figure: any;
1189 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.policy
1190 | const line: any;
1191 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.policy
1192 | const port: any;
1193 | }
1194 | namespace ui {
1195 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.ui
1196 | const LabelEditor: any;
1197 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.ui
1198 | const LabelInplaceEditor: any;
1199 | }
1200 | namespace util {
1201 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.util
1202 | const ArrayList: any;
1203 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.util
1204 | const Base64: any;
1205 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.util
1206 | const Color: any;
1207 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.util
1208 | const JSON: any;
1209 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.util
1210 | const UUID: any;
1211 | // Too-deep object hierarchy from draw2d.Connection.DROP_FILTER.draw2d.util
1212 | const spline: any;
1213 | }
1214 | }
1215 |
1216 |
--------------------------------------------------------------------------------
/dist/src/bundle.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /*!
2 | * JavaScript Debug - v0.4 - 6/22/2010
3 | * http://benalman.com/projects/javascript-debug-console-log/
4 | *
5 | * Copyright (c) 2010 "Cowboy" Ben Alman
6 | * Dual licensed under the MIT and GPL licenses.
7 | * http://benalman.com/about/license/
8 | *
9 | * With lots of help from Paul Irish!
10 | * http://paulirish.com/
11 | */
12 |
13 | /*!
14 | * Sizzle CSS Selector Engine v2.3.6
15 | * https://sizzlejs.com/
16 | *
17 | * Copyright JS Foundation and other contributors
18 | * Released under the MIT license
19 | * https://js.foundation/
20 | *
21 | * Date: 2021-02-16
22 | */
23 |
24 | /*!
25 | * The buffer module from node.js, for the browser.
26 | *
27 | * @author Feross Aboukhadijeh
28 | * @license MIT
29 | */
30 |
31 | /*!
32 | * jQuery Color Animations v2.2.0
33 | * https://github.com/jquery/jquery-color
34 | *
35 | * Copyright OpenJS Foundation and other contributors
36 | * Released under the MIT license.
37 | * http://jquery.org/license
38 | *
39 | * Date: Sun May 10 09:02:36 2020 +0200
40 | */
41 |
42 | /*!
43 | * jQuery JavaScript Library v3.6.0
44 | * https://jquery.com/
45 | *
46 | * Includes Sizzle.js
47 | * https://sizzlejs.com/
48 | *
49 | * Copyright OpenJS Foundation and other contributors
50 | * Released under the MIT license
51 | * https://jquery.org/license
52 | *
53 | * Date: 2021-03-02T17:08Z
54 | */
55 |
56 | /*!
57 | * jQuery UI :data 1.13.0
58 | * http://jqueryui.com
59 | *
60 | * Copyright jQuery Foundation and other contributors
61 | * Released under the MIT license.
62 | * http://jquery.org/license
63 | */
64 |
65 | /*!
66 | * jQuery UI Accordion 1.13.0
67 | * http://jqueryui.com
68 | *
69 | * Copyright jQuery Foundation and other contributors
70 | * Released under the MIT license.
71 | * http://jquery.org/license
72 | */
73 |
74 | /*!
75 | * jQuery UI Autocomplete 1.13.0
76 | * http://jqueryui.com
77 | *
78 | * Copyright jQuery Foundation and other contributors
79 | * Released under the MIT license.
80 | * http://jquery.org/license
81 | */
82 |
83 | /*!
84 | * jQuery UI Button 1.13.0
85 | * http://jqueryui.com
86 | *
87 | * Copyright jQuery Foundation and other contributors
88 | * Released under the MIT license.
89 | * http://jquery.org/license
90 | */
91 |
92 | /*!
93 | * jQuery UI Checkboxradio 1.13.0
94 | * http://jqueryui.com
95 | *
96 | * Copyright jQuery Foundation and other contributors
97 | * Released under the MIT license.
98 | * http://jquery.org/license
99 | */
100 |
101 | /*!
102 | * jQuery UI Controlgroup 1.13.0
103 | * http://jqueryui.com
104 | *
105 | * Copyright jQuery Foundation and other contributors
106 | * Released under the MIT license.
107 | * http://jquery.org/license
108 | */
109 |
110 | /*!
111 | * jQuery UI Datepicker 1.13.0
112 | * http://jqueryui.com
113 | *
114 | * Copyright jQuery Foundation and other contributors
115 | * Released under the MIT license.
116 | * http://jquery.org/license
117 | */
118 |
119 | /*!
120 | * jQuery UI Dialog 1.13.0
121 | * http://jqueryui.com
122 | *
123 | * Copyright jQuery Foundation and other contributors
124 | * Released under the MIT license.
125 | * http://jquery.org/license
126 | */
127 |
128 | /*!
129 | * jQuery UI Disable Selection 1.13.0
130 | * http://jqueryui.com
131 | *
132 | * Copyright jQuery Foundation and other contributors
133 | * Released under the MIT license.
134 | * http://jquery.org/license
135 | */
136 |
137 | /*!
138 | * jQuery UI Draggable 1.13.0
139 | * http://jqueryui.com
140 | *
141 | * Copyright jQuery Foundation and other contributors
142 | * Released under the MIT license.
143 | * http://jquery.org/license
144 | */
145 |
146 | /*!
147 | * jQuery UI Droppable 1.13.0
148 | * http://jqueryui.com
149 | *
150 | * Copyright jQuery Foundation and other contributors
151 | * Released under the MIT license.
152 | * http://jquery.org/license
153 | */
154 |
155 | /*!
156 | * jQuery UI Effects 1.13.0
157 | * http://jqueryui.com
158 | *
159 | * Copyright jQuery Foundation and other contributors
160 | * Released under the MIT license.
161 | * http://jquery.org/license
162 | */
163 |
164 | /*!
165 | * jQuery UI Effects Blind 1.13.0
166 | * http://jqueryui.com
167 | *
168 | * Copyright jQuery Foundation and other contributors
169 | * Released under the MIT license.
170 | * http://jquery.org/license
171 | */
172 |
173 | /*!
174 | * jQuery UI Effects Bounce 1.13.0
175 | * http://jqueryui.com
176 | *
177 | * Copyright jQuery Foundation and other contributors
178 | * Released under the MIT license.
179 | * http://jquery.org/license
180 | */
181 |
182 | /*!
183 | * jQuery UI Effects Clip 1.13.0
184 | * http://jqueryui.com
185 | *
186 | * Copyright jQuery Foundation and other contributors
187 | * Released under the MIT license.
188 | * http://jquery.org/license
189 | */
190 |
191 | /*!
192 | * jQuery UI Effects Drop 1.13.0
193 | * http://jqueryui.com
194 | *
195 | * Copyright jQuery Foundation and other contributors
196 | * Released under the MIT license.
197 | * http://jquery.org/license
198 | */
199 |
200 | /*!
201 | * jQuery UI Effects Explode 1.13.0
202 | * http://jqueryui.com
203 | *
204 | * Copyright jQuery Foundation and other contributors
205 | * Released under the MIT license.
206 | * http://jquery.org/license
207 | */
208 |
209 | /*!
210 | * jQuery UI Effects Fade 1.13.0
211 | * http://jqueryui.com
212 | *
213 | * Copyright jQuery Foundation and other contributors
214 | * Released under the MIT license.
215 | * http://jquery.org/license
216 | */
217 |
218 | /*!
219 | * jQuery UI Effects Fold 1.13.0
220 | * http://jqueryui.com
221 | *
222 | * Copyright jQuery Foundation and other contributors
223 | * Released under the MIT license.
224 | * http://jquery.org/license
225 | */
226 |
227 | /*!
228 | * jQuery UI Effects Highlight 1.13.0
229 | * http://jqueryui.com
230 | *
231 | * Copyright jQuery Foundation and other contributors
232 | * Released under the MIT license.
233 | * http://jquery.org/license
234 | */
235 |
236 | /*!
237 | * jQuery UI Effects Puff 1.13.0
238 | * http://jqueryui.com
239 | *
240 | * Copyright jQuery Foundation and other contributors
241 | * Released under the MIT license.
242 | * http://jquery.org/license
243 | */
244 |
245 | /*!
246 | * jQuery UI Effects Pulsate 1.13.0
247 | * http://jqueryui.com
248 | *
249 | * Copyright jQuery Foundation and other contributors
250 | * Released under the MIT license.
251 | * http://jquery.org/license
252 | */
253 |
254 | /*!
255 | * jQuery UI Effects Scale 1.13.0
256 | * http://jqueryui.com
257 | *
258 | * Copyright jQuery Foundation and other contributors
259 | * Released under the MIT license.
260 | * http://jquery.org/license
261 | */
262 |
263 | /*!
264 | * jQuery UI Effects Shake 1.13.0
265 | * http://jqueryui.com
266 | *
267 | * Copyright jQuery Foundation and other contributors
268 | * Released under the MIT license.
269 | * http://jquery.org/license
270 | */
271 |
272 | /*!
273 | * jQuery UI Effects Size 1.13.0
274 | * http://jqueryui.com
275 | *
276 | * Copyright jQuery Foundation and other contributors
277 | * Released under the MIT license.
278 | * http://jquery.org/license
279 | */
280 |
281 | /*!
282 | * jQuery UI Effects Slide 1.13.0
283 | * http://jqueryui.com
284 | *
285 | * Copyright jQuery Foundation and other contributors
286 | * Released under the MIT license.
287 | * http://jquery.org/license
288 | */
289 |
290 | /*!
291 | * jQuery UI Effects Transfer 1.13.0
292 | * http://jqueryui.com
293 | *
294 | * Copyright jQuery Foundation and other contributors
295 | * Released under the MIT license.
296 | * http://jquery.org/license
297 | */
298 |
299 | /*!
300 | * jQuery UI Focusable 1.13.0
301 | * http://jqueryui.com
302 | *
303 | * Copyright jQuery Foundation and other contributors
304 | * Released under the MIT license.
305 | * http://jquery.org/license
306 | */
307 |
308 | /*!
309 | * jQuery UI Form Reset Mixin 1.13.0
310 | * http://jqueryui.com
311 | *
312 | * Copyright jQuery Foundation and other contributors
313 | * Released under the MIT license.
314 | * http://jquery.org/license
315 | */
316 |
317 | /*!
318 | * jQuery UI Keycode 1.13.0
319 | * http://jqueryui.com
320 | *
321 | * Copyright jQuery Foundation and other contributors
322 | * Released under the MIT license.
323 | * http://jquery.org/license
324 | */
325 |
326 | /*!
327 | * jQuery UI Labels 1.13.0
328 | * http://jqueryui.com
329 | *
330 | * Copyright jQuery Foundation and other contributors
331 | * Released under the MIT license.
332 | * http://jquery.org/license
333 | */
334 |
335 | /*!
336 | * jQuery UI Menu 1.13.0
337 | * http://jqueryui.com
338 | *
339 | * Copyright jQuery Foundation and other contributors
340 | * Released under the MIT license.
341 | * http://jquery.org/license
342 | */
343 |
344 | /*!
345 | * jQuery UI Mouse 1.13.0
346 | * http://jqueryui.com
347 | *
348 | * Copyright jQuery Foundation and other contributors
349 | * Released under the MIT license.
350 | * http://jquery.org/license
351 | */
352 |
353 | /*!
354 | * jQuery UI Position 1.13.0
355 | * http://jqueryui.com
356 | *
357 | * Copyright jQuery Foundation and other contributors
358 | * Released under the MIT license.
359 | * http://jquery.org/license
360 | *
361 | * http://api.jqueryui.com/position/
362 | */
363 |
364 | /*!
365 | * jQuery UI Progressbar 1.13.0
366 | * http://jqueryui.com
367 | *
368 | * Copyright jQuery Foundation and other contributors
369 | * Released under the MIT license.
370 | * http://jquery.org/license
371 | */
372 |
373 | /*!
374 | * jQuery UI Resizable 1.13.0
375 | * http://jqueryui.com
376 | *
377 | * Copyright jQuery Foundation and other contributors
378 | * Released under the MIT license.
379 | * http://jquery.org/license
380 | */
381 |
382 | /*!
383 | * jQuery UI Scroll Parent 1.13.0
384 | * http://jqueryui.com
385 | *
386 | * Copyright jQuery Foundation and other contributors
387 | * Released under the MIT license.
388 | * http://jquery.org/license
389 | */
390 |
391 | /*!
392 | * jQuery UI Selectable 1.13.0
393 | * http://jqueryui.com
394 | *
395 | * Copyright jQuery Foundation and other contributors
396 | * Released under the MIT license.
397 | * http://jquery.org/license
398 | */
399 |
400 | /*!
401 | * jQuery UI Selectmenu 1.13.0
402 | * http://jqueryui.com
403 | *
404 | * Copyright jQuery Foundation and other contributors
405 | * Released under the MIT license.
406 | * http://jquery.org/license
407 | */
408 |
409 | /*!
410 | * jQuery UI Slider 1.13.0
411 | * http://jqueryui.com
412 | *
413 | * Copyright jQuery Foundation and other contributors
414 | * Released under the MIT license.
415 | * http://jquery.org/license
416 | */
417 |
418 | /*!
419 | * jQuery UI Sortable 1.13.0
420 | * http://jqueryui.com
421 | *
422 | * Copyright jQuery Foundation and other contributors
423 | * Released under the MIT license.
424 | * http://jquery.org/license
425 | */
426 |
427 | /*!
428 | * jQuery UI Spinner 1.13.0
429 | * http://jqueryui.com
430 | *
431 | * Copyright jQuery Foundation and other contributors
432 | * Released under the MIT license.
433 | * http://jquery.org/license
434 | */
435 |
436 | /*!
437 | * jQuery UI Tabbable 1.13.0
438 | * http://jqueryui.com
439 | *
440 | * Copyright jQuery Foundation and other contributors
441 | * Released under the MIT license.
442 | * http://jquery.org/license
443 | */
444 |
445 | /*!
446 | * jQuery UI Tabs 1.13.0
447 | * http://jqueryui.com
448 | *
449 | * Copyright jQuery Foundation and other contributors
450 | * Released under the MIT license.
451 | * http://jquery.org/license
452 | */
453 |
454 | /*!
455 | * jQuery UI Tooltip 1.13.0
456 | * http://jqueryui.com
457 | *
458 | * Copyright jQuery Foundation and other contributors
459 | * Released under the MIT license.
460 | * http://jquery.org/license
461 | */
462 |
463 | /*!
464 | * jQuery UI Unique ID 1.13.0
465 | * http://jqueryui.com
466 | *
467 | * Copyright jQuery Foundation and other contributors
468 | * Released under the MIT license.
469 | * http://jquery.org/license
470 | */
471 |
472 | /*!
473 | * jQuery UI Widget 1.13.0
474 | * http://jqueryui.com
475 | *
476 | * Copyright jQuery Foundation and other contributors
477 | * Released under the MIT license.
478 | * http://jquery.org/license
479 | */
480 |
481 | /*!
482 | * jQuery contextMenu - Plugin for simple contextMenu handling
483 | *
484 | * Version: 1.6.5
485 | *
486 | * Authors: Rodney Rehm, Addy Osmani (patches for FF)
487 | * Web: http://medialize.github.com/jQuery-contextMenu/
488 | *
489 | * Licensed under
490 | * MIT License http://www.opensource.org/licenses/mit-license
491 | * GPL v3 http://opensource.org/licenses/GPL-3.0
492 | *
493 | */
494 |
495 | /*! !../../node_modules/css-loader!./contextmenu.css */
496 |
497 | /*! !./node_modules/raw-loader!./src/lib/Class.exec.js */
498 |
499 | /*! !./node_modules/raw-loader!./src/lib/pathfinding.exec.js */
500 |
501 | /*! !./node_modules/raw-loader!./src/lib/raphael.exec.js */
502 |
503 | /*! !./node_modules/script-loader/addScript.js */
504 |
505 | /*! ../../node_modules/css-loader/lib/css-base.js */
506 |
507 | /*! ../../node_modules/style-loader/lib/addStyles.js */
508 |
509 | /*! ../../packages */
510 |
511 | /*! ../../util/Color */
512 |
513 | /*! ../../util/JSONUtil */
514 |
515 | /*! ../../util/extend */
516 |
517 | /*! ../packages */
518 |
519 | /*! ../util/extend */
520 |
521 | /*! ./../../node_modules/webpack/buildin/global.js */
522 |
523 | /*! ./Canvas */
524 |
525 | /*! ./Configuration */
526 |
527 | /*! ./Connection */
528 |
529 | /*! ./Figure */
530 |
531 | /*! ./HeadlessCanvas */
532 |
533 | /*! ./HybridPort */
534 |
535 | /*! ./InputPort */
536 |
537 | /*! ./OutputPort */
538 |
539 | /*! ./Port */
540 |
541 | /*! ./ResizeHandle */
542 |
543 | /*! ./SVGFigure */
544 |
545 | /*! ./Selection */
546 |
547 | /*! ./SetFigure */
548 |
549 | /*! ./VectorFigure */
550 |
551 | /*! ./command/Command */
552 |
553 | /*! ./command/CommandAdd */
554 |
555 | /*! ./command/CommandAddVertex */
556 |
557 | /*! ./command/CommandAssignFigure */
558 |
559 | /*! ./command/CommandAttr */
560 |
561 | /*! ./command/CommandBoundingBox */
562 |
563 | /*! ./command/CommandCollection */
564 |
565 | /*! ./command/CommandConnect */
566 |
567 | /*! ./command/CommandDelete */
568 |
569 | /*! ./command/CommandDeleteGroup */
570 |
571 | /*! ./command/CommandGroup */
572 |
573 | /*! ./command/CommandMove */
574 |
575 | /*! ./command/CommandMoveConnection */
576 |
577 | /*! ./command/CommandMoveLine */
578 |
579 | /*! ./command/CommandMoveVertex */
580 |
581 | /*! ./command/CommandMoveVertices */
582 |
583 | /*! ./command/CommandReconnect */
584 |
585 | /*! ./command/CommandRemoveVertex */
586 |
587 | /*! ./command/CommandReplaceVertices */
588 |
589 | /*! ./command/CommandResize */
590 |
591 | /*! ./command/CommandRotate */
592 |
593 | /*! ./command/CommandStack */
594 |
595 | /*! ./command/CommandStackEvent */
596 |
597 | /*! ./command/CommandStackEventListener */
598 |
599 | /*! ./command/CommandType */
600 |
601 | /*! ./command/CommandUngroup */
602 |
603 | /*! ./decoration/connection/ArrowDecorator */
604 |
605 | /*! ./decoration/connection/BarDecorator */
606 |
607 | /*! ./decoration/connection/CircleDecorator */
608 |
609 | /*! ./decoration/connection/Decorator */
610 |
611 | /*! ./decoration/connection/DiamondDecorator */
612 |
613 | /*! ./dom */
614 |
615 | /*! ./geo/Line */
616 |
617 | /*! ./geo/Point */
618 |
619 | /*! ./geo/PositionConstants */
620 |
621 | /*! ./geo/Ray */
622 |
623 | /*! ./geo/Rectangle */
624 |
625 | /*! ./geo/Util */
626 |
627 | /*! ./io/Reader */
628 |
629 | /*! ./io/Writer */
630 |
631 | /*! ./io/json/Reader */
632 |
633 | /*! ./io/json/Writer */
634 |
635 | /*! ./io/png/Writer */
636 |
637 | /*! ./io/svg/Writer */
638 |
639 | /*! ./layout/anchor/CenterEdgeConnectionAnchor */
640 |
641 | /*! ./layout/anchor/ChopboxConnectionAnchor */
642 |
643 | /*! ./layout/anchor/ConnectionAnchor */
644 |
645 | /*! ./layout/anchor/FanConnectionAnchor */
646 |
647 | /*! ./layout/anchor/ShortesPathConnectionAnchor */
648 |
649 | /*! ./layout/connection/CircuitConnectionRouter */
650 |
651 | /*! ./layout/connection/ConnectionRouter */
652 |
653 | /*! ./layout/connection/DirectRouter */
654 |
655 | /*! ./layout/connection/FanConnectionRouter */
656 |
657 | /*! ./layout/connection/InteractiveManhattanConnectionRouter */
658 |
659 | /*! ./layout/connection/ManhattanBridgedConnectionRouter */
660 |
661 | /*! ./layout/connection/ManhattanConnectionRouter */
662 |
663 | /*! ./layout/connection/MazeConnectionRouter */
664 |
665 | /*! ./layout/connection/MuteableManhattanConnectionRouter */
666 |
667 | /*! ./layout/connection/RubberbandRouter */
668 |
669 | /*! ./layout/connection/SketchConnectionRouter */
670 |
671 | /*! ./layout/connection/SplineConnectionRouter */
672 |
673 | /*! ./layout/connection/VertexRouter */
674 |
675 | /*! ./layout/locator/BottomLocator */
676 |
677 | /*! ./layout/locator/CenterLocator */
678 |
679 | /*! ./layout/locator/ConnectionLocator */
680 |
681 | /*! ./layout/locator/DraggableLocator */
682 |
683 | /*! ./layout/locator/InputPortLocator */
684 |
685 | /*! ./layout/locator/LeftLocator */
686 |
687 | /*! ./layout/locator/Locator */
688 |
689 | /*! ./layout/locator/ManhattanMidpointLocator */
690 |
691 | /*! ./layout/locator/OutputPortLocator */
692 |
693 | /*! ./layout/locator/ParallelMidpointLocator */
694 |
695 | /*! ./layout/locator/PolylineMidpointLocator */
696 |
697 | /*! ./layout/locator/PortLocator */
698 |
699 | /*! ./layout/locator/RightLocator */
700 |
701 | /*! ./layout/locator/SmartDraggableLocator */
702 |
703 | /*! ./layout/locator/TopLocator */
704 |
705 | /*! ./layout/locator/XYAbsPortLocator */
706 |
707 | /*! ./layout/locator/XYRelPortLocator */
708 |
709 | /*! ./layout/mesh/ExplodeLayouter */
710 |
711 | /*! ./layout/mesh/MeshLayouter */
712 |
713 | /*! ./layout/mesh/ProposedMeshChange */
714 |
715 | /*! ./policy/EditPolicy */
716 |
717 | /*! ./policy/canvas/BoundingboxSelectionPolicy */
718 |
719 | /*! ./policy/canvas/CanvasPolicy */
720 |
721 | /*! ./policy/canvas/CoronaDecorationPolicy */
722 |
723 | /*! ./policy/canvas/DecorationPolicy */
724 |
725 | /*! ./policy/canvas/DefaultKeyboardPolicy */
726 |
727 | /*! ./policy/canvas/DropInterceptorPolicy */
728 |
729 | /*! ./policy/canvas/ExtendedKeyboardPolicy */
730 |
731 | /*! ./policy/canvas/FadeoutDecorationPolicy */
732 |
733 | /*! ./policy/canvas/GhostMoveSelectionPolicy */
734 |
735 | /*! ./policy/canvas/KeyboardPolicy */
736 |
737 | /*! ./policy/canvas/PanningSelectionPolicy */
738 |
739 | /*! ./policy/canvas/ReadOnlySelectionPolicy */
740 |
741 | /*! ./policy/canvas/SelectionPolicy */
742 |
743 | /*! ./policy/canvas/ShowChessboardEditPolicy */
744 |
745 | /*! ./policy/canvas/ShowDimetricGridEditPolicy */
746 |
747 | /*! ./policy/canvas/ShowDotEditPolicy */
748 |
749 | /*! ./policy/canvas/ShowGridEditPolicy */
750 |
751 | /*! ./policy/canvas/SingleSelectionPolicy */
752 |
753 | /*! ./policy/canvas/SnapToCenterEditPolicy */
754 |
755 | /*! ./policy/canvas/SnapToDimetricGridEditPolicy */
756 |
757 | /*! ./policy/canvas/SnapToEditPolicy */
758 |
759 | /*! ./policy/canvas/SnapToGeometryEditPolicy */
760 |
761 | /*! ./policy/canvas/SnapToGridEditPolicy */
762 |
763 | /*! ./policy/canvas/SnapToInBetweenEditPolicy */
764 |
765 | /*! ./policy/canvas/SnapToVerticesEditPolicy */
766 |
767 | /*! ./policy/canvas/WheelZoomPolicy */
768 |
769 | /*! ./policy/canvas/ZoomPolicy */
770 |
771 | /*! ./policy/connection/ClickConnectionCreatePolicy */
772 |
773 | /*! ./policy/connection/ComposedConnectionCreatePolicy */
774 |
775 | /*! ./policy/connection/ConnectionCreatePolicy */
776 |
777 | /*! ./policy/connection/DragConnectionCreatePolicy */
778 |
779 | /*! ./policy/connection/OrthogonalConnectionCreatePolicy */
780 |
781 | /*! ./policy/figure/AntSelectionFeedbackPolicy */
782 |
783 | /*! ./policy/figure/BigRectangleSelectionFeedbackPolicy */
784 |
785 | /*! ./policy/figure/BusSelectionFeedbackPolicy */
786 |
787 | /*! ./policy/figure/DragDropEditPolicy */
788 |
789 | /*! ./policy/figure/FigureEditPolicy */
790 |
791 | /*! ./policy/figure/GlowSelectionFeedbackPolicy */
792 |
793 | /*! ./policy/figure/HBusSelectionFeedbackPolicy */
794 |
795 | /*! ./policy/figure/HorizontalEditPolicy */
796 |
797 | /*! ./policy/figure/RectangleSelectionFeedbackPolicy */
798 |
799 | /*! ./policy/figure/RegionEditPolicy */
800 |
801 | /*! ./policy/figure/ResizeSelectionFeedbackPolicy */
802 |
803 | /*! ./policy/figure/RoundRectangleSelectionFeedbackPolicy */
804 |
805 | /*! ./policy/figure/SelectionFeedbackPolicy */
806 |
807 | /*! ./policy/figure/SelectionPolicy */
808 |
809 | /*! ./policy/figure/SlimSelectionFeedbackPolicy */
810 |
811 | /*! ./policy/figure/VBusSelectionFeedbackPolicy */
812 |
813 | /*! ./policy/figure/VertexSelectionFeedbackPolicy */
814 |
815 | /*! ./policy/figure/VerticalEditPolicy */
816 |
817 | /*! ./policy/figure/WidthSelectionFeedbackPolicy */
818 |
819 | /*! ./policy/line/LineSelectionFeedbackPolicy */
820 |
821 | /*! ./policy/line/OrthogonalSelectionFeedbackPolicy */
822 |
823 | /*! ./policy/line/VertexSelectionFeedbackPolicy */
824 |
825 | /*! ./policy/port/ElasticStrapFeedbackPolicy */
826 |
827 | /*! ./policy/port/IntrusivePortsFeedbackPolicy */
828 |
829 | /*! ./policy/port/PortFeedbackPolicy */
830 |
831 | /*! ./sax */
832 |
833 | /*! ./shape/analog/OpAmp */
834 |
835 | /*! ./shape/analog/ResistorBridge */
836 |
837 | /*! ./shape/analog/ResistorVertical */
838 |
839 | /*! ./shape/analog/VoltageSupplyHorizontal */
840 |
841 | /*! ./shape/analog/VoltageSupplyVertical */
842 |
843 | /*! ./shape/arrow/CalligrapherArrowDownLeft */
844 |
845 | /*! ./shape/arrow/CalligrapherArrowLeft */
846 |
847 | /*! ./shape/basic/Arc */
848 |
849 | /*! ./shape/basic/Circle */
850 |
851 | /*! ./shape/basic/Diamond */
852 |
853 | /*! ./shape/basic/GhostVertexResizeHandle */
854 |
855 | /*! ./shape/basic/Image */
856 |
857 | /*! ./shape/basic/Label */
858 |
859 | /*! ./shape/basic/Line */
860 |
861 | /*! ./shape/basic/LineEndResizeHandle */
862 |
863 | /*! ./shape/basic/LineResizeHandle */
864 |
865 | /*! ./shape/basic/LineStartResizeHandle */
866 |
867 | /*! ./shape/basic/Oval */
868 |
869 | /*! ./shape/basic/PolyLine */
870 |
871 | /*! ./shape/basic/Polygon */
872 |
873 | /*! ./shape/basic/Rectangle */
874 |
875 | /*! ./shape/basic/Text */
876 |
877 | /*! ./shape/basic/VertexResizeHandle */
878 |
879 | /*! ./shape/composite/Composite */
880 |
881 | /*! ./shape/composite/Group */
882 |
883 | /*! ./shape/composite/Jailhouse */
884 |
885 | /*! ./shape/composite/Raft */
886 |
887 | /*! ./shape/composite/StrongComposite */
888 |
889 | /*! ./shape/composite/WeakComposite */
890 |
891 | /*! ./shape/diagram/Diagram */
892 |
893 | /*! ./shape/diagram/Pie */
894 |
895 | /*! ./shape/diagram/Sparkline */
896 |
897 | /*! ./shape/dimetric/Rectangle */
898 |
899 | /*! ./shape/flowchart/Document */
900 |
901 | /*! ./shape/icon/Acw */
902 |
903 | /*! ./shape/icon/Alarm */
904 |
905 | /*! ./shape/icon/Anonymous */
906 |
907 | /*! ./shape/icon/Apple */
908 |
909 | /*! ./shape/icon/Apps */
910 |
911 | /*! ./shape/icon/ArrowDown */
912 |
913 | /*! ./shape/icon/ArrowLeft */
914 |
915 | /*! ./shape/icon/ArrowLeft2 */
916 |
917 | /*! ./shape/icon/ArrowRight */
918 |
919 | /*! ./shape/icon/ArrowRight2 */
920 |
921 | /*! ./shape/icon/ArrowUp */
922 |
923 | /*! ./shape/icon/Aumade */
924 |
925 | /*! ./shape/icon/BarChart */
926 |
927 | /*! ./shape/icon/BioHazard */
928 |
929 | /*! ./shape/icon/Book */
930 |
931 | /*! ./shape/icon/Bookmark */
932 |
933 | /*! ./shape/icon/Books */
934 |
935 | /*! ./shape/icon/Bubble */
936 |
937 | /*! ./shape/icon/Bug */
938 |
939 | /*! ./shape/icon/Calendar */
940 |
941 | /*! ./shape/icon/Cart */
942 |
943 | /*! ./shape/icon/Ccw */
944 |
945 | /*! ./shape/icon/Chat */
946 |
947 | /*! ./shape/icon/Check */
948 |
949 | /*! ./shape/icon/Chrome */
950 |
951 | /*! ./shape/icon/Clip */
952 |
953 | /*! ./shape/icon/Clock */
954 |
955 | /*! ./shape/icon/Cloud */
956 |
957 | /*! ./shape/icon/Cloud2 */
958 |
959 | /*! ./shape/icon/CloudDown */
960 |
961 | /*! ./shape/icon/CloudUp */
962 |
963 | /*! ./shape/icon/Cloudy */
964 |
965 | /*! ./shape/icon/Code */
966 |
967 | /*! ./shape/icon/CodeTalk */
968 |
969 | /*! ./shape/icon/CommandLine */
970 |
971 | /*! ./shape/icon/Connect */
972 |
973 | /*! ./shape/icon/Contract */
974 |
975 | /*! ./shape/icon/Crop */
976 |
977 | /*! ./shape/icon/Cross */
978 |
979 | /*! ./shape/icon/Cube */
980 |
981 | /*! ./shape/icon/Customer */
982 |
983 | /*! ./shape/icon/Db */
984 |
985 | /*! ./shape/icon/Detour */
986 |
987 | /*! ./shape/icon/Diagram */
988 |
989 | /*! ./shape/icon/Disconnect */
990 |
991 | /*! ./shape/icon/DockBottom */
992 |
993 | /*! ./shape/icon/DockLeft */
994 |
995 | /*! ./shape/icon/DockRight */
996 |
997 | /*! ./shape/icon/DockTop */
998 |
999 | /*! ./shape/icon/Download */
1000 |
1001 | /*! ./shape/icon/Dry */
1002 |
1003 | /*! ./shape/icon/Employee */
1004 |
1005 | /*! ./shape/icon/End */
1006 |
1007 | /*! ./shape/icon/Ethernet */
1008 |
1009 | /*! ./shape/icon/Exchange */
1010 |
1011 | /*! ./shape/icon/Expand */
1012 |
1013 | /*! ./shape/icon/Export */
1014 |
1015 | /*! ./shape/icon/Fave */
1016 |
1017 | /*! ./shape/icon/Feed */
1018 |
1019 | /*! ./shape/icon/Ff */
1020 |
1021 | /*! ./shape/icon/Firefox */
1022 |
1023 | /*! ./shape/icon/Flag */
1024 |
1025 | /*! ./shape/icon/Flickr */
1026 |
1027 | /*! ./shape/icon/Folder */
1028 |
1029 | /*! ./shape/icon/Font */
1030 |
1031 | /*! ./shape/icon/Fork */
1032 |
1033 | /*! ./shape/icon/ForkAlt */
1034 |
1035 | /*! ./shape/icon/FullCube */
1036 |
1037 | /*! ./shape/icon/Future */
1038 |
1039 | /*! ./shape/icon/GRaphael */
1040 |
1041 | /*! ./shape/icon/Gear */
1042 |
1043 | /*! ./shape/icon/Gear2 */
1044 |
1045 | /*! ./shape/icon/GitHub */
1046 |
1047 | /*! ./shape/icon/GitHubAlt */
1048 |
1049 | /*! ./shape/icon/Glasses */
1050 |
1051 | /*! ./shape/icon/Globe */
1052 |
1053 | /*! ./shape/icon/GlobeAlt */
1054 |
1055 | /*! ./shape/icon/GlobeAlt2 */
1056 |
1057 | /*! ./shape/icon/Hail */
1058 |
1059 | /*! ./shape/icon/Hammer */
1060 |
1061 | /*! ./shape/icon/HammerAndScrewDriver */
1062 |
1063 | /*! ./shape/icon/HangUp */
1064 |
1065 | /*! ./shape/icon/Help */
1066 |
1067 | /*! ./shape/icon/History */
1068 |
1069 | /*! ./shape/icon/Home */
1070 |
1071 | /*! ./shape/icon/IMac */
1072 |
1073 | /*! ./shape/icon/Icon */
1074 |
1075 | /*! ./shape/icon/Icons */
1076 |
1077 | /*! ./shape/icon/Ie */
1078 |
1079 | /*! ./shape/icon/Ie9 */
1080 |
1081 | /*! ./shape/icon/Import */
1082 |
1083 | /*! ./shape/icon/InkScape */
1084 |
1085 | /*! ./shape/icon/Ipad */
1086 |
1087 | /*! ./shape/icon/Iphone */
1088 |
1089 | /*! ./shape/icon/JQuery */
1090 |
1091 | /*! ./shape/icon/Jigsaw */
1092 |
1093 | /*! ./shape/icon/Key */
1094 |
1095 | /*! ./shape/icon/Lab */
1096 |
1097 | /*! ./shape/icon/Lamp */
1098 |
1099 | /*! ./shape/icon/Lamp_alt */
1100 |
1101 | /*! ./shape/icon/Landing */
1102 |
1103 | /*! ./shape/icon/Landscape1 */
1104 |
1105 | /*! ./shape/icon/Landscape2 */
1106 |
1107 | /*! ./shape/icon/LineChart */
1108 |
1109 | /*! ./shape/icon/Link */
1110 |
1111 | /*! ./shape/icon/LinkedIn */
1112 |
1113 | /*! ./shape/icon/Linux */
1114 |
1115 | /*! ./shape/icon/List */
1116 |
1117 | /*! ./shape/icon/Location */
1118 |
1119 | /*! ./shape/icon/Lock */
1120 |
1121 | /*! ./shape/icon/Locked */
1122 |
1123 | /*! ./shape/icon/Magic */
1124 |
1125 | /*! ./shape/icon/Magnet */
1126 |
1127 | /*! ./shape/icon/Mail */
1128 |
1129 | /*! ./shape/icon/Man */
1130 |
1131 | /*! ./shape/icon/Merge */
1132 |
1133 | /*! ./shape/icon/Mic */
1134 |
1135 | /*! ./shape/icon/MicMute */
1136 |
1137 | /*! ./shape/icon/Minus */
1138 |
1139 | /*! ./shape/icon/NewWindow */
1140 |
1141 | /*! ./shape/icon/No */
1142 |
1143 | /*! ./shape/icon/NoMagnet */
1144 |
1145 | /*! ./shape/icon/NodeJs */
1146 |
1147 | /*! ./shape/icon/Notebook */
1148 |
1149 | /*! ./shape/icon/Noview */
1150 |
1151 | /*! ./shape/icon/Opera */
1152 |
1153 | /*! ./shape/icon/Package */
1154 |
1155 | /*! ./shape/icon/Page */
1156 |
1157 | /*! ./shape/icon/Page2 */
1158 |
1159 | /*! ./shape/icon/Pallete */
1160 |
1161 | /*! ./shape/icon/Palm */
1162 |
1163 | /*! ./shape/icon/Paper */
1164 |
1165 | /*! ./shape/icon/Parent */
1166 |
1167 | /*! ./shape/icon/Pc */
1168 |
1169 | /*! ./shape/icon/Pen */
1170 |
1171 | /*! ./shape/icon/Pensil */
1172 |
1173 | /*! ./shape/icon/People */
1174 |
1175 | /*! ./shape/icon/Phone */
1176 |
1177 | /*! ./shape/icon/Photo */
1178 |
1179 | /*! ./shape/icon/Picker */
1180 |
1181 | /*! ./shape/icon/Picture */
1182 |
1183 | /*! ./shape/icon/PieChart */
1184 |
1185 | /*! ./shape/icon/Plane */
1186 |
1187 | /*! ./shape/icon/Plugin */
1188 |
1189 | /*! ./shape/icon/Plus */
1190 |
1191 | /*! ./shape/icon/Power */
1192 |
1193 | /*! ./shape/icon/Ppt */
1194 |
1195 | /*! ./shape/icon/Printer */
1196 |
1197 | /*! ./shape/icon/Quote */
1198 |
1199 | /*! ./shape/icon/Rain */
1200 |
1201 | /*! ./shape/icon/Raphael */
1202 |
1203 | /*! ./shape/icon/ReflectH */
1204 |
1205 | /*! ./shape/icon/ReflectV */
1206 |
1207 | /*! ./shape/icon/Refresh */
1208 |
1209 | /*! ./shape/icon/Resize2 */
1210 |
1211 | /*! ./shape/icon/Rotate */
1212 |
1213 | /*! ./shape/icon/Ruler */
1214 |
1215 | /*! ./shape/icon/Run */
1216 |
1217 | /*! ./shape/icon/Rw */
1218 |
1219 | /*! ./shape/icon/Safari */
1220 |
1221 | /*! ./shape/icon/ScrewDriver */
1222 |
1223 | /*! ./shape/icon/Search */
1224 |
1225 | /*! ./shape/icon/Sencha */
1226 |
1227 | /*! ./shape/icon/Settings */
1228 |
1229 | /*! ./shape/icon/SettingsAlt */
1230 |
1231 | /*! ./shape/icon/Shuffle */
1232 |
1233 | /*! ./shape/icon/Skull */
1234 |
1235 | /*! ./shape/icon/Skype */
1236 |
1237 | /*! ./shape/icon/SlideShare */
1238 |
1239 | /*! ./shape/icon/Smile */
1240 |
1241 | /*! ./shape/icon/Smile2 */
1242 |
1243 | /*! ./shape/icon/Snow */
1244 |
1245 | /*! ./shape/icon/Split */
1246 |
1247 | /*! ./shape/icon/Star */
1248 |
1249 | /*! ./shape/icon/Star2 */
1250 |
1251 | /*! ./shape/icon/Star2Off */
1252 |
1253 | /*! ./shape/icon/Star3 */
1254 |
1255 | /*! ./shape/icon/Star3Off */
1256 |
1257 | /*! ./shape/icon/StarOff */
1258 |
1259 | /*! ./shape/icon/Start */
1260 |
1261 | /*! ./shape/icon/Sticker */
1262 |
1263 | /*! ./shape/icon/Stop */
1264 |
1265 | /*! ./shape/icon/StopWatch */
1266 |
1267 | /*! ./shape/icon/Sun */
1268 |
1269 | /*! ./shape/icon/Svg */
1270 |
1271 | /*! ./shape/icon/TShirt */
1272 |
1273 | /*! ./shape/icon/Tag */
1274 |
1275 | /*! ./shape/icon/TakeOff */
1276 |
1277 | /*! ./shape/icon/Talke */
1278 |
1279 | /*! ./shape/icon/Talkq */
1280 |
1281 | /*! ./shape/icon/Thunder */
1282 |
1283 | /*! ./shape/icon/Trash */
1284 |
1285 | /*! ./shape/icon/Twitter */
1286 |
1287 | /*! ./shape/icon/TwitterBird */
1288 |
1289 | /*! ./shape/icon/Umbrella */
1290 |
1291 | /*! ./shape/icon/Undo */
1292 |
1293 | /*! ./shape/icon/Unlock */
1294 |
1295 | /*! ./shape/icon/Usb */
1296 |
1297 | /*! ./shape/icon/User */
1298 |
1299 | /*! ./shape/icon/Users */
1300 |
1301 | /*! ./shape/icon/Video */
1302 |
1303 | /*! ./shape/icon/View */
1304 |
1305 | /*! ./shape/icon/Vim */
1306 |
1307 | /*! ./shape/icon/Volume0 */
1308 |
1309 | /*! ./shape/icon/Volume1 */
1310 |
1311 | /*! ./shape/icon/Volume2 */
1312 |
1313 | /*! ./shape/icon/Volume3 */
1314 |
1315 | /*! ./shape/icon/Warning */
1316 |
1317 | /*! ./shape/icon/WheelChair */
1318 |
1319 | /*! ./shape/icon/Windows */
1320 |
1321 | /*! ./shape/icon/Woman */
1322 |
1323 | /*! ./shape/icon/Wrench */
1324 |
1325 | /*! ./shape/icon/Wrench2 */
1326 |
1327 | /*! ./shape/icon/Wrench3 */
1328 |
1329 | /*! ./shape/icon/ZoomIn */
1330 |
1331 | /*! ./shape/icon/ZoomOut */
1332 |
1333 | /*! ./shape/layout/FlexGridLayout */
1334 |
1335 | /*! ./shape/layout/HorizontalLayout */
1336 |
1337 | /*! ./shape/layout/Layout */
1338 |
1339 | /*! ./shape/layout/StackLayout */
1340 |
1341 | /*! ./shape/layout/TableLayout */
1342 |
1343 | /*! ./shape/layout/VerticalLayout */
1344 |
1345 | /*! ./shape/node/Between */
1346 |
1347 | /*! ./shape/node/End */
1348 |
1349 | /*! ./shape/node/Fulcrum */
1350 |
1351 | /*! ./shape/node/HorizontalBus */
1352 |
1353 | /*! ./shape/node/Hub */
1354 |
1355 | /*! ./shape/node/Node */
1356 |
1357 | /*! ./shape/node/Start */
1358 |
1359 | /*! ./shape/node/VerticalBus */
1360 |
1361 | /*! ./shape/note/PostIt */
1362 |
1363 | /*! ./shape/pert/Activity */
1364 |
1365 | /*! ./shape/pert/Start */
1366 |
1367 | /*! ./shape/state/Connection */
1368 |
1369 | /*! ./shape/state/End */
1370 |
1371 | /*! ./shape/state/Start */
1372 |
1373 | /*! ./shape/state/State */
1374 |
1375 | /*! ./shape/widget/Slider */
1376 |
1377 | /*! ./shape/widget/Widget */
1378 |
1379 | /*! ./ui/LabelEditor */
1380 |
1381 | /*! ./ui/LabelInplaceEditor */
1382 |
1383 | /*! ./urls */
1384 |
1385 | /*! ./util/ArrayList */
1386 |
1387 | /*! ./util/Base64 */
1388 |
1389 | /*! ./util/Debug */
1390 |
1391 | /*! ./util/Polyfill */
1392 |
1393 | /*! ./util/SVGUtil */
1394 |
1395 | /*! ./util/extend */
1396 |
1397 | /*! ./util/raphael_ext */
1398 |
1399 | /*! ./util/spline/BezierSpline */
1400 |
1401 | /*! ./util/spline/CatmullRomSpline */
1402 |
1403 | /*! ./util/spline/CubicSpline */
1404 |
1405 | /*! ./util/spline/Spline */
1406 |
1407 | /*! 2.3.1 */
1408 |
1409 | /*! canvg-browser */
1410 |
1411 | /*! css/contextmenu.css */
1412 |
1413 | /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */
1414 |
1415 | /*! lib/Class.exec.js */
1416 |
1417 | /*! lib/jquery.autoresize */
1418 |
1419 | /*! lib/jquery.contextmenu */
1420 |
1421 | /*! lib/pathfinding.exec.js */
1422 |
1423 | /*! lib/raphael.exec.js */
1424 |
1425 | /*! no static exports found */
1426 |
1427 | /*! packages */
1428 |
1429 | /*! rgbcolor */
1430 |
1431 | /*! shifty */
1432 |
1433 | /*! stackblur */
1434 |
1435 | /*! util/JSONUtil */
1436 |
1437 | /*! util/UUID */
1438 |
1439 | /*! util/extend */
1440 |
1441 | /*! xmldom */
1442 |
1443 | /*!*********************!*\
1444 | !*** ./src/Port.js ***!
1445 | \*********************/
1446 |
1447 | /*!**********************!*\
1448 | !*** ./src/index.js ***!
1449 | \**********************/
1450 |
1451 | /*!***********************!*\
1452 | !*** ./src/Canvas.js ***!
1453 | \***********************/
1454 |
1455 | /*!***********************!*\
1456 | !*** ./src/Figure.js ***!
1457 | \***********************/
1458 |
1459 | /*!************************!*\
1460 | !*** ./src/geo/Ray.js ***!
1461 | \************************/
1462 |
1463 | /*!*************************!*\
1464 | !*** ./src/geo/Line.js ***!
1465 | \*************************/
1466 |
1467 | /*!*************************!*\
1468 | !*** ./src/geo/Util.js ***!
1469 | \*************************/
1470 |
1471 | /*!*************************!*\
1472 | !*** ./src/packages.js ***!
1473 | \*************************/
1474 |
1475 | /*!**************************!*\
1476 | !*** ./src/InputPort.js ***!
1477 | \**************************/
1478 |
1479 | /*!**************************!*\
1480 | !*** ./src/SVGFigure.js ***!
1481 | \**************************/
1482 |
1483 | /*!**************************!*\
1484 | !*** ./src/Selection.js ***!
1485 | \**************************/
1486 |
1487 | /*!**************************!*\
1488 | !*** ./src/SetFigure.js ***!
1489 | \**************************/
1490 |
1491 | /*!**************************!*\
1492 | !*** ./src/geo/Point.js ***!
1493 | \**************************/
1494 |
1495 | /*!**************************!*\
1496 | !*** ./src/io/Reader.js ***!
1497 | \**************************/
1498 |
1499 | /*!**************************!*\
1500 | !*** ./src/io/Writer.js ***!
1501 | \**************************/
1502 |
1503 | /*!**************************!*\
1504 | !*** ./src/util/UUID.js ***!
1505 | \**************************/
1506 |
1507 | /*!***************************!*\
1508 | !*** ./src/Connection.js ***!
1509 | \***************************/
1510 |
1511 | /*!***************************!*\
1512 | !*** ./src/HybridPort.js ***!
1513 | \***************************/
1514 |
1515 | /*!***************************!*\
1516 | !*** ./src/OutputPort.js ***!
1517 | \***************************/
1518 |
1519 | /*!***************************!*\
1520 | !*** ./src/util/Color.js ***!
1521 | \***************************/
1522 |
1523 | /*!***************************!*\
1524 | !*** ./src/util/Debug.js ***!
1525 | \***************************/
1526 |
1527 | /*!****************************!*\
1528 | !*** ./src/util/Base64.js ***!
1529 | \****************************/
1530 |
1531 | /*!****************************!*\
1532 | !*** ./src/util/extend.js ***!
1533 | \****************************/
1534 |
1535 | /*!*****************************!*\
1536 | !*** ./src/ResizeHandle.js ***!
1537 | \*****************************/
1538 |
1539 | /*!*****************************!*\
1540 | !*** ./src/VectorFigure.js ***!
1541 | \*****************************/
1542 |
1543 | /*!*****************************!*\
1544 | !*** ./src/util/SVGUtil.js ***!
1545 | \*****************************/
1546 |
1547 | /*!******************************!*\
1548 | !*** ./src/Configuration.js ***!
1549 | \******************************/
1550 |
1551 | /*!******************************!*\
1552 | !*** ./src/geo/Rectangle.js ***!
1553 | \******************************/
1554 |
1555 | /*!******************************!*\
1556 | !*** ./src/io/png/Writer.js ***!
1557 | \******************************/
1558 |
1559 | /*!******************************!*\
1560 | !*** ./src/io/svg/Writer.js ***!
1561 | \******************************/
1562 |
1563 | /*!******************************!*\
1564 | !*** ./src/shape/icon/Db.js ***!
1565 | \******************************/
1566 |
1567 | /*!******************************!*\
1568 | !*** ./src/shape/icon/Ff.js ***!
1569 | \******************************/
1570 |
1571 | /*!******************************!*\
1572 | !*** ./src/shape/icon/Ie.js ***!
1573 | \******************************/
1574 |
1575 | /*!******************************!*\
1576 | !*** ./src/shape/icon/No.js ***!
1577 | \******************************/
1578 |
1579 | /*!******************************!*\
1580 | !*** ./src/shape/icon/Pc.js ***!
1581 | \******************************/
1582 |
1583 | /*!******************************!*\
1584 | !*** ./src/shape/icon/Rw.js ***!
1585 | \******************************/
1586 |
1587 | /*!******************************!*\
1588 | !*** ./src/util/JSONUtil.js ***!
1589 | \******************************/
1590 |
1591 | /*!******************************!*\
1592 | !*** ./src/util/Polyfill.js ***!
1593 | \******************************/
1594 |
1595 | /*!*******************************!*\
1596 | !*** ./src/HeadlessCanvas.js ***!
1597 | \*******************************/
1598 |
1599 | /*!*******************************!*\
1600 | !*** ./src/io/json/Reader.js ***!
1601 | \*******************************/
1602 |
1603 | /*!*******************************!*\
1604 | !*** ./src/io/json/Writer.js ***!
1605 | \*******************************/
1606 |
1607 | /*!*******************************!*\
1608 | !*** ./src/lib/Class.exec.js ***!
1609 | \*******************************/
1610 |
1611 | /*!*******************************!*\
1612 | !*** ./src/shape/icon/Acw.js ***!
1613 | \*******************************/
1614 |
1615 | /*!*******************************!*\
1616 | !*** ./src/shape/icon/Bug.js ***!
1617 | \*******************************/
1618 |
1619 | /*!*******************************!*\
1620 | !*** ./src/shape/icon/Ccw.js ***!
1621 | \*******************************/
1622 |
1623 | /*!*******************************!*\
1624 | !*** ./src/shape/icon/Dry.js ***!
1625 | \*******************************/
1626 |
1627 | /*!*******************************!*\
1628 | !*** ./src/shape/icon/End.js ***!
1629 | \*******************************/
1630 |
1631 | /*!*******************************!*\
1632 | !*** ./src/shape/icon/Ie9.js ***!
1633 | \*******************************/
1634 |
1635 | /*!*******************************!*\
1636 | !*** ./src/shape/icon/Key.js ***!
1637 | \*******************************/
1638 |
1639 | /*!*******************************!*\
1640 | !*** ./src/shape/icon/Lab.js ***!
1641 | \*******************************/
1642 |
1643 | /*!*******************************!*\
1644 | !*** ./src/shape/icon/Man.js ***!
1645 | \*******************************/
1646 |
1647 | /*!*******************************!*\
1648 | !*** ./src/shape/icon/Mic.js ***!
1649 | \*******************************/
1650 |
1651 | /*!*******************************!*\
1652 | !*** ./src/shape/icon/Pen.js ***!
1653 | \*******************************/
1654 |
1655 | /*!*******************************!*\
1656 | !*** ./src/shape/icon/Ppt.js ***!
1657 | \*******************************/
1658 |
1659 | /*!*******************************!*\
1660 | !*** ./src/shape/icon/Run.js ***!
1661 | \*******************************/
1662 |
1663 | /*!*******************************!*\
1664 | !*** ./src/shape/icon/Sun.js ***!
1665 | \*******************************/
1666 |
1667 | /*!*******************************!*\
1668 | !*** ./src/shape/icon/Svg.js ***!
1669 | \*******************************/
1670 |
1671 | /*!*******************************!*\
1672 | !*** ./src/shape/icon/Tag.js ***!
1673 | \*******************************/
1674 |
1675 | /*!*******************************!*\
1676 | !*** ./src/shape/icon/Usb.js ***!
1677 | \*******************************/
1678 |
1679 | /*!*******************************!*\
1680 | !*** ./src/shape/icon/Vim.js ***!
1681 | \*******************************/
1682 |
1683 | /*!*******************************!*\
1684 | !*** ./src/shape/node/End.js ***!
1685 | \*******************************/
1686 |
1687 | /*!*******************************!*\
1688 | !*** ./src/shape/node/Hub.js ***!
1689 | \*******************************/
1690 |
1691 | /*!*******************************!*\
1692 | !*** ./src/ui/LabelEditor.js ***!
1693 | \*******************************/
1694 |
1695 | /*!*******************************!*\
1696 | !*** ./src/util/ArrayList.js ***!
1697 | \*******************************/
1698 |
1699 | /*!********************************!*\
1700 | !*** ./src/command/Command.js ***!
1701 | \********************************/
1702 |
1703 | /*!********************************!*\
1704 | !*** ./src/shape/basic/Arc.js ***!
1705 | \********************************/
1706 |
1707 | /*!********************************!*\
1708 | !*** ./src/shape/icon/Apps.js ***!
1709 | \********************************/
1710 |
1711 | /*!********************************!*\
1712 | !*** ./src/shape/icon/Book.js ***!
1713 | \********************************/
1714 |
1715 | /*!********************************!*\
1716 | !*** ./src/shape/icon/Cart.js ***!
1717 | \********************************/
1718 |
1719 | /*!********************************!*\
1720 | !*** ./src/shape/icon/Chat.js ***!
1721 | \********************************/
1722 |
1723 | /*!********************************!*\
1724 | !*** ./src/shape/icon/Clip.js ***!
1725 | \********************************/
1726 |
1727 | /*!********************************!*\
1728 | !*** ./src/shape/icon/Code.js ***!
1729 | \********************************/
1730 |
1731 | /*!********************************!*\
1732 | !*** ./src/shape/icon/Crop.js ***!
1733 | \********************************/
1734 |
1735 | /*!********************************!*\
1736 | !*** ./src/shape/icon/Cube.js ***!
1737 | \********************************/
1738 |
1739 | /*!********************************!*\
1740 | !*** ./src/shape/icon/Fave.js ***!
1741 | \********************************/
1742 |
1743 | /*!********************************!*\
1744 | !*** ./src/shape/icon/Feed.js ***!
1745 | \********************************/
1746 |
1747 | /*!********************************!*\
1748 | !*** ./src/shape/icon/Flag.js ***!
1749 | \********************************/
1750 |
1751 | /*!********************************!*\
1752 | !*** ./src/shape/icon/Font.js ***!
1753 | \********************************/
1754 |
1755 | /*!********************************!*\
1756 | !*** ./src/shape/icon/Fork.js ***!
1757 | \********************************/
1758 |
1759 | /*!********************************!*\
1760 | !*** ./src/shape/icon/Gear.js ***!
1761 | \********************************/
1762 |
1763 | /*!********************************!*\
1764 | !*** ./src/shape/icon/Hail.js ***!
1765 | \********************************/
1766 |
1767 | /*!********************************!*\
1768 | !*** ./src/shape/icon/Help.js ***!
1769 | \********************************/
1770 |
1771 | /*!********************************!*\
1772 | !*** ./src/shape/icon/Home.js ***!
1773 | \********************************/
1774 |
1775 | /*!********************************!*\
1776 | !*** ./src/shape/icon/IMac.js ***!
1777 | \********************************/
1778 |
1779 | /*!********************************!*\
1780 | !*** ./src/shape/icon/Icon.js ***!
1781 | \********************************/
1782 |
1783 | /*!********************************!*\
1784 | !*** ./src/shape/icon/Ipad.js ***!
1785 | \********************************/
1786 |
1787 | /*!********************************!*\
1788 | !*** ./src/shape/icon/Lamp.js ***!
1789 | \********************************/
1790 |
1791 | /*!********************************!*\
1792 | !*** ./src/shape/icon/Link.js ***!
1793 | \********************************/
1794 |
1795 | /*!********************************!*\
1796 | !*** ./src/shape/icon/List.js ***!
1797 | \********************************/
1798 |
1799 | /*!********************************!*\
1800 | !*** ./src/shape/icon/Lock.js ***!
1801 | \********************************/
1802 |
1803 | /*!********************************!*\
1804 | !*** ./src/shape/icon/Mail.js ***!
1805 | \********************************/
1806 |
1807 | /*!********************************!*\
1808 | !*** ./src/shape/icon/Page.js ***!
1809 | \********************************/
1810 |
1811 | /*!********************************!*\
1812 | !*** ./src/shape/icon/Palm.js ***!
1813 | \********************************/
1814 |
1815 | /*!********************************!*\
1816 | !*** ./src/shape/icon/Plus.js ***!
1817 | \********************************/
1818 |
1819 | /*!********************************!*\
1820 | !*** ./src/shape/icon/Rain.js ***!
1821 | \********************************/
1822 |
1823 | /*!********************************!*\
1824 | !*** ./src/shape/icon/Snow.js ***!
1825 | \********************************/
1826 |
1827 | /*!********************************!*\
1828 | !*** ./src/shape/icon/Star.js ***!
1829 | \********************************/
1830 |
1831 | /*!********************************!*\
1832 | !*** ./src/shape/icon/Stop.js ***!
1833 | \********************************/
1834 |
1835 | /*!********************************!*\
1836 | !*** ./src/shape/icon/Undo.js ***!
1837 | \********************************/
1838 |
1839 | /*!********************************!*\
1840 | !*** ./src/shape/icon/User.js ***!
1841 | \********************************/
1842 |
1843 | /*!********************************!*\
1844 | !*** ./src/shape/icon/View.js ***!
1845 | \********************************/
1846 |
1847 | /*!********************************!*\
1848 | !*** ./src/shape/node/Node.js ***!
1849 | \********************************/
1850 |
1851 | /*!********************************!*\
1852 | !*** ./src/shape/state/End.js ***!
1853 | \********************************/
1854 |
1855 | /*!*********************************!*\
1856 | !*** ./src/css/contextmenu.css ***!
1857 | \*********************************/
1858 |
1859 | /*!*********************************!*\
1860 | !*** ./src/lib/raphael.exec.js ***!
1861 | \*********************************/
1862 |
1863 | /*!*********************************!*\
1864 | !*** ./src/shape/basic/Line.js ***!
1865 | \*********************************/
1866 |
1867 | /*!*********************************!*\
1868 | !*** ./src/shape/basic/Oval.js ***!
1869 | \*********************************/
1870 |
1871 | /*!*********************************!*\
1872 | !*** ./src/shape/basic/Text.js ***!
1873 | \*********************************/
1874 |
1875 | /*!*********************************!*\
1876 | !*** ./src/shape/icon/Alarm.js ***!
1877 | \*********************************/
1878 |
1879 | /*!*********************************!*\
1880 | !*** ./src/shape/icon/Apple.js ***!
1881 | \*********************************/
1882 |
1883 | /*!*********************************!*\
1884 | !*** ./src/shape/icon/Books.js ***!
1885 | \*********************************/
1886 |
1887 | /*!*********************************!*\
1888 | !*** ./src/shape/icon/Check.js ***!
1889 | \*********************************/
1890 |
1891 | /*!*********************************!*\
1892 | !*** ./src/shape/icon/Clock.js ***!
1893 | \*********************************/
1894 |
1895 | /*!*********************************!*\
1896 | !*** ./src/shape/icon/Cloud.js ***!
1897 | \*********************************/
1898 |
1899 | /*!*********************************!*\
1900 | !*** ./src/shape/icon/Cross.js ***!
1901 | \*********************************/
1902 |
1903 | /*!*********************************!*\
1904 | !*** ./src/shape/icon/Gear2.js ***!
1905 | \*********************************/
1906 |
1907 | /*!*********************************!*\
1908 | !*** ./src/shape/icon/Globe.js ***!
1909 | \*********************************/
1910 |
1911 | /*!*********************************!*\
1912 | !*** ./src/shape/icon/Icons.js ***!
1913 | \*********************************/
1914 |
1915 | /*!*********************************!*\
1916 | !*** ./src/shape/icon/Linux.js ***!
1917 | \*********************************/
1918 |
1919 | /*!*********************************!*\
1920 | !*** ./src/shape/icon/Magic.js ***!
1921 | \*********************************/
1922 |
1923 | /*!*********************************!*\
1924 | !*** ./src/shape/icon/Merge.js ***!
1925 | \*********************************/
1926 |
1927 | /*!*********************************!*\
1928 | !*** ./src/shape/icon/Minus.js ***!
1929 | \*********************************/
1930 |
1931 | /*!*********************************!*\
1932 | !*** ./src/shape/icon/Opera.js ***!
1933 | \*********************************/
1934 |
1935 | /*!*********************************!*\
1936 | !*** ./src/shape/icon/Page2.js ***!
1937 | \*********************************/
1938 |
1939 | /*!*********************************!*\
1940 | !*** ./src/shape/icon/Paper.js ***!
1941 | \*********************************/
1942 |
1943 | /*!*********************************!*\
1944 | !*** ./src/shape/icon/Phone.js ***!
1945 | \*********************************/
1946 |
1947 | /*!*********************************!*\
1948 | !*** ./src/shape/icon/Photo.js ***!
1949 | \*********************************/
1950 |
1951 | /*!*********************************!*\
1952 | !*** ./src/shape/icon/Plane.js ***!
1953 | \*********************************/
1954 |
1955 | /*!*********************************!*\
1956 | !*** ./src/shape/icon/Power.js ***!
1957 | \*********************************/
1958 |
1959 | /*!*********************************!*\
1960 | !*** ./src/shape/icon/Quote.js ***!
1961 | \*********************************/
1962 |
1963 | /*!*********************************!*\
1964 | !*** ./src/shape/icon/Ruler.js ***!
1965 | \*********************************/
1966 |
1967 | /*!*********************************!*\
1968 | !*** ./src/shape/icon/Skull.js ***!
1969 | \*********************************/
1970 |
1971 | /*!*********************************!*\
1972 | !*** ./src/shape/icon/Skype.js ***!
1973 | \*********************************/
1974 |
1975 | /*!*********************************!*\
1976 | !*** ./src/shape/icon/Smile.js ***!
1977 | \*********************************/
1978 |
1979 | /*!*********************************!*\
1980 | !*** ./src/shape/icon/Split.js ***!
1981 | \*********************************/
1982 |
1983 | /*!*********************************!*\
1984 | !*** ./src/shape/icon/Star2.js ***!
1985 | \*********************************/
1986 |
1987 | /*!*********************************!*\
1988 | !*** ./src/shape/icon/Star3.js ***!
1989 | \*********************************/
1990 |
1991 | /*!*********************************!*\
1992 | !*** ./src/shape/icon/Start.js ***!
1993 | \*********************************/
1994 |
1995 | /*!*********************************!*\
1996 | !*** ./src/shape/icon/Talke.js ***!
1997 | \*********************************/
1998 |
1999 | /*!*********************************!*\
2000 | !*** ./src/shape/icon/Talkq.js ***!
2001 | \*********************************/
2002 |
2003 | /*!*********************************!*\
2004 | !*** ./src/shape/icon/Trash.js ***!
2005 | \*********************************/
2006 |
2007 | /*!*********************************!*\
2008 | !*** ./src/shape/icon/Users.js ***!
2009 | \*********************************/
2010 |
2011 | /*!*********************************!*\
2012 | !*** ./src/shape/icon/Video.js ***!
2013 | \*********************************/
2014 |
2015 | /*!*********************************!*\
2016 | !*** ./src/shape/icon/Woman.js ***!
2017 | \*********************************/
2018 |
2019 | /*!*********************************!*\
2020 | !*** ./src/shape/node/Start.js ***!
2021 | \*********************************/
2022 |
2023 | /*!*********************************!*\
2024 | !*** ./src/shape/pert/Start.js ***!
2025 | \*********************************/
2026 |
2027 | /*!*********************************!*\
2028 | !*** ./src/util/raphael_ext.js ***!
2029 | \*********************************/
2030 |
2031 | /*!**********************************!*\
2032 | !*** ./src/policy/EditPolicy.js ***!
2033 | \**********************************/
2034 |
2035 | /*!**********************************!*\
2036 | !*** ./src/shape/basic/Image.js ***!
2037 | \**********************************/
2038 |
2039 | /*!**********************************!*\
2040 | !*** ./src/shape/basic/Label.js ***!
2041 | \**********************************/
2042 |
2043 | /*!**********************************!*\
2044 | !*** ./src/shape/diagram/Pie.js ***!
2045 | \**********************************/
2046 |
2047 | /*!**********************************!*\
2048 | !*** ./src/shape/icon/Aumade.js ***!
2049 | \**********************************/
2050 |
2051 | /*!**********************************!*\
2052 | !*** ./src/shape/icon/Bubble.js ***!
2053 | \**********************************/
2054 |
2055 | /*!**********************************!*\
2056 | !*** ./src/shape/icon/Chrome.js ***!
2057 | \**********************************/
2058 |
2059 | /*!**********************************!*\
2060 | !*** ./src/shape/icon/Cloud2.js ***!
2061 | \**********************************/
2062 |
2063 | /*!**********************************!*\
2064 | !*** ./src/shape/icon/Cloudy.js ***!
2065 | \**********************************/
2066 |
2067 | /*!**********************************!*\
2068 | !*** ./src/shape/icon/Detour.js ***!
2069 | \**********************************/
2070 |
2071 | /*!**********************************!*\
2072 | !*** ./src/shape/icon/Expand.js ***!
2073 | \**********************************/
2074 |
2075 | /*!**********************************!*\
2076 | !*** ./src/shape/icon/Export.js ***!
2077 | \**********************************/
2078 |
2079 | /*!**********************************!*\
2080 | !*** ./src/shape/icon/Flickr.js ***!
2081 | \**********************************/
2082 |
2083 | /*!**********************************!*\
2084 | !*** ./src/shape/icon/Folder.js ***!
2085 | \**********************************/
2086 |
2087 | /*!**********************************!*\
2088 | !*** ./src/shape/icon/Future.js ***!
2089 | \**********************************/
2090 |
2091 | /*!**********************************!*\
2092 | !*** ./src/shape/icon/GitHub.js ***!
2093 | \**********************************/
2094 |
2095 | /*!**********************************!*\
2096 | !*** ./src/shape/icon/Hammer.js ***!
2097 | \**********************************/
2098 |
2099 | /*!**********************************!*\
2100 | !*** ./src/shape/icon/HangUp.js ***!
2101 | \**********************************/
2102 |
2103 | /*!**********************************!*\
2104 | !*** ./src/shape/icon/Import.js ***!
2105 | \**********************************/
2106 |
2107 | /*!**********************************!*\
2108 | !*** ./src/shape/icon/Iphone.js ***!
2109 | \**********************************/
2110 |
2111 | /*!**********************************!*\
2112 | !*** ./src/shape/icon/JQuery.js ***!
2113 | \**********************************/
2114 |
2115 | /*!**********************************!*\
2116 | !*** ./src/shape/icon/Jigsaw.js ***!
2117 | \**********************************/
2118 |
2119 | /*!**********************************!*\
2120 | !*** ./src/shape/icon/Locked.js ***!
2121 | \**********************************/
2122 |
2123 | /*!**********************************!*\
2124 | !*** ./src/shape/icon/Magnet.js ***!
2125 | \**********************************/
2126 |
2127 | /*!**********************************!*\
2128 | !*** ./src/shape/icon/NodeJs.js ***!
2129 | \**********************************/
2130 |
2131 | /*!**********************************!*\
2132 | !*** ./src/shape/icon/Noview.js ***!
2133 | \**********************************/
2134 |
2135 | /*!**********************************!*\
2136 | !*** ./src/shape/icon/Parent.js ***!
2137 | \**********************************/
2138 |
2139 | /*!**********************************!*\
2140 | !*** ./src/shape/icon/Pensil.js ***!
2141 | \**********************************/
2142 |
2143 | /*!**********************************!*\
2144 | !*** ./src/shape/icon/People.js ***!
2145 | \**********************************/
2146 |
2147 | /*!**********************************!*\
2148 | !*** ./src/shape/icon/Picker.js ***!
2149 | \**********************************/
2150 |
2151 | /*!**********************************!*\
2152 | !*** ./src/shape/icon/Plugin.js ***!
2153 | \**********************************/
2154 |
2155 | /*!**********************************!*\
2156 | !*** ./src/shape/icon/Rotate.js ***!
2157 | \**********************************/
2158 |
2159 | /*!**********************************!*\
2160 | !*** ./src/shape/icon/Safari.js ***!
2161 | \**********************************/
2162 |
2163 | /*!**********************************!*\
2164 | !*** ./src/shape/icon/Search.js ***!
2165 | \**********************************/
2166 |
2167 | /*!**********************************!*\
2168 | !*** ./src/shape/icon/Sencha.js ***!
2169 | \**********************************/
2170 |
2171 | /*!**********************************!*\
2172 | !*** ./src/shape/icon/Smile2.js ***!
2173 | \**********************************/
2174 |
2175 | /*!**********************************!*\
2176 | !*** ./src/shape/icon/TShirt.js ***!
2177 | \**********************************/
2178 |
2179 | /*!**********************************!*\
2180 | !*** ./src/shape/icon/Unlock.js ***!
2181 | \**********************************/
2182 |
2183 | /*!**********************************!*\
2184 | !*** ./src/shape/icon/Wrench.js ***!
2185 | \**********************************/
2186 |
2187 | /*!**********************************!*\
2188 | !*** ./src/shape/icon/ZoomIn.js ***!
2189 | \**********************************/
2190 |
2191 | /*!**********************************!*\
2192 | !*** ./src/shape/note/PostIt.js ***!
2193 | \**********************************/
2194 |
2195 | /*!**********************************!*\
2196 | !*** ./src/shape/state/Start.js ***!
2197 | \**********************************/
2198 |
2199 | /*!**********************************!*\
2200 | !*** ./src/shape/state/State.js ***!
2201 | \**********************************/
2202 |
2203 | /*!***********************************!*\
2204 | !*** (webpack)/buildin/global.js ***!
2205 | \***********************************/
2206 |
2207 | /*!***********************************!*\
2208 | !*** ./src/command/CommandAdd.js ***!
2209 | \***********************************/
2210 |
2211 | /*!***********************************!*\
2212 | !*** ./src/shape/analog/OpAmp.js ***!
2213 | \***********************************/
2214 |
2215 | /*!***********************************!*\
2216 | !*** ./src/shape/basic/Circle.js ***!
2217 | \***********************************/
2218 |
2219 | /*!***********************************!*\
2220 | !*** ./src/shape/icon/ArrowUp.js ***!
2221 | \***********************************/
2222 |
2223 | /*!***********************************!*\
2224 | !*** ./src/shape/icon/CloudUp.js ***!
2225 | \***********************************/
2226 |
2227 | /*!***********************************!*\
2228 | !*** ./src/shape/icon/Connect.js ***!
2229 | \***********************************/
2230 |
2231 | /*!***********************************!*\
2232 | !*** ./src/shape/icon/Diagram.js ***!
2233 | \***********************************/
2234 |
2235 | /*!***********************************!*\
2236 | !*** ./src/shape/icon/DockTop.js ***!
2237 | \***********************************/
2238 |
2239 | /*!***********************************!*\
2240 | !*** ./src/shape/icon/Firefox.js ***!
2241 | \***********************************/
2242 |
2243 | /*!***********************************!*\
2244 | !*** ./src/shape/icon/ForkAlt.js ***!
2245 | \***********************************/
2246 |
2247 | /*!***********************************!*\
2248 | !*** ./src/shape/icon/Glasses.js ***!
2249 | \***********************************/
2250 |
2251 | /*!***********************************!*\
2252 | !*** ./src/shape/icon/History.js ***!
2253 | \***********************************/
2254 |
2255 | /*!***********************************!*\
2256 | !*** ./src/shape/icon/Landing.js ***!
2257 | \***********************************/
2258 |
2259 | /*!***********************************!*\
2260 | !*** ./src/shape/icon/MicMute.js ***!
2261 | \***********************************/
2262 |
2263 | /*!***********************************!*\
2264 | !*** ./src/shape/icon/Package.js ***!
2265 | \***********************************/
2266 |
2267 | /*!***********************************!*\
2268 | !*** ./src/shape/icon/Pallete.js ***!
2269 | \***********************************/
2270 |
2271 | /*!***********************************!*\
2272 | !*** ./src/shape/icon/Picture.js ***!
2273 | \***********************************/
2274 |
2275 | /*!***********************************!*\
2276 | !*** ./src/shape/icon/Printer.js ***!
2277 | \***********************************/
2278 |
2279 | /*!***********************************!*\
2280 | !*** ./src/shape/icon/Raphael.js ***!
2281 | \***********************************/
2282 |
2283 | /*!***********************************!*\
2284 | !*** ./src/shape/icon/Refresh.js ***!
2285 | \***********************************/
2286 |
2287 | /*!***********************************!*\
2288 | !*** ./src/shape/icon/Resize2.js ***!
2289 | \***********************************/
2290 |
2291 | /*!***********************************!*\
2292 | !*** ./src/shape/icon/Shuffle.js ***!
2293 | \***********************************/
2294 |
2295 | /*!***********************************!*\
2296 | !*** ./src/shape/icon/StarOff.js ***!
2297 | \***********************************/
2298 |
2299 | /*!***********************************!*\
2300 | !*** ./src/shape/icon/Sticker.js ***!
2301 | \***********************************/
2302 |
2303 | /*!***********************************!*\
2304 | !*** ./src/shape/icon/TakeOff.js ***!
2305 | \***********************************/
2306 |
2307 | /*!***********************************!*\
2308 | !*** ./src/shape/icon/Thunder.js ***!
2309 | \***********************************/
2310 |
2311 | /*!***********************************!*\
2312 | !*** ./src/shape/icon/Twitter.js ***!
2313 | \***********************************/
2314 |
2315 | /*!***********************************!*\
2316 | !*** ./src/shape/icon/Volume0.js ***!
2317 | \***********************************/
2318 |
2319 | /*!***********************************!*\
2320 | !*** ./src/shape/icon/Volume1.js ***!
2321 | \***********************************/
2322 |
2323 | /*!***********************************!*\
2324 | !*** ./src/shape/icon/Volume2.js ***!
2325 | \***********************************/
2326 |
2327 | /*!***********************************!*\
2328 | !*** ./src/shape/icon/Volume3.js ***!
2329 | \***********************************/
2330 |
2331 | /*!***********************************!*\
2332 | !*** ./src/shape/icon/Warning.js ***!
2333 | \***********************************/
2334 |
2335 | /*!***********************************!*\
2336 | !*** ./src/shape/icon/Windows.js ***!
2337 | \***********************************/
2338 |
2339 | /*!***********************************!*\
2340 | !*** ./src/shape/icon/Wrench2.js ***!
2341 | \***********************************/
2342 |
2343 | /*!***********************************!*\
2344 | !*** ./src/shape/icon/Wrench3.js ***!
2345 | \***********************************/
2346 |
2347 | /*!***********************************!*\
2348 | !*** ./src/shape/icon/ZoomOut.js ***!
2349 | \***********************************/
2350 |
2351 | /*!***********************************!*\
2352 | !*** ./src/shape/node/Between.js ***!
2353 | \***********************************/
2354 |
2355 | /*!***********************************!*\
2356 | !*** ./src/shape/node/Fulcrum.js ***!
2357 | \***********************************/
2358 |
2359 | /*!***********************************!*\
2360 | !*** ./src/util/spline/Spline.js ***!
2361 | \***********************************/
2362 |
2363 | /*!************************************!*\
2364 | !*** ./node_modules/xmldom/dom.js ***!
2365 | \************************************/
2366 |
2367 | /*!************************************!*\
2368 | !*** ./node_modules/xmldom/sax.js ***!
2369 | \************************************/
2370 |
2371 | /*!************************************!*\
2372 | !*** ./src/command/CommandAttr.js ***!
2373 | \************************************/
2374 |
2375 | /*!************************************!*\
2376 | !*** ./src/command/CommandMove.js ***!
2377 | \************************************/
2378 |
2379 | /*!************************************!*\
2380 | !*** ./src/command/CommandType.js ***!
2381 | \************************************/
2382 |
2383 | /*!************************************!*\
2384 | !*** ./src/shape/basic/Diamond.js ***!
2385 | \************************************/
2386 |
2387 | /*!************************************!*\
2388 | !*** ./src/shape/basic/Polygon.js ***!
2389 | \************************************/
2390 |
2391 | /*!************************************!*\
2392 | !*** ./src/shape/icon/BarChart.js ***!
2393 | \************************************/
2394 |
2395 | /*!************************************!*\
2396 | !*** ./src/shape/icon/Bookmark.js ***!
2397 | \************************************/
2398 |
2399 | /*!************************************!*\
2400 | !*** ./src/shape/icon/Calendar.js ***!
2401 | \************************************/
2402 |
2403 | /*!************************************!*\
2404 | !*** ./src/shape/icon/CodeTalk.js ***!
2405 | \************************************/
2406 |
2407 | /*!************************************!*\
2408 | !*** ./src/shape/icon/Contract.js ***!
2409 | \************************************/
2410 |
2411 | /*!************************************!*\
2412 | !*** ./src/shape/icon/Customer.js ***!
2413 | \************************************/
2414 |
2415 | /*!************************************!*\
2416 | !*** ./src/shape/icon/DockLeft.js ***!
2417 | \************************************/
2418 |
2419 | /*!************************************!*\
2420 | !*** ./src/shape/icon/Download.js ***!
2421 | \************************************/
2422 |
2423 | /*!************************************!*\
2424 | !*** ./src/shape/icon/Employee.js ***!
2425 | \************************************/
2426 |
2427 | /*!************************************!*\
2428 | !*** ./src/shape/icon/Ethernet.js ***!
2429 | \************************************/
2430 |
2431 | /*!************************************!*\
2432 | !*** ./src/shape/icon/Exchange.js ***!
2433 | \************************************/
2434 |
2435 | /*!************************************!*\
2436 | !*** ./src/shape/icon/FullCube.js ***!
2437 | \************************************/
2438 |
2439 | /*!************************************!*\
2440 | !*** ./src/shape/icon/GRaphael.js ***!
2441 | \************************************/
2442 |
2443 | /*!************************************!*\
2444 | !*** ./src/shape/icon/GlobeAlt.js ***!
2445 | \************************************/
2446 |
2447 | /*!************************************!*\
2448 | !*** ./src/shape/icon/InkScape.js ***!
2449 | \************************************/
2450 |
2451 | /*!************************************!*\
2452 | !*** ./src/shape/icon/Lamp_alt.js ***!
2453 | \************************************/
2454 |
2455 | /*!************************************!*\
2456 | !*** ./src/shape/icon/LinkedIn.js ***!
2457 | \************************************/
2458 |
2459 | /*!************************************!*\
2460 | !*** ./src/shape/icon/Location.js ***!
2461 | \************************************/
2462 |
2463 | /*!************************************!*\
2464 | !*** ./src/shape/icon/NoMagnet.js ***!
2465 | \************************************/
2466 |
2467 | /*!************************************!*\
2468 | !*** ./src/shape/icon/Notebook.js ***!
2469 | \************************************/
2470 |
2471 | /*!************************************!*\
2472 | !*** ./src/shape/icon/PieChart.js ***!
2473 | \************************************/
2474 |
2475 | /*!************************************!*\
2476 | !*** ./src/shape/icon/ReflectH.js ***!
2477 | \************************************/
2478 |
2479 | /*!************************************!*\
2480 | !*** ./src/shape/icon/ReflectV.js ***!
2481 | \************************************/
2482 |
2483 | /*!************************************!*\
2484 | !*** ./src/shape/icon/Settings.js ***!
2485 | \************************************/
2486 |
2487 | /*!************************************!*\
2488 | !*** ./src/shape/icon/Star2Off.js ***!
2489 | \************************************/
2490 |
2491 | /*!************************************!*\
2492 | !*** ./src/shape/icon/Star3Off.js ***!
2493 | \************************************/
2494 |
2495 | /*!************************************!*\
2496 | !*** ./src/shape/icon/Umbrella.js ***!
2497 | \************************************/
2498 |
2499 | /*!************************************!*\
2500 | !*** ./src/shape/layout/Layout.js ***!
2501 | \************************************/
2502 |
2503 | /*!************************************!*\
2504 | !*** ./src/shape/pert/Activity.js ***!
2505 | \************************************/
2506 |
2507 | /*!************************************!*\
2508 | !*** ./src/shape/widget/Slider.js ***!
2509 | \************************************/
2510 |
2511 | /*!************************************!*\
2512 | !*** ./src/shape/widget/Widget.js ***!
2513 | \************************************/
2514 |
2515 | /*!*************************************!*\
2516 | !*** ./src/command/CommandGroup.js ***!
2517 | \*************************************/
2518 |
2519 | /*!*************************************!*\
2520 | !*** ./src/command/CommandStack.js ***!
2521 | \*************************************/
2522 |
2523 | /*!*************************************!*\
2524 | !*** ./src/lib/pathfinding.exec.js ***!
2525 | \*************************************/
2526 |
2527 | /*!*************************************!*\
2528 | !*** ./src/shape/basic/PolyLine.js ***!
2529 | \*************************************/
2530 |
2531 | /*!*************************************!*\
2532 | !*** ./src/shape/composite/Raft.js ***!
2533 | \*************************************/
2534 |
2535 | /*!*************************************!*\
2536 | !*** ./src/shape/icon/Anonymous.js ***!
2537 | \*************************************/
2538 |
2539 | /*!*************************************!*\
2540 | !*** ./src/shape/icon/ArrowDown.js ***!
2541 | \*************************************/
2542 |
2543 | /*!*************************************!*\
2544 | !*** ./src/shape/icon/ArrowLeft.js ***!
2545 | \*************************************/
2546 |
2547 | /*!*************************************!*\
2548 | !*** ./src/shape/icon/BioHazard.js ***!
2549 | \*************************************/
2550 |
2551 | /*!*************************************!*\
2552 | !*** ./src/shape/icon/CloudDown.js ***!
2553 | \*************************************/
2554 |
2555 | /*!*************************************!*\
2556 | !*** ./src/shape/icon/DockRight.js ***!
2557 | \*************************************/
2558 |
2559 | /*!*************************************!*\
2560 | !*** ./src/shape/icon/GitHubAlt.js ***!
2561 | \*************************************/
2562 |
2563 | /*!*************************************!*\
2564 | !*** ./src/shape/icon/GlobeAlt2.js ***!
2565 | \*************************************/
2566 |
2567 | /*!*************************************!*\
2568 | !*** ./src/shape/icon/LineChart.js ***!
2569 | \*************************************/
2570 |
2571 | /*!*************************************!*\
2572 | !*** ./src/shape/icon/NewWindow.js ***!
2573 | \*************************************/
2574 |
2575 | /*!*************************************!*\
2576 | !*** ./src/shape/icon/StopWatch.js ***!
2577 | \*************************************/
2578 |
2579 | /*!**************************************!*\
2580 | !*** ./src/command/CommandDelete.js ***!
2581 | \**************************************/
2582 |
2583 | /*!**************************************!*\
2584 | !*** ./src/command/CommandResize.js ***!
2585 | \**************************************/
2586 |
2587 | /*!**************************************!*\
2588 | !*** ./src/command/CommandRotate.js ***!
2589 | \**************************************/
2590 |
2591 | /*!**************************************!*\
2592 | !*** ./src/geo/PositionConstants.js ***!
2593 | \**************************************/
2594 |
2595 | /*!**************************************!*\
2596 | !*** ./src/lib/jquery.autoresize.js ***!
2597 | \**************************************/
2598 |
2599 | /*!**************************************!*\
2600 | !*** ./src/shape/basic/Rectangle.js ***!
2601 | \**************************************/
2602 |
2603 | /*!**************************************!*\
2604 | !*** ./src/shape/composite/Group.js ***!
2605 | \**************************************/
2606 |
2607 | /*!**************************************!*\
2608 | !*** ./src/shape/diagram/Diagram.js ***!
2609 | \**************************************/
2610 |
2611 | /*!**************************************!*\
2612 | !*** ./src/shape/icon/ArrowLeft2.js ***!
2613 | \**************************************/
2614 |
2615 | /*!**************************************!*\
2616 | !*** ./src/shape/icon/ArrowRight.js ***!
2617 | \**************************************/
2618 |
2619 | /*!**************************************!*\
2620 | !*** ./src/shape/icon/Disconnect.js ***!
2621 | \**************************************/
2622 |
2623 | /*!**************************************!*\
2624 | !*** ./src/shape/icon/DockBottom.js ***!
2625 | \**************************************/
2626 |
2627 | /*!**************************************!*\
2628 | !*** ./src/shape/icon/Landscape1.js ***!
2629 | \**************************************/
2630 |
2631 | /*!**************************************!*\
2632 | !*** ./src/shape/icon/Landscape2.js ***!
2633 | \**************************************/
2634 |
2635 | /*!**************************************!*\
2636 | !*** ./src/shape/icon/SlideShare.js ***!
2637 | \**************************************/
2638 |
2639 | /*!**************************************!*\
2640 | !*** ./src/shape/icon/WheelChair.js ***!
2641 | \**************************************/
2642 |
2643 | /*!**************************************!*\
2644 | !*** ./src/ui/LabelInplaceEditor.js ***!
2645 | \**************************************/
2646 |
2647 | /*!***************************************!*\
2648 | !*** ./src/command/CommandConnect.js ***!
2649 | \***************************************/
2650 |
2651 | /*!***************************************!*\
2652 | !*** ./src/command/CommandUngroup.js ***!
2653 | \***************************************/
2654 |
2655 | /*!***************************************!*\
2656 | !*** ./src/layout/locator/Locator.js ***!
2657 | \***************************************/
2658 |
2659 | /*!***************************************!*\
2660 | !*** ./src/lib/jquery.contextmenu.js ***!
2661 | \***************************************/
2662 |
2663 | /*!***************************************!*\
2664 | !*** ./src/shape/icon/ArrowRight2.js ***!
2665 | \***************************************/
2666 |
2667 | /*!***************************************!*\
2668 | !*** ./src/shape/icon/CommandLine.js ***!
2669 | \***************************************/
2670 |
2671 | /*!***************************************!*\
2672 | !*** ./src/shape/icon/ScrewDriver.js ***!
2673 | \***************************************/
2674 |
2675 | /*!***************************************!*\
2676 | !*** ./src/shape/icon/SettingsAlt.js ***!
2677 | \***************************************/
2678 |
2679 | /*!***************************************!*\
2680 | !*** ./src/shape/icon/TwitterBird.js ***!
2681 | \***************************************/
2682 |
2683 | /*!***************************************!*\
2684 | !*** ./src/shape/node/VerticalBus.js ***!
2685 | \***************************************/
2686 |
2687 | /*!***************************************!*\
2688 | !*** ./src/shape/state/Connection.js ***!
2689 | \***************************************/
2690 |
2691 | /*!****************************************!*\
2692 | !*** ./node_modules/rgbcolor/index.js ***!
2693 | \****************************************/
2694 |
2695 | /*!****************************************!*\
2696 | !*** ./src/command/CommandMoveLine.js ***!
2697 | \****************************************/
2698 |
2699 | /*!****************************************!*\
2700 | !*** ./src/shape/diagram/Sparkline.js ***!
2701 | \****************************************/
2702 |
2703 | /*!****************************************!*\
2704 | !*** ./src/util/spline/CubicSpline.js ***!
2705 | \****************************************/
2706 |
2707 | /*!*****************************************!*\
2708 | !*** ./node_modules/stackblur/index.js ***!
2709 | \*****************************************/
2710 |
2711 | /*!*****************************************!*\
2712 | !*** ./src/command/CommandAddVertex.js ***!
2713 | \*****************************************/
2714 |
2715 | /*!*****************************************!*\
2716 | !*** ./src/command/CommandReconnect.js ***!
2717 | \*****************************************/
2718 |
2719 | /*!*****************************************!*\
2720 | !*** ./src/layout/mesh/MeshLayouter.js ***!
2721 | \*****************************************/
2722 |
2723 | /*!*****************************************!*\
2724 | !*** ./src/policy/canvas/ZoomPolicy.js ***!
2725 | \*****************************************/
2726 |
2727 | /*!*****************************************!*\
2728 | !*** ./src/shape/dimetric/Rectangle.js ***!
2729 | \*****************************************/
2730 |
2731 | /*!*****************************************!*\
2732 | !*** ./src/shape/flowchart/Document.js ***!
2733 | \*****************************************/
2734 |
2735 | /*!*****************************************!*\
2736 | !*** ./src/shape/layout/StackLayout.js ***!
2737 | \*****************************************/
2738 |
2739 | /*!*****************************************!*\
2740 | !*** ./src/shape/layout/TableLayout.js ***!
2741 | \*****************************************/
2742 |
2743 | /*!*****************************************!*\
2744 | !*** ./src/shape/node/HorizontalBus.js ***!
2745 | \*****************************************/
2746 |
2747 | /*!*****************************************!*\
2748 | !*** ./src/util/spline/BezierSpline.js ***!
2749 | \*****************************************/
2750 |
2751 | /*!******************************************!*\
2752 | !*** ./src/command/CommandCollection.js ***!
2753 | \******************************************/
2754 |
2755 | /*!******************************************!*\
2756 | !*** ./src/command/CommandMoveVertex.js ***!
2757 | \******************************************/
2758 |
2759 | /*!******************************************!*\
2760 | !*** ./src/command/CommandStackEvent.js ***!
2761 | \******************************************/
2762 |
2763 | /*!******************************************!*\
2764 | !*** ./src/layout/locator/TopLocator.js ***!
2765 | \******************************************/
2766 |
2767 | /*!******************************************!*\
2768 | !*** ./src/shape/composite/Composite.js ***!
2769 | \******************************************/
2770 |
2771 | /*!******************************************!*\
2772 | !*** ./src/shape/composite/Jailhouse.js ***!
2773 | \******************************************/
2774 |
2775 | /*!*******************************************!*\
2776 | !*** ./node_modules/xmldom/dom-parser.js ***!
2777 | \*******************************************/
2778 |
2779 | /*!*******************************************!*\
2780 | !*** ./src/command/CommandBoundingBox.js ***!
2781 | \*******************************************/
2782 |
2783 | /*!*******************************************!*\
2784 | !*** ./src/command/CommandDeleteGroup.js ***!
2785 | \*******************************************/
2786 |
2787 | /*!*******************************************!*\
2788 | !*** ./src/layout/locator/LeftLocator.js ***!
2789 | \*******************************************/
2790 |
2791 | /*!*******************************************!*\
2792 | !*** ./src/layout/locator/PortLocator.js ***!
2793 | \*******************************************/
2794 |
2795 | /*!*******************************************!*\
2796 | !*** ./src/policy/canvas/CanvasPolicy.js ***!
2797 | \*******************************************/
2798 |
2799 | /*!********************************************!*\
2800 | !*** ./node_modules/shifty/dist/shifty.js ***!
2801 | \********************************************/
2802 |
2803 | /*!********************************************!*\
2804 | !*** ./src/command/CommandAssignFigure.js ***!
2805 | \********************************************/
2806 |
2807 | /*!********************************************!*\
2808 | !*** ./src/command/CommandMoveVertices.js ***!
2809 | \********************************************/
2810 |
2811 | /*!********************************************!*\
2812 | !*** ./src/command/CommandRemoveVertex.js ***!
2813 | \********************************************/
2814 |
2815 | /*!********************************************!*\
2816 | !*** ./src/layout/locator/RightLocator.js ***!
2817 | \********************************************/
2818 |
2819 | /*!********************************************!*\
2820 | !*** ./src/layout/mesh/ExplodeLayouter.js ***!
2821 | \********************************************/
2822 |
2823 | /*!********************************************!*\
2824 | !*** ./src/shape/analog/ResistorBridge.js ***!
2825 | \********************************************/
2826 |
2827 | /*!********************************************!*\
2828 | !*** ./src/shape/layout/FlexGridLayout.js ***!
2829 | \********************************************/
2830 |
2831 | /*!********************************************!*\
2832 | !*** ./src/shape/layout/VerticalLayout.js ***!
2833 | \********************************************/
2834 |
2835 | /*!*********************************************!*\
2836 | !*** ./node_modules/canvg-browser/index.js ***!
2837 | \*********************************************/
2838 |
2839 | /*!*********************************************!*\
2840 | !*** ./src/layout/locator/BottomLocator.js ***!
2841 | \*********************************************/
2842 |
2843 | /*!*********************************************!*\
2844 | !*** ./src/layout/locator/CenterLocator.js ***!
2845 | \*********************************************/
2846 |
2847 | /*!*********************************************!*\
2848 | !*** ./src/policy/canvas/KeyboardPolicy.js ***!
2849 | \*********************************************/
2850 |
2851 | /*!*********************************************!*\
2852 | !*** ./src/shape/basic/LineResizeHandle.js ***!
2853 | \*********************************************/
2854 |
2855 | /*!*********************************************!*\
2856 | !*** ./src/util/spline/CatmullRomSpline.js ***!
2857 | \*********************************************/
2858 |
2859 | /*!**********************************************!*\
2860 | !*** ./src/command/CommandMoveConnection.js ***!
2861 | \**********************************************/
2862 |
2863 | /*!**********************************************!*\
2864 | !*** ./src/policy/canvas/SelectionPolicy.js ***!
2865 | \**********************************************/
2866 |
2867 | /*!**********************************************!*\
2868 | !*** ./src/policy/canvas/WheelZoomPolicy.js ***!
2869 | \**********************************************/
2870 |
2871 | /*!**********************************************!*\
2872 | !*** ./src/policy/figure/SelectionPolicy.js ***!
2873 | \**********************************************/
2874 |
2875 | /*!**********************************************!*\
2876 | !*** ./src/shape/analog/ResistorVertical.js ***!
2877 | \**********************************************/
2878 |
2879 | /*!**********************************************!*\
2880 | !*** ./src/shape/composite/WeakComposite.js ***!
2881 | \**********************************************/
2882 |
2883 | /*!**********************************************!*\
2884 | !*** ./src/shape/layout/HorizontalLayout.js ***!
2885 | \**********************************************/
2886 |
2887 | /*!***********************************************!*\
2888 | !*** ./node_modules/style-loader/lib/urls.js ***!
2889 | \***********************************************/
2890 |
2891 | /*!***********************************************!*\
2892 | !*** ./src/command/CommandReplaceVertices.js ***!
2893 | \***********************************************/
2894 |
2895 | /*!***********************************************!*\
2896 | !*** ./src/layout/anchor/ConnectionAnchor.js ***!
2897 | \***********************************************/
2898 |
2899 | /*!***********************************************!*\
2900 | !*** ./src/layout/connection/DirectRouter.js ***!
2901 | \***********************************************/
2902 |
2903 | /*!***********************************************!*\
2904 | !*** ./src/layout/connection/VertexRouter.js ***!
2905 | \***********************************************/
2906 |
2907 | /*!***********************************************!*\
2908 | !*** ./src/layout/mesh/ProposedMeshChange.js ***!
2909 | \***********************************************/
2910 |
2911 | /*!***********************************************!*\
2912 | !*** ./src/policy/canvas/DecorationPolicy.js ***!
2913 | \***********************************************/
2914 |
2915 | /*!***********************************************!*\
2916 | !*** ./src/policy/canvas/SnapToEditPolicy.js ***!
2917 | \***********************************************/
2918 |
2919 | /*!***********************************************!*\
2920 | !*** ./src/policy/figure/FigureEditPolicy.js ***!
2921 | \***********************************************/
2922 |
2923 | /*!***********************************************!*\
2924 | !*** ./src/policy/figure/RegionEditPolicy.js ***!
2925 | \***********************************************/
2926 |
2927 | /*!***********************************************!*\
2928 | !*** ./src/policy/port/PortFeedbackPolicy.js ***!
2929 | \***********************************************/
2930 |
2931 | /*!***********************************************!*\
2932 | !*** ./src/shape/basic/VertexResizeHandle.js ***!
2933 | \***********************************************/
2934 |
2935 | /*!************************************************!*\
2936 | !*** ./src/decoration/connection/Decorator.js ***!
2937 | \************************************************/
2938 |
2939 | /*!************************************************!*\
2940 | !*** ./src/layout/locator/DraggableLocator.js ***!
2941 | \************************************************/
2942 |
2943 | /*!************************************************!*\
2944 | !*** ./src/layout/locator/InputPortLocator.js ***!
2945 | \************************************************/
2946 |
2947 | /*!************************************************!*\
2948 | !*** ./src/layout/locator/XYAbsPortLocator.js ***!
2949 | \************************************************/
2950 |
2951 | /*!************************************************!*\
2952 | !*** ./src/layout/locator/XYRelPortLocator.js ***!
2953 | \************************************************/
2954 |
2955 | /*!************************************************!*\
2956 | !*** ./src/policy/canvas/ShowDotEditPolicy.js ***!
2957 | \************************************************/
2958 |
2959 | /*!************************************************!*\
2960 | !*** ./src/shape/basic/LineEndResizeHandle.js ***!
2961 | \************************************************/
2962 |
2963 | /*!************************************************!*\
2964 | !*** ./src/shape/composite/StrongComposite.js ***!
2965 | \************************************************/
2966 |
2967 | /*!************************************************!*\
2968 | !*** ./src/shape/icon/HammerAndScrewDriver.js ***!
2969 | \************************************************/
2970 |
2971 | /*!*************************************************!*\
2972 | !*** ./node_modules/css-loader/lib/css-base.js ***!
2973 | \*************************************************/
2974 |
2975 | /*!*************************************************!*\
2976 | !*** ./node_modules/script-loader/addScript.js ***!
2977 | \*************************************************/
2978 |
2979 | /*!*************************************************!*\
2980 | !*** ./src/layout/locator/ConnectionLocator.js ***!
2981 | \*************************************************/
2982 |
2983 | /*!*************************************************!*\
2984 | !*** ./src/layout/locator/OutputPortLocator.js ***!
2985 | \*************************************************/
2986 |
2987 | /*!*************************************************!*\
2988 | !*** ./src/policy/canvas/ShowGridEditPolicy.js ***!
2989 | \*************************************************/
2990 |
2991 | /*!*************************************************!*\
2992 | !*** ./src/policy/figure/DragDropEditPolicy.js ***!
2993 | \*************************************************/
2994 |
2995 | /*!*************************************************!*\
2996 | !*** ./src/policy/figure/VerticalEditPolicy.js ***!
2997 | \*************************************************/
2998 |
2999 | /*!**************************************************!*\
3000 | !*** ./src/command/CommandStackEventListener.js ***!
3001 | \**************************************************/
3002 |
3003 | /*!**************************************************!*\
3004 | !*** ./src/layout/anchor/FanConnectionAnchor.js ***!
3005 | \**************************************************/
3006 |
3007 | /*!**************************************************!*\
3008 | !*** ./src/shape/arrow/CalligrapherArrowLeft.js ***!
3009 | \**************************************************/
3010 |
3011 | /*!**************************************************!*\
3012 | !*** ./src/shape/basic/LineStartResizeHandle.js ***!
3013 | \**************************************************/
3014 |
3015 | /*!***************************************************!*\
3016 | !*** ./src/decoration/connection/BarDecorator.js ***!
3017 | \***************************************************/
3018 |
3019 | /*!***************************************************!*\
3020 | !*** ./src/layout/connection/ConnectionRouter.js ***!
3021 | \***************************************************/
3022 |
3023 | /*!***************************************************!*\
3024 | !*** ./src/layout/connection/RubberbandRouter.js ***!
3025 | \***************************************************/
3026 |
3027 | /*!***************************************************!*\
3028 | !*** ./src/policy/canvas/SnapToGridEditPolicy.js ***!
3029 | \***************************************************/
3030 |
3031 | /*!***************************************************!*\
3032 | !*** ./src/policy/figure/HorizontalEditPolicy.js ***!
3033 | \***************************************************/
3034 |
3035 | /*!***************************************************!*\
3036 | !*** ./src/shape/analog/VoltageSupplyVertical.js ***!
3037 | \***************************************************/
3038 |
3039 | /*!****************************************************!*\
3040 | !*** ./node_modules/style-loader/lib/addStyles.js ***!
3041 | \****************************************************/
3042 |
3043 | /*!****************************************************!*\
3044 | !*** ./src/policy/canvas/DefaultKeyboardPolicy.js ***!
3045 | \****************************************************/
3046 |
3047 | /*!****************************************************!*\
3048 | !*** ./src/policy/canvas/DropInterceptorPolicy.js ***!
3049 | \****************************************************/
3050 |
3051 | /*!****************************************************!*\
3052 | !*** ./src/policy/canvas/SingleSelectionPolicy.js ***!
3053 | \****************************************************/
3054 |
3055 | /*!****************************************************!*\
3056 | !*** ./src/shape/basic/GhostVertexResizeHandle.js ***!
3057 | \****************************************************/
3058 |
3059 | /*!*****************************************************!*\
3060 | !*** ./src/decoration/connection/ArrowDecorator.js ***!
3061 | \*****************************************************/
3062 |
3063 | /*!*****************************************************!*\
3064 | !*** ./src/layout/locator/SmartDraggableLocator.js ***!
3065 | \*****************************************************/
3066 |
3067 | /*!*****************************************************!*\
3068 | !*** ./src/policy/canvas/CoronaDecorationPolicy.js ***!
3069 | \*****************************************************/
3070 |
3071 | /*!*****************************************************!*\
3072 | !*** ./src/policy/canvas/ExtendedKeyboardPolicy.js ***!
3073 | \*****************************************************/
3074 |
3075 | /*!*****************************************************!*\
3076 | !*** ./src/policy/canvas/PanningSelectionPolicy.js ***!
3077 | \*****************************************************/
3078 |
3079 | /*!*****************************************************!*\
3080 | !*** ./src/policy/canvas/SnapToCenterEditPolicy.js ***!
3081 | \*****************************************************/
3082 |
3083 | /*!*****************************************************!*\
3084 | !*** ./src/shape/analog/VoltageSupplyHorizontal.js ***!
3085 | \*****************************************************/
3086 |
3087 | /*!******************************************************!*\
3088 | !*** ./src/decoration/connection/CircleDecorator.js ***!
3089 | \******************************************************/
3090 |
3091 | /*!******************************************************!*\
3092 | !*** ./src/layout/anchor/ChopboxConnectionAnchor.js ***!
3093 | \******************************************************/
3094 |
3095 | /*!******************************************************!*\
3096 | !*** ./src/layout/connection/FanConnectionRouter.js ***!
3097 | \******************************************************/
3098 |
3099 | /*!******************************************************!*\
3100 | !*** ./src/policy/canvas/FadeoutDecorationPolicy.js ***!
3101 | \******************************************************/
3102 |
3103 | /*!******************************************************!*\
3104 | !*** ./src/policy/canvas/ReadOnlySelectionPolicy.js ***!
3105 | \******************************************************/
3106 |
3107 | /*!******************************************************!*\
3108 | !*** ./src/policy/figure/SelectionFeedbackPolicy.js ***!
3109 | \******************************************************/
3110 |
3111 | /*!******************************************************!*\
3112 | !*** ./src/shape/arrow/CalligrapherArrowDownLeft.js ***!
3113 | \******************************************************/
3114 |
3115 | /*!*******************************************************!*\
3116 | !*** ./src/decoration/connection/DiamondDecorator.js ***!
3117 | \*******************************************************/
3118 |
3119 | /*!*******************************************************!*\
3120 | !*** ./src/layout/connection/MazeConnectionRouter.js ***!
3121 | \*******************************************************/
3122 |
3123 | /*!*******************************************************!*\
3124 | !*** ./src/layout/locator/ParallelMidpointLocator.js ***!
3125 | \*******************************************************/
3126 |
3127 | /*!*******************************************************!*\
3128 | !*** ./src/layout/locator/PolylineMidpointLocator.js ***!
3129 | \*******************************************************/
3130 |
3131 | /*!*******************************************************!*\
3132 | !*** ./src/policy/canvas/GhostMoveSelectionPolicy.js ***!
3133 | \*******************************************************/
3134 |
3135 | /*!*******************************************************!*\
3136 | !*** ./src/policy/canvas/ShowChessboardEditPolicy.js ***!
3137 | \*******************************************************/
3138 |
3139 | /*!*******************************************************!*\
3140 | !*** ./src/policy/canvas/SnapToGeometryEditPolicy.js ***!
3141 | \*******************************************************/
3142 |
3143 | /*!*******************************************************!*\
3144 | !*** ./src/policy/canvas/SnapToVerticesEditPolicy.js ***!
3145 | \*******************************************************/
3146 |
3147 | /*!*******************************************************!*\
3148 | !*** ./src/policy/port/ElasticStrapFeedbackPolicy.js ***!
3149 | \*******************************************************/
3150 |
3151 | /*!********************************************************!*\
3152 | !*** ./src/layout/locator/ManhattanMidpointLocator.js ***!
3153 | \********************************************************/
3154 |
3155 | /*!********************************************************!*\
3156 | !*** ./src/policy/canvas/SnapToInBetweenEditPolicy.js ***!
3157 | \********************************************************/
3158 |
3159 | /*!********************************************************!*\
3160 | !*** ./src/policy/line/LineSelectionFeedbackPolicy.js ***!
3161 | \********************************************************/
3162 |
3163 | /*!*********************************************************!*\
3164 | !*** ./node_modules/raw-loader!./src/lib/Class.exec.js ***!
3165 | \*********************************************************/
3166 |
3167 | /*!*********************************************************!*\
3168 | !*** ./src/layout/anchor/CenterEdgeConnectionAnchor.js ***!
3169 | \*********************************************************/
3170 |
3171 | /*!*********************************************************!*\
3172 | !*** ./src/layout/connection/SketchConnectionRouter.js ***!
3173 | \*********************************************************/
3174 |
3175 | /*!*********************************************************!*\
3176 | !*** ./src/layout/connection/SplineConnectionRouter.js ***!
3177 | \*********************************************************/
3178 |
3179 | /*!*********************************************************!*\
3180 | !*** ./src/policy/canvas/BoundingboxSelectionPolicy.js ***!
3181 | \*********************************************************/
3182 |
3183 | /*!*********************************************************!*\
3184 | !*** ./src/policy/canvas/ShowDimetricGridEditPolicy.js ***!
3185 | \*********************************************************/
3186 |
3187 | /*!*********************************************************!*\
3188 | !*** ./src/policy/connection/ConnectionCreatePolicy.js ***!
3189 | \*********************************************************/
3190 |
3191 | /*!*********************************************************!*\
3192 | !*** ./src/policy/figure/AntSelectionFeedbackPolicy.js ***!
3193 | \*********************************************************/
3194 |
3195 | /*!*********************************************************!*\
3196 | !*** ./src/policy/figure/BusSelectionFeedbackPolicy.js ***!
3197 | \*********************************************************/
3198 |
3199 | /*!*********************************************************!*\
3200 | !*** ./src/policy/port/IntrusivePortsFeedbackPolicy.js ***!
3201 | \*********************************************************/
3202 |
3203 | /*!**********************************************************!*\
3204 | !*** ./src/layout/anchor/ShortesPathConnectionAnchor.js ***!
3205 | \**********************************************************/
3206 |
3207 | /*!**********************************************************!*\
3208 | !*** ./src/layout/connection/CircuitConnectionRouter.js ***!
3209 | \**********************************************************/
3210 |
3211 | /*!**********************************************************!*\
3212 | !*** ./src/policy/figure/GlowSelectionFeedbackPolicy.js ***!
3213 | \**********************************************************/
3214 |
3215 | /*!**********************************************************!*\
3216 | !*** ./src/policy/figure/HBusSelectionFeedbackPolicy.js ***!
3217 | \**********************************************************/
3218 |
3219 | /*!**********************************************************!*\
3220 | !*** ./src/policy/figure/SlimSelectionFeedbackPolicy.js ***!
3221 | \**********************************************************/
3222 |
3223 | /*!**********************************************************!*\
3224 | !*** ./src/policy/figure/VBusSelectionFeedbackPolicy.js ***!
3225 | \**********************************************************/
3226 |
3227 | /*!**********************************************************!*\
3228 | !*** ./src/policy/line/VertexSelectionFeedbackPolicy.js ***!
3229 | \**********************************************************/
3230 |
3231 | /*!***********************************************************!*\
3232 | !*** ./node_modules/css-loader!./src/css/contextmenu.css ***!
3233 | \***********************************************************/
3234 |
3235 | /*!***********************************************************!*\
3236 | !*** ./node_modules/raw-loader!./src/lib/raphael.exec.js ***!
3237 | \***********************************************************/
3238 |
3239 | /*!***********************************************************!*\
3240 | !*** ./src/policy/canvas/SnapToDimetricGridEditPolicy.js ***!
3241 | \***********************************************************/
3242 |
3243 | /*!***********************************************************!*\
3244 | !*** ./src/policy/figure/WidthSelectionFeedbackPolicy.js ***!
3245 | \***********************************************************/
3246 |
3247 | /*!************************************************************!*\
3248 | !*** ./src/layout/connection/ManhattanConnectionRouter.js ***!
3249 | \************************************************************/
3250 |
3251 | /*!************************************************************!*\
3252 | !*** ./src/policy/figure/ResizeSelectionFeedbackPolicy.js ***!
3253 | \************************************************************/
3254 |
3255 | /*!************************************************************!*\
3256 | !*** ./src/policy/figure/VertexSelectionFeedbackPolicy.js ***!
3257 | \************************************************************/
3258 |
3259 | /*!*************************************************************!*\
3260 | !*** ./src/policy/connection/DragConnectionCreatePolicy.js ***!
3261 | \*************************************************************/
3262 |
3263 | /*!**************************************************************!*\
3264 | !*** ./src/policy/connection/ClickConnectionCreatePolicy.js ***!
3265 | \**************************************************************/
3266 |
3267 | /*!**************************************************************!*\
3268 | !*** ./src/policy/line/OrthogonalSelectionFeedbackPolicy.js ***!
3269 | \**************************************************************/
3270 |
3271 | /*!***************************************************************!*\
3272 | !*** ./node_modules/raw-loader!./src/lib/pathfinding.exec.js ***!
3273 | \***************************************************************/
3274 |
3275 | /*!***************************************************************!*\
3276 | !*** ./src/policy/figure/RectangleSelectionFeedbackPolicy.js ***!
3277 | \***************************************************************/
3278 |
3279 | /*!*****************************************************************!*\
3280 | !*** ./src/policy/connection/ComposedConnectionCreatePolicy.js ***!
3281 | \*****************************************************************/
3282 |
3283 | /*!******************************************************************!*\
3284 | !*** ./src/policy/figure/BigRectangleSelectionFeedbackPolicy.js ***!
3285 | \******************************************************************/
3286 |
3287 | /*!*******************************************************************!*\
3288 | !*** ./src/layout/connection/ManhattanBridgedConnectionRouter.js ***!
3289 | \*******************************************************************/
3290 |
3291 | /*!*******************************************************************!*\
3292 | !*** ./src/policy/connection/OrthogonalConnectionCreatePolicy.js ***!
3293 | \*******************************************************************/
3294 |
3295 | /*!********************************************************************!*\
3296 | !*** ./src/layout/connection/MuteableManhattanConnectionRouter.js ***!
3297 | \********************************************************************/
3298 |
3299 | /*!********************************************************************!*\
3300 | !*** ./src/policy/figure/RoundRectangleSelectionFeedbackPolicy.js ***!
3301 | \********************************************************************/
3302 |
3303 | /*!***********************************************************************!*\
3304 | !*** ./src/layout/connection/InteractiveManhattanConnectionRouter.js ***!
3305 | \***********************************************************************/
3306 |
3307 | /**
3308 | * @license
3309 | * Copyright 2017 Google LLC
3310 | * SPDX-License-Identifier: BSD-3-Clause
3311 | */
3312 |
3313 | /**
3314 | * @license
3315 | * Copyright 2018 Google LLC
3316 | * SPDX-License-Identifier: BSD-3-Clause
3317 | */
3318 |
3319 | /**
3320 | * @license
3321 | * Copyright 2019 Google LLC
3322 | * SPDX-License-Identifier: BSD-3-Clause
3323 | */
3324 |
--------------------------------------------------------------------------------