1 line
49 KiB
Plaintext
1 line
49 KiB
Plaintext
{"version":3,"file":"colorPalette-D5oi2-2V.js","sources":["../../src/extensions/core/colorPalette.ts"],"sourcesContent":["import { useToastStore } from '@/stores/toastStore'\nimport { app } from '../../scripts/app'\nimport { $el } from '../../scripts/ui'\nimport type { ColorPalettes, Palette } from '@/types/colorPalette'\nimport { LGraphCanvas, LiteGraph } from '@comfyorg/litegraph'\n\n// Manage color palettes\n\nconst colorPalettes: ColorPalettes = {\n dark: {\n id: 'dark',\n name: 'Dark (Default)',\n colors: {\n node_slot: {\n CLIP: '#FFD500', // bright yellow\n CLIP_VISION: '#A8DADC', // light blue-gray\n CLIP_VISION_OUTPUT: '#ad7452', // rusty brown-orange\n CONDITIONING: '#FFA931', // vibrant orange-yellow\n CONTROL_NET: '#6EE7B7', // soft mint green\n IMAGE: '#64B5F6', // bright sky blue\n LATENT: '#FF9CF9', // light pink-purple\n MASK: '#81C784', // muted green\n MODEL: '#B39DDB', // light lavender-purple\n STYLE_MODEL: '#C2FFAE', // light green-yellow\n VAE: '#FF6E6E', // bright red\n NOISE: '#B0B0B0', // gray\n GUIDER: '#66FFFF', // cyan\n SAMPLER: '#ECB4B4', // very soft red\n SIGMAS: '#CDFFCD', // soft lime green\n TAESD: '#DCC274' // cheesecake\n },\n litegraph_base: {\n BACKGROUND_IMAGE:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQBJREFUeNrs1rEKwjAUhlETUkj3vP9rdmr1Ysammk2w5wdxuLgcMHyptfawuZX4pJSWZTnfnu/lnIe/jNNxHHGNn//HNbbv+4dr6V+11uF527arU7+u63qfa/bnmh8sWLBgwYJlqRf8MEptXPBXJXa37BSl3ixYsGDBMliwFLyCV/DeLIMFCxYsWLBMwSt4Be/NggXLYMGCBUvBK3iNruC9WbBgwYJlsGApeAWv4L1ZBgsWLFiwYJmCV/AK3psFC5bBggULloJX8BpdwXuzYMGCBctgwVLwCl7Be7MMFixYsGDBsu8FH1FaSmExVfAxBa/gvVmwYMGCZbBg/W4vAQYA5tRF9QYlv/QAAAAASUVORK5CYII=',\n CLEAR_BACKGROUND_COLOR: '#222',\n NODE_TITLE_COLOR: '#999',\n NODE_SELECTED_TITLE_COLOR: '#FFF',\n NODE_TEXT_SIZE: 14,\n NODE_TEXT_COLOR: '#AAA',\n NODE_SUBTEXT_SIZE: 12,\n NODE_DEFAULT_COLOR: '#333',\n NODE_DEFAULT_BGCOLOR: '#353535',\n NODE_DEFAULT_BOXCOLOR: '#666',\n NODE_DEFAULT_SHAPE: 'box',\n NODE_BOX_OUTLINE_COLOR: '#FFF',\n NODE_BYPASS_BGCOLOR: '#FF00FF',\n DEFAULT_SHADOW_COLOR: 'rgba(0,0,0,0.5)',\n DEFAULT_GROUP_FONT: 24,\n\n WIDGET_BGCOLOR: '#222',\n WIDGET_OUTLINE_COLOR: '#666',\n WIDGET_TEXT_COLOR: '#DDD',\n WIDGET_SECONDARY_TEXT_COLOR: '#999',\n\n LINK_COLOR: '#9A9',\n EVENT_LINK_COLOR: '#A86',\n CONNECTING_LINK_COLOR: '#AFA',\n\n BADGE_FG_COLOR: '#FFF',\n BADGE_BG_COLOR: '#0F1F0F'\n },\n comfy_base: {\n 'fg-color': '#fff',\n 'bg-color': '#202020',\n 'comfy-menu-bg': '#353535',\n 'comfy-input-bg': '#222',\n 'input-text': '#ddd',\n 'descrip-text': '#999',\n 'drag-text': '#ccc',\n 'error-text': '#ff4444',\n 'border-color': '#4e4e4e',\n 'tr-even-bg-color': '#222',\n 'tr-odd-bg-color': '#353535',\n 'content-bg': '#4e4e4e',\n 'content-fg': '#fff',\n 'content-hover-bg': '#222',\n 'content-hover-fg': '#fff'\n }\n }\n },\n light: {\n id: 'light',\n name: 'Light',\n colors: {\n node_slot: {\n CLIP: '#FFA726', // orange\n CLIP_VISION: '#5C6BC0', // indigo\n CLIP_VISION_OUTPUT: '#8D6E63', // brown\n CONDITIONING: '#EF5350', // red\n CONTROL_NET: '#66BB6A', // green\n IMAGE: '#42A5F5', // blue\n LATENT: '#AB47BC', // purple\n MASK: '#9CCC65', // light green\n MODEL: '#7E57C2', // deep purple\n STYLE_MODEL: '#D4E157', // lime\n VAE: '#FF7043' // deep orange\n },\n litegraph_base: {\n BACKGROUND_IMAGE:\n 'data:image/gif;base64,R0lGODlhZABkALMAAAAAAP///+vr6+rq6ujo6Ofn5+bm5uXl5d3d3f///wAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAkALAAAAABkAGQAAAT/UMhJq7046827HkcoHkYxjgZhnGG6si5LqnIM0/fL4qwwIMAg0CAsEovBIxKhRDaNy2GUOX0KfVFrssrNdpdaqTeKBX+dZ+jYvEaTf+y4W66mC8PUdrE879f9d2mBeoNLfH+IhYBbhIx2jkiHiomQlGKPl4uZe3CaeZifnnijgkESBqipqqusra6vsLGys62SlZO4t7qbuby7CLa+wqGWxL3Gv3jByMOkjc2lw8vOoNSi0czAncXW3Njdx9Pf48/Z4Kbbx+fQ5evZ4u3k1fKR6cn03vHlp7T9/v8A/8Gbp4+gwXoFryXMB2qgwoMMHyKEqA5fxX322FG8tzBcRnMW/zlulPbRncmQGidKjMjyYsOSKEF2FBlJQMCbOHP6c9iSZs+UnGYCdbnSo1CZI5F64kn0p1KnTH02nSoV3dGTV7FFHVqVq1dtWcMmVQZTbNGu72zqXMuW7danVL+6e4t1bEy6MeueBYLXrNO5Ze36jQtWsOG97wIj1vt3St/DjTEORss4nNq2mDP3e7w4r1bFkSET5hy6s2TRlD2/mSxXtSHQhCunXo26NevCpmvD/UU6tuullzULH76q92zdZG/Ltv1a+W+osI/nRmyc+fRi1Xdbh+68+0vv10dH3+77KD/i6IdnX669/frn5Zsjh4/2PXju8+8bzc9/6fj27LFnX11/+IUnXWl7BJfegm79FyB9JOl3oHgSklefgxAC+FmFGpqHIYcCfkhgfCohSKKJVo044YUMttggiBkmp6KFXw1oII24oYhjiDByaKOOHcp3Y5BD/njikSkO+eBREQAAOw==',\n CLEAR_BACKGROUND_COLOR: 'lightgray',\n NODE_TITLE_COLOR: '#222',\n NODE_SELECTED_TITLE_COLOR: '#000',\n NODE_TEXT_SIZE: 14,\n NODE_TEXT_COLOR: '#444',\n NODE_SUBTEXT_SIZE: 12,\n NODE_DEFAULT_COLOR: '#F7F7F7',\n NODE_DEFAULT_BGCOLOR: '#F5F5F5',\n NODE_DEFAULT_BOXCOLOR: '#CCC',\n NODE_DEFAULT_SHAPE: 'box',\n NODE_BOX_OUTLINE_COLOR: '#000',\n NODE_BYPASS_BGCOLOR: '#FF00FF',\n DEFAULT_SHADOW_COLOR: 'rgba(0,0,0,0.1)',\n DEFAULT_GROUP_FONT: 24,\n\n WIDGET_BGCOLOR: '#D4D4D4',\n WIDGET_OUTLINE_COLOR: '#999',\n WIDGET_TEXT_COLOR: '#222',\n WIDGET_SECONDARY_TEXT_COLOR: '#555',\n\n LINK_COLOR: '#4CAF50',\n EVENT_LINK_COLOR: '#FF9800',\n CONNECTING_LINK_COLOR: '#2196F3',\n\n BADGE_FG_COLOR: '#000',\n BADGE_BG_COLOR: '#FFF'\n },\n comfy_base: {\n 'fg-color': '#222',\n 'bg-color': '#DDD',\n 'comfy-menu-bg': '#F5F5F5',\n 'comfy-input-bg': '#C9C9C9',\n 'input-text': '#222',\n 'descrip-text': '#444',\n 'drag-text': '#555',\n 'error-text': '#F44336',\n 'border-color': '#888',\n 'tr-even-bg-color': '#f9f9f9',\n 'tr-odd-bg-color': '#fff',\n 'content-bg': '#e0e0e0',\n 'content-fg': '#222',\n 'content-hover-bg': '#adadad',\n 'content-hover-fg': '#222'\n }\n }\n },\n solarized: {\n id: 'solarized',\n name: 'Solarized',\n colors: {\n node_slot: {\n CLIP: '#2AB7CA', // light blue\n CLIP_VISION: '#6c71c4', // blue violet\n CLIP_VISION_OUTPUT: '#859900', // olive green\n CONDITIONING: '#d33682', // magenta\n CONTROL_NET: '#d1ffd7', // light mint green\n IMAGE: '#5940bb', // deep blue violet\n LATENT: '#268bd2', // blue\n MASK: '#CCC9E7', // light purple-gray\n MODEL: '#dc322f', // red\n STYLE_MODEL: '#1a998a', // teal\n UPSCALE_MODEL: '#054A29', // dark green\n VAE: '#facfad' // light pink-orange\n },\n litegraph_base: {\n NODE_TITLE_COLOR: '#fdf6e3', // Base3\n NODE_SELECTED_TITLE_COLOR: '#A9D400',\n NODE_TEXT_SIZE: 14,\n NODE_TEXT_COLOR: '#657b83', // Base00\n NODE_SUBTEXT_SIZE: 12,\n NODE_DEFAULT_COLOR: '#094656',\n NODE_DEFAULT_BGCOLOR: '#073642', // Base02\n NODE_DEFAULT_BOXCOLOR: '#839496', // Base0\n NODE_DEFAULT_SHAPE: 'box',\n NODE_BOX_OUTLINE_COLOR: '#fdf6e3', // Base3\n NODE_BYPASS_BGCOLOR: '#FF00FF',\n DEFAULT_SHADOW_COLOR: 'rgba(0,0,0,0.5)',\n DEFAULT_GROUP_FONT: 24,\n\n WIDGET_BGCOLOR: '#002b36', // Base03\n WIDGET_OUTLINE_COLOR: '#839496', // Base0\n WIDGET_TEXT_COLOR: '#fdf6e3', // Base3\n WIDGET_SECONDARY_TEXT_COLOR: '#93a1a1', // Base1\n\n LINK_COLOR: '#2aa198', // Solarized Cyan\n EVENT_LINK_COLOR: '#268bd2', // Solarized Blue\n CONNECTING_LINK_COLOR: '#859900' // Solarized Green\n },\n comfy_base: {\n 'fg-color': '#fdf6e3', // Base3\n 'bg-color': '#002b36', // Base03\n 'comfy-menu-bg': '#073642', // Base02\n 'comfy-input-bg': '#002b36', // Base03\n 'input-text': '#93a1a1', // Base1\n 'descrip-text': '#586e75', // Base01\n 'drag-text': '#839496', // Base0\n 'error-text': '#dc322f', // Solarized Red\n 'border-color': '#657b83', // Base00\n 'tr-even-bg-color': '#002b36',\n 'tr-odd-bg-color': '#073642',\n 'content-bg': '#657b83',\n 'content-fg': '#fdf6e3',\n 'content-hover-bg': '#002b36',\n 'content-hover-fg': '#fdf6e3'\n }\n }\n },\n arc: {\n id: 'arc',\n name: 'Arc',\n colors: {\n node_slot: {\n BOOLEAN: '',\n CLIP: '#eacb8b',\n CLIP_VISION: '#A8DADC',\n CLIP_VISION_OUTPUT: '#ad7452',\n CONDITIONING: '#cf876f',\n CONTROL_NET: '#00d78d',\n CONTROL_NET_WEIGHTS: '',\n FLOAT: '',\n GLIGEN: '',\n IMAGE: '#80a1c0',\n IMAGEUPLOAD: '',\n INT: '',\n LATENT: '#b38ead',\n LATENT_KEYFRAME: '',\n MASK: '#a3bd8d',\n MODEL: '#8978a7',\n SAMPLER: '',\n SIGMAS: '',\n STRING: '',\n STYLE_MODEL: '#C2FFAE',\n T2I_ADAPTER_WEIGHTS: '',\n TAESD: '#DCC274',\n TIMESTEP_KEYFRAME: '',\n UPSCALE_MODEL: '',\n VAE: '#be616b'\n },\n litegraph_base: {\n BACKGROUND_IMAGE:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAABcklEQVR4nO3YMUoDARgF4RfxBqZI6/0vZqFn0MYtrLIQMFN8U6V4LAtD+Jm9XG/v30OGl2e/AP7yevz4+vx45nvgF/+QGITEICQGITEIiUFIjNNC3q43u3/YnRJyPOzeQ+0e220nhRzReC8e7R7bbdvl+Jal1Bs46jEIiUFIDEJiEBKDkBhKPbZT6qHdptRTu02p53DUYxASg5AYhMQgJAYhMZR6bKfUQ7tNqad2m1LP4ajHICQGITEIiUFIDEJiKPXYTqmHdptST+02pZ7DUY9BSAxCYhASg5AYhMRQ6rGdUg/tNqWe2m1KPYejHoOQGITEICQGITEIiaHUYzulHtptSj2125R6Dkc9BiExCIlBSAxCYhASQ6nHdko9tNuUemq3KfUcjnoMQmIQEoOQGITEICSGUo/tlHpotyn11G5T6jkc9RiExCAkBiExCIlBSAylHtsp9dBuU+qp3abUczjqMQiJQUgMQmIQEoOQGITE+AHFISNQrFTGuwAAAABJRU5ErkJggg==',\n CLEAR_BACKGROUND_COLOR: '#2b2f38',\n NODE_TITLE_COLOR: '#b2b7bd',\n NODE_SELECTED_TITLE_COLOR: '#FFF',\n NODE_TEXT_SIZE: 14,\n NODE_TEXT_COLOR: '#AAA',\n NODE_SUBTEXT_SIZE: 12,\n NODE_DEFAULT_COLOR: '#2b2f38',\n NODE_DEFAULT_BGCOLOR: '#242730',\n NODE_DEFAULT_BOXCOLOR: '#6e7581',\n NODE_DEFAULT_SHAPE: 'box',\n NODE_BOX_OUTLINE_COLOR: '#FFF',\n NODE_BYPASS_BGCOLOR: '#FF00FF',\n DEFAULT_SHADOW_COLOR: 'rgba(0,0,0,0.5)',\n DEFAULT_GROUP_FONT: 22,\n WIDGET_BGCOLOR: '#2b2f38',\n WIDGET_OUTLINE_COLOR: '#6e7581',\n WIDGET_TEXT_COLOR: '#DDD',\n WIDGET_SECONDARY_TEXT_COLOR: '#b2b7bd',\n LINK_COLOR: '#9A9',\n EVENT_LINK_COLOR: '#A86',\n CONNECTING_LINK_COLOR: '#AFA'\n },\n comfy_base: {\n 'fg-color': '#fff',\n 'bg-color': '#2b2f38',\n 'comfy-menu-bg': '#242730',\n 'comfy-input-bg': '#2b2f38',\n 'input-text': '#ddd',\n 'descrip-text': '#b2b7bd',\n 'drag-text': '#ccc',\n 'error-text': '#ff4444',\n 'border-color': '#6e7581',\n 'tr-even-bg-color': '#2b2f38',\n 'tr-odd-bg-color': '#242730',\n 'content-bg': '#6e7581',\n 'content-fg': '#fff',\n 'content-hover-bg': '#2b2f38',\n 'content-hover-fg': '#fff'\n }\n }\n },\n nord: {\n id: 'nord',\n name: 'Nord',\n colors: {\n node_slot: {\n BOOLEAN: '',\n CLIP: '#eacb8b',\n CLIP_VISION: '#A8DADC',\n CLIP_VISION_OUTPUT: '#ad7452',\n CONDITIONING: '#cf876f',\n CONTROL_NET: '#00d78d',\n CONTROL_NET_WEIGHTS: '',\n FLOAT: '',\n GLIGEN: '',\n IMAGE: '#80a1c0',\n IMAGEUPLOAD: '',\n INT: '',\n LATENT: '#b38ead',\n LATENT_KEYFRAME: '',\n MASK: '#a3bd8d',\n MODEL: '#8978a7',\n SAMPLER: '',\n SIGMAS: '',\n STRING: '',\n STYLE_MODEL: '#C2FFAE',\n T2I_ADAPTER_WEIGHTS: '',\n TAESD: '#DCC274',\n TIMESTEP_KEYFRAME: '',\n UPSCALE_MODEL: '',\n VAE: '#be616b'\n },\n litegraph_base: {\n BACKGROUND_IMAGE:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFu2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDEgNzkuMTQ2Mjg5OSwgMjAyMy8wNi8yNS0yMDowMTo1NSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjEgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMy0xMS0xM1QwMDoxODowMiswMTowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjMtMTEtMTVUMDE6MjA6NDUrMDE6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjMtMTEtMTVUMDE6MjA6NDUrMDE6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUwNDFhMmZjLTEzNzQtMTk0ZC1hZWY4LTYxMzM1MTVmNjUwMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyMzFiMTBiMC1iNGZiLTAyNGUtYjEyZS0zMDUzMDNjZDA3YzgiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyMzFiMTBiMC1iNGZiLTAyNGUtYjEyZS0zMDUzMDNjZDA3YzgiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjIzMWIxMGIwLWI0ZmItMDI0ZS1iMTJlLTMwNTMwM2NkMDdjOCIgc3RFdnQ6d2hlbj0iMjAyMy0xMS0xM1QwMDoxODowMiswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI1LjEgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo1MDQxYTJmYy0xMzc0LTE5NGQtYWVmOC02MTMzNTE1ZjY1MDAiIHN0RXZ0OndoZW49IjIwMjMtMTEtMTVUMDE6MjA6NDUrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNS4xIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz73jWg/AAAAyUlEQVR42u3WKwoAIBRFQRdiMb1idv9Lsxn9gEFw4Dbb8JCTojbbXEJwjJVL2HKwYMGCBQuWLbDmjr+9zrBGjHl1WVcvy2DBggULFizTWQpewSt4HzwsgwULFiwFr7MUvMtS8D54WLBgGSxYCl7BK3iXZbBgwYIFC5bpLAWv4BW8Dx6WwYIFC5aC11kK3mUpeB88LFiwDBYsBa/gFbzLMliwYMGCBct0loJX8AreBw/LYMGCBUvB6ywF77IUvA8eFixYBgsWrNfWAZPltufdad+1AAAAAElFTkSuQmCC',\n CLEAR_BACKGROUND_COLOR: '#212732',\n NODE_TITLE_COLOR: '#999',\n NODE_SELECTED_TITLE_COLOR: '#e5eaf0',\n NODE_TEXT_SIZE: 14,\n NODE_TEXT_COLOR: '#bcc2c8',\n NODE_SUBTEXT_SIZE: 12,\n NODE_DEFAULT_COLOR: '#2e3440',\n NODE_DEFAULT_BGCOLOR: '#161b22',\n NODE_DEFAULT_BOXCOLOR: '#545d70',\n NODE_DEFAULT_SHAPE: 'box',\n NODE_BOX_OUTLINE_COLOR: '#e5eaf0',\n NODE_BYPASS_BGCOLOR: '#FF00FF',\n DEFAULT_SHADOW_COLOR: 'rgba(0,0,0,0.5)',\n DEFAULT_GROUP_FONT: 24,\n WIDGET_BGCOLOR: '#2e3440',\n WIDGET_OUTLINE_COLOR: '#545d70',\n WIDGET_TEXT_COLOR: '#bcc2c8',\n WIDGET_SECONDARY_TEXT_COLOR: '#999',\n LINK_COLOR: '#9A9',\n EVENT_LINK_COLOR: '#A86',\n CONNECTING_LINK_COLOR: '#AFA'\n },\n comfy_base: {\n 'fg-color': '#e5eaf0',\n 'bg-color': '#2e3440',\n 'comfy-menu-bg': '#161b22',\n 'comfy-input-bg': '#2e3440',\n 'input-text': '#bcc2c8',\n 'descrip-text': '#999',\n 'drag-text': '#ccc',\n 'error-text': '#ff4444',\n 'border-color': '#545d70',\n 'tr-even-bg-color': '#2e3440',\n 'tr-odd-bg-color': '#161b22',\n 'content-bg': '#545d70',\n 'content-fg': '#e5eaf0',\n 'content-hover-bg': '#2e3440',\n 'content-hover-fg': '#e5eaf0'\n }\n }\n },\n github: {\n id: 'github',\n name: 'Github',\n colors: {\n node_slot: {\n BOOLEAN: '',\n CLIP: '#eacb8b',\n CLIP_VISION: '#A8DADC',\n CLIP_VISION_OUTPUT: '#ad7452',\n CONDITIONING: '#cf876f',\n CONTROL_NET: '#00d78d',\n CONTROL_NET_WEIGHTS: '',\n FLOAT: '',\n GLIGEN: '',\n IMAGE: '#80a1c0',\n IMAGEUPLOAD: '',\n INT: '',\n LATENT: '#b38ead',\n LATENT_KEYFRAME: '',\n MASK: '#a3bd8d',\n MODEL: '#8978a7',\n SAMPLER: '',\n SIGMAS: '',\n STRING: '',\n STYLE_MODEL: '#C2FFAE',\n T2I_ADAPTER_WEIGHTS: '',\n TAESD: '#DCC274',\n TIMESTEP_KEYFRAME: '',\n UPSCALE_MODEL: '',\n VAE: '#be616b'\n },\n litegraph_base: {\n BACKGROUND_IMAGE:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGlmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDEgNzkuMTQ2Mjg5OSwgMjAyMy8wNi8yNS0yMDowMTo1NSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjEgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMy0xMS0xM1QwMDoxODowMiswMTowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjMtMTEtMTVUMDI6MDQ6NTkrMDE6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjMtMTEtMTVUMDI6MDQ6NTkrMDE6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmIyYzRhNjA5LWJmYTctYTg0MC1iOGFlLTk3MzE2ZjM1ZGIyNyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjk0ZmNlZGU4LTE1MTctZmQ0MC04ZGU3LWYzOTgxM2E3ODk5ZiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjIzMWIxMGIwLWI0ZmItMDI0ZS1iMTJlLTMwNTMwM2NkMDdjOCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjMxYjEwYjAtYjRmYi0wMjRlLWIxMmUtMzA1MzAzY2QwN2M4IiBzdEV2dDp3aGVuPSIyMDIzLTExLTEzVDAwOjE4OjAyKzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ4OWY1NzlmLTJkNjUtZWQ0Zi04OTg0LTA4NGE2MGE1ZTMzNSIgc3RFdnQ6d2hlbj0iMjAyMy0xMS0xNVQwMjowNDo1OSswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI1LjEgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpiMmM0YTYwOS1iZmE3LWE4NDAtYjhhZS05NzMxNmYzNWRiMjciIHN0RXZ0OndoZW49IjIwMjMtMTEtMTVUMDI6MDQ6NTkrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNS4xIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4OTe6GAAAAx0lEQVR42u3WMQoAIQxFwRzJys77X8vSLiRgITif7bYbgrwYc/mKXyBoY4VVBgsWLFiwYFmOlTv+9jfDOjHmr8u6eVkGCxYsWLBgmc5S8ApewXvgYRksWLBgKXidpeBdloL3wMOCBctgwVLwCl7BuyyDBQsWLFiwTGcpeAWv4D3wsAwWLFiwFLzOUvAuS8F74GHBgmWwYCl4Ba/gXZbBggULFixYprMUvIJX8B54WAYLFixYCl5nKXiXpeA98LBgwTJYsGC9tg1o8f4TTtqzNQAAAABJRU5ErkJggg==',\n CLEAR_BACKGROUND_COLOR: '#040506',\n NODE_TITLE_COLOR: '#999',\n NODE_SELECTED_TITLE_COLOR: '#e5eaf0',\n NODE_TEXT_SIZE: 14,\n NODE_TEXT_COLOR: '#bcc2c8',\n NODE_SUBTEXT_SIZE: 12,\n NODE_DEFAULT_COLOR: '#161b22',\n NODE_DEFAULT_BGCOLOR: '#13171d',\n NODE_DEFAULT_BOXCOLOR: '#30363d',\n NODE_DEFAULT_SHAPE: 'box',\n NODE_BOX_OUTLINE_COLOR: '#e5eaf0',\n NODE_BYPASS_BGCOLOR: '#FF00FF',\n DEFAULT_SHADOW_COLOR: 'rgba(0,0,0,0.5)',\n DEFAULT_GROUP_FONT: 24,\n WIDGET_BGCOLOR: '#161b22',\n WIDGET_OUTLINE_COLOR: '#30363d',\n WIDGET_TEXT_COLOR: '#bcc2c8',\n WIDGET_SECONDARY_TEXT_COLOR: '#999',\n LINK_COLOR: '#9A9',\n EVENT_LINK_COLOR: '#A86',\n CONNECTING_LINK_COLOR: '#AFA'\n },\n comfy_base: {\n 'fg-color': '#e5eaf0',\n 'bg-color': '#161b22',\n 'comfy-menu-bg': '#13171d',\n 'comfy-input-bg': '#161b22',\n 'input-text': '#bcc2c8',\n 'descrip-text': '#999',\n 'drag-text': '#ccc',\n 'error-text': '#ff4444',\n 'border-color': '#30363d',\n 'tr-even-bg-color': '#161b22',\n 'tr-odd-bg-color': '#13171d',\n 'content-bg': '#30363d',\n 'content-fg': '#e5eaf0',\n 'content-hover-bg': '#161b22',\n 'content-hover-fg': '#e5eaf0'\n }\n }\n }\n}\n\nconst id = 'Comfy.ColorPalette'\nconst idCustomColorPalettes = 'Comfy.CustomColorPalettes'\nconst defaultColorPaletteId = 'dark'\nconst els: { select: HTMLSelectElement | null } = {\n select: null\n}\n\nconst getCustomColorPalettes = (): ColorPalettes => {\n return app.ui.settings.getSettingValue(idCustomColorPalettes, {})\n}\n\nconst setCustomColorPalettes = (customColorPalettes: ColorPalettes) => {\n return app.ui.settings.setSettingValue(\n idCustomColorPalettes,\n customColorPalettes\n )\n}\n\nexport const defaultColorPalette = colorPalettes[defaultColorPaletteId]\nexport const getColorPalette = (colorPaletteId?) => {\n if (!colorPaletteId) {\n colorPaletteId = app.ui.settings.getSettingValue(id, defaultColorPaletteId)\n }\n\n if (colorPaletteId.startsWith('custom_')) {\n colorPaletteId = colorPaletteId.substr(7)\n let customColorPalettes = getCustomColorPalettes()\n if (customColorPalettes[colorPaletteId]) {\n return customColorPalettes[colorPaletteId]\n }\n }\n\n return colorPalettes[colorPaletteId]\n}\n\nconst setColorPalette = (colorPaletteId) => {\n app.ui.settings.setSettingValue(id, colorPaletteId)\n}\n\n// const ctxMenu = LiteGraph.ContextMenu;\napp.registerExtension({\n name: id,\n init() {\n /**\n * Changes the background color of the canvas.\n *\n * @method updateBackground\n * @param {image} String\n * @param {clearBackgroundColor} String\n */\n // @ts-expect-error\n LGraphCanvas.prototype.updateBackground = function (\n image,\n clearBackgroundColor\n ) {\n this._bg_img = new Image()\n this._bg_img.name = image\n this._bg_img.src = image\n this._bg_img.onload = () => {\n this.draw(true, true)\n }\n this.background_image = image\n\n this.clear_background = true\n this.clear_background_color = clearBackgroundColor\n this._pattern = null\n }\n },\n addCustomNodeDefs(node_defs) {\n const sortObjectKeys = (unordered) => {\n return Object.keys(unordered)\n .sort()\n .reduce((obj, key) => {\n obj[key] = unordered[key]\n return obj\n }, {})\n }\n\n function getSlotTypes() {\n var types = []\n\n const defs = node_defs\n for (const nodeId in defs) {\n const nodeData = defs[nodeId]\n\n var inputs = nodeData['input']['required']\n if (nodeData['input']['optional'] !== undefined) {\n inputs = Object.assign(\n {},\n nodeData['input']['required'],\n nodeData['input']['optional']\n )\n }\n\n for (const inputName in inputs) {\n const inputData = inputs[inputName]\n const type = inputData[0]\n\n if (!Array.isArray(type)) {\n types.push(type)\n }\n }\n\n for (const o in nodeData['output']) {\n const output = nodeData['output'][o]\n types.push(output)\n }\n }\n\n return types\n }\n\n function completeColorPalette(colorPalette) {\n var types = getSlotTypes()\n\n for (const type of types) {\n if (!colorPalette.colors.node_slot[type]) {\n colorPalette.colors.node_slot[type] = ''\n }\n }\n\n colorPalette.colors.node_slot = sortObjectKeys(\n colorPalette.colors.node_slot\n )\n\n return colorPalette\n }\n\n const getColorPaletteTemplate = async () => {\n let colorPalette = {\n id: 'my_color_palette_unique_id',\n name: 'My Color Palette',\n colors: {\n node_slot: {},\n litegraph_base: {},\n comfy_base: {}\n }\n }\n\n // Copy over missing keys from default color palette\n const defaultColorPalette = colorPalettes[defaultColorPaletteId]\n for (const key in defaultColorPalette.colors.litegraph_base) {\n if (!colorPalette.colors.litegraph_base[key]) {\n colorPalette.colors.litegraph_base[key] = ''\n }\n }\n for (const key in defaultColorPalette.colors.comfy_base) {\n if (!colorPalette.colors.comfy_base[key]) {\n colorPalette.colors.comfy_base[key] = ''\n }\n }\n\n return completeColorPalette(colorPalette)\n }\n\n const addCustomColorPalette = async (colorPalette) => {\n if (typeof colorPalette !== 'object') {\n useToastStore().addAlert('Invalid color palette.')\n return\n }\n\n if (!colorPalette.id) {\n useToastStore().addAlert('Color palette missing id.')\n return\n }\n\n if (!colorPalette.name) {\n useToastStore().addAlert('Color palette missing name.')\n return\n }\n\n if (!colorPalette.colors) {\n useToastStore().addAlert('Color palette missing colors.')\n return\n }\n\n if (\n colorPalette.colors.node_slot &&\n typeof colorPalette.colors.node_slot !== 'object'\n ) {\n useToastStore().addAlert('Invalid color palette colors.node_slot.')\n return\n }\n\n const customColorPalettes = getCustomColorPalettes()\n customColorPalettes[colorPalette.id] = colorPalette\n setCustomColorPalettes(customColorPalettes)\n\n for (const option of els.select.childNodes) {\n if (\n (option as HTMLOptionElement).value ===\n 'custom_' + colorPalette.id\n ) {\n els.select.removeChild(option)\n }\n }\n\n els.select.append(\n $el('option', {\n textContent: colorPalette.name + ' (custom)',\n value: 'custom_' + colorPalette.id,\n selected: true\n })\n )\n\n setColorPalette('custom_' + colorPalette.id)\n await loadColorPalette(colorPalette)\n }\n\n const deleteCustomColorPalette = async (colorPaletteId) => {\n const customColorPalettes = getCustomColorPalettes()\n delete customColorPalettes[colorPaletteId]\n setCustomColorPalettes(customColorPalettes)\n\n for (const opt of els.select.childNodes) {\n const option = opt as HTMLOptionElement\n if (option.value === defaultColorPaletteId) {\n option.selected = true\n }\n\n if (option.value === 'custom_' + colorPaletteId) {\n els.select.removeChild(option)\n }\n }\n\n setColorPalette(defaultColorPaletteId)\n await loadColorPalette(getColorPalette())\n }\n\n const loadColorPalette = async (colorPalette: Palette) => {\n colorPalette = await completeColorPalette(colorPalette)\n if (colorPalette.colors) {\n // Sets the colors of node slots and links\n if (colorPalette.colors.node_slot) {\n Object.assign(\n app.canvas.default_connection_color_byType,\n colorPalette.colors.node_slot\n )\n Object.assign(\n LGraphCanvas.link_type_colors,\n colorPalette.colors.node_slot\n )\n }\n // Sets the colors of the LiteGraph objects\n if (colorPalette.colors.litegraph_base) {\n // Everything updates correctly in the loop, except the Node Title and Link Color for some reason\n app.canvas.node_title_color =\n colorPalette.colors.litegraph_base.NODE_TITLE_COLOR\n app.canvas.default_link_color =\n colorPalette.colors.litegraph_base.LINK_COLOR\n\n for (const key in colorPalette.colors.litegraph_base) {\n if (\n colorPalette.colors.litegraph_base.hasOwnProperty(key) &&\n LiteGraph.hasOwnProperty(key)\n ) {\n LiteGraph[key] = colorPalette.colors.litegraph_base[key]\n }\n }\n }\n // Sets the color of ComfyUI elements\n if (colorPalette.colors.comfy_base) {\n const rootStyle = document.documentElement.style\n for (const key in colorPalette.colors.comfy_base) {\n rootStyle.setProperty(\n '--' + key,\n colorPalette.colors.comfy_base[key]\n )\n }\n }\n // Sets special case colors\n if (colorPalette.colors.litegraph_base.NODE_BYPASS_BGCOLOR) {\n app.bypassBgColor =\n colorPalette.colors.litegraph_base.NODE_BYPASS_BGCOLOR\n }\n app.canvas.draw(true, true)\n }\n }\n\n const fileInput = $el('input', {\n type: 'file',\n accept: '.json',\n style: { display: 'none' },\n parent: document.body,\n onchange: () => {\n const file = fileInput.files[0]\n if (file.type === 'application/json' || file.name.endsWith('.json')) {\n const reader = new FileReader()\n reader.onload = async () => {\n await addCustomColorPalette(JSON.parse(reader.result as string))\n }\n reader.readAsText(file)\n }\n }\n }) as HTMLInputElement\n\n app.ui.settings.addSetting({\n id,\n category: ['Comfy', 'ColorPalette'],\n name: 'Color Palette',\n type: (name, setter, value) => {\n const options = [\n ...Object.values(colorPalettes).map((c) =>\n $el('option', {\n textContent: c.name,\n value: c.id,\n selected: c.id === value\n })\n ),\n ...Object.values(getCustomColorPalettes()).map((c) =>\n $el('option', {\n textContent: `${c.name} (custom)`,\n value: `custom_${c.id}`,\n selected: `custom_${c.id}` === value\n })\n )\n ]\n\n els.select = $el(\n 'select',\n {\n style: {\n marginBottom: '0.15rem',\n width: '100%'\n },\n onchange: (e) => {\n setter(e.target.value)\n }\n },\n options\n ) as HTMLSelectElement\n\n return $el('tr', [\n $el('td', [\n els.select,\n $el(\n 'div',\n {\n style: {\n display: 'grid',\n gap: '4px',\n gridAutoFlow: 'column'\n }\n },\n [\n $el('input', {\n type: 'button',\n value: 'Export',\n onclick: async () => {\n const colorPaletteId = app.ui.settings.getSettingValue(\n id,\n defaultColorPaletteId\n )\n const colorPalette = await completeColorPalette(\n getColorPalette(colorPaletteId)\n )\n const json = JSON.stringify(colorPalette, null, 2) // convert the data to a JSON string\n const blob = new Blob([json], { type: 'application/json' })\n const url = URL.createObjectURL(blob)\n const a = $el('a', {\n href: url,\n download: colorPaletteId + '.json',\n style: { display: 'none' },\n parent: document.body\n })\n a.click()\n setTimeout(function () {\n a.remove()\n window.URL.revokeObjectURL(url)\n }, 0)\n }\n }),\n $el('input', {\n type: 'button',\n value: 'Import',\n onclick: () => {\n fileInput.click()\n }\n }),\n $el('input', {\n type: 'button',\n value: 'Template',\n onclick: async () => {\n const colorPalette = await getColorPaletteTemplate()\n const json = JSON.stringify(colorPalette, null, 2) // convert the data to a JSON string\n const blob = new Blob([json], { type: 'application/json' })\n const url = URL.createObjectURL(blob)\n const a = $el('a', {\n href: url,\n download: 'color_palette.json',\n style: { display: 'none' },\n parent: document.body\n })\n a.click()\n setTimeout(function () {\n a.remove()\n window.URL.revokeObjectURL(url)\n }, 0)\n }\n }),\n $el('input', {\n type: 'button',\n value: 'Delete',\n onclick: async () => {\n let colorPaletteId = app.ui.settings.getSettingValue(\n id,\n defaultColorPaletteId\n )\n\n if (colorPalettes[colorPaletteId]) {\n useToastStore().addAlert(\n 'You cannot delete a built-in color palette.'\n )\n return\n }\n\n if (colorPaletteId.startsWith('custom_')) {\n colorPaletteId = colorPaletteId.substr(7)\n }\n\n await deleteCustomColorPalette(colorPaletteId)\n }\n })\n ]\n )\n ])\n ])\n },\n defaultValue: defaultColorPaletteId,\n async onChange(value) {\n if (!value) {\n return\n }\n\n let palette = colorPalettes[value]\n if (palette) {\n await loadColorPalette(palette)\n } else if (value.startsWith('custom_')) {\n value = value.substr(7)\n let customColorPalettes = getCustomColorPalettes()\n if (customColorPalettes[value]) {\n palette = customColorPalettes[value]\n await loadColorPalette(customColorPalettes[value])\n }\n }\n\n let { BACKGROUND_IMAGE, CLEAR_BACKGROUND_COLOR } =\n palette.colors.litegraph_base\n if (\n BACKGROUND_IMAGE === undefined ||\n CLEAR_BACKGROUND_COLOR === undefined\n ) {\n const base = colorPalettes['dark'].colors.litegraph_base\n BACKGROUND_IMAGE = base.BACKGROUND_IMAGE\n CLEAR_BACKGROUND_COLOR = base.CLEAR_BACKGROUND_COLOR\n }\n // @ts-expect-error\n // litegraph.extensions.js\n app.canvas.updateBackground(BACKGROUND_IMAGE, CLEAR_BACKGROUND_COLOR)\n }\n })\n }\n})\n"],"names":["defaultColorPalette"],"mappings":"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"} |