funcnodes-react-flow 0.1.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,69 @@
1
+ from typing import Dict, TypedDict, List
2
+ from .run import run_server # noqa: F401
3
+
4
+
5
+ class ReactPlugin(TypedDict):
6
+ """
7
+ A typed dictionary for a React plugin.
8
+
9
+ Attributes:
10
+ js (list[str]): A list of JavaScript files.
11
+ """
12
+
13
+ js: list[str]
14
+ css: list[str]
15
+ module: str
16
+
17
+
18
+ class ExpandedReactPlugin(TypedDict):
19
+ """
20
+ A typed dictionary for an expanded React plugin.
21
+
22
+ Attributes:
23
+ js (list[bytes]): A list of JavaScript files.
24
+ """
25
+
26
+ js: List[bytes]
27
+ module: bytes
28
+ css: List[bytes]
29
+
30
+
31
+ FUNCNODES_REACT_PLUGIN: Dict[str, ReactPlugin] = {}
32
+
33
+
34
+ def add_react_plugin(name: str, plugin: ReactPlugin):
35
+ """
36
+ Add a React plugin to the FUNCNODES_REACT_PLUGIN dictionary.
37
+
38
+ Args:
39
+ name (str): The name of the plugin.
40
+ plugin (ReactPlugin): The plugin to add.
41
+ """
42
+ FUNCNODES_REACT_PLUGIN[str(name)] = plugin
43
+
44
+
45
+ def get_react_plugin_content(key: str) -> ExpandedReactPlugin:
46
+ """
47
+ Get the content of a React plugin.
48
+
49
+ Args:
50
+ key (str): The key of the plugin.
51
+
52
+ Returns:
53
+ str: The content of the plugin.
54
+ """
55
+ key = str(key)
56
+
57
+ with open(FUNCNODES_REACT_PLUGIN[key]["module"], "rb") as f:
58
+ module = f.read()
59
+ resp: ExpandedReactPlugin = {"js": [], "module": module, "css": []}
60
+ if "js" in FUNCNODES_REACT_PLUGIN[key]:
61
+ for js in FUNCNODES_REACT_PLUGIN[key]["js"]:
62
+ with open(js, "rb") as f:
63
+ resp["js"].append(f.read())
64
+
65
+ if "css" in FUNCNODES_REACT_PLUGIN[key]:
66
+ for css in FUNCNODES_REACT_PLUGIN[key]["css"]:
67
+ with open(css, "rb") as f:
68
+ resp["css"].append(f.read())
69
+ return resp
@@ -0,0 +1,47 @@
1
+ from typing import Type
2
+ from .run import run_server
3
+ import funcnodes as fn
4
+ import argparse
5
+ from pprint import pprint
6
+ import sys
7
+ import os
8
+
9
+ try:
10
+ from setproctitle import setproctitle
11
+ except ModuleNotFoundError:
12
+ setproctitle = print
13
+
14
+
15
+ def main():
16
+ """
17
+ The main function.
18
+
19
+ Returns:
20
+ None
21
+
22
+ Examples:
23
+ >>> main()
24
+ None
25
+ """
26
+ parser = argparse.ArgumentParser(description="Funcnodes React Cli.")
27
+
28
+ parser.add_argument(
29
+ "--port",
30
+ default=fn.config.CONFIG["frontend"]["port"],
31
+ help="Port to run the server on",
32
+ type=int,
33
+ )
34
+ parser.add_argument(
35
+ "--no-browser",
36
+ action="store_false",
37
+ help="Open the browser after starting the server",
38
+ )
39
+
40
+ args = parser.parse_args()
41
+
42
+ setproctitle("funcnodes_server")
43
+ run_server(port=args.port, open_browser=args.no_browser)
44
+
45
+
46
+ if __name__ == "__main__":
47
+ main()
@@ -0,0 +1,21 @@
1
+ {
2
+ "files": {
3
+ "main.css": "/static/css/main.b07f411f.css",
4
+ "main.js": "/static/js/main.37cf4e32.js",
5
+ "funcnodes.css": "/static/css/funcnodes.8b6f802d.chunk.css",
6
+ "funcnodes.js": "/static/js/funcnodes.cdbf3d26.chunk.js",
7
+ "static/js/563.056d6584.chunk.js": "/static/js/563.056d6584.chunk.js",
8
+ "static/js/776.78134d71.chunk.js": "/static/js/776.78134d71.chunk.js",
9
+ "index.html": "/index.html",
10
+ "main.b07f411f.css.map": "/static/css/main.b07f411f.css.map",
11
+ "main.37cf4e32.js.map": "/static/js/main.37cf4e32.js.map",
12
+ "funcnodes.8b6f802d.chunk.css.map": "/static/css/funcnodes.8b6f802d.chunk.css.map",
13
+ "funcnodes.cdbf3d26.chunk.js.map": "/static/js/funcnodes.cdbf3d26.chunk.js.map",
14
+ "563.056d6584.chunk.js.map": "/static/js/563.056d6584.chunk.js.map",
15
+ "776.78134d71.chunk.js.map": "/static/js/776.78134d71.chunk.js.map"
16
+ },
17
+ "entrypoints": [
18
+ "static/css/main.b07f411f.css",
19
+ "static/js/main.37cf4e32.js"
20
+ ]
21
+ }
@@ -0,0 +1,37 @@
1
+ body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
2
+ /*!*******************************************************************************************************************************************************************************************************************************!*\
3
+ !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../node_modules/sass-loader/dist/cjs.js!./src/frontend/header/header.scss ***!
4
+ \*******************************************************************************************************************************************************************************************************************************/.funcnodesreactflowheader{display:flex;flex-direction:row;height:50px;justify-content:flex-start;left:0;position:relative;top:0}.funcnodesreactflowheader .headerelement{align-items:center;display:flex;height:100%;margin:4px;position:relative;white-space:nowrap}.funcnodesreactflowheader .statusbar{background-color:var(--funcnodesbackground2);border-radius:.5rem;display:inline-block;height:1.5rem;margin:2px 4px 0;overflow:hidden;position:relative;width:250px}.funcnodesreactflowheader .statusbar-progressbar{background-color:var(--funheadercolor);display:inline-block;height:100%;left:0;position:absolute;top:0;width:0}.funcnodesreactflowheader .statusbar-message{color:var(--funheadercolor);font-size:.8rem;left:0;mix-blend-mode:difference;position:relative;top:0}
5
+ /*!************************************************************************************************************************************************************************************************************************!*\
6
+ !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../node_modules/sass-loader/dist/cjs.js!./src/frontend/dialog.scss ***!
7
+ \************************************************************************************************************************************************************************************************************************/.dialogoverlay{animation:overlayShow .15s cubic-bezier(.16,1,.3,1);background-color:rgba(0,0,0,.5);inset:0;position:fixed}.dialogconent{animation:contentShow .15s cubic-bezier(.16,1,.3,1);background-color:var(--funcnodesbackground1);border:1px solid var(--funheadercolor);border-radius:6px;box-shadow:var(--funheadercolor) 0 10px 38px -10px,var(--funheadercolor) 0 10px 20px -15px;color:var(--funcnodestextcolor1);display:flex;flex-direction:column;left:50%;max-height:85vh;max-width:85vh;padding:25px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90vw}.dialogtitle{color:var(--funheadercolor);font-size:17px;font-weight:500;margin:0}.dialogdescription{font-size:15px;line-height:1.5;margin:10px 0 20px}.dialogclosebutton{align-items:center;background-color:inherit;border:none;border-radius:100%;color:var(--funheadercolor);display:inline-flex;height:25px;justify-content:center;position:absolute;right:10px;top:10px;width:25px}.dialogclosebutton:hover{background-color:var(--funheadercolor);color:var(--funcnodesbackground1)}.dialogclosebutton:active{background-color:var(--funheadercolor);color:var(--funcnodestextcolor1)}.dialogsendbutton{background-color:var(--funcnodesbackground1);border:1px solid var(--funheadercolor);border-radius:99rem;color:var(--funheadercolor);cursor:pointer;font-size:15px;margin-top:20px;padding:10px 20px}.dialogsendbutton:hover{background-color:var(--funheadercolor);color:var(--funcnodesbackground1)}.dialogsendbutton:active{background-color:var(--funheadercolor);color:var(--funcnodestextcolor1)}.dialogchildren{margin-top:20px;overflow:auto}
8
+ /*!*********************************************************************************************************************************************************************************************************************!*\
9
+ !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../node_modules/sass-loader/dist/cjs.js!./src/frontend/lib.scss ***!
10
+ \*********************************************************************************************************************************************************************************************************************/:root{--expandtime:0.3s;--libnodebgcolor:#48465f;--libnodebgcolor_hover:#6a6698}.libcontainer{border-radius:.5rem;box-sizing:border-box;height:100%;left:0;top:0}.libcontainer,.library{display:flex;flex-direction:column;padding:.5rem}.library{background-color:var(--funcnodesbackground2);border-radius:var(--containerboarderradius);flex-grow:1;overflow:hidden;width:15rem}.library .libtitle{color:var(--funheadercolor);font-size:1rem;font-weight:700}.library hr{width:100%}.library hr.hr_prominent{border:.5px solid var(--funheadercolor)}.addlib{background-color:var(--funcnodesbackground2);border-radius:var(--containerboarderradius);padding:.5rem}.addlib button{background-color:var(--funcnodesbackground1);border:0;border-radius:.5rem;color:var(--funheadercolor);cursor:pointer;font-size:1rem;padding:.5rem;width:100%}.addlib button:hover{background-color:var(--funheadercolor);color:var(--funcnodesbackground1)}.addlib button:active,.addlib button[disabled]{background-color:var(--funcnodesbackground1);color:var(--funcnodestextcolor1)}.addlib button[disabled]{cursor:not-allowed}.libfilter{background-color:rgba(0,0,0,.1);display:flex;flex-direction:row;padding:.2rem;width:100%}.libfilter:focus-within{border:1px solid var(--funheadercolor)}.libfilter input{background-color:transparent;border:0;color:var(--funcnodestextcolor1);flex-grow:1}.libfilter input:focus{outline:none}.libnodecontainer{display:grid;transition:grid-template-rows var(--expandtime) ease-out}.libnodecontainer.close{grid-template-rows:0fr}.libnodecontainer.open{grid-template-rows:1fr}.libnodecontainer_inner{overflow:hidden;padding-left:10px;transition:opacity var(--expandtime) ease-out}.libnodecontainer.close .libnodecontainer_inner{opacity:.2}.libnodecontainer.open .libnodecontainer_inner{opacity:1}.shelfcontainer{display:flex;flex-direction:column;padding-bottom:.2rem;padding-top:.2rem}.shelfcontainer .shelftitle{color:var(--funheadercolor);display:flex;font-size:.8rem;opacity:.8}.shelfcontainer .shelftitle_text{flex-grow:1}.libnodeentry{background-color:var(--libnodebgcolor);border:1px solid var(--libnodebgcolor);border-radius:10px;box-shadow:-.2rem 0 #004cff;box-sizing:border-box;cursor:pointer;font-size:.8rem;margin-bottom:.2rem;padding:.1rem;transition:border .2s ease-in-out}.libnodeentry:hover{background-color:var(--libnodebgcolor_hover);border:1px solid #004cff}.expandicon{transform:rotate(0deg);transition:transform var(--expandtime) ease-out}.expandicon.close{transform:rotate(180deg)}
11
+ /*!**********************************************************************************************************************************************************************************************!*\
12
+ !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!../node_modules/reactflow/dist/style.css ***!
13
+ \**********************************************************************************************************************************************************************************************/.react-flow{direction:ltr}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translateX(-50%)}.react-flow__attribution{background:hsla(0,0%,100%,.5);font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px rgba(0,0,0,.08)}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:hsla(0,0%,94%,.25)}.react-flow__nodesselection-rect,.react-flow__selection{background:rgba(0,89,220,.08);border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px rgba(0,0,0,.08)}.react-flow__controls-button{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:content-box;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}
14
+ /*!*******************************************************************************************************************************************************************************************************************************************************!*\
15
+ !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../node_modules/sass-loader/dist/cjs.js!./src/frontend/funcnodesreactflow/funcnodesreactflow.scss ***!
16
+ \*******************************************************************************************************************************************************************************************************************************************************/.basicstyleelement,.styled-select__menu,.styledbtn,.styledcheckbox,.styleddropdown,.styledinput,.styleelement{background-color:var(--funcnodesbackground1);border:1px solid var(--funheadercolor);border-radius:.75rem;color:var(--funcnodestextcolor1)}.styledbtn,.styledcheckbox,.styleddropdown,.styledinput,.styleelement{height:2rem;padding-left:.5rem;padding-right:.5rem}.styledbtn:hover,.styledcheckbox:hover,.styleddropdown:hover,.styledinput:hover,.styleelement:hover{background-color:var(--funcnodesbackground_light)}.styledbtn:active,.styledcheckbox:active,.styleddropdown:active,.styledinput:active,.styleelement:active{background-color:var(--funheadercolor);color:var(--funcnodesbackground1)}.styledbtn:focus,.styledcheckbox:focus,.styleddropdown:focus,.styledinput:focus,.styleelement:focus{outline:1px solid var(--funheadercolor)}.styleddropdown{padding-right:.25rem}.styledbtn{cursor:pointer}.styledinput :focus{outline:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{background-color:tr;opacity:.5}.styledcheckbox{accent-color:var(--funheadercolor);height:auto}.styledcheckbox:focus{outline:none}.styledcheckbox:after{background-color:var(--funheadercolor);content:""}.styledcheckbox.checked{background-color:var(--funheadercolor);color:var(--funcnodesbackground1)}.SliderContainer{height:100%;min-height:20px}.SliderContainer,.SliderRoot{align-items:center;display:flex;width:100%}.SliderRoot{height:-moz-fit-content;height:fit-content;position:relative;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.SliderTrack{background-color:var(--funcnodesbackground1);border-radius:9999px;flex-grow:1;height:3px;position:relative}.SliderRange{background-color:var(--funheadercolor);border-radius:9999px;height:100%;position:absolute}.SliderThumb{background-color:#fff;border-radius:10px;box-shadow:0 2px 5px rgba(0,0,0,.333);display:block;height:10px;width:10px}.SliderThumb:hover{background-color:#999}.SliderThumb:focus{box-shadow:0 0 0 5px rgba(0,0,0,.333);outline:none}.styled-select__menu-list{height:auto;max-height:200px!important;padding-left:0}.styled-select__menu{margin-left:-.5rem}.styled-select__option:hover{background-color:var(--funcnodesbackground_light)}button{font-family:inherit;font-size:inherit}:root{--funheadercolor:#00d9ff;--funcnodesbackground1:#19192a;--funcnodesbackground2:#2e2c44;--funcnodesbackground_light:#4c4c76;--containerboarderradius:1rem;--funcnodestextcolor1:#fff}.funcnodesreactflowcontainer{background-color:var(--funcnodesbackground1);color:var(--funcnodestextcolor1);display:flex;flex-direction:column;height:100%;position:relative;width:100%}.funcnodesreactflowcontainer *{box-sizing:border-box}.funcnodesreactflowbody{display:flex;flex-direction:row}.funcnodesreactflowbody,.reactflowlayer{flex-grow:1;overflow:hidden;position:relative}.reactflowlayer{background-color:var(--funcnodesbackground2);border-radius:var(--containerboarderradius);margin:.5rem}.vscrollcontainer{box-sizing:border-box;flex-grow:1;overflow-x:hidden;overflow-y:auto;padding:.5rem}.workerselect{max-width:140px}.workerselectoption.selected{color:var(--funcnodestextcolor1)}.workerselectoption.active{color:green}.workerselectoption.inactive{color:red}
17
+ /*!***************************************************************************************************************************************************************************************************************************!*\
18
+ !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../node_modules/sass-loader/dist/cjs.js!./src/frontend/node/node.scss ***!
19
+ \***************************************************************************************************************************************************************************************************************************/:root{--node_border_radius:5px;--handle_outer_radius:4px;--handle_inner_radius:2px;--handle_width:10;--handle_width_hover:15;--handle_overlap:3;--nodeinput_margin:2;--nodeio_shift:calc(var(--handle_overlap) - var(--nodeinput_margin));--handle_source_color:#02cff7;--handle_target_color:#089bfd;--node_background:#3e34a2;--node_header_color:#201b55}.react-flow__node{background-clip:content-box;background-color:var(--node_background);border:2px solid hsla(0,0%,100%,0);border-radius:var(--node_border_radius);box-sizing:content-box;color:#f0f8ff;display:flex;flex-direction:column;font-size:.5rem;max-width:200px;min-width:100px;padding:0;transform:-50%,-50%;width:auto}.react-flow__node.selected{border-color:hsla(0,0%,100%,.6)}.react-flow__node *{box-sizing:border-box}.react-flow__handle{border-radius:0;height:calc(100% - 4px);transition:left .2s ease-in-out,right .2s ease-in-out,width .2s ease-in-out;width:calc(var(--handle_width)*1px)}.react-flow__handle:hover{width:calc(var(--handle_width_hover)*1px)}.react-flow__handle.source{background-color:var(--handle_source_color)}.react-flow__handle.target{background-color:var(--handle_target_color)}.react-flow__handle-left{border-radius:var(--handle_outer_radius) var(--handle_inner_radius) var(--handle_inner_radius) var(--handle_outer_radius);left:calc((var(--nodeio_shift) - var(--handle_width))*1px)}.react-flow__handle-left:hover{left:calc((var(--nodeio_shift) - var(--handle_width_hover))*1px)}.react-flow__handle-right{border-radius:var(--handle_inner_radius) var(--handle_outer_radius) var(--handle_outer_radius) var(--handle_inner_radius);right:calc((var(--nodeio_shift) - var(--handle_width))*1px)}.react-flow__handle-right:hover{right:calc((var(--nodeio_shift) - var(--handle_width_hover))*1px)}.react-flow__handle-top{border-radius:var(--handle_outer_radius) var(--handle_outer_radius) var(--handle_inner_radius) var(--handle_inner_radius)}.react-flow__handle-bottom{border-radius:var(--handle_inner_radius) var(--handle_inner_radius) var(--handle_outer_radius) var(--handle_outer_radius)}.innernode{box-sizing:border-box;display:flex;flex-direction:column;height:100%;width:100%}.innernode.intrigger .nodeheader{background-color:#abb408}.innernode.error .nodeheader{background-color:red}.nodeheader{background-color:var(--node_header_color);border-radius:var(--node_border_radius) var(--node_border_radius) 0 0;box-sizing:border-box;justify-content:space-between;padding:.1rem;width:100%}.nodeheader,.nodeheader_element{align-items:center;display:flex}.nodeheader_title{flex-grow:1;justify-content:center;margin:0 10px}.nodeheader_title,.nodeheader_title_text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nodeheader_title_text{max-width:100%}.nodeheader .triggerbutton{cursor:pointer}.nodeheader .triggerbutton:hover{color:#0cc3f5}.nodeheader .triggerbutton:active{color:#075d74}.nodename_input{background:none;border:1px solid #000;border-radius:2px;box-sizing:border-box;color:#fff;font-size:inherit;margin:2px;text-align:center}.nodefooter{background-color:#4e0ba5;border-radius:0 0 var(--node_border_radius) var(--node_border_radius);padding:.1rem;width:100%}.nodefooter:empty{display:none}.nodefooter .nodeerror{background-color:rgba(255,0,0,.459);border:1px solid red;border-radius:2px;padding:.25rem}.nodebody{flex-grow:1}.nodedatabody{overflow:auto}.noderesizecontrol{background:transparent!important;border:none!important;font-size:.5rem}.noderesizeicon{bottom:4px;font-size:.5rem;position:absolute;right:4px}.nodeinput,.nodeio,.nodeoutput{align-items:center;background-color:inherit;border:1px solid hsla(0,0%,100%,.533);border-radius:3px;box-sizing:border-box;display:flex;flex-direction:row;margin-bottom:.1rem;margin-left:calc(var(--nodeinput_margin)*1px);margin-right:calc(var(--nodeinput_margin)*1px);margin-top:.1rem;padding:.1rem;position:relative;width:auto}.iovaluefield{align-items:start;display:flex;flex-grow:1;flex-shrink:1;justify-content:start;line-break:anywhere;margin:.2rem;overflow:hidden}.iovaluefield>input{width:100%}.nodeinput>.iovaluefield{overflow:visible}.ioname{color:inherit;flex-grow:1;flex-shrink:1;margin:.2rem;min-width:2rem;overflow:hidden}.nodeinput .ioname{text-align:left}.nodeoutput .ioname{text-align:right}.nodedatainput{align-items:center;display:flex;height:1.5rem}input.nodedatainput:focus{outline:none}.nodedatainput.styleddropdown,.nodedatastyledelement,input.nodedatainput.styledinput{background-color:var(--node_header_color);font-size:.5rem;height:1.5rem}.nodedatainput.styleddropdown:disabled,.nodedatastyledelement:disabled,input.nodedatainput.styledinput:disabled{opacity:.5}.nodedatainput.styleddropdown,input.nodedatainput.styledinput{width:100%}
20
+ /*!****************************************************************************************************************************************************************************************************************************!*\
21
+ !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../node_modules/sass-loader/dist/cjs.js!./src/frontend/node/io/io.scss ***!
22
+ \****************************************************************************************************************************************************************************************************************************/s slideUpAndFade from{opacity:0;transform:translateY(2px)}s slideUpAndFade to{opacity:1;transform:translateY(0)}@keyframes slideRightAndFade{0%{opacity:0;transform:translateX(-2px)}to{opacity:1;transform:translateX(0)}}@keyframes slideDownAndFade{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeftAndFade{0%{opacity:0;transform:translateX(2px)}to{opacity:1;transform:translateX(0)}}.iotooltipcontent{background-color:#f9f9f9;border:1px solid #fff;border-radius:5px;box-shadow:0 10px 38px -10px rgba(14,18,22,.35),0 10px 20px -15px rgba(14,18,22,.2);color:#333;cursor:default;display:flex;flex-direction:column;font-size:10px;max-height:40vh;max-width:40vw;overflow:auto;padding:10px}.iotooltipcontent.fullsize{max-height:100vh;max-width:100vw;position:fixed;top:0}.iotooltipcontent[data-state=delayed-open][data-side=top]{animation-name:slideDownAndFade}.iotooltipcontent[data-state=delayed-open][data-side=right]{animation-name:slideLeftAndFade}.iotooltipcontent[data-state=delayed-open][data-side=bottom]{animation-name:slideUpAndFade}.iotooltipcontent[data-state=delayed-open][data-side=left]{animation-name:slideRightAndFade}.iotooltip_container{display:flex;flex-direction:column;max-height:inherit;max-width:inherit}.iotooltipcontentarrow{fill:#fff}
23
+ /*!***********************************************************************************************************************************************************************************************************************************!*\
24
+ !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../node_modules/sass-loader/dist/cjs.js!./src/frontend/utils/colorpicker.scss ***!
25
+ \***********************************************************************************************************************************************************************************************************************************/.colorspace{display:grid;grid-template-columns:auto minmax(0,1fr);margin:.2rem}.colorspace_title{font-size:.7em;font-weight:700}.colorspace label{font-size:.7rem}.colorspace input{font-size:.7rem;max-height:.7rem}.colorspace input[type=range]{-webkit-appearance:none;background-color:#666;border-radius:5px;height:.7rem;margin:0;padding:0;width:100%}.colorspace input[type=range]::-moz-range-thumb,.colorspace input[type=range]::-webkit-range-thumb,.colorspace input[type=range]::-webkit-slider-thumb{background-color:#cc1c1c;border-radius:50%;cursor:pointer;height:.7rem;width:.7rem}
26
+ /*!******************************************************************************************************************************************************************************************************************************!*\
27
+ !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../node_modules/sass-loader/dist/cjs.js!./src/frontend/utils/select.scss ***!
28
+ \******************************************************************************************************************************************************************************************************************************/.styled-select__control{height:100%;min-height:auto;min-width:10px}.styled-select__menu-list{max-height:200px}.styled-select__single-value{text-align:start}.styled-select__option{padding:2px 5px;text-align:start}.styled-select__option:hover{cursor:pointer}
29
+ /*!*********************************************************************************************************************************************************************************************************!*\
30
+ !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!../node_modules/react-json-view-lite/dist/index.css ***!
31
+ \*********************************************************************************************************************************************************************************************************/._GzYRV{line-height:1.2;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}._3eOF8{font-weight:700;margin-right:5px}._1MFti{cursor:pointer}._f10Tu{font-size:1.2em;margin-right:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}._1UmXx:after{content:"\25B8"}._1LId0:after{content:"\25BE"}._1pNG9{margin-right:5px}._1pNG9:after{content:"...";font-size:.8em}._2IvMF{background:#eee}._2bkNM{margin:0 10px;padding:0}._1MGIk{font-weight:600;margin-right:5px}._1MGIk,._3uHL6{color:#000}._1Gho6,._2T6PJ{color:#df113a}._vGjyY{color:#2a3f3c}._1bQdo{color:#0b75f5}._3zQKs{color:#469038}._1xvuR{color:#43413d}._2AXVT,._2KJWg,._oLqym{color:#000}._11RoI{background:#002b36}._17H2C,._2bSDX,._3QHg2,._3fDAz{color:#fdf6e3}._2bSDX{font-weight:bolder;margin-right:5px}._gsbQL{color:#fdf6e3}._GTKgm,._LaAZe{color:#81b5ac}._Chy1W{color:#cb4b16}._2bveF{color:#d33682}._2vRm-{color:#ae81ff}._1prJR{color:#268bd2}
32
+ /*!*****************************************************************************************************************************************************************************************************************************!*\
33
+ !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../node_modules/sass-loader/dist/cjs.js!./src/frontend/utils/table.scss ***!
34
+ \*****************************************************************************************************************************************************************************************************************************/.tablecontainer{background-color:#fff;min-height:20rem;overflow:auto}.tableHead{background-color:var(--funcnodesbackground1);color:var(--funheadercolor)!important;font-weight:700!important}.tableheadercolor{color:inherit!important}.indexcol,.tableheadercolor{font-family:inherit!important;font-weight:inherit!important}.indexcol{background-color:var(--funcnodesbackground2);color:var(--funheadercolor)!important}
35
+ /*!**********************************************************************************************************************************************************************************************************************!*\
36
+ !*** css ../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../node_modules/sass-loader/dist/cjs.js!./src/frontend/edge.scss ***!
37
+ \**********************************************************************************************************************************************************************************************************************/:root{--funcnodesedgecolor:#7bb3ec}.funcnodes-edge .react-flow__edge-path{stroke:var(--funcnodesedgecolor);stroke-width:2px}.funcnodes-edge.selected .react-flow__edge-path{stroke:#1f0}
Binary file
Binary file
Binary file
@@ -0,0 +1 @@
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>FuncNodes</title><script defer="defer" src="js/830.js"></script><script defer="defer" src="js/main.js"></script><link href="css/style.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>