diff --git a/.github/actions/install_package/action.yml b/.github/actions/install_package/action.yml index 30ab638..2e63751 100644 --- a/.github/actions/install_package/action.yml +++ b/.github/actions/install_package/action.yml @@ -26,5 +26,5 @@ runs: - name: Install Dependencies shell: bash run: | - uv sync + uv sync --refresh echo "python-version=${{ steps.setup_python.outputs.python-version }}" >> "$GITHUB_OUTPUT" diff --git a/MANIFEST.in b/MANIFEST.in index e85c413..8fa09af 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,4 @@ graft src graft tests prune **/__pycache__/ -prune src/react_plugin +prune src/react_plugin* diff --git a/pyproject.toml b/pyproject.toml index 65913e8..89ac744 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "funcnodes-plotly" -version = "0.3.2" +version = "1.0.0" description = "" readme = "README.md" classifiers = [ @@ -31,8 +31,8 @@ dev = [ ] [build-system] -requires = [ "setuptools>=42",] -build-backend = "setuptools.build_meta" +requires = ["hatchling"] +build-backend = "hatchling.build" [project.license] text = "AGPL-3.0" @@ -44,8 +44,8 @@ source = "https://github.com/Linkdlab/funcnodes_plotly" tracker = "https://github.com/Linkdlab/funcnodes_plotly/issues" download = "https://pypi.org/project/funcnodes-plotly/#files" -[tool.setuptools.package-dir] -"" = "src" +[tool.hatch.build.targets.wheel] +packages = ["src/funcnodes_plotly"] [tool.commitizen] @@ -58,5 +58,3 @@ update_changelog_on_bump = true module = "funcnodes_plotly" shelf = "funcnodes_plotly:NODE_SHELF" -[tool.setuptools.packages.find] -where = [ "src",] diff --git a/src/funcnodes_plotly/__init__.py b/src/funcnodes_plotly/__init__.py index 1e38b56..e72452f 100644 --- a/src/funcnodes_plotly/__init__.py +++ b/src/funcnodes_plotly/__init__.py @@ -84,9 +84,9 @@ def figure_byte_encoder(figure: go.Figure, preview) -> fn.BytesEncdata: ) REACT_PLUGIN = { - "module": os.path.join(os.path.dirname(__file__), "react_plugin", "main.js"), - "css": [os.path.join(os.path.dirname(__file__), "react_plugin", "style.css")], + "module": os.path.join(os.path.dirname(__file__), "react_plugin", "index.iife.js"), + "css": [os.path.join(os.path.dirname(__file__), "react_plugin", "plugin-custom-renders.css")], } -__version__ = "0.3.1" +__version__ = "1.0.0" diff --git a/src/funcnodes_plotly/react_plugin/index.iife.js b/src/funcnodes_plotly/react_plugin/index.iife.js new file mode 100644 index 0000000..2e3d98e --- /dev/null +++ b/src/funcnodes_plotly/react_plugin/index.iife.js @@ -0,0 +1,3866 @@ +var FuncNodesPlugin=function(cb,fb){"use strict";function uS(zl){const mu=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(zl){for(const Oc in zl)if(Oc!=="default"){const Es=Object.getOwnPropertyDescriptor(zl,Oc);Object.defineProperty(mu,Oc,Es.get?Es:{enumerable:!0,get:()=>zl[Oc]})}}return mu.default=zl,Object.freeze(mu)}const Wh=uS(cb);function cS(zl){return zl&&zl.__esModule&&Object.prototype.hasOwnProperty.call(zl,"default")?zl.default:zl}var Zy={exports:{}},C0={};/** + * @license React + * react-jsx-runtime.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var hb;function fS(){if(hb)return C0;hb=1;var zl=Symbol.for("react.transitional.element"),mu=Symbol.for("react.fragment");function Oc(Es,Ul,Bc){var Bf=null;if(Bc!==void 0&&(Bf=""+Bc),Ul.key!==void 0&&(Bf=""+Ul.key),"key"in Ul){Bc={};for(var Rh in Ul)Rh!=="key"&&(Bc[Rh]=Ul[Rh])}else Bc=Ul;return Ul=Bc.ref,{$$typeof:zl,type:Es,key:Bf,ref:Ul!==void 0?Ul:null,props:Bc}}return C0.Fragment=mu,C0.jsx=Oc,C0.jsxs=Oc,C0}var vb;function hS(){return vb||(vb=1,Zy.exports=fS()),Zy.exports}var Eh=hS(),Yy={},$y={},Ky={exports:{}},Jy,db;function vS(){if(db)return Jy;db=1;var zl="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return Jy=zl,Jy}var Qy,pb;function dS(){if(pb)return Qy;pb=1;var zl=vS();function mu(){}function Oc(){}return Oc.resetWarningCache=mu,Qy=function(){function Es(Bf,Rh,Fv,nd,ev,Ov){if(Ov!==zl){var tv=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw tv.name="Invariant Violation",tv}}Es.isRequired=Es;function Ul(){return Es}var Bc={array:Es,bigint:Es,bool:Es,func:Es,number:Es,object:Es,string:Es,symbol:Es,any:Es,arrayOf:Ul,element:Es,elementType:Es,instanceOf:Ul,node:Es,objectOf:Ul,oneOf:Ul,oneOfType:Ul,shape:Ul,exact:Ul,checkPropTypes:Oc,resetWarningCache:mu};return Bc.PropTypes=Bc,Bc},Qy}var gb;function pS(){return gb||(gb=1,Ky.exports=dS()()),Ky.exports}var mb;function gS(){return mb||(mb=1,function(zl){function mu(ps){"@babel/helpers - typeof";return mu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ol){return typeof ol}:function(ol){return ol&&typeof Symbol=="function"&&ol.constructor===Symbol&&ol!==Symbol.prototype?"symbol":typeof ol},mu(ps)}Object.defineProperty(zl,"__esModule",{value:!0}),zl.default=Bv;var Oc=Bf(cb),Es=Ul(pS());function Ul(ps){return ps&&ps.__esModule?ps:{default:ps}}function Bc(ps){if(typeof WeakMap!="function")return null;var ol=new WeakMap,yi=new WeakMap;return(Bc=function(gf){return gf?yi:ol})(ps)}function Bf(ps,ol){if(ps&&ps.__esModule)return ps;if(ps===null||mu(ps)!=="object"&&typeof ps!="function")return{default:ps};var yi=Bc(ol);if(yi&&yi.has(ps))return yi.get(ps);var Cc={},gf=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var sc in ps)if(sc!=="default"&&Object.prototype.hasOwnProperty.call(ps,sc)){var Eo=gf?Object.getOwnPropertyDescriptor(ps,sc):null;Eo&&(Eo.get||Eo.set)?Object.defineProperty(Cc,sc,Eo):Cc[sc]=ps[sc]}return Cc.default=ps,yi&&yi.set(ps,Cc),Cc}function Rh(ps,ol){if(!(ps instanceof ol))throw new TypeError("Cannot call a class as a function")}function Fv(ps,ol){for(var yi=0;yi
P[0])return!0}return!1}function S(O){var P=O._fullLayout,N=P._size,U=N.p,X=o.list(O,"",!0),te,ue,ie,le,q,J;if(P._paperdiv.style({width:O._context.responsive&&P.autosize&&!O._context._hasZeroWidth&&!O.layout.width?"100%":P.width+"px",height:O._context.responsive&&P.autosize&&!O._context._hasZeroHeight&&!O.layout.height?"100%":P.height+"px"}).selectAll(".main-svg").call(r.setSize,P.width,P.height),O._context.setBackground(O,P.paper_bgcolor),Y.drawMainTitle(O),a.manage(O),!P._has("cartesian"))return x.previousPromises(O);function ee(Oe,de,me){var be=Oe._lw/2;if(Oe._id.charAt(0)==="x"){if(de){if(me==="top")return de._offset-U-be}else return N.t+N.h*(1-(Oe.position||0))+be%1;return de._offset+de._length+U+be}if(de){if(me==="right")return de._offset+de._length+U+be}else return N.l+N.w*(Oe.position||0)+be%1;return de._offset-U-be}for(te=0;te