From 5d1721d0c3b7ea612f4904f2cdf4055788a66e27 Mon Sep 17 00:00:00 2001 From: yolain Date: Thu, 22 Aug 2024 20:43:55 +0800 Subject: [PATCH] Add batch anything and anything index switch --- py/api.py | 13 -- py/logic.py | 258 ++++++++++++++++++++++- web_version/v2/assets/vendor-BEuf1XmE.js | 7 - web_version/v2/easyuse.js | 2 +- 4 files changed, 255 insertions(+), 25 deletions(-) delete mode 100644 web_version/v2/assets/vendor-BEuf1XmE.js diff --git a/py/api.py b/py/api.py index 014c886..fae60d5 100644 --- a/py/api.py +++ b/py/api.py @@ -7,7 +7,6 @@ import folder_paths from folder_paths import get_directory_by_type from server import PromptServer from .config import RESOURCES_DIR, FOOOCUS_STYLES_DIR, FOOOCUS_STYLES_SAMPLES -from .logic import ConvertAnything from .libs.model import easyModelManager from .libs.utils import getMetadata, cleanGPUUsedForce, get_local_filepath from .libs.cache import remove_cache @@ -123,18 +122,6 @@ async def getStylesImage(request): return web.Response(text=FOOOCUS_STYLES_SAMPLES + name + '.jpg') return web.Response(status=400) -# convert type -@PromptServer.instance.routes.post("/easyuse/convert") -async def convertType(request): - post = await request.post() - type = post.get('type') - if type: - ConvertAnything.RETURN_TYPES = (type.upper(),) - ConvertAnything.RETURN_NAMES = (type,) - return web.Response(status=200) - else: - return web.Response(status=400) - # get models lists @PromptServer.instance.routes.get("/easyuse/models/list") async def getModelsList(request): diff --git a/py/logic.py b/py/logic.py index e67706a..ec8c38b 100644 --- a/py/logic.py +++ b/py/logic.py @@ -5,7 +5,11 @@ from .libs.utils import AlwaysEqualProxy, ByPassTypeTuple, cleanGPUUsedForce, co from .libs.cache import remove_cache import numpy as np import json +import torch +import comfy.utils +DEFAULT_FLOW_NUM = 2 +MAX_FLOW_NUM = 10 lazy_options = {"lazy": True} if compare_revision(2543) else {} def validate_list_args(args: Dict[str, List[Any]]) -> Tuple[bool, Optional[str], Optional[str]]: @@ -304,6 +308,136 @@ class textSwitch: else: return (text2,) +# ---------------------------------------------------------------Index Switch----------------------------------------------------------------------# + +class anythingIndexSwitch: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + inputs = { + "required": { + "index": ("INT", {"default": 0, "min": 0, "max": 9, "step": 1}), + }, + "optional": { + } + } + for i in range(DEFAULT_FLOW_NUM): + inputs["optional"]["value%d" % i] = (AlwaysEqualProxy("*"),lazy_options) + return inputs + + RETURN_TYPES = (AlwaysEqualProxy("*"),) + RETURN_NAMES = ("value",) + FUNCTION = "index_switch" + + CATEGORY = "EasyUse/Logic/Index Switch" + + def check_lazy_status(self, index, **kwargs): + key = "value%d" % index + if kwargs.get(key, None) is None: + return [key] + + def index_switch(self, index, **kwargs): + key = "value%d" % index + return (kwargs[key],) + +class imageIndexSwitch: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + inputs = { + "required": { + "index": ("INT", {"default": 0, "min": 0, "max": 9, "step": 1}), + }, + "optional": { + } + } + for i in range(DEFAULT_FLOW_NUM): + inputs["optional"]["image%d" % i] = ("IMAGE",lazy_options) + return inputs + + RETURN_TYPES = ("IMAGE",) + RETURN_NAMES = ("image",) + FUNCTION = "index_switch" + + CATEGORY = "EasyUse/Logic/Index Switch" + + def check_lazy_status(self, index, **kwargs): + key = "image%d" % index + if kwargs.get(key, None) is None: + return [key] + + def index_switch(self, index, **kwargs): + key = "image%d" % index + return (kwargs[key],) + +class textIndexSwitch: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + inputs = { + "required": { + "index": ("INT", {"default": 0, "min": 0, "max": 9, "step": 1}), + }, + "optional": { + } + } + for i in range(DEFAULT_FLOW_NUM): + inputs["optional"]["text%d" % i] = ("STRING",{**lazy_options,"forceInput":True}) + return inputs + + RETURN_TYPES = ("STRING",) + RETURN_NAMES = ("text",) + FUNCTION = "index_switch" + + CATEGORY = "EasyUse/Logic/Index Switch" + + def check_lazy_status(self, index, **kwargs): + key = "text%d" % index + if kwargs.get(key, None) is None: + return [key] + + def index_switch(self, index, **kwargs): + key = "text%d" % index + return (kwargs[key],) + +class conditioningIndexSwitch: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + inputs = { + "required": { + "index": ("INT", {"default": 0, "min": 0, "max": 9, "step": 1}), + }, + "optional": { + } + } + for i in range(DEFAULT_FLOW_NUM): + inputs["optional"]["cond%d" % i] = ("CONDITIONING",lazy_options) + return inputs + + RETURN_TYPES = ("CONDITIONING",) + RETURN_NAMES = ("conditioning",) + FUNCTION = "index_switch" + + CATEGORY = "EasyUse/Logic/Index Switch" + + def check_lazy_status(self, index, **kwargs): + key = "cond%d" % index + if kwargs.get(key, None) is None: + return [key] + + def index_switch(self, index, **kwargs): + key = "cond%d" % index + return (kwargs[key],) + # ---------------------------------------------------------------Math----------------------------------------------------------------------# class mathIntOperation: def __init__(self): @@ -338,9 +472,81 @@ class mathIntOperation: elif operation == "power": return (a ** b,) +class mathFloatOperation: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "a": ("FLOAT", {"default": 0, "min": -999999999999.0, "max": 999999999999.0, "step": 1}), + "b": ("FLOAT", {"default": 0, "min": -999999999999.0, "max": 999999999999.0, "step": 1}), + "operation": (["==", "!=", "<", ">", "<=", ">="],), + }, + } + + RETURN_TYPES = ("BOOLEAN",) + FUNCTION = "float_math_operation" + + CATEGORY = "EasyUse/Logic/Math" + + def float_math_operation(self, a, b, operation): + if operation == "==": + return (a == b,) + elif operation == "!=": + return (a != b,) + elif operation == "<": + return (a < b,) + elif operation == ">": + return (a > b,) + elif operation == "<=": + return (a <= b,) + elif operation == ">=": + return (a >= b,) + +class mathStringOperation: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "a": ("STRING", {"multiline": False}), + "b": ("STRING", {"multiline": False}), + "operation": (["a == b", "a != b", "a IN b", "a MATCH REGEX(b)", "a BEGINSWITH b", "a ENDSWITH b"],), + "case_sensitive": ("BOOLEAN", {"default": True}), + }, + } + + RETURN_TYPES = ("BOOLEAN",) + FUNCTION = "string_math_operation" + + CATEGORY = "EasyUse/Logic/Math" + + def string_math_operation(self, a, b, operation, case_sensitive): + if not case_sensitive: + a = a.lower() + b = b.lower() + + if operation == "a == b": + return (a == b,) + elif operation == "a != b": + return (a != b,) + elif operation == "a IN b": + return (a in b,) + elif operation == "a MATCH REGEX(b)": + try: + return (re.match(b, a) is not None,) + except: + return (False,) + elif operation == "a BEGINSWITH b": + return (a.startswith(b),) + elif operation == "a ENDSWITH b": + return (a.endswith(b),) + # ---------------------------------------------------------------Flow----------------------------------------------------------------------# -DEFAULT_FLOW_NUM = 2 -MAX_FLOW_NUM = 10 try: from comfy_execution.graph_utils import GraphBuilder, is_link except: @@ -692,8 +898,38 @@ class xyAny: return (new_x, new_y) +class batchAnything: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "a": (AlwaysEqualProxy("*"),{}), + "b": (AlwaysEqualProxy("*"),{}) + } + } + + RETURN_TYPES = (AlwaysEqualProxy("*"),) + RETURN_NAMES = ("batch",) + + FUNCTION = "batch" + CATEGORY = "EasyUse/Logic" + + def batch(self, a, b): + if isinstance(a, torch.Tensor) or isinstance(b, torch.Tensor): + if a is None: + return (b,) + elif b is None: + return (a,) + if a.shape[1:] != b.shape[1:]: + b = comfy.utils.common_upscale(b.movedim(-1, 1), a.shape[2], a.shape[1], "bilinear", "center").movedim(1, -1) + return (torch.cat((a, b), 0),) + elif isinstance(a, (str, float, int, list, dict, tuple)): + return ((a, b),) + else: + return (a + b,) + # 转换所有类型 -class ConvertAnything: +class convertAnything: @classmethod def INPUT_TYPES(s): return {"required": { @@ -890,10 +1126,16 @@ NODE_CLASS_MAPPINGS = { "easy float": Float, "easy rangeFloat": RangeFloat, "easy boolean": Boolean, + "easy mathString": mathStringOperation, "easy mathInt": mathIntOperation, + "easy mathFloat": mathFloatOperation, "easy compare": Compare, "easy imageSwitch": imageSwitch, "easy textSwitch": textSwitch, + "easy anythingIndexSwitch": anythingIndexSwitch, + "easy imageIndexSwitch": imageIndexSwitch, + "easy textIndexSwitch": textIndexSwitch, + "easy conditioningIndexSwitch": conditioningIndexSwitch, "easy whileLoopStart": whileLoopStart, "easy whileLoopEnd": whileLoopEnd, "easy forLoopStart": forLoopStart, @@ -902,7 +1144,8 @@ NODE_CLASS_MAPPINGS = { "easy isNone": isNone, "easy isSDXL": isSDXL, "easy xyAny": xyAny, - "easy convertAnything": ConvertAnything, + "easy batchAnything": batchAnything, + "easy convertAnything": convertAnything, "easy showAnything": showAnything, "easy showTensorShape": showTensorShape, "easy clearCacheKey": clearCacheKey, @@ -919,9 +1162,15 @@ NODE_DISPLAY_NAME_MAPPINGS = { "easy rangeFloat": "Range(Float)", "easy boolean": "Boolean", "easy compare": "Compare", + "easy mathString": "Math String", "easy mathInt": "Math Int", + "easy mathFloat": "Math Float", "easy imageSwitch": "Image Switch", "easy textSwitch": "Text Switch", + "easy anythingIndexSwitch": "Any Index Switch", + "easy imageIndexSwitch": "Image Index Switch", + "easy textIndexSwitch": "Text Index Switch", + "easy conditioningIndexSwitch": "Conditioning Index Switch", "easy whileLoopStart": "While Loop Start", "easy whileLoopEnd": "While Loop End", "easy forLoopStart": "For Loop Start", @@ -930,6 +1179,7 @@ NODE_DISPLAY_NAME_MAPPINGS = { "easy isNone": "Is None", "easy isSDXL": "Is SDXL", "easy xyAny": "XYAny", + "easy batchAnything": "Batch Any", "easy convertAnything": "Convert Any", "easy showAnything": "Show Any", "easy showTensorShape": "Show Tensor Shape", diff --git a/web_version/v2/assets/vendor-BEuf1XmE.js b/web_version/v2/assets/vendor-BEuf1XmE.js deleted file mode 100644 index e0c5f4c..0000000 --- a/web_version/v2/assets/vendor-BEuf1XmE.js +++ /dev/null @@ -1,7 +0,0 @@ -import{f as t,r as n,h as o,w as e,e as r,i as c,j as a,t as i,k as l,l as u,n as s,p as d,q as p,s as b,u as f,v as h,b as g,c as v,x as y,y as m,z as x,m as k,A as w,B as _,C as j,D as $,E as O,F as S,G as A,d as E,H as T}from"./vue-DjzFgvDF.js";import{h as I,o as z,w as B,x as C,y as L,z as P,A as M,B as D,C as H,D as F,F as U,i as K,G as V,H as R,Z as N,I as G,J as W,f as q,K as Z,L as J}from"./primeuix-Be3xdh47.js";import{B as X,s as Y,a as Q,b as tt,U as nt,C as ot}from"./primevue-BSs2m5Wu.js"; -/*! - * pinia v2.2.1 - * (c) 2024 Eduardo San Martin Morote - * @license MIT - */ -let et;const rt=t=>et=t,ct=Symbol();function at(t){return t&&"object"==typeof t&&"[object Object]"===Object.prototype.toString.call(t)&&"function"!=typeof t.toJSON}var it,lt;function ut(){const e=t(!0),r=e.run((()=>n({})));let c=[],a=[];const i=o({install(t){rt(i),i._a=t,t.provide(ct,i),t.config.globalProperties.$pinia=i,a.forEach((t=>c.push(t))),a=[]},use(t){return this._a?c.push(t):a.push(t),this},_p:c,_a:null,_e:e,_s:new Map,state:r});return i}(lt=it||(it={})).direct="direct",lt.patchObject="patch object",lt.patchFunction="patch function";const st=()=>{};function dt(t,n,o,e=st){t.push(n);const r=()=>{const o=t.indexOf(n);o>-1&&(t.splice(o,1),e())};return!o&&l()&&u(r),r}function pt(t,...n){t.slice().forEach((t=>{t(...n)}))}const bt=t=>t(),ft=Symbol(),ht=Symbol();function gt(t,n){t instanceof Map&&n instanceof Map?n.forEach(((n,o)=>t.set(o,n))):t instanceof Set&&n instanceof Set&&n.forEach(t.add,t);for(const o in n){if(!n.hasOwnProperty(o))continue;const e=n[o],r=t[o];at(r)&&at(e)&&t.hasOwnProperty(o)&&!c(e)&&!a(e)?t[o]=gt(r,e):t[o]=e}return t}const vt=Symbol();const{assign:yt}=Object;function mt(o,l,u={},d,p,b){let f;const h=yt({actions:{}},u),g={deep:!0};let v,y,m,x=[],k=[];const w=d.state.value[o];let _;function j(t){let n;v=y=!1,"function"==typeof t?(t(d.state.value[o]),n={type:it.patchFunction,storeId:o,events:m}):(gt(d.state.value[o],t),n={type:it.patchObject,payload:t,storeId:o,events:m});const e=_=Symbol();s().then((()=>{_===e&&(v=!0)})),y=!0,pt(x,n,d.state.value[o])}b||w||(d.state.value[o]={}),n({});const $=b?function(){const{state:t}=u,n=t?t():{};this.$patch((t=>{yt(t,n)}))}:st;const O=(t,n="")=>{if(ft in t)return t[ht]=n,t;const e=function(){rt(d);const n=Array.from(arguments),r=[],c=[];let a;pt(k,{args:n,name:e[ht],store:A,after:function(t){r.push(t)},onError:function(t){c.push(t)}});try{a=t.apply(this&&this.$id===o?this:A,n)}catch(i){throw pt(c,i),i}return a instanceof Promise?a.then((t=>(pt(r,t),t))).catch((t=>(pt(c,t),Promise.reject(t)))):(pt(r,a),a)};return e[ft]=!0,e[ht]=n,e},S={_p:d,$id:o,$onAction:dt.bind(null,k),$patch:j,$reset:$,$subscribe(t,n={}){const r=dt(x,t,n.detached,(()=>c())),c=f.run((()=>e((()=>d.state.value[o]),(e=>{("sync"===n.flush?y:v)&&t({storeId:o,type:it.direct,events:m},e)}),yt({},g,n))));return r},$dispose:function(){f.stop(),x=[],k=[],d._s.delete(o)}},A=r(S);d._s.set(o,A);const E=(d._a&&d._a.runWithContext||bt)((()=>d._e.run((()=>(f=t()).run((()=>l({action:O})))))));for(const t in E){const n=E[t];if(c(n)&&(!c(I=n)||!I.effect)||a(n))b||(!w||at(T=n)&&T.hasOwnProperty(vt)||(c(n)?n.value=w[t]:gt(n,w[t])),d.state.value[o][t]=n);else if("function"==typeof n){const o=O(n,t);E[t]=o,h.actions[t]=n}}var T,I;return yt(A,E),yt(i(A),E),Object.defineProperty(A,"$state",{get:()=>d.state.value[o],set:t=>{j((n=>{yt(n,t)}))}}),d._p.forEach((t=>{yt(A,f.run((()=>t({store:A,app:d._a,pinia:d,options:h}))))})),w&&b&&u.hydrate&&u.hydrate(A.$state,w),v=!0,y=!0,A}function xt(t,n,e){let r,c;const a="function"==typeof n;function i(t,e){const i=f();(t=t||(i?d(ct,null):null))&&rt(t),(t=et)._s.has(r)||(a?mt(r,n,c,t):function(t,n,e){const{state:r,actions:c,getters:a}=n,i=e.state.value[t];let l;l=mt(t,(function(){i||(e.state.value[t]=r?r():{});const n=p(e.state.value[t]);return yt(n,c,Object.keys(a||{}).reduce(((n,r)=>(n[r]=o(b((()=>{rt(e);const n=e._s.get(t);return a[r].call(n,n)}))),n)),{}))}),n,e,0,!0)}(r,c,t));return t._s.get(r)}return"string"==typeof t?(r=t,c=a?e:n):(c=t,r=t.id),i.$id=r,i}function kt(t){{t=i(t);const n={};for(const o in t){const e=t[o];(c(e)||a(e))&&(n[o]=h(t,o))}return n}}var wt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function _t(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var jt=function(){this.__data__=[],this.size=0};var $t=function(t,n){return t===n||t!=t&&n!=n},Ot=$t;var St=function(t,n){for(var o=t.length;o--;)if(Ot(t[o][0],n))return o;return-1},At=St,Et=Array.prototype.splice;var Tt=St;var It=St;var zt=St;var Bt=jt,Ct=function(t){var n=this.__data__,o=At(n,t);return!(o<0)&&(o==n.length-1?n.pop():Et.call(n,o,1),--this.size,!0)},Lt=function(t){var n=this.__data__,o=Tt(n,t);return o<0?void 0:n[o][1]},Pt=function(t){return It(this.__data__,t)>-1},Mt=function(t,n){var o=this.__data__,e=zt(o,t);return e<0?(++this.size,o.push([t,n])):o[e][1]=n,this};function Dt(t){var n=-1,o=null==t?0:t.length;for(this.clear();++n-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991},oe=an,ee=ne,re=Bo,ce={};ce["[object Float32Array]"]=ce["[object Float64Array]"]=ce["[object Int8Array]"]=ce["[object Int16Array]"]=ce["[object Int32Array]"]=ce["[object Uint8Array]"]=ce["[object Uint8ClampedArray]"]=ce["[object Uint16Array]"]=ce["[object Uint32Array]"]=!0,ce["[object Arguments]"]=ce["[object Array]"]=ce["[object ArrayBuffer]"]=ce["[object Boolean]"]=ce["[object DataView]"]=ce["[object Date]"]=ce["[object Error]"]=ce["[object Function]"]=ce["[object Map]"]=ce["[object Number]"]=ce["[object Object]"]=ce["[object RegExp]"]=ce["[object Set]"]=ce["[object String]"]=ce["[object WeakMap]"]=!1;var ae=function(t){return re(t)&&ee(t.length)&&!!ce[oe(t)]};var ie=function(t){return function(n){return t(n)}},le={exports:{}};!function(t,n){var o=Nt,e=n&&!n.nodeType&&n,r=e&&t&&!t.nodeType&&t,c=r&&r.exports===e&&o.process,a=function(){try{var t=r&&r.require&&r.require("util").types;return t||c&&c.binding&&c.binding("util")}catch(n){}}();t.exports=a}(le,le.exports);var ue=le.exports,se=ae,de=ie,pe=ue&&ue.isTypedArray,be=pe?de(pe):se,fe=zo,he=Zo,ge=Jo,ve=Yo,ye=te,me=be,xe=Object.prototype.hasOwnProperty;var ke=function(t,n){var o=ge(t),e=!o&&he(t),r=!o&&!e&&ve(t),c=!o&&!e&&!r&&me(t),a=o||e||r||c,i=a?fe(t.length,String):[],l=i.length;for(var u in t)!n&&!xe.call(t,u)||a&&("length"==u||r&&("offset"==u||"parent"==u)||c&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||ye(u,l))||i.push(u);return i},we=Object.prototype;var _e=function(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||we)};var je=function(t,n){return function(o){return t(n(o))}},$e=je(Object.keys,Object),Oe=_e,Se=$e,Ae=Object.prototype.hasOwnProperty;var Ee=pn,Te=ne;var Ie=function(t){return null!=t&&Te(t.length)&&!Ee(t)},ze=ke,Be=function(t){if(!Oe(t))return Se(t);var n=[];for(var o in Object(t))Ae.call(t,o)&&"constructor"!=o&&n.push(o);return n},Ce=Ie;var Le=function(t){return Ce(t)?ze(t):Be(t)},Pe=Io,Me=Le;var De=function(t,n){return t&&Pe(n,Me(n),t)};var He=ln,Fe=_e,Ue=function(t){var n=[];if(null!=t)for(var o in Object(t))n.push(o);return n},Ke=Object.prototype.hasOwnProperty;var Ve=ke,Re=function(t){if(!He(t))return Ue(t);var n=Fe(t),o=[];for(var e in t)("constructor"!=e||!n&&Ke.call(t,e))&&o.push(e);return o},Ne=Ie;var Ge=function(t){return Ne(t)?Ve(t,!0):Re(t)},We=Io,qe=Ge;var Ze=function(t,n){return t&&We(n,qe(n),t)},Je={exports:{}};!function(t,n){var o=qt,e=n&&!n.nodeType&&n,r=e&&t&&!t.nodeType&&t,c=r&&r.exports===e?o.Buffer:void 0,a=c?c.allocUnsafe:void 0;t.exports=function(t,n){if(n)return t.slice();var o=t.length,e=a?a(o):new t.constructor(o);return t.copy(e),e}}(Je,Je.exports);var Xe=Je.exports;var Ye=function(t,n){var o=-1,e=t.length;for(n||(n=Array(e));++o0;function ca(t,n,o,e){t.addEventListener?t.addEventListener(n,o,e):t.attachEvent&&t.attachEvent("on".concat(n),o)}function aa(t,n,o,e){t.removeEventListener?t.removeEventListener(n,o,e):t.detachEvent&&t.detachEvent("on".concat(n),o)}function ia(t,n){const o=n.slice(0,n.length-1);for(let e=0;e=0;)n[o-1]+=",",n.splice(o,1),o=n.lastIndexOf("");return n}const ua={backspace:8,"⌫":8,tab:9,clear:12,enter:13,"↩":13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"⇪":20,",":188,".":190,"/":191,"`":192,"-":ra?173:189,"=":ra?61:187,";":ra?59:186,"'":222,"[":219,"]":221,"\\":220},sa={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91},da={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},pa={16:!1,18:!1,17:!1,91:!1},ba={};for(let Ya=1;Ya<20;Ya++)ua["f".concat(Ya)]=111+Ya;let fa=[],ha=null,ga="all";const va=new Map,ya=t=>ua[t.toLowerCase()]||sa[t.toLowerCase()]||t.toUpperCase().charCodeAt(0);function ma(t){ga=t||"all"}function xa(){return ga||"all"}function ka(t){if(void 0===t)Object.keys(ba).forEach((t=>{Array.isArray(ba[t])&&ba[t].forEach((t=>wa(t))),delete ba[t]})),Oa(null);else if(Array.isArray(t))t.forEach((t=>{t.key&&wa(t)}));else if("object"==typeof t)t.key&&wa(t);else if("string"==typeof t){for(var n=arguments.length,o=new Array(n>1?n-1:0),e=1;e{let{key:n,scope:o,method:e,splitKey:r="+"}=t;la(n).forEach((t=>{const n=t.split(r),c=n.length,a=n[c-1],i="*"===a?"*":ya(a);if(!ba[i])return;o||(o=xa());const l=c>1?ia(sa,n):[],u=[];ba[i]=ba[i].filter((t=>{const n=(!e||t.method===e)&&t.scope===o&&function(t,n){const o=t.length>=n.length?t:n,e=t.length>=n.length?n:t;let r=!0;for(let c=0;cOa(t)))}))};function _a(t,n,o,e){if(n.element!==e)return;let r;if(n.scope===o||"all"===n.scope){r=n.mods.length>0;for(const t in pa)Object.prototype.hasOwnProperty.call(pa,t)&&(!pa[t]&&n.mods.indexOf(+t)>-1||pa[t]&&-1===n.mods.indexOf(+t))&&(r=!1);(0!==n.mods.length||pa[16]||pa[18]||pa[17]||pa[91])&&!r&&"*"!==n.shortcut||(n.keys=[],n.keys=n.keys.concat(fa),!1===n.method(t,n)&&(t.preventDefault?t.preventDefault():t.returnValue=!1,t.stopPropagation&&t.stopPropagation(),t.cancelBubble&&(t.cancelBubble=!0)))}}function ja(t,n){const o=ba["*"];let e=t.keyCode||t.which||t.charCode;if(!$a.filter.call(this,t))return;if(93!==e&&224!==e||(e=91),-1===fa.indexOf(e)&&229!==e&&fa.push(e),["ctrlKey","altKey","shiftKey","metaKey"].forEach((n=>{const o=da[n];t[n]&&-1===fa.indexOf(o)?fa.push(o):!t[n]&&fa.indexOf(o)>-1?fa.splice(fa.indexOf(o),1):"metaKey"===n&&t[n]&&3===fa.length&&(t.ctrlKey||t.shiftKey||t.altKey||(fa=fa.slice(fa.indexOf(o))))})),e in pa){pa[e]=!0;for(const t in sa)sa[t]===e&&($a[t]=!0);if(!o)return}for(const i in pa)Object.prototype.hasOwnProperty.call(pa,i)&&(pa[i]=t[da[i]]);t.getModifierState&&(!t.altKey||t.ctrlKey)&&t.getModifierState("AltGraph")&&(-1===fa.indexOf(17)&&fa.push(17),-1===fa.indexOf(18)&&fa.push(18),pa[17]=!0,pa[18]=!0);const r=xa();if(o)for(let i=0;i1&&(r=ia(sa,t)),(t="*"===(t=t[t.length-1])?"*":ya(t))in ba||(ba[t]=[]),ba[t].push({keyup:l,keydown:u,scope:c,mods:r,shortcut:e[i],method:o,key:e[i],splitKey:s,element:a});if(void 0!==a&&window){if(!va.has(a)){const t=function(){return ja(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.event,a)},n=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.event;ja(t,a),function(t){let n=t.keyCode||t.which||t.charCode;const o=fa.indexOf(n);if(o>=0&&fa.splice(o,1),t.key&&"meta"===t.key.toLowerCase()&&fa.splice(0,fa.length),93!==n&&224!==n||(n=91),n in pa){pa[n]=!1;for(const t in sa)sa[t]===n&&($a[t]=!1)}}(t)};va.set(a,{keydownListener:t,keyupListenr:n,capture:d}),ca(a,"keydown",t,d),ca(a,"keyup",n,d)}if(!ha){const t=()=>{fa=[]};ha={listener:t,capture:d},ca(window,"focus",t,d)}}}function Oa(t){const n=Object.values(ba).flat();if(n.findIndex((n=>{let{element:o}=n;return o===t}))<0){const{keydownListener:n,keyupListenr:o,capture:e}=va.get(t)||{};n&&o&&(aa(t,"keyup",o,e),aa(t,"keydown",n,e),va.delete(t))}if(n.length<=0||va.size<=0){if(Object.keys(va).forEach((t=>{const{keydownListener:n,keyupListenr:o,capture:e}=va.get(t)||{};n&&o&&(aa(t,"keyup",o,e),aa(t,"keydown",n,e),va.delete(t))})),va.clear(),Object.keys(ba).forEach((t=>delete ba[t])),ha){const{listener:t,capture:n}=ha;aa(window,"focus",t,n),ha=null}}}const Sa={getPressedKeyString:function(){return fa.map((t=>{return n=t,Object.keys(ua).find((t=>ua[t]===n))||(t=>Object.keys(sa).find((n=>sa[n]===t)))(t)||String.fromCharCode(t);var n}))},setScope:ma,getScope:xa,deleteScope:function(t,n){let o,e;t||(t=xa());for(const r in ba)if(Object.prototype.hasOwnProperty.call(ba,r))for(o=ba[r],e=0;e{let{element:n}=t;return Oa(n)}))}else e++;xa()===t&&ma(n||"all")},getPressedKeyCodes:function(){return fa.slice(0)},getAllKeyCodes:function(){const t=[];return Object.keys(ba).forEach((n=>{ba[n].forEach((n=>{let{key:o,scope:e,mods:r,shortcut:c}=n;t.push({scope:e,shortcut:c,mods:r,keys:o.split("+").map((t=>ya(t)))})}))})),t},isPressed:function(t){return"string"==typeof t&&(t=ya(t)),-1!==fa.indexOf(t)},filter:function(t){const n=t.target||t.srcElement,{tagName:o}=n;let e=!0;const r="INPUT"===o&&!["checkbox","radio","range","button","file","reset","submit","color"].includes(n.type);return(n.isContentEditable||(r||"TEXTAREA"===o||"SELECT"===o)&&!n.readOnly)&&(e=!1),e},trigger:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all";Object.keys(ba).forEach((o=>{ba[o].filter((o=>o.scope===n&&o.shortcut===t)).forEach((t=>{t&&t.method&&t.method()}))}))},unbind:ka,keyMap:ua,modifier:sa,modifierMap:da};for(const Ya in Sa)Object.prototype.hasOwnProperty.call(Sa,Ya)&&($a[Ya]=Sa[Ya]);if("undefined"!=typeof window){const t=window.hotkeys;$a.noConflict=n=>(n&&window.hotkeys===$a&&(window.hotkeys=t),$a),window.hotkeys=$a}var Aa={root:function(t){var n=t.props,o=t.instance;return["p-badge p-component",{"p-badge-circle":I(n.value)&&1===String(n.value).length,"p-badge-dot":z(n.value)&&!o.$slots.default,"p-badge-sm":"small"===n.size,"p-badge-lg":"large"===n.size,"p-badge-xl":"xlarge"===n.size,"p-badge-info":"info"===n.severity,"p-badge-success":"success"===n.severity,"p-badge-warn":"warn"===n.severity,"p-badge-danger":"danger"===n.severity,"p-badge-secondary":"secondary"===n.severity,"p-badge-contrast":"contrast"===n.severity}]}},Ea=X.extend({name:"badge",theme:function(t){var n=t.dt;return"\n.p-badge {\n display: inline-flex;\n border-radius: ".concat(n("badge.border.radius"),";\n align-items: center;\n justify-content: center;\n padding: ").concat(n("badge.padding"),";\n background: ").concat(n("badge.primary.background"),";\n color: ").concat(n("badge.primary.color"),";\n font-size: ").concat(n("badge.font.size"),";\n font-weight: ").concat(n("badge.font.weight"),";\n min-width: ").concat(n("badge.min.width"),";\n height: ").concat(n("badge.height"),";\n}\n\n.p-badge-dot {\n width: ").concat(n("badge.dot.size"),";\n min-width: ").concat(n("badge.dot.size"),";\n height: ").concat(n("badge.dot.size"),";\n border-radius: 50%;\n padding: 0;\n}\n\n.p-badge-circle {\n padding: 0;\n border-radius: 50%;\n}\n\n.p-badge-secondary {\n background: ").concat(n("badge.secondary.background"),";\n color: ").concat(n("badge.secondary.color"),";\n}\n\n.p-badge-success {\n background: ").concat(n("badge.success.background"),";\n color: ").concat(n("badge.success.color"),";\n}\n\n.p-badge-info {\n background: ").concat(n("badge.info.background"),";\n color: ").concat(n("badge.info.color"),";\n}\n\n.p-badge-warn {\n background: ").concat(n("badge.warn.background"),";\n color: ").concat(n("badge.warn.color"),";\n}\n\n.p-badge-danger {\n background: ").concat(n("badge.danger.background"),";\n color: ").concat(n("badge.danger.color"),";\n}\n\n.p-badge-contrast {\n background: ").concat(n("badge.contrast.background"),";\n color: ").concat(n("badge.contrast.color"),";\n}\n\n.p-badge-sm {\n font-size: ").concat(n("badge.sm.font.size"),";\n min-width: ").concat(n("badge.sm.min.width"),";\n height: ").concat(n("badge.sm.height"),";\n}\n\n.p-badge-lg {\n font-size: ").concat(n("badge.lg.font.size"),";\n min-width: ").concat(n("badge.lg.min.width"),";\n height: ").concat(n("badge.lg.height"),";\n}\n\n.p-badge-xl {\n font-size: ").concat(n("badge.xl.font.size"),";\n min-width: ").concat(n("badge.xl.min.width"),";\n height: ").concat(n("badge.xl.height"),";\n}\n")},classes:Aa}),Ta={name:"Badge",extends:{name:"BaseBadge",extends:Y,props:{value:{type:[String,Number],default:null},severity:{type:String,default:null},size:{type:String,default:null}},style:Ea,provide:function(){return{$pcBadge:this,$parentInstance:this}}},inheritAttrs:!1};Ta.render=function(t,n,o,e,r,c){return g(),v("span",k({class:t.cx("root")},t.ptmi("root")),[y(t.$slots,"default",{},(function(){return[m(x(t.value),1)]}))],16)};var Ia=X.extend({name:"ripple-directive",theme:function(t){var n=t.dt;return"\n.p-ink {\n display: block;\n position: absolute;\n background: ".concat(n("ripple.background"),";\n border-radius: 100%;\n transform: scale(0);\n pointer-events: none;\n}\n\n.p-ink-active {\n animation: ripple 0.4s linear;\n}\n\n@keyframes ripple {\n 100% {\n opacity: 0;\n transform: scale(2.5);\n }\n}\n")},classes:{root:"p-ink"}});function za(t){return(za="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Ba(t){return function(t){if(Array.isArray(t))return Ca(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,n){if(t){if("string"==typeof t)return Ca(t,n);var o={}.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?Ca(t,n):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ca(t,n){(null==n||n>t.length)&&(n=t.length);for(var o=0,e=Array(n);ot.length)&&(n=t.length);for(var o=0,e=Array(n);oi.width||r<0||e<0||e+a>i.height},getTarget:function(t){return J(t,"p-inputwrapper")?q(t,"input"):t},getModifiers:function(t){return t.modifiers&&Object.keys(t.modifiers).length?t.modifiers:t.arg&&"object"===Ga(t.arg)?Object.entries(t.arg).reduce((function(t,n){var o=Va(n,2),e=o[0],r=o[1];return"event"!==e&&"position"!==e||(t[r]=!0),t}),{}):{}}}}),qa={name:"Card",extends:{name:"BaseCard",extends:Y,style:X.extend({name:"card",theme:function(t){var n=t.dt;return"\n.p-card {\n background: ".concat(n("card.background"),";\n color: ").concat(n("card.color"),";\n box-shadow: ").concat(n("card.shadow"),";\n border-radius: ").concat(n("card.border.radius"),";\n display: flex;\n flex-direction: column;\n}\n\n.p-card-caption {\n display: flex;\n flex-direction: column;\n gap: ").concat(n("card.caption.gap"),";\n}\n\n.p-card-body {\n padding: ").concat(n("card.body.padding"),";\n display: flex;\n flex-direction: column;\n gap: ").concat(n("card.body.gap"),";\n}\n\n.p-card-title {\n font-size: ").concat(n("card.title.font.size"),";\n font-weight: ").concat(n("card.title.font.weight"),";\n}\n\n.p-card-subtitle {\n color: ").concat(n("card.subtitle.color"),";\n}\n")},classes:{root:"p-card p-component",header:"p-card-header",body:"p-card-body",caption:"p-card-caption",title:"p-card-title",subtitle:"p-card-subtitle",content:"p-card-content",footer:"p-card-footer"}}),provide:function(){return{$pcCard:this,$parentInstance:this}}},inheritAttrs:!1};qa.render=function(t,n,o,e,r,c){return g(),v("div",k({class:t.cx("root")},t.ptmi("root")),[t.$slots.header?(g(),v("div",k({key:0,class:t.cx("header")},t.ptm("header")),[y(t.$slots,"header")],16)):A("",!0),E("div",k({class:t.cx("body")},t.ptm("body")),[t.$slots.title||t.$slots.subtitle?(g(),v("div",k({key:0,class:t.cx("caption")},t.ptm("caption")),[t.$slots.title?(g(),v("div",k({key:0,class:t.cx("title")},t.ptm("title")),[y(t.$slots,"title")],16)):A("",!0),t.$slots.subtitle?(g(),v("div",k({key:1,class:t.cx("subtitle")},t.ptm("subtitle")),[y(t.$slots,"subtitle")],16)):A("",!0)],16)):A("",!0),E("div",k({class:t.cx("content")},t.ptm("content")),[y(t.$slots,"content")],16),t.$slots.footer?(g(),v("div",k({key:1,class:t.cx("footer")},t.ptm("footer")),[y(t.$slots,"footer")],16)):A("",!0)],16)],16)};var Za=X.extend({name:"inputtext",theme:function(t){var n=t.dt;return"\n.p-inputtext {\n font-family: inherit;\n font-feature-settings: inherit;\n font-size: 1rem;\n color: ".concat(n("inputtext.color"),";\n background: ").concat(n("inputtext.background"),";\n padding: ").concat(n("inputtext.padding.y")," ").concat(n("inputtext.padding.x"),";\n border: 1px solid ").concat(n("inputtext.border.color"),";\n transition: background ").concat(n("inputtext.transition.duration"),", color ").concat(n("inputtext.transition.duration"),", border-color ").concat(n("inputtext.transition.duration"),", outline-color ").concat(n("inputtext.transition.duration"),", box-shadow ").concat(n("inputtext.transition.duration"),";\n appearance: none;\n border-radius: ").concat(n("inputtext.border.radius"),";\n outline-color: transparent;\n box-shadow: ").concat(n("inputtext.shadow"),";\n}\n\n.p-inputtext:enabled:hover {\n border-color: ").concat(n("inputtext.hover.border.color"),";\n}\n\n.p-inputtext:enabled:focus {\n border-color: ").concat(n("inputtext.focus.border.color"),";\n box-shadow: ").concat(n("inputtext.focus.ring.shadow"),";\n outline: ").concat(n("inputtext.focus.ring.width")," ").concat(n("inputtext.focus.ring.style")," ").concat(n("inputtext.focus.ring.color"),";\n outline-offset: ").concat(n("inputtext.focus.ring.offset"),";\n}\n\n.p-inputtext.p-invalid {\n border-color: ").concat(n("inputtext.invalid.border.color"),";\n}\n\n.p-inputtext.p-variant-filled {\n background: ").concat(n("inputtext.filled.background"),";\n}\n\n.p-inputtext.p-variant-filled:enabled:focus {\n background: ").concat(n("inputtext.filled.focus.background"),";\n}\n\n.p-inputtext:disabled {\n opacity: 1;\n background: ").concat(n("inputtext.disabled.background"),";\n color: ").concat(n("inputtext.disabled.color"),";\n}\n\n.p-inputtext::placeholder {\n color: ").concat(n("inputtext.placeholder.color"),";\n}\n\n.p-inputtext-sm {\n font-size: ").concat(n("inputtext.sm.font.size"),";\n padding: ").concat(n("inputtext.sm.padding.y")," ").concat(n("inputtext.sm.padding.x"),";\n}\n\n.p-inputtext-lg {\n font-size: ").concat(n("inputtext.lg.font.size"),";\n padding: ").concat(n("inputtext.lg.padding.y")," ").concat(n("inputtext.lg.padding.x"),";\n}\n\n.p-inputtext-fluid {\n width: 100%;\n}\n")},classes:{root:function(t){var n=t.instance,o=t.props;return["p-inputtext p-component",{"p-filled":n.filled,"p-inputtext-sm":"small"===o.size,"p-inputtext-lg":"large"===o.size,"p-invalid":o.invalid,"p-variant-filled":o.variant?"filled"===o.variant:"filled"===n.$primevue.config.inputStyle||"filled"===n.$primevue.config.inputVariant,"p-inputtext-fluid":n.hasFluid}]}}}),Ja={name:"InputText",extends:{name:"BaseInputText",extends:Y,props:{modelValue:null,size:{type:String,default:null},invalid:{type:Boolean,default:!1},variant:{type:String,default:null},fluid:{type:Boolean,default:null}},style:Za,provide:function(){return{$pcInputText:this,$parentInstance:this}}},inheritAttrs:!1,emits:["update:modelValue"],inject:{$pcFluid:{default:null}},methods:{getPTOptions:function(t){return("root"===t?this.ptmi:this.ptm)(t,{context:{filled:this.filled,disabled:this.$attrs.disabled||""===this.$attrs.disabled}})},onInput:function(t){this.$emit("update:modelValue",t.target.value)}},computed:{filled:function(){return null!=this.modelValue&&this.modelValue.toString().length>0},hasFluid:function(){return z(this.fluid)?!!this.$pcFluid:this.fluid}}},Xa=["value","aria-invalid"];Ja.render=function(t,n,o,e,r,c){return g(),v("input",k({type:"text",class:t.cx("root"),value:t.modelValue,"aria-invalid":t.invalid||void 0,onInput:n[0]||(n[0]=function(){return c.onInput&&c.onInput.apply(c,arguments)})},c.getPTOptions("root")),null,16,Xa)};export{Wa as T,Ua as a,qa as b,ea as c,xt as d,Ja as e,ut as f,$a as h,kt as s}; diff --git a/web_version/v2/easyuse.js b/web_version/v2/easyuse.js index 81b11c4..fa86335 100644 --- a/web_version/v2/easyuse.js +++ b/web_version/v2/easyuse.js @@ -1,2 +1,2 @@ !function(){"use strict";try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode('@charset "UTF-8";.easyuse-model-info{color:#fff;max-width:90vw;font-family:var(--font-family)}.easyuse-model-content{display:flex;flex-direction:column;overflow:hidden}.easyuse-model-header{margin:0 0 15px}.easyuse-model-header-remark{display:flex;align-items:center;margin-top:5px}.easyuse-model-info h2{text-align:left;margin:0}.easyuse-model-info h5{text-align:left;margin:0 15px 0 0;font-weight:400;color:var(--descrip-text)}.easyuse-model-info p{margin:5px 0}.easyuse-model-info a{color:var(--theme-color-light)}.easyuse-model-info a:hover{text-decoration:underline}.easyuse-model-tags-list{display:flex;flex-wrap:wrap;list-style:none;gap:10px;max-height:200px;overflow:auto;margin:10px 0;padding:0}.easyuse-model-tag{background-color:var(--comfy-input-bg);border:2px solid var(--border-color);color:var(--input-text);display:flex;align-items:center;gap:5px;border-radius:5px;padding:2px 5px;cursor:pointer}.easyuse-model-tag--selected span:before{content:"✅";position:absolute;background-color:var(--theme-color-light);left:0;top:0;right:0;bottom:0;text-align:center}.easyuse-model-tag:hover{border:2px solid var(--theme-color-light)}.easyuse-model-tag p{margin:0}.easyuse-model-tag span{text-align:center;border-radius:5px;background-color:var(--theme-color-light);padding:2px;position:relative;min-width:20px;overflow:hidden;color:#fff}.easyuse-model-metadata .comfy-modal-content{max-width:100%}.easyuse-model-metadata label{margin-right:1ch;color:#ccc}.easyuse-model-metadata span{color:var(--theme-color-light)}.easyuse-preview{max-width:660px;margin-right:15px;position:relative}.easyuse-preview-group{position:relative;overflow:hidden;border-radius:.5rem;width:660px}.easyuse-preview-list{display:flex;flex-wrap:nowrap;width:100%;transition:all .5s ease-in-out}.easyuse-preview-list.no-transition{transition:none}.easyuse-preview-slide{display:flex;flex-basis:calc(50% - 5px);flex-grow:0;flex-shrink:0;position:relative;justify-content:center;align-items:center;padding-right:5px;padding-left:0}.easyuse-preview-slide:nth-child(2n){padding-left:5px;padding-right:0}.easyuse-preview-slide-content{position:relative;min-height:150px;width:100%}.easyuse-preview-slide-content .save{position:absolute;right:6px;z-index:12;bottom:6px;display:flex;align-items:center;height:26px;padding:0 9px;color:var(--input-text);font-size:12px;line-height:26px;background:#00000080;border-radius:13px;cursor:pointer;min-width:80px;text-align:center}.easyuse-preview-slide-content .save:hover{filter:brightness(120%);will-change:auto}.easyuse-preview-slide-content img{border-radius:14px;object-position:center center;max-width:100%;max-height:700px;border-style:none;vertical-align:middle}.easyuse-preview button{position:absolute;z-index:10;top:50%;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:15px;border:1px solid rgba(66,63,78,.15);background-color:#423f4e80;color:#fffc;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transform:translateY(-50%)}.easyuse-preview button.left{left:10px}.easyuse-preview button.right{right:10px}.easyuse-model-detail{margin-top:16px;overflow:hidden;border:1px solid var(--border-color);border-radius:8px;width:300px}.easyuse-model-detail-head{height:40px;padding:0 10px;font-weight:500;font-size:14px;font-style:normal;line-height:40px}.easyuse-model-detail-body{box-sizing:border-box;font-size:12px}.easyuse-model-detail-item{display:flex;justify-content:flex-start;border-top:1px solid var(--border-color)}.easyuse-model-detail-item-label{flex-shrink:0;width:88px;padding-top:5px;padding-bottom:5px;padding-left:10px;border-right:1px solid var(--border-color);color:var(--input-text);font-weight:400}.easyuse-model-detail-item-value{display:flex;flex-wrap:wrap;padding:5px 10px;color:var(--input-text)}.easyuse-model-detail-textarea{border-top:1px solid var(--border-color);padding:10px;height:100px;overflow-y:auto;font-size:12px}.easyuse-model-detail-textarea textarea{width:100%;height:100%;border:0;background-color:transparent;color:var(--input-text)}.easyuse-model-detail-textarea textarea::placeholder{color:var(--descrip-text)}.easyuse-model-detail-textarea.empty{display:flex;justify-content:center;align-items:center;color:var(--descrip-text)}.easyuse-model-notes{background-color:#00000040;padding:5px;margin-top:5px}.easyuse-model-notes:empty{display:none}.easyuse-account-user{font-size:10px;color:var(--descrip-text);text-align:center}.easyuse-account-user-info{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;cursor:pointer}.easyuse-account-user-info .user{display:flex;align-items:center}.easyuse-account-user-info .edit{padding:5px 10px;background:var(--comfy-menu-bg);border-radius:4px}.easyuse-account-user-info:hover{filter:brightness(110%)}.easyuse-account-user-info h5{margin:0;font-size:10px;text-align:left}.easyuse-account-user-info h6{margin:0;font-size:8px;text-align:left;font-weight:300}.easyuse-account-user-info .remark{margin-top:4px}.easyuse-account-user-info .avatar{width:36px;height:36px;background:var(--comfy-input-bg);border-radius:50%;margin-right:5px;display:flex;justify-content:center;align-items:center;font-size:16px;overflow:hidden}.easyuse-account-user-info .avatar img{width:100%;height:100%}.easyuse-account-dialog{width:600px}.easyuse-account-dialog-main a,.easyuse-account-dialog-main a:visited{font-weight:400;color:var(--theme-color-light)}.easyuse-account-dialog-item{display:flex;justify-content:flex-start;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-color)}.easyuse-account-dialog-item input{padding:5px;margin-right:5px}.easyuse-account-dialog-item input.key{flex:1}.easyuse-account-dialog-item button{cursor:pointer;margin-left:5px!important;padding:5px!important;font-size:16px!important}.easyuse-account-dialog-item button:hover{filter:brightness(120%)}.easyuse-account-dialog-item button.choose{background:var(--theme-color)}.easyuse-account-dialog-item button.delete{background:var(--error-color)}.easy-dropdown,.easy-nested-dropdown{position:relative;box-sizing:border-box;background-color:#171717;box-shadow:0 4px 4px #ffffff40;padding:0;margin:0;list-style:none;z-index:1000;overflow:visible;max-height:fit-content;max-width:fit-content}.easy-dropdown{position:absolute;border-radius:0}.easy-dropdown li.item,.easy-nested-dropdown li.item{font-weight:400;min-width:max-content}.easy-dropdown li.folder,.easy-nested-dropdown li.folder{cursor:default;position:relative;border-right:3px solid cyan}.easy-dropdown li.folder:after,.easy-nested-dropdown li.folder:after{content:">";position:absolute;right:2px;font-weight:400}.easy-dropdown li,.easy-nested-dropdown li{padding:4px 10px;cursor:pointer;font-family:system-ui;font-size:.7rem;position:relative}.easy-nested-dropdown{position:absolute;top:0;left:100%;margin:0;border:none;display:none}.easy-dropdown li.selected>.easy-nested-dropdown,.easy-nested-dropdown li.selected>.easy-nested-dropdown{display:block;border:none}.easy-dropdown li.selected,.easy-nested-dropdown li.selected{background-color:#e5e5e5;border:none}:root{--theme-color:var(--primary-bg);--theme-color-light: var(--primary-hover-bg);--success-color: #52c41a;--error-color: #ff4d4f;--warning-color: #faad14;--font-family: Inter, -apple-system, BlinkMacSystemFont, Helvetica Neue, sans-serif;--p-inputtext-background: var(--p-form-field-background);--p-inputtext-disabled-background: var(--p-form-field-disabled-background);--p-inputtext-filled-background: var(--p-form-field-filled-background);--p-inputtext-filled-focus-background: var(--p-form-field-filled-focus-background);--p-inputtext-border-color: var(--p-form-field-border-color);--p-inputtext-hover-border-color: var(--p-form-field-hover-border-color);--p-inputtext-focus-border-color: var(--p-form-field-focus-border-color);--p-inputtext-invalid-border-color: var(--p-form-field-invalid-border-color);--p-inputtext-color: var(--p-form-field-color);--p-inputtext-disabled-color: var(--p-form-field-disabled-color);--p-inputtext-placeholder-color: var(--p-form-field-placeholder-color);--p-inputtext-shadow: var(--p-form-field-shadow);--p-inputtext-padding-x: var(--p-form-field-padding-x);--p-inputtext-padding-y: var(--p-form-field-padding-y);--p-inputtext-border-radius: var(--p-form-field-border-radius);--p-inputtext-focus-ring-width: var(--p-form-field-focus-ring-width);--p-inputtext-focus-ring-style: var(--p-form-field-focus-ring-style);--p-inputtext-focus-ring-color: var(--p-form-field-focus-ring-color);--p-inputtext-focus-ring-offset: var(--p-form-field-focus-ring-offset);--p-inputtext-focus-ring-shadow: var(--p-form-field-focus-ring-shadow);--p-inputtext-transition-duration: var(--p-form-field-transition-duration);--p-inputtext-sm-font-size: .875rem;--p-inputtext-sm-padding-x: .625rem;--p-inputtext-sm-padding-y: .375rem;--p-inputtext-lg-font-size: 1.125rem;--p-inputtext-lg-padding-x: .875rem;--p-inputtext-lg-padding-y: .625rem;--p-tooltip-max-width: 12.5rem;--p-tooltip-gutter: .25rem;--p-tooltip-shadow: var(--p-overlay-popover-shadow);--p-tooltip-padding: .5rem .75rem;--p-tooltip-border-radius: var(--p-overlay-popover-border-radius);--p-tooltip-background: var(--p-surface-700);--p-tooltip-color: var(--p-surface-0)}.comfyui-easyuse-theme,.comfyui-easyuse-primary{color:var(--theme-color-light)}.comfyui-easyuse-theme.point:hover,.comfyui-easyuse-primary.point:hover{opacity:.8}.comfyui-easyuse-success{color:var(--success-color)}.comfyui-easyuse-success.point:hover{opacity:.8}.comfyui-easyuse-error{color:var(--error-color)}.comfyui-easyuse-error.point:hover{opacity:.8}.comfyui-easyuse-warning,.comfyui-easyuse--warn{color:var(--warning-color)}.comfyui-easyuse-warning.point:hover,.comfyui-easyuse--warn.point:hover{opacity:.8}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.grid{display:grid}.gap-0\\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-20{gap:5rem}.gap-3{gap:.75rem}.gap-3\\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-\\[0\\.28rem\\]{gap:.28rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-6{row-gap:1.5rem}@media (min-width: 576px){.sm\\:col-span-4{grid-column:span 4/span 4}.sm\\:col-span-6{grid-column:span 6/span 6}.sm\\:ml-8{margin-left:2rem}.sm\\:mt-0{margin-top:0}.sm\\:flex{display:flex}.sm\\:h-60{height:15rem}.sm\\:\\!w-64{width:16rem!important}.sm\\:w-40{width:10rem}.sm\\:w-44{width:11rem}.sm\\:w-56{width:14rem}.sm\\:w-60{width:15rem}.sm\\:w-64{width:16rem}.sm\\:w-80{width:20rem}.sm\\:w-96{width:24rem}.sm\\:w-\\[30rem\\]{width:30rem}.sm\\:w-auto{width:auto}.sm\\:min-w-\\[30rem\\]{min-width:30rem}.sm\\:flex-row{flex-direction:row}.sm\\:flex-col{flex-direction:column}.sm\\:flex-nowrap{flex-wrap:nowrap}.sm\\:items-start{align-items:flex-start}.sm\\:items-end{align-items:flex-end}.sm\\:items-center{align-items:center}.sm\\:justify-center{justify-content:center}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-2{gap:.5rem}.sm\\:p-20{padding:5rem}.sm\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\\:py-10{padding-bottom:2.5rem;padding-top:2.5rem}.sm\\:py-5{padding-bottom:1.25rem;padding-top:1.25rem}.sm\\:pt-32{padding-top:8rem}.sm\\:text-left{text-align:left}.sm\\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 768px){.md\\:-bottom-12{bottom:-3rem}.md\\:-bottom-28{bottom:-7rem}.md\\:-bottom-8{bottom:-2rem}.md\\:-bottom-\\[26rem\\]{bottom:-26rem}.md\\:-left-12{left:-3rem}.md\\:-left-28{left:-7rem}.md\\:-left-32{left:-8rem}.md\\:-left-4{left:-1rem}.md\\:-left-48{left:-12rem}.md\\:-left-\\[22rem\\]{left:-22rem}.md\\:bottom-0{bottom:0}.md\\:left-10{left:2.5rem}.md\\:left-\\[32rem\\]{left:32rem}.md\\:left-\\[42rem\\]{left:42rem}.md\\:top-1\\/2{top:50%}.md\\:top-32{top:8rem}.md\\:top-8{top:2rem}.md\\:col-span-2{grid-column:span 2/span 2}.md\\:col-span-4{grid-column:span 4/span 4}.md\\:col-span-6{grid-column:span 6/span 6}.md\\:ml-auto{margin-left:auto}.md\\:block{display:block}.md\\:flex{display:flex}.md\\:hidden{display:none}.md\\:h-\\[20rem\\]{height:20rem}.md\\:h-\\[32rem\\]{height:32rem}.md\\:\\!w-80{width:20rem!important}.md\\:w-2\\/12{width:16.666667%}.md\\:w-40{width:10rem}.md\\:w-5\\/12{width:41.666667%}.md\\:w-56{width:14rem}.md\\:w-6\\/12{width:50%}.md\\:w-60{width:15rem}.md\\:w-8\\/12{width:66.666667%}.md\\:w-80{width:20rem}.md\\:w-\\[100rem\\]{width:100rem}.md\\:w-\\[26rem\\]{width:26rem}.md\\:w-\\[30rem\\]{width:30rem}.md\\:w-\\[50rem\\]{width:50rem}.md\\:w-\\[52rem\\]{width:52rem}.md\\:w-\\[60rem\\]{width:60rem}.md\\:w-\\[95rem\\]{width:95rem}.md\\:w-screen{width:100vw}.md\\:flex-initial{flex:0 1 auto}.md\\:-translate-y-1\\/2{--tw-translate-y: -50% }.md\\:-translate-y-1\\/2,.md\\:translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\\:translate-x-0{--tw-translate-x: 0px }.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:flex-row{flex-direction:row}.md\\:flex-col{flex-direction:column}.md\\:items-end{align-items:flex-end}.md\\:items-center{align-items:center}.md\\:justify-start{justify-content:flex-start}.md\\:justify-center{justify-content:center}.md\\:gap-20{gap:5rem}.md\\:gap-4{gap:1rem}.md\\:p-5{padding:1.25rem}.md\\:p-8{padding:2rem}}@media (min-width: 992px){.lg\\:left-20{left:5rem}.lg\\:left-\\[36rem\\]{left:36rem}.lg\\:left-\\[50rem\\]{left:50rem}.lg\\:col-span-1{grid-column:span 1/span 1}.lg\\:col-span-2{grid-column:span 2/span 2}.lg\\:col-span-4{grid-column:span 4/span 4}.lg\\:col-span-6{grid-column:span 6/span 6}.lg\\:mb-0{margin-bottom:0}.lg\\:mt-0{margin-top:0}.lg\\:mt-20{margin-top:5rem}.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:h-10{height:2.5rem}.lg\\:h-32{height:8rem}.lg\\:h-\\[28rem\\]{height:28rem}.lg\\:\\!w-\\[30rem\\]{width:30rem!important}.lg\\:w-3\\/12{width:25%}.lg\\:w-32{width:8rem}.lg\\:w-\\[28rem\\]{width:28rem}.lg\\:w-\\[64rem\\]{width:64rem}.lg\\:w-fit{width:-moz-fit-content;width:fit-content}.lg\\:max-w-6xl{max-width:72rem}.lg\\:flex-row{flex-direction:row}.lg\\:gap-0{gap:0}.lg\\:rounded-2xl{border-radius:1rem}.lg\\:rounded-3xl{border-radius:1.5rem}.lg\\:rounded-xl{border-radius:.75rem}.lg\\:p-7{padding:1.75rem}.lg\\:px-2{padding-left:.5rem;padding-right:.5rem}.lg\\:px-20{padding-left:5rem;padding-right:5rem}.lg\\:px-56{padding-left:14rem;padding-right:14rem}.lg\\:px-8{padding-left:2rem;padding-right:2rem}.lg\\:px-9{padding-left:2.25rem;padding-right:2.25rem}.lg\\:py-20{padding-bottom:5rem;padding-top:5rem}.lg\\:py-7{padding-bottom:1.75rem;padding-top:1.75rem}.lg\\:pt-0{padding-top:0}.lg\\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\\:text-5xl{font-size:3rem;line-height:1}.lg\\:text-base{font-size:1rem;line-height:1.5rem}.lg\\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1200px){.xl\\:-left-12{left:-3rem}.xl\\:-left-28{left:-7rem}.xl\\:bottom-0{bottom:0}.xl\\:left-36{left:9rem}.xl\\:left-\\[42rem\\]{left:42rem}.xl\\:left-\\[60rem\\]{left:60rem}.xl\\:col-span-3{grid-column:span 3/span 3}.xl\\:col-span-4{grid-column:span 4/span 4}.xl\\:col-span-6{grid-column:span 6/span 6}.xl\\:block{display:block}.xl\\:flex{display:flex}.xl\\:hidden{display:none}.xl\\:h-\\[36\\.25rem\\]{height:36.25rem}.xl\\:\\!w-40{width:10rem!important}.xl\\:w-3\\/12{width:25%}.xl\\:w-6\\/12{width:50%}.xl\\:w-96{width:24rem}.xl\\:w-\\[29rem\\]{width:29rem}.xl\\:max-w-36{max-width:9rem}.xl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\\:flex-row{flex-direction:row}.xl\\:items-start{align-items:flex-start}.xl\\:items-center{align-items:center}.xl\\:gap-1{gap:.25rem}.xl\\:gap-6{gap:1.5rem}.xl\\:text-left{text-align:left}}.comfyui-easyuse-toast{position:fixed;z-index:99999;top:0;left:0;height:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:start}.comfyui-easyuse-toast-container{position:relative;height:fit-content;padding:4px;margin-top:-100px;opacity:0;z-index:3;-webkit-transition:all .3s ease-in-out;-khtml-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.comfyui-easyuse-toast-container:last-child{z-index:1}.comfyui-easyuse-toast-container.show{opacity:1;margin-top:0!important;transform:translateY(0)}.comfyui-easyuse-toast-container:not(.show){z-index:1}.comfyui-easyuse-toast-container>div{position:relative;background:var(--comfy-menu-bg);color:var(--input-text);height:fit-content;box-shadow:0 0 10px #000000e0;padding:9px 12px;border-radius:var(--border-radius);font-size:14px;pointer-events:all;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-toast-container>div>span{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-toast-container>div>span i{font-size:16px;margin-right:8px}.comfyui-easyuse-toast-container>div>span i.loading{animation:loading-rotate 1s linear infinite}.comfyui-easyuse-toast-container a{cursor:pointer;text-decoration:underline;color:var(--theme-color-light);margin-left:4px;display:inline-block;line-height:1}.comfyui-easyuse-toast-container a:hover{color:var(--theme-color-light);text-decoration:none}@keyframes loading-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.comfyui-easyuse-selector{position:relative}.comfyui-easyuse-selector.hide{display:none}.comfyui-easyuse-selector__header{--height:26px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;height:var(--height);padding-bottom:10px;border-bottom:1px solid var(--border-color-solid)}.comfyui-easyuse-selector__header_button{height:var(--height);width:var(--height);border-radius:var(--border-radius);border:1px solid var(--border-color);font-size:11px;background:var(--bg-color);box-shadow:none;cursor:pointer;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-selector__header_button:hover{filter:brightness(1.2)}.comfyui-easyuse-selector__header_button:hover i{color:var(--error-color)}.comfyui-easyuse-selector__header_button i{font-size:16px;color:var(--input-text);-webkit-transition:all .3s ease-in-out;-khtml-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out}.comfyui-easyuse-selector__header_search{flex:1;margin-left:10px;border-radius:var(--border-radius);border:1px solid var(--border-color);font-size:11px;background:var(--bg-color);padding:0 8px;height:var(--height);display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-selector__header_search i{font-size:16px}.comfyui-easyuse-selector__header_search .search{vertical-align:middle;margin-left:5px;outline:none;resize:none;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:none;overflow-y:scroll;background:transparent;width:100%;line-height:var(--height);font-size:12px;color:var(--input-text);-webkit-box-flex:1;-ms-flex:1;-webkit-flex:1;flex:1}.comfyui-easyuse-selector__content{list-style:none;padding:0;margin:0;min-height:150px;height:calc(100% - 28px);overflow-y:auto;overflow-x:hidden}.comfyui-easyuse-selector-item{display:inline-block;position:relative}.comfyui-easyuse-selector-item__tag{display:inline-block;vertical-align:middle;margin-top:8px;margin-right:8px;padding:4px;color:var(--input-text);background-color:var(--bg-color);border-radius:var(--border-radius);border:1px solid var(--border-color);font-size:11px;cursor:pointer;overflow:hidden;position:relative}.comfyui-easyuse-selector-item__tag:hover{filter:brightness(1.2)}.comfyui-easyuse-selector-item__tag.hide{display:none}.comfyui-easyuse-selector-item__tag input{--ring-color: transparent;position:relative;box-shadow:none;border:1px solid var(--border-color);border-radius:2px;background:linear-gradient(135deg,var(--comfy-menu-bg) 0%,var(--comfy-input-bg) 60%)}.comfyui-easyuse-selector-item__tag input[type=checkbox]{display:inline-block;flex-shrink:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-color);background-origin:border-box;padding:0;width:1rem;height:1rem;border-radius:4px;color:var(--theme-color-light);-webkit-user-select:none;user-select:none}.comfyui-easyuse-selector-item__tag input[type=checkbox]:checked{border:1px solid var(--theme-color-light);background-color:var(--theme-color-light);background-image:url("data:image/svg+xml,%3csvg viewBox=\'0 0 16 16\' fill=\'white\' xmlns=\'http://www.w3.org/2000/svg\'%3e%3cpath d=\'M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z\'/%3e%3c/svg%3e")}.comfyui-easyuse-selector-item__tag input span{margin:0 4px;vertical-align:middle}.comfyui-easyuse-selector-preview{position:absolute;left:-180px;top:-110px;z-index:2;border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--comfy-menu-bg);-webkit-backdrop-filter:saturate(180%) blur(40px);-khtml-backdrop-filter:saturate(180%) blur(40px);-moz-backdrop-filter:saturate(180%) blur(40px);-ms-backdrop-filter:saturate(180%) blur(40px);-o-backdrop-filter:saturate(180%) blur(40px);backdrop-filter:saturate(180%) blur(40px);overflow:hidden}.comfyui-easyuse-selector-preview img{width:150px;height:150px}.comfyui-easyuse-selector-preview__text{font-size:12px;padding:5px 10px;max-width:130px;color:var(--input-text)}.comfyui-easyuse-selector-preview__text h6{line-height:1.15;font-size:10px;margin:10px 0}.comfyui-easyuse-dialog{max-width:600px}.comfyui-easyuse-dialog-title{font-size:18px;font-weight:700;text-align:center;color:var(--input-text);margin:0}.comfyui-easyuse-dialog-images{margin-top:10px;display:flex;flex-wrap:wrap;width:100%;box-sizing:border-box}.comfyui-easyuse-dialog-images img{width:50%;height:auto;cursor:pointer;box-sizing:border-box;filter:brightness(80%)}.comfyui-easyuse-dialog-images img:hover{filter:brightness(100%)}.comfyui-easyuse-dialog-images.selected{border:4px solid var(--success-color)}.comfyui-easyuse-dialog-hidden{display:none;height:0}.comfyui-easyuse-contextmenu{--height: 26px;--padding: 8px;font-family:var(--font-family);position:fixed;top:0;left:0;width:100%;max-width:200px;min-width:100px;min-height:100px;padding:var(--padding) 0;box-shadow:0 0 10px #00000040;background-color:var(--tr-odd-bg-color);border-radius:var(--border-radius);z-index:10;will-change:transform}.comfyui-easyuse-contextmenu-item-divider{height:1px;width:100%;background-color:var(--border-color);margin:var(--padding) 0}.comfyui-easyuse-contextmenu-item-content{height:var(--height);padding:0 12px;cursor:pointer;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-contextmenu-item-content span{font-size:11px;color:var(--input-text);display:-webkit-box;-webkit-line-clamp:1;overflow:hidden;word-break:break-all;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-box-flex:1;-ms-flex:1;-webkit-flex:1;flex:1}.comfyui-easyuse-contextmenu-item-content i{color:var(--input-text);margin-left:4px;display:block;width:0;height:0;border-width:4px 4px 0;border-style:solid;border-color:var(--descrip-text) transparent transparent;-webkit-transform:scaleY(.8) rotate(-90deg);-khtml-transform:scaleY(.8) rotate(-90deg);-moz-transform:scaleY(.8) rotate(-90deg);-ms-transform:scaleY(.8) rotate(-90deg);-o-transform:scaleY(.8) rotate(-90deg);transform:scaleY(.8) rotate(-90deg)}.comfyui-easyuse-contextmenu-item-content:hover{background:var(--theme-color)}.comfyui-easyuse-contextmenu-item.disabled .comfyui-easyuse-contextmenu-item-content span{color:var(--border-color);cursor:default}.comfyui-easyuse-contextmenu-item.disabled .comfyui-easyuse-contextmenu-item-content:hover{background:transparent}.comfyui-easyuse-contextmenu-submenu{font-family:var(--font-family);position:absolute;top:0;left:200px;max-width:200px;width:200px;min-width:100px;min-height:--height;padding:var(--padding) 0;box-shadow:0 0 10px #00000040;background-color:var(--tr-odd-bg-color);border-radius:var(--border-radius);z-index:10;will-change:transform}.comfyui-easyuse-contextmenu-model{position:relative}.comfyui-easyuse-contextmenu-model:hover img{display:block;opacity:1}.comfyui-easyuse-contextmenu-model img{position:absolute;z-index:1;right:-175px;top:-75px;width:150px;height:auto;display:none;filter:brightness(70%);-webkit-filter:brightness(70%);opacity:0;-webkit-transition:all .5s cubic-bezier(.55,0,.1,1);-khtml-transition:all .5s cubic-bezier(.55,0,.1,1);-moz-transition:all .5s cubic-bezier(.55,0,.1,1);-ms-transition:all .5s cubic-bezier(.55,0,.1,1);-o-transition:all .5s cubic-bezier(.55,0,.1,1);transition:all .5s cubic-bezier(.55,0,.1,1)}.comfyui-easyuse-slider{width:100%;height:100%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-slider-item{height:inherit;min-width:25px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-webkit-flex-direction:column;-khtml-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;-o-flex-direction:column;flex-direction:column}.comfyui-easyuse-slider-item-input{height:15px;font-size:10px;color:var(--input-text)}.comfyui-easyuse-slider-item-label{height:15px;border:none;color:var(--descrip-text);font-size:8px}.comfyui-easyuse-slider-item-scroll{width:5px;height:calc(100% - 30px);background:var(--comfy-input-bg);border-radius:10px;position:relative}.comfyui-easyuse-slider-item-bar{width:10px;height:10px;background:linear-gradient(to bottom,var(--input-text),var(--descrip-text));border-radius:100%;box-shadow:0 2px 10px var(--bg-color);position:absolute;top:0;left:-2.5px;cursor:pointer;z-index:1}.comfyui-easyuse-slider-item-area{width:100%;border-radius:20px;position:absolute;bottom:0;background:var(--input-text);z-index:0}.comfyui-easyuse-slider-item.positive .comfyui-easyuse-slider-item-label{color:var(--success-color)}.comfyui-easyuse-slider-item.positive .comfyui-easyuse-slider-item-area{background:var(--success-color)}.comfyui-easyuse-slider-item.negative .comfyui-easyuse-slider-item-label{color:var(--error-color)}.comfyui-easyuse-slider-item.negative .comfyui-easyuse-slider-item-area{background:var(--error-color)}.comfyui-easyuse-map{height:100%;background:var(--comfy-menu-bg)}.comfyui-easyuse-map .p-splitter-gutter-handle{height:1px!important}.comfyui-easyuse-map-nodes{height:100%;position:relative}.comfyui-easyuse-map-nodes__header{position:absolute;z-index:2;top:0;left:0;width:100%;padding:.25rem 0 .25rem 1rem;height:2.7rem;background:var(--comfy-menu-bg);border-bottom:1px solid var(--border-color);display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-webkit-backdrop-filter:saturate(180%) blur(40px);-khtml-backdrop-filter:saturate(180%) blur(40px);-moz-backdrop-filter:saturate(180%) blur(40px);-ms-backdrop-filter:saturate(180%) blur(40px);-o-backdrop-filter:saturate(180%) blur(40px);backdrop-filter:saturate(180%) blur(40px)}.comfyui-easyuse-map-nodes__header .title{font-size:13px;color:var(--input-text);font-weight:400;line-height:1.5;-webkit-user-select:none;user-select:none}.comfyui-easyuse-map-nodes__header .toolbar{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-map-nodes__header .toolbar .icon{font-size:.85rem;margin-left:.25rem;cursor:pointer}.comfyui-easyuse-map-nodes__content{position:relative;padding:2.7rem 0 0;height:100%;overflow:auto}.comfyui-easyuse-map-nodes__content dl .label{padding-left:1rem}.comfyui-easyuse-map-nodes__content ol,.comfyui-easyuse-map-nodes__content dl{list-style-type:none;padding:0;margin:0}.comfyui-easyuse-map-nodes__content ol .toolbar span,.comfyui-easyuse-map-nodes__content dl .toolbar span{font-size:13px}.comfyui-easyuse-map-nodes__content ol .toolbar span.pi-eye,.comfyui-easyuse-map-nodes__content dl .toolbar span.pi-eye{color:var(--input-text)}.comfyui-easyuse-map-nodes__content ol .toolbar span.pi-eye-slash,.comfyui-easyuse-map-nodes__content dl .toolbar span.pi-eye-slash{color:var(--descrip-text)}.comfyui-easyuse-map-nodes__content ol .toolbar span.pi-eye-slash.never,.comfyui-easyuse-map-nodes__content dl .toolbar span.pi-eye-slash.never{opacity:.5}.comfyui-easyuse-map-nodes__content .no_result{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;text-align:center}.comfyui-easyuse-map-nodes-group{position:relative;overflow:hidden;width:100%;height:2rem;cursor:default;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;pointer-events:auto}.comfyui-easyuse-map-nodes-group .left,.comfyui-easyuse-map-nodes-group .right{height:100%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse-map-nodes-group .left{padding-left:.5rem;margin-right:.25rem;-webkit-box-flex:1;-ms-flex:1;-webkit-flex:1;flex:1}.comfyui-easyuse-map-nodes-group .icon{font-size:.85rem;margin-right:.25rem}.comfyui-easyuse-map-nodes-group .label{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;height:100%;width:100%;min-width:80px}.comfyui-easyuse-map-nodes-group .label span{font-size:14px;color:var(--input-text);font-weight:400;line-height:1.5;display:-webkit-box;-webkit-line-clamp:1;overflow:hidden;word-break:break-all;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.comfyui-easyuse-map-nodes-group:hover{background:var(--content-hover-bg)!important}.comfyui-easyuse-map-nodes-group.active{background:var(--theme-color)!important}.comfyui-easyuse-map-nodes-group.active .label{color:#fff;cursor:default}.comfyui-easyuse-map-nodes-group.never .label{color:var(--descrip-text);opacity:.4}.comfyui-easyuse-map-nodes-group.bypass .label{color:var(--descrip-text)}.comfyui-easyuse-map-nodes-node{height:2rem;cursor:default;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;position:relative;overflow:hidden;pointer-events:auto}.comfyui-easyuse-map-nodes-node .label{text-indent:.5rem;font-size:13px;color:var(--input-text);font-weight:400;line-height:1.5;-webkit-box-flex:1;-ms-flex:1;-webkit-flex:1;flex:1;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;margin-right:.25rem;height:2rem;line-height:2rem;width:100%;display:-webkit-box;-webkit-line-clamp:1;overflow:hidden;word-break:break-all;text-overflow:ellipsis;-webkit-box-orient:vertical}.comfyui-easyuse-map-nodes-node .label.error{color:var(--error-color)}.comfyui-easyuse-map-nodes-node:hover{background:var(--content-hover-bg)!important}.comfyui-easyuse-map-nodes-node.never .label{color:var(--descrip-text);opacity:.5}.comfyui-easyuse-map-nodes-node.bypass .label{color:#f0f;opacity:.5}.comfyui-easyuse-map-nodes .nodes .label{text-indent:1rem}.comfyui-easyuse-toolbar{border-radius:0 12px 12px 0;min-width:50px;height:24px;position:fixed;bottom:85px;left:0;display:flex;align-items:center;z-index:1000;background-color:var(--comfy-menu-bg);border:1px solid var(--bg-color);-webkit-backdrop-filter:saturate(180%) blur(40px);-khtml-backdrop-filter:saturate(180%) blur(40px);-moz-backdrop-filter:saturate(180%) blur(40px);-ms-backdrop-filter:saturate(180%) blur(40px);-o-backdrop-filter:saturate(180%) blur(40px);backdrop-filter:saturate(180%) blur(40px)}.comfyui-easyuse-toolbar-icon{height:100%;padding:0 4px;display:flex;justify-content:center;align-items:center;font-size:12px;color:#fff;transition:all .3s ease-in-out;cursor:pointer}.comfyui-easyuse-toolbar-icon svg{width:14px;height:14px}.comfyui-easyuse-toolbar-icon:hover.group{color:var(--warning-color)}.comfyui-easyuse-toolbar-icon:hover.rocket{color:var(--theme-color)}.comfyui-easyuse-toolbar-nodes-map{position:absolute;top:50px;left:10px;width:200px;border-radius:12px;min-height:100px;max-height:600px;color:var(--descrip-text);background-color:var(--comfy-menu-bg);border:1px solid var(--bg-color);-webkit-backdrop-filter:saturate(180%) blur(40px);-khtml-backdrop-filter:saturate(180%) blur(40px);-moz-backdrop-filter:saturate(180%) blur(40px);-ms-backdrop-filter:saturate(180%) blur(40px);-o-backdrop-filter:saturate(180%) blur(40px);backdrop-filter:saturate(180%) blur(40px);z-index:399;padding-top:0;overflow:hidden}.comfyui-easyuse-toolbar-nodes-map .no-result-placeholder-content{-webkit-transform:scale(.8);-khtml-transform:scale(.8);-moz-transform:scale(.8);-ms-transform:scale(.8);-o-transform:scale(.8);transform:scale(.8)}.comfyui-easyuse-toolbar-nodes-map .comfyui-easyuse-map-nodes{min-height:100px;max-height:600px}.comfyui-easyuse-toolbar-nodes-map .comfyui-easyuse-map-nodes__header:before{content:"…";position:absolute;left:.25rem;top:2.75rem;transform:translateY(-2rem) rotate(90deg);width:.5rem;height:.5rem;display:inline-block;overflow:hidden;line-height:5px;padding:3px 4px;cursor:move;vertical-align:middle;font-size:12px;font-family:sans-serif;letter-spacing:2px;color:var(--drag-text);z-index:3;text-shadow:1px 0 1px black}.comfyui-easyuse-toolbar-nodes-map .comfyui-easyuse-map-nodes__header .title{cursor:move;padding-left:.25rem}.comfyui-easyuse-toolbar-nodes-map .comfyui-easyuse-map-nodes__content{max-height:calc(600px - 2.7rem)}.no-result-placeholder{display:flex;justify-content:center;align-items:center;height:100%}.no-result-placeholder-content{text-align:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-direction:column;-khtml-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;-o-flex-direction:column;flex-direction:column;-webkit-justify-content:space-between;-khtml-justify-content:space-between;-moz-justify-content:space-between;-ms-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between}.no-result-placeholder .p-card{background-color:transparent!important;box-shadow:none;text-align:center}.no-result-placeholder h3{color:var(--input-text);margin-bottom:.5rem}.no-result-placeholder p{color:var(--descrip-text);margin-bottom:1rem;margin-top:0}#comfyui-easyuse-components{position:absolute;top:0;left:0;z-index:3}.comfyui-easyuse{--p-datatable-header-cell-padding: .15rem 1rem;--p-datatable-body-cell-padding: .15rem 1rem;--p-primary-color: var(--theme-color-light)!important;--border-color-solid: var(--border-color);--border-radius: 8px}.comfyui-easyuse.dark-theme{--fg-color: #fff;--bg-color: #242427;--content-bg:#18181b;--content-fg:#fff;--content-hover-bg: #27272a;--comfy-menu-bg: rgba(24,24,27,.9);--comfy-input-bg: #242427;--input-text: #ffffff;--descrip-text: #71717a;--drag-text: #ccc;--error-text: #ff4444;--border-color: #3f3f46;--border-color-solid: #2a2a2e;--tr-even-bg-color: rgba(28,28,28,.9);--tr-odd-bg-color: rgba(19,19,19,.9)}.comfyui-easyuse ::-webkit-scrollbar{width:0em}.comfyui-easyuse ::-webkit-scrollbar-track{background-color:transparent}.comfyui-easyuse ::-webkit-scrollbar-thumb{background-color:transparent;border-radius:2px}.comfyui-easyuse ::-webkit-scrollbar-thumb:hover{background-color:transparent}.comfyui-easyuse body{font-family:var(--font-family)!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.comfyui-easyuse textarea{font-family:var(--font-family)!important}.comfyui-easyuse hr{border:1px solid var(--border-color)}.comfyui-easyuse .comfy-multiline-input{background-color:transparent;border:1px solid var(--border-color-solid);border-radius:var(--border-radius);padding:8px;font-size:12px}.comfyui-easyuse #comfy-settings-dialog{border:1px solid var(--border-color);background:transparent;-webkit-backdrop-filter:blur(8px) brightness(120%);backdrop-filter:blur(8px) brightness(120%);box-shadow:none}.comfyui-easyuse .comfy-modal{border:1px solid var(--border-color);box-shadow:none;-webkit-backdrop-filter:blur(8px) brightness(120%);backdrop-filter:blur(8px) brightness(120%)}.comfyui-easyuse .cm-title{background-color:transparent!important}.comfyui-easyuse .cm-notice-board{border-radius:10px!important;border:1px solid var(--border-color)!important}.comfyui-easyuse .cm-menu-container{margin-bottom:50px!important}.comfyui-easyuse .cn-manager-custom_milk_white .tg-column-name,.comfyui-easyuse .cmm-manager-custom_milk_white .tg-column-name{color:var(--input-text)}.comfyui-easyuse .cn-manager-custom_milk_white .tg-body-message,.comfyui-easyuse .cmm-manager-custom_milk_white .tg-body-message{text-align:center;color:var(--descrip-text)!important}.comfyui-easyuse .cn-manager-custom_milk_white .tg-body-frame .tg-cell,.comfyui-easyuse .cmm-manager-custom_milk_white .tg-body-frame .tg-cell{color:var(--input-text)}.comfyui-easyuse .cn-manager-custom_milk_white .tg-body-frame .cn-node-name a,.comfyui-easyuse .cn-manager-custom_milk_white .tg-body-frame .cmm-node-name a,.comfyui-easyuse .cmm-manager-custom_milk_white .tg-body-frame .cn-node-name a,.comfyui-easyuse .cmm-manager-custom_milk_white .tg-body-frame .cmm-node-name a{color:var(--theme-color)!important}.comfyui-easyuse .comfy-menu{border-radius:16px;box-shadow:0 0 1px var(--descrip-text);-webkit-backdrop-filter:blur(8px) brightness(120%);backdrop-filter:blur(8px) brightness(120%)}.comfyui-easyuse .comfy-menu button.comfy-settings-btn{font-size:12px}.comfyui-easyuse .comfy-menu-btns{margin-bottom:4px}.comfyui-easyuse .comfy-menu button,.comfyui-easyuse .comfy-modal button{font-size:14px;padding:4px 0;margin-bottom:4px}.comfyui-easyuse .comfy-menu-btns button,.comfyui-easyuse .comfy-list-actions button{font-size:10px}.comfyui-easyuse .comfy-menu>button,.comfyui-easyuse .comfy-menu-btns button,.comfyui-easyuse .comfy-menu .comfy-list button,.comfyui-easyuse .comfy-modal button{border-width:1px}.comfyui-easyuse #comfy-dev-save-api-button{justify-content:center}.comfyui-easyuse #queue-button{position:relative;overflow:hidden;min-height:30px;z-index:1}.comfyui-easyuse #queue-button:after{clear:both;content:attr(data-attr);background:green;color:#fff;width:var(--process-bar-width);height:100%;position:absolute;top:0;left:0;z-index:0;text-align:center;display:flex;justify-content:center;align-items:center}.comfyui-easyuse #shareButton{background:linear-gradient(to left,var(--theme-color),var(--theme-color-light))!important;color:#fff!important}.comfyui-easyuse .litegraph.litecontextmenu{--height: 24px;--padding: 6px;font-family:var(--font-family);padding:var(--padding) 0;border-radius:var(--border-radius);-webkit-backdrop-filter:blur(8px) brightness(120%);backdrop-filter:blur(8px) brightness(120%)}.comfyui-easyuse .litegraph.litecontextmenu .litemenu-title{padding:var(--padding)}.comfyui-easyuse .litegraph.litecontextmenu>div:first-child.litemenu-title{margin-top:-6px}.comfyui-easyuse .litegraph.litecontextmenu .submenu{height:var(--height);line-height:var(--height);padding:0 18px 0 12px;margin:0;background:transparent!important}.comfyui-easyuse .litegraph.litecontextmenu .submenu.has_submenu{border-right:none;position:relative}.comfyui-easyuse .litegraph.litecontextmenu .submenu.has_submenu:after{content:"";display:block;width:0;height:0;border-width:4px 4px 0;border-style:solid;border-color:var(--input-text) transparent transparent;transform:translateY(-50%) rotate(-90deg);top:50%;position:absolute}.comfyui-easyuse .litegraph.litecontextmenu .submenu.separator{height:1px;width:100%;background-color:var(--border-color)!important;margin:var(--padding) 0;border:none}.comfyui-easyuse .litegraph.litecontextmenu .submenu:last-child.separator{display:none}.comfyui-easyuse .litegraph.litecontextmenu .submenu:hover:not(.separator){background:var(--theme-color)!important}.comfyui-easyuse .litegraph.lite-search-item{background-color:var(--comfy-input-bg)!important;filter:brightness(100%)}.comfyui-easyuse .litegraph.lite-search-item:hover{filter:brightness(120%);color:var(--input-text)}.comfyui-easyuse .graphdialog{-webkit-backdrop-filter:blur(8px) brightness(120%);backdrop-filter:blur(8px) brightness(120%)}.comfyui-easyuse .graphdialog button{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center}.comfyui-easyuse .comfyui-menu{border-bottom:1px solid var(--bg-color)}.comfyui-easyuse .side-tool-bar-container{border-right:1px solid var(--bg-color)}.comfyui-easyuse .comfy-modal-content{width:100%}.comfyui-easyuse-poseEditor{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-justify-content:center;-khtml-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-webkit-align-items:center;-khtml-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;text-align:center;font-size:18px;line-height:1.5}#comfyui-menu-monitor{width:120px}#comfyui-menu-monitor #crystools-monitor-container{margin:0 auto!important}#comfyui-menu-monitor #crystools-monitor-container>div{margin:2px 0!important}#comfyui-menu-monitor #crystools-monitor-container>div>div>div{padding:0 4px!important}')),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}}(); -var e;import{$ as s,l as t,a as l,t as a,b as o,s as n,g as i,c as r,u,N as d,j as c,d as p,e as v,f as m,h as g}from"./assets/extensions-BuByvxZ0.js";import{r as y,w as h,e as A,b as f,c as w,I as S,d as x,F as M,C as E,J as b,K as _,L as C,M as k,z as B,G as I,o as N,N as H,D as Q,O as z,E as j,P as D,x as R,Q as L,R as Z,S as Y}from"./assets/vue-DjzFgvDF.js";import{d as O,s as V,a as P,b as G,c as W,T as U,e as F}from"./assets/vendor-DT1J-jWa.js";import{c as T}from"./assets/lodash-CZi7izHi.js";import{P as X}from"./assets/primevue-BSs2m5Wu.js";import"./assets/primeuix-Be3xdh47.js";const J=O("graphStore",{state:e=>({selectors:[],selectors_styles:{},seg_selectors:[],slider_controls:[]}),actions:{setSelectors(e){this.selectors=T(e)},setStyles(e,s){this.selectors_styles[e]||(this.selectors_styles[e]=s)},setSegSelectors(e){this.seg_selectors=T(e)},setSliderControls(e){this.slider_controls=T(e)}}}),q=["data-id"],K=[x("i",{class:"mdi mdi-trash-can"},null,-1)],$=x("i",{class:"mdi mdi-magnify"},null,-1),ee=["placeholder"],se=["onMouseenter","onMouseleave"],te=["onClick"],le=["name","checked"],ae=["src"],oe={key:0},ne=x("span",{class:"comfyui-easyuse-success"},"positive:",-1),ie={key:1},re=x("span",{class:"comfyui-easyuse-error"},"negative:",-1),ue="comfyui-easyuse-selector",de={__name:"stylesSelector",props:{id:{type:String|Number,default:""},type:{type:String,default:""},selectedStyles:{type:Array,default:[]},show:{type:Boolean,default:!1}},emits:["chooseStyle"],setup(e,{emit:o}){const n=e,i=J(),{selectors_styles:r}=V(i),u=y([]);h((e=>n.type),(async e=>{u.value=[],e&&await(async e=>{if(r.value[n.type])return!0;const t=await l.fetchApi(`/easyuse/prompt/styles?name=${e}`);if(200===t.status){let e=(await t.json()).map(((e,s)=>(e.index=s,e)));return await i.setStyles(n.type,e),!0}return a.error(s("Get styles list Failed")),!1})(e)&&c()}),{immediate:!0});const d=o,c=e=>{const s=n.selectedStyles,t=T(r.value[n.type]);u.value=t.sort(((e,s)=>e.index-s.index)).sort(((e,t)=>s.includes(t.name)-s.includes(e.name)))},p=y(""),v=e=>e.toLowerCase(),m=A({}),g=e=>{m.src="",m.name="",m.positive="",m.negative=""},N=async e=>{const s=await l.fetchApi(`/easyuse/prompt/styles/image?name=${e}&styles_name=${n.type}`);if(200===s.status){const t=await s.text();if(t.startsWith("http"))return t;return`/easyuse/prompt/styles/image?name=${e}&styles_name=${n.type}`}},H=e=>{e.target.src="data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QNLaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA5LjEtYzAwMSA3OS4xNDYyODk5Nzc3LCAyMDIzLzA2LzI1LTIzOjU3OjE0ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjUuMSAoMjAyMzA5MDUubS4yMzE2IDk3OWM4NmQpICAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjA3NEU1QzNCNUJBMTFFRUExMUVDNkZDRjI0NzlBN0QiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjA3NEU1QzRCNUJBMTFFRUExMUVDNkZDRjI0NzlBN0QiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGMDc0RTVDMUI1QkExMUVFQTExRUM2RkNGMjQ3OUE3RCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGMDc0RTVDMkI1QkExMUVFQTExRUM2RkNGMjQ3OUE3RCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/uAA5BZG9i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"};return(l,a)=>(f(),w("div",{class:M(ue+` ${ue}-styles`),"data-id":e.id,onMouseleave:g},[u.value.length>0&&e.show?(f(),w(S,{key:0},[x("div",{class:M(ue+"__header")},[x("div",{class:M(ue+"__header_button"),onClick:a[0]||(a[0]=e=>(d("chooseStyle",[]),void(p.value="")))},K,2),x("div",{class:M(ue+"__header_search")},[$,E(x("textarea",{class:"search","onUpdate:modelValue":a[1]||(a[1]=e=>p.value=e),dir:"ltr",rows:1,placeholder:_(s)("Type here to search styles ...")},null,8,ee),[[b,p.value]])],2)],2),x("div",{class:M(ue+"__content"),onMouseleave:c},[(f(!0),w(S,null,C(u.value,((s,l)=>(f(),w("div",{class:M(ue+"-item"),key:l,onMouseenter:e=>(async e=>{if(!e.imageSrc){if(e.imageLoading)return;e.imageLoading=!0;const s=await N(e.imgName).finally((()=>e.imageLoading=!1));e.imageSrc=s}m.name="zh-CN"==t&&e.name_cn?e.name_cn:e.name,m.positive=e.prompt,m.negative=e.negative_prompt,m.src=e.imageSrc})(s),onMouseleave:k((e=>g()),["stop"])},[x("span",{class:M([ue+"-item__tag",{hide:!(e.selectedStyles.includes(s.name)||-1!=v(s.name).indexOf(v(p.value))||s.name_cn&&-1!=v(s.name_cn).indexOf(v(p.value)))}]),onClick:e=>(e=>{let s=n.selectedStyles;s.includes(e.name)?s=s.filter((s=>s!==e.name)):s.push(e.name),d("chooseStyle",s)})(s)},[x("input",{type:"checkbox",name:s.name,checked:e.selectedStyles.includes(s.name)},null,8,le),x("span",null,B("zh-CN"==_(t)&&s.name_cn?s.name_cn:s.name),1)],10,te)],42,se)))),128))],34),(null==m?void 0:m.src)?(f(),w("div",{key:0,class:M(ue+"-preview")},[x("img",{src:m.src,ref:"image",alt:"preview",onError:H},null,40,ae),x("div",{class:M(ue+"-preview__text")},[x("b",null,B(m.name),1),x("div",{class:M(ue+"-preview__prompt")},[m.positive?(f(),w("h6",oe,[ne,x("span",null,B(m.positive),1)])):I("",!0),m.negative?(f(),w("h6",ie,[re,x("span",null,B(m.negative),1)])):I("",!0)],2)],2)],2)):I("",!0)],64)):I("",!0)],42,q))}},ce=["data-id"],pe=["onClick"],ve=["name","checked"],me="comfyui-easyuse-selector",ge={__name:"segSelector",props:{id:{type:String|Number,default:""},type:{type:String,default:""},selected:{type:Array,default:[]},show:{type:Boolean,default:!1}},emits:["select"],setup(e,{emit:t}){const l=e,a=y([]);h((e=>l.type),(async e=>{switch(e){case"selfie_multiclass_256x256":a.value=["Background","Hair","Body","Face","Clothes","Others"];break;case"human_parsing_lip":a.value=["Background","Hat","Hair","Glove","Sunglasses","Upper-clothes","Dress","Coat","Socks","Pants","Jumpsuits","Scarf","Skirt","Face","Left-arm","Right-arm","Left-leg","Right-leg","Left-shoe","Right-shoe"]}}),{immediate:!0});const o=t;return(t,n)=>{var i;return f(),w("div",{class:M(me+` ${me}-seg`),"data-id":e.id},[(null==(i=a.value)?void 0:i.length)>0&&e.show?(f(!0),w(S,{key:0},C(a.value,((t,a)=>(f(),w("div",{class:M(me+"-item"),key:a},[x("span",{class:M(me+"-item__tag"),onClick:e=>(e=>{let s=T(l.selected);s.includes(e)?s=s.filter((s=>s!==e)):s.push(e),o("select",s)})(a)},[x("input",{type:"checkbox",name:t,checked:e.selected.includes(a)},null,8,ve),x("span",null,B(_(s)(t)),1)],10,pe)],2)))),128)):I("",!0)],10,ce)}}},ye=["data-id"],he=["onMousedown","onDblclick"],Ae="comfyui-easyuse-slider",fe="ipadapter layer weights",we={__name:"sliderControl",props:{id:{type:String|Number,default:""},mode:{type:String,default:""},type:{type:String,default:""},values:{type:Array,default:[]},show:{type:Boolean,default:!1}},emits:["changeValues","showSlider"],setup(e,{emit:s}){const t=e,l=s,a=(e,s,t)=>(e-s)/(t-s)*100,o=(e,s,l=void 0)=>{if(t.mode===fe){let t={3:2.5,6:1}[s]||0;return{default:12==e?t:0,min:-1,max:3,step:.05,value:void 0!==l?l:12==e?t:0,top:void 0!==l?100-a(l,-1,3)+"%":null,height:void 0!==l?a(l,-1,3)+"%":null}}};h((e=>t.mode),(async(e,s)=>{var a;if(e!==s&&e===fe)if(!s&&(null==(a=t.values)?void 0:a.length)>0){const e=t.values.map((e=>{const s=e.split(":");return o(t.values.length,s[0],parseFloat(s[1]))}));await l("changeValues",e)}else{let e="sd1"==t.type?16:12,s=Array.from({length:e},((s,t)=>o(e,t)));await l("changeValues",s)}l("showSlider")}),{immediate:!0}),h((e=>t.type),((e,s)=>{if(e!=s&&t.mode==fe){let e="sd1"==t.type?16:12,s=Array.from({length:e},((s,t)=>o(e,t)));l("changeValues",s)}}));const n=y(null),i=y(null);return N((()=>{document.onmouseup=e=>document.onmousemove=null})),(s,o)=>{var r;return f(),w("div",{class:M(Ae),"data-id":e.id},[(null==(r=e.values)?void 0:r.length)>0&&e.show?(f(!0),w(S,{key:0},C(e.values,((s,o)=>(f(),w("div",{class:M([Ae+"-item",{positive:3==o&&"sdxl"==e.type&&e.mode==fe},{negative:6==o&&"sdxl"==e.type&&e.mode==fe}]),key:o},[x("div",{class:M(Ae+"-item-input")},B(s.value),3),x("div",{class:M(Ae+"-item-scroll"),ref_for:!0,ref_key:"scroll",ref:n},[x("div",{class:M(Ae+"-item-bar"),ref_for:!0,ref_key:"bar",ref:i,style:H({top:s.top||100-a(s.default,s.min,s.max)+"%"}),onMousedown:e=>((e,s,a)=>{let o=e||window.event,r=n.value[a],u=i.value[a],d=T(t.values),c=o.clientY-u.offsetTop;document.onmousemove=e=>{let t=(e||window.event).clientY-c;t<0?t=0:t>r.offsetHeight-u.offsetHeight&&(t=r.offsetHeight-u.offsetHeight);let o=(s.max-s.min)/s.step,n=(r.offsetHeight-u.offsetHeight)/o;t=Math.round(t/n)*n;const i=Math.floor(t/(r.offsetHeight-u.offsetHeight)*100)+"%",p=Math.floor((r.offsetHeight-u.offsetHeight-t)/(r.offsetHeight-u.offsetHeight)*100)+"%",v=parseFloat(parseFloat(s.max-(s.max-s.min)*(t/(r.offsetHeight-u.offsetHeight))).toFixed(2));d[a]={...d[a],top:i,height:p,value:v},l("changeValues",d),window.getSelection?window.getSelection().removeAllRanges():document.selection.empty()}})(e,s,o),onDblclick:e=>((e,s,a)=>{let o=T(t.values);o[a]={...o[a],top:null,height:null,value:s.default},l("changeValues",o)})(0,s,o)},null,46,he),x("div",{class:M(Ae+"-item-area"),style:H({height:s.height||a(s.default,s.min,s.max)+"%"})},null,6)],2),x("div",{class:M(Ae+"-item-label")},[x("span",null,B(s.label),1)],2)],2)))),128)):I("",!0)],8,ye)}}},Se={__name:"index",setup(e){const s=J(),{selectors:t,seg_selectors:l,slider_controls:a}=V(s),u=y({}),d=async e=>{var l,a,o,r,d,c;await n(1);const p=i(e,"styles"),v=(null==(l=e.properties.values)?void 0:l.length)>0?e.properties.values:[];let m=T(t.value);m.push({id:e.id,type:p.value,value:v,show:!1});const g=m.length-1;await s.setSelectors(m);let y=null==(r=null==(o=null==(a=u.value[e.id])?void 0:a._)?void 0:o.vnode)?void 0:r.el;if(!y)return;let h=e.addDOMWidget("select_styles","btn",y);e.properties.values||e.setProperty("values",[]),m[g].show=!0,await s.setSelectors(m);let A=p.value;Object.defineProperty(p,"value",{set:t=>{A=t,m[g].type=t,e.properties.values=[],m[g].value=[],s.setSelectors(m)},get:e=>A}),Object.defineProperty(h,"value",{set:e=>{setTimeout((t=>{m[g].value=e.split(","),s.setSelectors(m)}),150)},get:s=>{var l,a;return e.properties.values=(null==(a=null==(l=t.value)?void 0:l[g])?void 0:a.value)||[],e.properties.values.join(",")}}),((null==(d=e.size)?void 0:d[0])<150||(null==(c=e.size)?void 0:c[1])<150)&&e.setSize([425,500]);const f=e.onRemoved;e.onRemoved=function(){if(f&&(null==f||f.apply(this,arguments)),void 0!==t.value.findIndex((s=>s.id==e.id))){let e=T(t.value);e.splice(g,1),s.setSelectors(e)}return f}},c=y({}),p=async e=>{var t,a,o,u;await n(1);const d=i(e,"method"),p=(null==(t=e.properties.values)?void 0:t.length)>0?e.properties.values:[];let v=T(l.value);v.push({id:e.id,type:d.value,value:p,show:!1});const m=v.length-1;await s.setSegSelectors(v);let g=null==(u=null==(o=null==(a=c.value[e.id])?void 0:a._)?void 0:o.vnode)?void 0:u.el;if(!g)return;let y=e.addDOMWidget("mask_components","btn",g);e.properties.values||e.setProperty("values",[]),v[m].show=!0,await s.setSegSelectors(v);let h=d.value;Object.defineProperty(d,"value",{set:t=>{h=t,v[m].type=t,e.properties.values=[],v[m].value=[],r(e,i(e,"confidence"),"selfie_multiclass_256x256"===h),e.setSize([300,"selfie_multiclass_256x256"===h?260:500]),s.setSegSelectors(v)},get:e=>h}),Object.defineProperty(y,"value",{set:e=>{setTimeout((t=>{v[m].value=e.split(","),s.setSegSelectors(v)}),150)},get:s=>{var t;return e.properties.values=(null==(t=l.value)?void 0:t[m].value)||[],e.properties.values.join(",")}}),r(e,i(e,"confidence"),"selfie_multiclass_256x256"===h),e.setSize([300,"selfie_multiclass_256x256"===h?260:500]);const A=e.onRemoved;e.onRemoved=function(){if(A&&(null==A||A.apply(this,arguments)),void 0!==l.value.findIndex((s=>s.id==e.id))){let e=T(l.value);e.splice(m,1),s.setSegSelectors(e)}return A}},v=y({}),m=async e=>{var t,l,o,r;await n(1);const u=i(e,"mode"),d=i(e,"model_type"),c=(null==(t=e.properties.values)?void 0:t.length)>0?e.properties.values:[];let p=T(a.value);p.push({id:e.id,type:d.value,mode:u.value,value:c,show:!1});const m=p.length-1;await s.setSliderControls(p);let g=null==(r=null==(o=null==(l=v.value[e.id])?void 0:l._)?void 0:o.vnode)?void 0:r.el;if(!g)return;let y=e.addDOMWidget("values","btn",g);e.properties.values||e.setProperty("values",[]),Object.defineProperty(y,"value",{set:function(){},get:s=>{var t;const l=(null==(t=a.value)?void 0:t[m].value)||[];return e.properties.values=l.map(((e,s)=>`${s}:${e.value}`)),e.properties.values.join(",")}}),e.setSize("sdxl"==d.value?[375,320]:[455,320]),d.callback=t=>{p=T(a.value),p[m].type!=t&&(e.setSize("sdxl"==t?[375,320]:[455,320]),p[m].value=[],p[m].type=t,s.setSliderControls(p))};const h=e.onRemoved;e.onRemoved=function(){if(h&&(null==h||h.apply(this,arguments)),void 0!==a.value.findIndex((s=>s.id==e.id))){let e=T(a.value);e.splice(m,1),s.setSliderControls(e)}return h}};return N((e=>{o.registerExtension({name:"Comfy.EasyUse.Components",async beforeRegisterNodeDef(e,s){const t=e.prototype.onNodeCreated;"easy stylesSelector"==s.name&&(e.prototype.onNodeCreated=async function(){return t&&(null==t||t.apply(this,arguments)),await d(this),t}),"easy humanSegmentation"==s.name&&(e.prototype.onNodeCreated=async function(){return t&&(null==t||t.apply(this,arguments)),await p(this),t}),"easy sliderControl"==s.name&&(e.prototype.onNodeCreated=async function(){return t&&(null==t||t.apply(this,arguments)),await m(this),t}),"easy poseEditor"==s.name&&(e.prototype.onNodeCreated=async function(){t&&(null==t||t.apply(this,arguments));const e=document.createElement("div");return e.className="comfyui-easyuse-poseEditor",e.innerHTML='
This node is about to be removed, you can use ComfyUI_Custom_Nodes_AlekPet to replace it.
',this.addDOMWidget("editor","btn",e),t})}})})),(e,o)=>(f(),w(S,null,[(f(!0),w(S,null,C(_(t),((e,l)=>(f(),Q(de,{ref_for:!0,ref:s=>{s&&(u.value[e.id]=s)},type:e.type,key:l,id:e.id,show:e.show,selectedStyles:e.value,onChooseStyle:e=>((e,l)=>{let a=T(t.value);a[l].value=e,s.setSelectors(a)})(e,l)},null,8,["type","id","show","selectedStyles","onChooseStyle"])))),128)),(f(!0),w(S,null,C(_(l),((e,t)=>(f(),Q(ge,{ref_for:!0,ref:s=>{s&&(c.value[e.id]=s)},type:e.type,key:t,id:e.id,show:e.show,selected:e.value,onSelect:e=>((e,t)=>{let a=T(l.value);a[t].value=e,s.setSegSelectors(a)})(e,t)},null,8,["type","id","show","selected","onSelect"])))),128)),(f(!0),w(S,null,C(_(a),((e,t)=>(f(),Q(we,{ref_for:!0,ref:s=>{s&&(v.value[e.id]=s)},type:e.type,key:t,id:e.id,show:e.show,mode:e.mode,values:e.value,onChangeValues:e=>((e,t)=>{let l=T(a.value);l[t].value=e,s.setSliderControls(l)})(e,t),onShowSlider:e=>(e=>{let t=T(a.value);t[e].show=!0,s.setSliderControls(t)})(t)},null,8,["type","id","show","mode","values","onChangeValues","onShowSlider"])))),128))],64))}},xe={class:"no-result-placeholder"},Me={class:"no-result-placeholder-content"},Ee={key:0},be={__name:"noResultsPlaceholder",props:{icon:{type:String,default:"",required:!1},iconSize:{type:String,default:"3rem",required:!1},title:{type:String,required:!0},message:{type:String,required:!1},buttonLabel:{type:String,default:"",required:!1}},emits:["action"],setup:e=>(s,t)=>(f(),w("div",xe,[z(_(G),null,{content:j((()=>[x("div",Me,[x("i",{class:M(e.icon),style:H({"font-size":e.iconSize,"margin-bottom":".5rem"})},null,6),x("h3",null,B(e.title),1),e.message?(f(),w("p",Ee,B(e.message),1)):I("",!0),e.buttonLabel?(f(),Q(_(P),{key:1,label:e.buttonLabel,onClick:t[0]||(t[0]=e=>s.$emit("action")),class:"p-button-text"},null,8,["label"])):I("",!0)])])),_:1})]))},_e={class:"left flex-1"},Ce={key:1,class:"edit"},ke={key:2,class:"label"},Be={class:"right toolbar"},Ie={key:0,class:"nodes"},Ne={__name:"group",props:{item:{type:Object,default:{}}},emits:["mousedown","mouseup","changeMode"],setup(e){const s=e,t=u(),l=y(!1),a=y(null),n=y(""),i=e=>{var l,a;let n=s.item;if(!(null==(l=n.info)?void 0:l.is_edit)&&(null==(a=n.children)?void 0:a.length)>0){let e=o.canvas.graph._groups.find((e=>e.pos[0]==n.info.pos[0]&&e.pos[1]==n.info.pos[1]));e&&(e.show_nodes=!e.show_nodes,t.setGroups(o.canvas.graph._groups))}},r=async()=>{let e=s.item,a=o.canvas.graph._groups.find((s=>s.pos[0]==e.info.pos[0]&&s.pos[1]==e.info.pos[1]));a?(a.is_edit=!1,a.title=n.value,await t.setGroups(o.canvas.graph._groups),l.value=!1):l.value=!1};return(u,c)=>{var p,v,m;return f(),w(S,null,[x("div",{class:M("comfyui-easyuse-map-nodes-group"),onClick:i},[x("div",_e,[e.item.children?(f(),w("i",{key:0,class:M(["icon",e.item.info.show_nodes?"pi pi-folder-open":"pi pi-folder"]),style:H({color:e.item.info.color})},null,6)):I("",!0),(null==(p=e.item.info)?void 0:p.is_edit)?(f(),w("div",Ce,[z(_(W),{ref_key:"modifyRef",ref:a,modelValue:n.value,"onUpdate:modelValue":c[0]||(c[0]=e=>n.value=e),variant:"outline",size:"small",type:"text",onBlur:r,onKeydown:[D(r,["enter"]),D(r,["esc"])],style:{width:"100%"}},null,8,["modelValue"])])):(f(),w("div",ke,[x("span",{onDblclick:c[1]||(c[1]=k((i=>(async()=>{var e,i;if(l.value)return;let r=s.item,u=o.canvas.graph._groups.find((e=>e.pos[0]==r.info.pos[0]&&e.pos[1]==r.info.pos[1]));u&&(u.is_edit=!u.is_edit,n.value=u.is_edit?r.info.title:"",await t.setGroups(o.canvas.graph._groups),l.value=!0,null==(i=null==(e=a.value)?void 0:e[0])||i.$el.focus())})(e.item)),["stop"]))},B(e.item.info.title),33)]))]),x("div",Be,[(null==(v=e.item.children)?void 0:v.length)>0?(f(),Q(_(P),{key:0,size:"small",icon:e.item.children.find((e=>e.mode==_(d).ALWAYS))?"pi pi-eye":"pi pi-eye-slash",text:"",rounded:"",severity:"secondary",onClick:c[2]||(c[2]=k((e=>u.$emit("changeMode")),["stop"])),onMousedown:c[3]||(c[3]=k((e=>u.$emit("mousedown")),["stop"])),onMouseup:c[4]||(c[4]=k((e=>u.$emit("mouseup")),["stop"]))},null,8,["icon"])):I("",!0)])]),(null==(m=e.item.children)?void 0:m.length)>0&&e.item.info.show_nodes?(f(),w("div",Ie,[R(u.$slots,"default")])):I("",!0)],64)}}},He={key:1,class:"label error"},Qe={class:"right toolbar"},ze={__name:"node",props:{node:{type:Object,default:{}}},emits:["mousedown","mouseup","changeMode"],setup:e=>(s,t)=>(f(),w("div",{draggable:!1,class:M(["comfyui-easyuse-map-nodes-node",{never:void 0!==e.node.mode&&e.node.mode==_(d).NEVER},{bypass:void 0!==e.node.mode&&e.node.mode==_(d).BYPASS}])},[void 0!==e.node.title?(f(),w("span",{key:0,class:"label",onDblclick:t[0]||(t[0]=k((s=>_(c)(e.node.id)),["stop"]))},B(e.node.title),33)):(f(),w("span",He,B(e.node.type),1)),x("div",Qe,[z(_(P),{size:"small",icon:e.node.mode==_(d).ALWAYS?"pi pi-eye":"pi pi-eye-slash",text:"",rounded:"",severity:"secondary",onClick:t[1]||(t[1]=k((e=>s.$emit("changeMode")),["stop"])),onMousedown:t[2]||(t[2]=k((e=>s.$emit("mousedown")),["stop"])),onMouseup:t[3]||(t[3]=k((e=>s.$emit("mouseup")),["stop"]))},null,8,["icon"])])],2))},je={class:"title"},De={class:"toolbar"},Re={key:0},Le=["onDragstart","onDragend","onDragover"],Ze={key:1,class:"no_result",style:{height:"100%"}},Ye="comfyui-easyuse-map-nodes",Oe={__name:"nodesMap",emits:["handleHeader"],setup(e){const t=u(),{groups_nodes:l,groups:n}=V(t),i=y(!1),r=e=>{i.value=!i.value,o.canvas.graph._groups.forEach((e=>{e.show_nodes=i.value})),t.setGroups(o.canvas.graph._groups)};let c,v=0,m=0,g=!1;const h=(e,s=!1)=>{if(g)return void(g=!1);const l=e.children.find((e=>e.mode==d.ALWAYS)),a=e.children.map((e=>e.id));o.canvas.graph._nodes.forEach((e=>{a.includes(e.id)&&(e.mode=l?s?d.NEVER:d.BYPASS:d.ALWAYS,e.graph.change())})),t.setNodes(o.canvas.graph._nodes)},A=(e,s=!1)=>{if(g)return void(g=!1);const l=e.mode==d.ALWAYS,a=o.canvas.graph._nodes.find((s=>s.id==e.id));a&&(a.mode=l?s?d.NEVER:d.BYPASS:d.ALWAYS,a.graph.change(),t.setNodes(o.canvas.graph._nodes))},b=(e,s="group")=>{v=(new Date).getTime(),clearTimeout(c),c=setTimeout((t=>{"group"==s?h(e,!0):A(e,!0)}),500)},N=e=>{m=(new Date).getTime(),m-v>500&&(g=!0),clearTimeout(c)};let H=y(null),D=y(null);y(!1);return(e,u)=>{var d,c;return f(),w("div",{class:M(Ye)},[x("div",{class:M(Ye+"__header"),onMousedown:u[0]||(u[0]=s=>e.$emit("handleHeader",s))},[x("div",je,B(_(s)("Nodes Map",!0)),1),x("div",De,[(null==(d=_(n))?void 0:d.length)>0?E((f(),Q(_(P),{key:0,icon:i.value?"pi pi-angle-double-down":"pi pi-angle-double-up",text:"",rounded:"",severity:"secondary",onClick:k(r,["stop"]),size:"small"},null,8,["icon"])),[[_(U),i.value?_(s)("Collapse All"):_(s)("Expand All"),void 0,{top:!0}]]):I("",!0),R(e.$slots,"icon")])],34),x("div",{class:M(Ye+"__content")},[(null==(c=_(l))?void 0:c.length)>0?(f(),w("ol",Re,[(f(!0),w(S,null,C(_(l),((e,l)=>(f(),w("li",{key:l,onDragstart:e=>((e,s)=>{H.value=s,e.currentTarget.style.opacity="0.6",e.currentTarget.style.border="1px dashed yellow",e.dataTransfer.effectAllowed="move"})(e,l),onDragend:e=>(e=>{if(e.target.style.opacity="1",e.currentTarget.style.border="1px dashed transparent","Manual drag&drop sorting"!==p("EasyUse.NodesMap.Sorting"))return void a.warn(s("For drag and drop sorting, please find Nodes map sorting mode in Settings->EasyUse and change it to manual"));let l=o.canvas.graph._groups,n=l[H.value],i=l[D.value];o.canvas.graph._groups[H.value]=i,o.canvas.graph._groups[D.value]=n,t.setGroups(o.canvas.graph._groups)})(e),onDragover:e=>((e,s)=>{e.preventDefault(),e.currentIndex!=H.value&&(D.value=s)})(e,l),draggable:!0},[void 0!==e.children?(f(),Q(Ne,{key:0,item:e,onChangeMode:s=>h(e),onMousedown:s=>b(e,"group"),onMouseup:N},{default:j((()=>[(f(!0),w(S,null,C(e.children,((e,s)=>(f(),Q(ze,{key:s,node:e,onChangeMode:s=>A(e),onMousedown:s=>b(e,"node"),onMouseup:N},null,8,["node","onChangeMode","onMousedown"])))),128))])),_:2},1032,["item","onChangeMode","onMousedown"])):(f(),Q(ze,{key:1,node:e.info,onChangeMode:s=>A(e.info),onMousedown:s=>b(e.info,"node"),onMouseup:N},null,8,["node","onChangeMode","onMousedown"]))],40,Le)))),128))])):(f(),w("div",Ze,[z(be,{icon:"pi pi-sitemap",title:_(s)("No Nodes",!0),message:_(s)("No nodes found in the map",!0)},null,8,["title","message"])]))],2)])}}},Ve=[x("svg",{class:"icon",t:"1714565543756",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"22538",width:"200",height:"200"},[x("path",{d:"M871.616 64H152.384c-31.488 0-60.416 25.28-60.416 58.24v779.52c0 32.896 26.24 58.24 60.352 58.24h719.232c34.112 0 60.352-25.344 60.352-58.24V122.24c0.128-32.96-28.8-58.24-60.288-58.24zM286.272 512c-23.616 0-44.672-20.224-44.672-43.008 0-22.784 20.992-43.008 44.608-43.008 23.616 0 44.608 20.224 44.608 43.008A43.328 43.328 0 0 1 286.272 512z m0-202.496c-23.616 0-44.608-20.224-44.608-43.008 0-22.784 20.992-43.008 44.608-43.008 23.616 0 44.608 20.224 44.608 43.008a43.456 43.456 0 0 1-44.608 43.008zM737.728 512H435.904c-23.68 0-44.672-20.224-44.672-43.008 0-22.784 20.992-43.008 44.608-43.008h299.264c23.616 0 44.608 20.224 44.608 43.008a42.752 42.752 0 0 1-41.984 43.008z m0-202.496H435.904c-23.616 0-44.608-20.224-44.608-43.008 0-22.784 20.992-43.008 44.608-43.008h299.264c23.616 0 44.608 20.224 44.608 43.008a42.88 42.88 0 0 1-42.048 43.008z","p-id":"22539",fill:"currentColor"})],-1)],Pe=[x("svg",{class:"icon",t:"1714565020764",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"7999",width:"200",height:"200"},[x("path",{d:"M810.438503 379.664884l-71.187166-12.777183C737.426025 180.705882 542.117647 14.602496 532.991087 7.301248c-12.777184-10.951872-32.855615-10.951872-47.45811 0-9.12656 7.301248-204.434938 175.229947-206.26025 359.586453l-67.536542 10.951871c-18.253119 3.650624-31.030303 18.253119-31.030303 36.506239v189.832442c0 10.951872 5.475936 21.903743 12.777184 27.379679 7.301248 5.475936 14.602496 9.12656 23.729055 9.12656h5.475936l133.247772-23.729055c40.156863 47.458111 91.265597 73.012478 151.500891 73.012477 60.235294 0 111.344029-27.379679 151.500891-74.837789l136.898396 23.729055h5.475936c9.12656 0 16.427807-3.650624 23.729055-9.12656 9.12656-7.301248 12.777184-16.427807 12.777184-27.379679V412.520499c1.825312-14.602496-10.951872-29.204991-27.379679-32.855615zM620.606061 766.631016H401.568627c-20.078431 0-36.506239 16.427807-36.506238 36.506239v109.518716c0 14.602496 9.12656 29.204991 23.729055 34.680927 14.602496 5.475936 31.030303 1.825312 40.156863-9.126559l16.427807-18.25312 32.855615 80.313726c5.475936 14.602496 18.253119 23.729055 34.680927 23.729055 16.427807 0 27.379679-9.12656 34.680927-23.729055l32.855615-80.313726 16.427807 18.25312c10.951872 10.951872 25.554367 14.602496 40.156863 9.126559 14.602496-5.475936 23.729055-18.253119 23.729055-34.680927v-109.518716c-3.650624-20.078431-20.078431-36.506239-40.156862-36.506239z",fill:"currentColor","p-id":"8000"})],-1)],Ge="comfyui-easyuse-toolbar",We={__name:"index",setup(e){const t=u(),l=y(!1);h((e=>l.value),(e=>{e?t.watchGraph(!0):t.unwatchGraph()}));const a=y(null),o=e=>{const s=a.value;var t=e.clientX||0,l=e.clientY||0,o=s.offsetLeft,n=s.offsetTop;function i(e){var a=e.clientX,i=e.clientY,r=a-t,u=i-l;s.style.left=o+r+"px",s.style.top=n+u+"px"}document.addEventListener("mousemove",i),document.addEventListener("mouseup",(function e(){document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",e)}))};return(e,t)=>(f(),w(S,null,[x("div",{class:M(["flex-c",Ge])},[x("div",{class:M(["group flex-c",Ge+"-icon"]),onClick:t[0]||(t[0]=e=>l.value=!l.value)},Ve,2),x("div",{class:M(["rocket flex-c",Ge+"-icon"]),onClick:t[1]||(t[1]=(...e)=>_(v)&&_(v)(...e))},Pe,2)]),l.value?(f(),w("div",{key:0,ref_key:"nodesMapRef",ref:a,class:M(Ge+"-nodes-map")},[z(Oe,{onHandleHeader:o},{icon:j((()=>[E(z(_(P),{icon:"pi pi-times",text:"",rounded:"",severity:"secondary",onClick:t[2]||(t[2]=e=>l.value=!1),size:"small"},null,512),[[_(U),_(s)("Close"),void 0,{top:!0}]])])),_:1})],2)):I("",!0)],64))}},Ue={__name:"index",setup(e){const s=u();return N((e=>{s.getNodesDef()})),(e,s)=>(f(),w("div",{class:M("comfyui-easyuse-searchbox")}))}},Fe={__name:"index",setup(e){const s=u();return N((e=>{s.watchGraph()})),(e,s)=>(f(),w("div",{class:M("comfyui-easyuse-map")},[z(Oe)]))}},Te="Comfy.UseNewMenu",Xe={__name:"App",setup(e){const t=y(p(Te));return N((e=>{try{o.extensionManager.registerSidebarTab({id:m,icon:"pi pi-sitemap",title:s("Nodes Map",!0),tooltip:s("Nodes Map",!0),type:"custom",render:e=>{e.style.height="100%",L(Z(Fe,{}),e)}}),g(Te,(e=>{t.value=e}))}catch(l){}})),(e,s)=>(f(),w(S,null,[z(Se),"Disabled"==t.value?(f(),Q(We,{key:0})):I("",!0),z(Ue)],64))}},Je=null==(e=document.getElementsByClassName("graph-canvas-container"))?void 0:e[0],qe=document.createElement("div");qe.id="comfyui-easyuse-components",Je?Je.append(qe):document.body.append(qe);const Ke=Y(Xe);Ke.use(X),Ke.use(F()),Ke.mount("#"+qe.id); +var e;import{$ as t,l as s,a as l,t as a,b as o,s as n,g as i,c as r,u,N as d,j as c,d as p,e as v,f as m,h as g}from"./assets/extensions-B7lGDrcJ.js";import{r as y,w as h,e as A,b as f,c as w,I as S,d as x,F as M,C as E,J as b,K as C,L as _,M as k,z as B,G as I,o as N,N as H,D as Q,O as z,E as j,P as D,x as R,Q as L,R as Z,S as Y}from"./assets/vue-DjzFgvDF.js";import{d as O,s as V,a as P,b as G,c as W,T as U,e as F}from"./assets/vendor-DT1J-jWa.js";import{c as T}from"./assets/lodash-CZi7izHi.js";import{P as X}from"./assets/primevue-BSs2m5Wu.js";import"./assets/primeuix-Be3xdh47.js";const J=O("graphStore",{state:e=>({selectors:[],selectors_styles:{},seg_selectors:[],slider_controls:[]}),actions:{setSelectors(e){this.selectors=T(e)},setStyles(e,t){this.selectors_styles[e]||(this.selectors_styles[e]=t)},setSegSelectors(e){this.seg_selectors=T(e)},setSliderControls(e){this.slider_controls=T(e)}}}),q=["data-id"],K=[x("i",{class:"mdi mdi-trash-can"},null,-1)],$=x("i",{class:"mdi mdi-magnify"},null,-1),ee=["placeholder"],te=["onMouseenter","onMouseleave"],se=["onClick"],le=["name","checked"],ae=["src"],oe={key:0},ne=x("span",{class:"comfyui-easyuse-success"},"positive:",-1),ie={key:1},re=x("span",{class:"comfyui-easyuse-error"},"negative:",-1),ue="comfyui-easyuse-selector",de={__name:"stylesSelector",props:{id:{type:String|Number,default:""},type:{type:String,default:""},selectedStyles:{type:Array,default:[]},show:{type:Boolean,default:!1}},emits:["chooseStyle"],setup(e,{emit:o}){const n=e,i=J(),{selectors_styles:r}=V(i),u=y([]);h((e=>n.type),(async e=>{u.value=[],e&&await(async e=>{if(r.value[n.type])return!0;const s=await l.fetchApi(`/easyuse/prompt/styles?name=${e}`);if(200===s.status){let e=(await s.json()).map(((e,t)=>(e.index=t,e)));return await i.setStyles(n.type,e),!0}return a.error(t("Get styles list Failed")),!1})(e)&&c()}),{immediate:!0});const d=o,c=e=>{const t=n.selectedStyles,s=T(r.value[n.type]);u.value=s.sort(((e,t)=>e.index-t.index)).sort(((e,s)=>t.includes(s.name)-t.includes(e.name)))},p=y(""),v=e=>e.toLowerCase(),m=A({}),g=e=>{m.src="",m.name="",m.positive="",m.negative=""},N=async e=>{const t=await l.fetchApi(`/easyuse/prompt/styles/image?name=${e}&styles_name=${n.type}`);if(200===t.status){const s=await t.text();if(s.startsWith("http"))return s;return`/easyuse/prompt/styles/image?name=${e}&styles_name=${n.type}`}},H=e=>{e.target.src="data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QNLaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA5LjEtYzAwMSA3OS4xNDYyODk5Nzc3LCAyMDIzLzA2LzI1LTIzOjU3OjE0ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjUuMSAoMjAyMzA5MDUubS4yMzE2IDk3OWM4NmQpICAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjA3NEU1QzNCNUJBMTFFRUExMUVDNkZDRjI0NzlBN0QiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjA3NEU1QzRCNUJBMTFFRUExMUVDNkZDRjI0NzlBN0QiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGMDc0RTVDMUI1QkExMUVFQTExRUM2RkNGMjQ3OUE3RCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGMDc0RTVDMkI1QkExMUVFQTExRUM2RkNGMjQ3OUE3RCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/uAA5BZG9i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"};return(l,a)=>(f(),w("div",{class:M(ue+` ${ue}-styles`),"data-id":e.id,onMouseleave:g},[u.value.length>0&&e.show?(f(),w(S,{key:0},[x("div",{class:M(ue+"__header")},[x("div",{class:M(ue+"__header_button"),onClick:a[0]||(a[0]=e=>(d("chooseStyle",[]),void(p.value="")))},K,2),x("div",{class:M(ue+"__header_search")},[$,E(x("textarea",{class:"search","onUpdate:modelValue":a[1]||(a[1]=e=>p.value=e),dir:"ltr",rows:1,placeholder:C(t)("Type here to search styles ...")},null,8,ee),[[b,p.value]])],2)],2),x("div",{class:M(ue+"__content"),onMouseleave:c},[(f(!0),w(S,null,_(u.value,((t,l)=>(f(),w("div",{class:M(ue+"-item"),key:l,onMouseenter:e=>(async e=>{if(!e.imageSrc){if(e.imageLoading)return;e.imageLoading=!0;const t=await N(e.imgName).finally((()=>e.imageLoading=!1));e.imageSrc=t}m.name="zh-CN"==s&&e.name_cn?e.name_cn:e.name,m.positive=e.prompt,m.negative=e.negative_prompt,m.src=e.imageSrc})(t),onMouseleave:k((e=>g()),["stop"])},[x("span",{class:M([ue+"-item__tag",{hide:!(e.selectedStyles.includes(t.name)||-1!=v(t.name).indexOf(v(p.value))||t.name_cn&&-1!=v(t.name_cn).indexOf(v(p.value)))}]),onClick:e=>(e=>{let t=n.selectedStyles;t.includes(e.name)?t=t.filter((t=>t!==e.name)):t.push(e.name),d("chooseStyle",t)})(t)},[x("input",{type:"checkbox",name:t.name,checked:e.selectedStyles.includes(t.name)},null,8,le),x("span",null,B("zh-CN"==C(s)&&t.name_cn?t.name_cn:t.name),1)],10,se)],42,te)))),128))],34),(null==m?void 0:m.src)?(f(),w("div",{key:0,class:M(ue+"-preview")},[x("img",{src:m.src,ref:"image",alt:"preview",onError:H},null,40,ae),x("div",{class:M(ue+"-preview__text")},[x("b",null,B(m.name),1),x("div",{class:M(ue+"-preview__prompt")},[m.positive?(f(),w("h6",oe,[ne,x("span",null,B(m.positive),1)])):I("",!0),m.negative?(f(),w("h6",ie,[re,x("span",null,B(m.negative),1)])):I("",!0)],2)],2)],2)):I("",!0)],64)):I("",!0)],42,q))}},ce=["data-id"],pe=["onClick"],ve=["name","checked"],me="comfyui-easyuse-selector",ge={__name:"segSelector",props:{id:{type:String|Number,default:""},type:{type:String,default:""},selected:{type:Array,default:[]},show:{type:Boolean,default:!1}},emits:["select"],setup(e,{emit:s}){const l=e,a=y([]);h((e=>l.type),(async e=>{switch(e){case"selfie_multiclass_256x256":a.value=["Background","Hair","Body","Face","Clothes","Others"];break;case"human_parsing_lip":a.value=["Background","Hat","Hair","Glove","Sunglasses","Upper-clothes","Dress","Coat","Socks","Pants","Jumpsuits","Scarf","Skirt","Face","Left-arm","Right-arm","Left-leg","Right-leg","Left-shoe","Right-shoe"]}}),{immediate:!0});const o=s;return(s,n)=>{var i;return f(),w("div",{class:M(me+` ${me}-seg`),"data-id":e.id},[(null==(i=a.value)?void 0:i.length)>0&&e.show?(f(!0),w(S,{key:0},_(a.value,((s,a)=>(f(),w("div",{class:M(me+"-item"),key:a},[x("span",{class:M(me+"-item__tag"),onClick:e=>(e=>{let t=T(l.selected);t.includes(e)?t=t.filter((t=>t!==e)):t.push(e),o("select",t)})(a)},[x("input",{type:"checkbox",name:s,checked:e.selected.includes(a)},null,8,ve),x("span",null,B(C(t)(s)),1)],10,pe)],2)))),128)):I("",!0)],10,ce)}}},ye=["data-id"],he=["onMousedown","onDblclick"],Ae="comfyui-easyuse-slider",fe="ipadapter layer weights",we={__name:"sliderControl",props:{id:{type:String|Number,default:""},mode:{type:String,default:""},type:{type:String,default:""},values:{type:Array,default:[]},show:{type:Boolean,default:!1}},emits:["changeValues","showSlider"],setup(e,{emit:t}){const s=e,l=t,a=(e,t,s)=>(e-t)/(s-t)*100,o=(e,t,l=void 0)=>{if(s.mode===fe){let s={3:2.5,6:1}[t]||0;return{default:12==e?s:0,min:-1,max:3,step:.05,value:void 0!==l?l:12==e?s:0,top:void 0!==l?100-a(l,-1,3)+"%":null,height:void 0!==l?a(l,-1,3)+"%":null}}};h((e=>s.mode),(async(e,t)=>{var a;if(e!==t&&e===fe)if(!t&&(null==(a=s.values)?void 0:a.length)>0){const e=s.values.map((e=>{const t=e.split(":");return o(s.values.length,t[0],parseFloat(t[1]))}));await l("changeValues",e)}else{let e="sd1"==s.type?16:12,t=Array.from({length:e},((t,s)=>o(e,s)));await l("changeValues",t)}l("showSlider")}),{immediate:!0}),h((e=>s.type),((e,t)=>{if(e!=t&&s.mode==fe){let e="sd1"==s.type?16:12,t=Array.from({length:e},((t,s)=>o(e,s)));l("changeValues",t)}}));const n=y(null),i=y(null);return N((()=>{document.onmouseup=e=>document.onmousemove=null})),(t,o)=>{var r;return f(),w("div",{class:M(Ae),"data-id":e.id},[(null==(r=e.values)?void 0:r.length)>0&&e.show?(f(!0),w(S,{key:0},_(e.values,((t,o)=>(f(),w("div",{class:M([Ae+"-item",{positive:3==o&&"sdxl"==e.type&&e.mode==fe},{negative:6==o&&"sdxl"==e.type&&e.mode==fe}]),key:o},[x("div",{class:M(Ae+"-item-input")},B(t.value),3),x("div",{class:M(Ae+"-item-scroll"),ref_for:!0,ref_key:"scroll",ref:n},[x("div",{class:M(Ae+"-item-bar"),ref_for:!0,ref_key:"bar",ref:i,style:H({top:t.top||100-a(t.default,t.min,t.max)+"%"}),onMousedown:e=>((e,t,a)=>{let o=e||window.event,r=n.value[a],u=i.value[a],d=T(s.values),c=o.clientY-u.offsetTop;document.onmousemove=e=>{let s=(e||window.event).clientY-c;s<0?s=0:s>r.offsetHeight-u.offsetHeight&&(s=r.offsetHeight-u.offsetHeight);let o=(t.max-t.min)/t.step,n=(r.offsetHeight-u.offsetHeight)/o;s=Math.round(s/n)*n;const i=Math.floor(s/(r.offsetHeight-u.offsetHeight)*100)+"%",p=Math.floor((r.offsetHeight-u.offsetHeight-s)/(r.offsetHeight-u.offsetHeight)*100)+"%",v=parseFloat(parseFloat(t.max-(t.max-t.min)*(s/(r.offsetHeight-u.offsetHeight))).toFixed(2));d[a]={...d[a],top:i,height:p,value:v},l("changeValues",d),window.getSelection?window.getSelection().removeAllRanges():document.selection.empty()}})(e,t,o),onDblclick:e=>((e,t,a)=>{let o=T(s.values);o[a]={...o[a],top:null,height:null,value:t.default},l("changeValues",o)})(0,t,o)},null,46,he),x("div",{class:M(Ae+"-item-area"),style:H({height:t.height||a(t.default,t.min,t.max)+"%"})},null,6)],2),x("div",{class:M(Ae+"-item-label")},[x("span",null,B(t.label),1)],2)],2)))),128)):I("",!0)],8,ye)}}},Se={__name:"index",setup(e){const t=J(),{selectors:s,seg_selectors:l,slider_controls:a}=V(t),u=y({}),d=async e=>{var l,a,o,r,d,c;await n(1);const p=i(e,"styles"),v=(null==(l=e.properties.values)?void 0:l.length)>0?e.properties.values:[];let m=T(s.value);m.push({id:e.id,type:p.value,value:v,show:!1});const g=m.length-1;await t.setSelectors(m);let y=null==(r=null==(o=null==(a=u.value[e.id])?void 0:a._)?void 0:o.vnode)?void 0:r.el;if(!y)return;let h=e.addDOMWidget("select_styles","btn",y);e.properties.values||e.setProperty("values",[]),m[g].show=!0,await t.setSelectors(m);let A=p.value;Object.defineProperty(p,"value",{set:s=>{A=s,m[g].type=s,e.properties.values=[],m[g].value=[],t.setSelectors(m)},get:e=>A}),Object.defineProperty(h,"value",{set:e=>{setTimeout((s=>{m[g].value=e.split(","),t.setSelectors(m)}),150)},get:t=>{var l,a;return e.properties.values=(null==(a=null==(l=s.value)?void 0:l[g])?void 0:a.value)||[],e.properties.values.join(",")}}),((null==(d=e.size)?void 0:d[0])<150||(null==(c=e.size)?void 0:c[1])<150)&&e.setSize([425,500]);const f=e.onRemoved;e.onRemoved=function(){if(f&&(null==f||f.apply(this,arguments)),void 0!==s.value.findIndex((t=>t.id==e.id))){let e=T(s.value);e.splice(g,1),t.setSelectors(e)}return f}},c=y({}),p=async e=>{var s,a,o,u;await n(1);const d=i(e,"method"),p=(null==(s=e.properties.values)?void 0:s.length)>0?e.properties.values:[];let v=T(l.value);v.push({id:e.id,type:d.value,value:p,show:!1});const m=v.length-1;await t.setSegSelectors(v);let g=null==(u=null==(o=null==(a=c.value[e.id])?void 0:a._)?void 0:o.vnode)?void 0:u.el;if(!g)return;let y=e.addDOMWidget("mask_components","btn",g);e.properties.values||e.setProperty("values",[]),v[m].show=!0,await t.setSegSelectors(v);let h=d.value;Object.defineProperty(d,"value",{set:s=>{h=s,v[m].type=s,e.properties.values=[],v[m].value=[],r(e,i(e,"confidence"),"selfie_multiclass_256x256"===h),e.setSize([300,"selfie_multiclass_256x256"===h?260:500]),t.setSegSelectors(v)},get:e=>h}),Object.defineProperty(y,"value",{set:e=>{setTimeout((s=>{v[m].value=e.split(","),t.setSegSelectors(v)}),150)},get:t=>{var s;return e.properties.values=(null==(s=l.value)?void 0:s[m].value)||[],e.properties.values.join(",")}}),r(e,i(e,"confidence"),"selfie_multiclass_256x256"===h),e.setSize([300,"selfie_multiclass_256x256"===h?260:500]);const A=e.onRemoved;e.onRemoved=function(){if(A&&(null==A||A.apply(this,arguments)),void 0!==l.value.findIndex((t=>t.id==e.id))){let e=T(l.value);e.splice(m,1),t.setSegSelectors(e)}return A}},v=y({}),m=async e=>{var s,l,o,r;await n(1);const u=i(e,"mode"),d=i(e,"model_type"),c=(null==(s=e.properties.values)?void 0:s.length)>0?e.properties.values:[];let p=T(a.value);p.push({id:e.id,type:d.value,mode:u.value,value:c,show:!1});const m=p.length-1;await t.setSliderControls(p);let g=null==(r=null==(o=null==(l=v.value[e.id])?void 0:l._)?void 0:o.vnode)?void 0:r.el;if(!g)return;let y=e.addDOMWidget("values","btn",g);e.properties.values||e.setProperty("values",[]),Object.defineProperty(y,"value",{set:function(){},get:t=>{var s;const l=(null==(s=a.value)?void 0:s[m].value)||[];return e.properties.values=l.map(((e,t)=>`${t}:${e.value}`)),e.properties.values.join(",")}}),e.setSize("sdxl"==d.value?[375,320]:[455,320]),d.callback=s=>{p=T(a.value),p[m].type!=s&&(e.setSize("sdxl"==s?[375,320]:[455,320]),p[m].value=[],p[m].type=s,t.setSliderControls(p))};const h=e.onRemoved;e.onRemoved=function(){if(h&&(null==h||h.apply(this,arguments)),void 0!==a.value.findIndex((t=>t.id==e.id))){let e=T(a.value);e.splice(m,1),t.setSliderControls(e)}return h}};return N((e=>{o.registerExtension({name:"Comfy.EasyUse.Components",async beforeRegisterNodeDef(e,t){const s=e.prototype.onNodeCreated;"easy stylesSelector"==t.name&&(e.prototype.onNodeCreated=async function(){return s&&(null==s||s.apply(this,arguments)),await d(this),s}),"easy humanSegmentation"==t.name&&(e.prototype.onNodeCreated=async function(){return s&&(null==s||s.apply(this,arguments)),await p(this),s}),"easy sliderControl"==t.name&&(e.prototype.onNodeCreated=async function(){return s&&(null==s||s.apply(this,arguments)),await m(this),s}),"easy poseEditor"==t.name&&(e.prototype.onNodeCreated=async function(){s&&(null==s||s.apply(this,arguments));const e=document.createElement("div");return e.className="comfyui-easyuse-poseEditor",e.innerHTML='
This node is about to be removed, you can use ComfyUI_Custom_Nodes_AlekPet to replace it.
',this.addDOMWidget("editor","btn",e),s})}})})),(e,o)=>(f(),w(S,null,[(f(!0),w(S,null,_(C(s),((e,l)=>(f(),Q(de,{ref_for:!0,ref:t=>{t&&(u.value[e.id]=t)},type:e.type,key:l,id:e.id,show:e.show,selectedStyles:e.value,onChooseStyle:e=>((e,l)=>{let a=T(s.value);a[l].value=e,t.setSelectors(a)})(e,l)},null,8,["type","id","show","selectedStyles","onChooseStyle"])))),128)),(f(!0),w(S,null,_(C(l),((e,s)=>(f(),Q(ge,{ref_for:!0,ref:t=>{t&&(c.value[e.id]=t)},type:e.type,key:s,id:e.id,show:e.show,selected:e.value,onSelect:e=>((e,s)=>{let a=T(l.value);a[s].value=e,t.setSegSelectors(a)})(e,s)},null,8,["type","id","show","selected","onSelect"])))),128)),(f(!0),w(S,null,_(C(a),((e,s)=>(f(),Q(we,{ref_for:!0,ref:t=>{t&&(v.value[e.id]=t)},type:e.type,key:s,id:e.id,show:e.show,mode:e.mode,values:e.value,onChangeValues:e=>((e,s)=>{let l=T(a.value);l[s].value=e,t.setSliderControls(l)})(e,s),onShowSlider:e=>(e=>{let s=T(a.value);s[e].show=!0,t.setSliderControls(s)})(s)},null,8,["type","id","show","mode","values","onChangeValues","onShowSlider"])))),128))],64))}},xe={class:"no-result-placeholder"},Me={class:"no-result-placeholder-content"},Ee={key:0},be={__name:"noResultsPlaceholder",props:{icon:{type:String,default:"",required:!1},iconSize:{type:String,default:"3rem",required:!1},title:{type:String,required:!0},message:{type:String,required:!1},buttonLabel:{type:String,default:"",required:!1}},emits:["action"],setup:e=>(t,s)=>(f(),w("div",xe,[z(C(G),null,{content:j((()=>[x("div",Me,[x("i",{class:M(e.icon),style:H({"font-size":e.iconSize,"margin-bottom":".5rem"})},null,6),x("h3",null,B(e.title),1),e.message?(f(),w("p",Ee,B(e.message),1)):I("",!0),e.buttonLabel?(f(),Q(C(P),{key:1,label:e.buttonLabel,onClick:s[0]||(s[0]=e=>t.$emit("action")),class:"p-button-text"},null,8,["label"])):I("",!0)])])),_:1})]))},Ce={class:"left flex-1"},_e={key:1,class:"edit"},ke={key:2,class:"label"},Be={class:"right toolbar"},Ie={key:0,class:"nodes"},Ne={__name:"group",props:{item:{type:Object,default:{}}},emits:["mousedown","mouseup","changeMode"],setup(e){const t=e,s=u(),l=y(!1),a=y(null),n=y(""),i=e=>{var l,a;let n=t.item;if(!(null==(l=n.info)?void 0:l.is_edit)&&(null==(a=n.children)?void 0:a.length)>0){let e=o.canvas.graph._groups.find((e=>e.pos[0]==n.info.pos[0]&&e.pos[1]==n.info.pos[1]));e&&(e.show_nodes=!e.show_nodes,s.setGroups(o.canvas.graph._groups))}},r=async()=>{let e=t.item,a=o.canvas.graph._groups.find((t=>t.pos[0]==e.info.pos[0]&&t.pos[1]==e.info.pos[1]));a?(a.is_edit=!1,a.title=n.value,await s.setGroups(o.canvas.graph._groups),l.value=!1):l.value=!1};return(u,c)=>{var p,v,m;return f(),w(S,null,[x("div",{class:M("comfyui-easyuse-map-nodes-group"),onClick:i},[x("div",Ce,[e.item.children?(f(),w("i",{key:0,class:M(["icon",e.item.info.show_nodes?"pi pi-folder-open":"pi pi-folder"]),style:H({color:e.item.info.color})},null,6)):I("",!0),(null==(p=e.item.info)?void 0:p.is_edit)?(f(),w("div",_e,[z(C(W),{ref_key:"modifyRef",ref:a,modelValue:n.value,"onUpdate:modelValue":c[0]||(c[0]=e=>n.value=e),variant:"outline",size:"small",type:"text",onBlur:r,onKeydown:[D(r,["enter"]),D(r,["esc"])],style:{width:"100%"}},null,8,["modelValue"])])):(f(),w("div",ke,[x("span",{onDblclick:c[1]||(c[1]=k((i=>(async()=>{var e,i;if(l.value)return;let r=t.item,u=o.canvas.graph._groups.find((e=>e.pos[0]==r.info.pos[0]&&e.pos[1]==r.info.pos[1]));u&&(u.is_edit=!u.is_edit,n.value=u.is_edit?r.info.title:"",await s.setGroups(o.canvas.graph._groups),l.value=!0,null==(i=null==(e=a.value)?void 0:e[0])||i.$el.focus())})(e.item)),["stop"]))},B(e.item.info.title),33)]))]),x("div",Be,[(null==(v=e.item.children)?void 0:v.length)>0?(f(),Q(C(P),{key:0,size:"small",icon:e.item.children.find((e=>e.mode==C(d).ALWAYS))?"pi pi-eye":"pi pi-eye-slash",text:"",rounded:"",severity:"secondary",onClick:c[2]||(c[2]=k((e=>u.$emit("changeMode")),["stop"])),onMousedown:c[3]||(c[3]=k((e=>u.$emit("mousedown")),["stop"])),onMouseup:c[4]||(c[4]=k((e=>u.$emit("mouseup")),["stop"]))},null,8,["icon"])):I("",!0)])]),(null==(m=e.item.children)?void 0:m.length)>0&&e.item.info.show_nodes?(f(),w("div",Ie,[R(u.$slots,"default")])):I("",!0)],64)}}},He={key:1,class:"label error"},Qe={class:"right toolbar"},ze={__name:"node",props:{node:{type:Object,default:{}}},emits:["mousedown","mouseup","changeMode"],setup:e=>(t,s)=>(f(),w("div",{draggable:!1,class:M(["comfyui-easyuse-map-nodes-node",{never:void 0!==e.node.mode&&e.node.mode==C(d).NEVER},{bypass:void 0!==e.node.mode&&e.node.mode==C(d).BYPASS}])},[void 0!==e.node.title?(f(),w("span",{key:0,class:"label",onDblclick:s[0]||(s[0]=k((t=>C(c)(e.node.id)),["stop"]))},B(e.node.title),33)):(f(),w("span",He,B(e.node.type),1)),x("div",Qe,[z(C(P),{size:"small",icon:e.node.mode==C(d).ALWAYS?"pi pi-eye":"pi pi-eye-slash",text:"",rounded:"",severity:"secondary",onClick:s[1]||(s[1]=k((e=>t.$emit("changeMode")),["stop"])),onMousedown:s[2]||(s[2]=k((e=>t.$emit("mousedown")),["stop"])),onMouseup:s[3]||(s[3]=k((e=>t.$emit("mouseup")),["stop"]))},null,8,["icon"])])],2))},je={class:"title"},De={class:"toolbar"},Re={key:0},Le=["onDragstart","onDragend","onDragover"],Ze={key:1,class:"no_result",style:{height:"100%"}},Ye="comfyui-easyuse-map-nodes",Oe={__name:"nodesMap",emits:["handleHeader"],setup(e){const s=u(),{groups_nodes:l,groups:n}=V(s),i=y(!1),r=e=>{i.value=!i.value,o.canvas.graph._groups.forEach((e=>{e.show_nodes=i.value})),s.setGroups(o.canvas.graph._groups)};let c,v=0,m=0,g=!1;const h=(e,t=!1)=>{if(g)return void(g=!1);const l=e.children.find((e=>e.mode==d.ALWAYS)),a=e.children.map((e=>e.id));o.canvas.graph._nodes.forEach((e=>{a.includes(e.id)&&(e.mode=l?t?d.NEVER:d.BYPASS:d.ALWAYS,e.graph.change())})),s.setNodes(o.canvas.graph._nodes)},A=(e,t=!1)=>{if(g)return void(g=!1);const l=e.mode==d.ALWAYS,a=o.canvas.graph._nodes.find((t=>t.id==e.id));a&&(a.mode=l?t?d.NEVER:d.BYPASS:d.ALWAYS,a.graph.change(),s.setNodes(o.canvas.graph._nodes))},b=(e,t="group")=>{v=(new Date).getTime(),clearTimeout(c),c=setTimeout((s=>{"group"==t?h(e,!0):A(e,!0)}),500)},N=e=>{m=(new Date).getTime(),m-v>500&&(g=!0),clearTimeout(c)};let H=y(null),D=y(null);y(!1);return(e,u)=>{var d,c;return f(),w("div",{class:M(Ye)},[x("div",{class:M(Ye+"__header"),onMousedown:u[0]||(u[0]=t=>e.$emit("handleHeader",t))},[x("div",je,B(C(t)("Nodes Map",!0)),1),x("div",De,[(null==(d=C(n))?void 0:d.length)>0?E((f(),Q(C(P),{key:0,icon:i.value?"pi pi-angle-double-down":"pi pi-angle-double-up",text:"",rounded:"",severity:"secondary",onClick:k(r,["stop"]),size:"small"},null,8,["icon"])),[[C(U),i.value?C(t)("Collapse All"):C(t)("Expand All"),void 0,{top:!0}]]):I("",!0),R(e.$slots,"icon")])],34),x("div",{class:M(Ye+"__content")},[(null==(c=C(l))?void 0:c.length)>0?(f(),w("ol",Re,[(f(!0),w(S,null,_(C(l),((e,l)=>(f(),w("li",{key:l,onDragstart:e=>((e,t)=>{H.value=t,e.currentTarget.style.opacity="0.6",e.currentTarget.style.border="1px dashed yellow",e.dataTransfer.effectAllowed="move"})(e,l),onDragend:e=>(e=>{if(e.target.style.opacity="1",e.currentTarget.style.border="1px dashed transparent","Manual drag&drop sorting"!==p("EasyUse.NodesMap.Sorting"))return void a.warn(t("For drag and drop sorting, please find Nodes map sorting mode in Settings->EasyUse and change it to manual"));let l=o.canvas.graph._groups,n=l[H.value],i=l[D.value];o.canvas.graph._groups[H.value]=i,o.canvas.graph._groups[D.value]=n,s.setGroups(o.canvas.graph._groups)})(e),onDragover:e=>((e,t)=>{e.preventDefault(),e.currentIndex!=H.value&&(D.value=t)})(e,l),draggable:!0},[void 0!==e.children?(f(),Q(Ne,{key:0,item:e,onChangeMode:t=>h(e),onMousedown:t=>b(e,"group"),onMouseup:N},{default:j((()=>[(f(!0),w(S,null,_(e.children,((e,t)=>(f(),Q(ze,{key:t,node:e,onChangeMode:t=>A(e),onMousedown:t=>b(e,"node"),onMouseup:N},null,8,["node","onChangeMode","onMousedown"])))),128))])),_:2},1032,["item","onChangeMode","onMousedown"])):(f(),Q(ze,{key:1,node:e.info,onChangeMode:t=>A(e.info),onMousedown:t=>b(e.info,"node"),onMouseup:N},null,8,["node","onChangeMode","onMousedown"]))],40,Le)))),128))])):(f(),w("div",Ze,[z(be,{icon:"pi pi-sitemap",title:C(t)("No Nodes",!0),message:C(t)("No nodes found in the map",!0)},null,8,["title","message"])]))],2)])}}},Ve=[x("svg",{class:"icon",t:"1714565543756",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"22538",width:"200",height:"200"},[x("path",{d:"M871.616 64H152.384c-31.488 0-60.416 25.28-60.416 58.24v779.52c0 32.896 26.24 58.24 60.352 58.24h719.232c34.112 0 60.352-25.344 60.352-58.24V122.24c0.128-32.96-28.8-58.24-60.288-58.24zM286.272 512c-23.616 0-44.672-20.224-44.672-43.008 0-22.784 20.992-43.008 44.608-43.008 23.616 0 44.608 20.224 44.608 43.008A43.328 43.328 0 0 1 286.272 512z m0-202.496c-23.616 0-44.608-20.224-44.608-43.008 0-22.784 20.992-43.008 44.608-43.008 23.616 0 44.608 20.224 44.608 43.008a43.456 43.456 0 0 1-44.608 43.008zM737.728 512H435.904c-23.68 0-44.672-20.224-44.672-43.008 0-22.784 20.992-43.008 44.608-43.008h299.264c23.616 0 44.608 20.224 44.608 43.008a42.752 42.752 0 0 1-41.984 43.008z m0-202.496H435.904c-23.616 0-44.608-20.224-44.608-43.008 0-22.784 20.992-43.008 44.608-43.008h299.264c23.616 0 44.608 20.224 44.608 43.008a42.88 42.88 0 0 1-42.048 43.008z","p-id":"22539",fill:"currentColor"})],-1)],Pe=[x("svg",{class:"icon",t:"1714565020764",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"7999",width:"200",height:"200"},[x("path",{d:"M810.438503 379.664884l-71.187166-12.777183C737.426025 180.705882 542.117647 14.602496 532.991087 7.301248c-12.777184-10.951872-32.855615-10.951872-47.45811 0-9.12656 7.301248-204.434938 175.229947-206.26025 359.586453l-67.536542 10.951871c-18.253119 3.650624-31.030303 18.253119-31.030303 36.506239v189.832442c0 10.951872 5.475936 21.903743 12.777184 27.379679 7.301248 5.475936 14.602496 9.12656 23.729055 9.12656h5.475936l133.247772-23.729055c40.156863 47.458111 91.265597 73.012478 151.500891 73.012477 60.235294 0 111.344029-27.379679 151.500891-74.837789l136.898396 23.729055h5.475936c9.12656 0 16.427807-3.650624 23.729055-9.12656 9.12656-7.301248 12.777184-16.427807 12.777184-27.379679V412.520499c1.825312-14.602496-10.951872-29.204991-27.379679-32.855615zM620.606061 766.631016H401.568627c-20.078431 0-36.506239 16.427807-36.506238 36.506239v109.518716c0 14.602496 9.12656 29.204991 23.729055 34.680927 14.602496 5.475936 31.030303 1.825312 40.156863-9.126559l16.427807-18.25312 32.855615 80.313726c5.475936 14.602496 18.253119 23.729055 34.680927 23.729055 16.427807 0 27.379679-9.12656 34.680927-23.729055l32.855615-80.313726 16.427807 18.25312c10.951872 10.951872 25.554367 14.602496 40.156863 9.126559 14.602496-5.475936 23.729055-18.253119 23.729055-34.680927v-109.518716c-3.650624-20.078431-20.078431-36.506239-40.156862-36.506239z",fill:"currentColor","p-id":"8000"})],-1)],Ge="comfyui-easyuse-toolbar",We={__name:"index",setup(e){const s=u(),l=y(!1);h((e=>l.value),(e=>{e?s.watchGraph(!0):s.unwatchGraph()}));const a=y(null),o=e=>{const t=a.value;var s=e.clientX||0,l=e.clientY||0,o=t.offsetLeft,n=t.offsetTop;function i(e){var a=e.clientX,i=e.clientY,r=a-s,u=i-l;t.style.left=o+r+"px",t.style.top=n+u+"px"}document.addEventListener("mousemove",i),document.addEventListener("mouseup",(function e(){document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",e)}))};return(e,s)=>(f(),w(S,null,[x("div",{class:M(["flex-c",Ge])},[x("div",{class:M(["group flex-c",Ge+"-icon"]),onClick:s[0]||(s[0]=e=>l.value=!l.value)},Ve,2),x("div",{class:M(["rocket flex-c",Ge+"-icon"]),onClick:s[1]||(s[1]=(...e)=>C(v)&&C(v)(...e))},Pe,2)]),l.value?(f(),w("div",{key:0,ref_key:"nodesMapRef",ref:a,class:M(Ge+"-nodes-map")},[z(Oe,{onHandleHeader:o},{icon:j((()=>[E(z(C(P),{icon:"pi pi-times",text:"",rounded:"",severity:"secondary",onClick:s[2]||(s[2]=e=>l.value=!1),size:"small"},null,512),[[C(U),C(t)("Close"),void 0,{top:!0}]])])),_:1})],2)):I("",!0)],64))}},Ue={__name:"index",setup(e){const t=u();return N((e=>{t.watchGraph()})),(e,t)=>(f(),w("div",{class:M("comfyui-easyuse-map")},[z(Oe)]))}},Fe="Comfy.UseNewMenu",Te={__name:"App",setup(e){const s=y(p(Fe));return N((e=>{try{o.extensionManager.registerSidebarTab({id:m,icon:"pi pi-sitemap",title:t("Nodes Map",!0),tooltip:t("Nodes Map",!0),type:"custom",render:e=>{e.style.height="100%",L(Z(Ue,{}),e)}}),g(Fe,(e=>{s.value=e}))}catch(l){}})),(e,t)=>(f(),w(S,null,[z(Se),"Disabled"==s.value?(f(),Q(We,{key:0})):I("",!0)],64))}},Xe=null==(e=document.getElementsByClassName("graph-canvas-container"))?void 0:e[0],Je=document.createElement("div");Je.id="comfyui-easyuse-components",Xe?Xe.append(Je):document.body.append(Je);const qe=Y(Te);qe.use(X),qe.use(F()),qe.mount("#"+Je.id);