From 4620513cc124c780cfa72a1c23d2dbc87f38f87f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=A5=E6=B5=AA?= <757078144@qq.com> Date: Fri, 23 May 2025 17:09:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96=EF=BC=8C?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=80=9A=E7=94=A8=E9=9A=90=E8=97=8F=E8=8A=82?= =?UTF-8?q?=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/workflow/test.json | 644 +++++++++++++++++++ config/workflow/彩绘.json | 217 +++++++ config/workflow/彩绘1.json | 204 ++++++ config/workflow/文生图.json | 118 ++++ config/workflow/简笔画.json | 251 ++++++++ config/workflow/简笔画2.json | 205 ++++++ docs/file-store/boardMode_1.3.0.png | Bin 0 -> 23219 bytes docs/file-store/borderConfig.png | Bin 0 -> 2781 bytes docs/file-store/drawMode_freeStyle_1.3.0.png | Bin 0 -> 27210 bytes docs/file-store/drawMode_shape_1.3.0.png | Bin 0 -> 17778 bytes docs/file-store/eraserMode_1.3.0.png | Bin 0 -> 5866 bytes docs/file-store/files.png | Bin 0 -> 8226 bytes docs/file-store/selectMode_1.3.0.png | Bin 0 -> 20833 bytes js/AppParams.js | 3 +- js/MultiTextConcatenate.js | 2 +- pages/paint-board/assets/index.291b309c.js | 2 +- pages/paint-board/assets/index.9eb32cc8.js | 2 +- py/LamCommonHidden.py | 104 +++ 18 files changed, 1748 insertions(+), 4 deletions(-) create mode 100644 config/workflow/test.json create mode 100644 config/workflow/彩绘.json create mode 100644 config/workflow/彩绘1.json create mode 100644 config/workflow/文生图.json create mode 100644 config/workflow/简笔画.json create mode 100644 config/workflow/简笔画2.json create mode 100644 docs/file-store/boardMode_1.3.0.png create mode 100644 docs/file-store/borderConfig.png create mode 100644 docs/file-store/drawMode_freeStyle_1.3.0.png create mode 100644 docs/file-store/drawMode_shape_1.3.0.png create mode 100644 docs/file-store/eraserMode_1.3.0.png create mode 100644 docs/file-store/files.png create mode 100644 docs/file-store/selectMode_1.3.0.png create mode 100644 py/LamCommonHidden.py diff --git a/config/workflow/test.json b/config/workflow/test.json new file mode 100644 index 0000000..891b9df --- /dev/null +++ b/config/workflow/test.json @@ -0,0 +1,644 @@ +{ + "3": { + "inputs": { + "seed": [ + "hidden", + "seed7" + ], + "steps": 25, + "cfg": 6, + "sampler_name": "dpmpp_2m", + "scheduler": "karras", + "denoise": 0.9, + "model": [ + "105", + 0 + ], + "positive": [ + "64", + 0 + ], + "negative": [ + "64", + 1 + ], + "latent_image": [ + "64", + 2 + ] + }, + "class_type": "KSampler", + "_meta": { + "title": "K采样器" + } + }, + "6": { + "inputs": { + "text": [ + "114", + 0 + ], + "clip": [ + "hidden", + "CLIP5" + ] + }, + "class_type": "CLIPTextEncode", + "_meta": { + "title": "CLIP文本编码器" + } + }, + "7": { + "inputs": { + "text": "blurry, noisy, messy, glitch, distorted, malformed, ill, horror, naked, nipples", + "clip": [ + "hidden", + "CLIP5" + ] + }, + "class_type": "CLIPTextEncode", + "_meta": { + "title": "CLIP文本编码器" + } + }, + "8": { + "inputs": { + "samples": [ + "3", + 0 + ], + "vae": [ + "hidden", + "VAE6" + ] + }, + "class_type": "VAEDecode", + "_meta": { + "title": "VAE解码" + }, + "outputs": [ + [ + 0, + 0 + ] + ] + }, + "48": { + "inputs": { + "preset": "STANDARD (medium strength)", + "model": [ + "hidden", + "MODEL4" + ] + }, + "class_type": "IPAdapterUnifiedLoader", + "_meta": { + "title": "IPAdapter加载器" + } + }, + "50": { + "inputs": { + "interpolation": "LANCZOS", + "crop_position": "pad", + "sharpening": 0, + "image": [ + "hidden", + "IMAGE0" + ] + }, + "class_type": "PrepImageForClipVision", + "_meta": { + "title": "CLIP视觉图像处理" + } + }, + "51": { + "inputs": { + "strength": 0.55, + "start_percent": 0, + "end_percent": 0.75, + "positive": [ + "6", + 0 + ], + "negative": [ + "7", + 0 + ], + "control_net": [ + "52", + 0 + ], + "image": [ + "83", + 0 + ] + }, + "class_type": "ControlNetApplyAdvanced", + "_meta": { + "title": "ControlNet应用(旧版高级)" + } + }, + "52": { + "inputs": { + "control_net_name": "control_v11p_sd15_lineart.pth" + }, + "class_type": "ControlNetLoader", + "_meta": { + "title": "ControlNet加载器" + } + }, + "55": { + "inputs": { + "strength": 1, + "start_percent": 0, + "end_percent": 0.3, + "positive": [ + "51", + 0 + ], + "negative": [ + "51", + 1 + ], + "control_net": [ + "56", + 0 + ], + "image": [ + "57", + 0 + ] + }, + "class_type": "ControlNetApplyAdvanced", + "_meta": { + "title": "ControlNet应用(旧版高级)" + } + }, + "56": { + "inputs": { + "control_net_name": "control_v11f1p_sd15_depth.pth" + }, + "class_type": "ControlNetLoader", + "_meta": { + "title": "ControlNet加载器" + } + }, + "57": { + "inputs": { + "ckpt_name": "depth_anything_vits14.pth", + "resolution": 960, + "image": [ + "71", + 0 + ] + }, + "class_type": "DepthAnythingPreprocessor", + "_meta": { + "title": "DepthAnything深度预处理器" + } + }, + "63": { + "inputs": { + "interpolation": "LANCZOS", + "crop_position": "pad", + "sharpening": 0, + "image": [ + "71", + 0 + ] + }, + "class_type": "PrepImageForClipVision", + "_meta": { + "title": "CLIP视觉图像处理" + } + }, + "64": { + "inputs": { + "positive": [ + "55", + 0 + ], + "negative": [ + "55", + 1 + ], + "vae": [ + "hidden", + "VAE6" + ], + "pixels": [ + "71", + 0 + ] + }, + "class_type": "InstructPixToPixConditioning", + "_meta": { + "title": "InstructPixToPix条件" + } + }, + "70": { + "inputs": { + "expression": "p0>960", + "advanced": "disable", + "p0": [ + "110", + 0 + ] + }, + "class_type": "MultiParamFormula", + "_meta": { + "title": "多参代码表达式" + } + }, + "71": { + "inputs": { + "ANY": [ + "70", + 0 + ], + "IF_TRUE": [ + "116", + 0 + ], + "IF_FALSE": [ + "hidden", + "IMAGE2" + ] + }, + "class_type": "IfInnerExecute", + "_meta": { + "title": "判断选择" + }, + "outputs": [ + [ + 0, + 1 + ] + ] + }, + "76": { + "inputs": { + "preset": "PLUS FACE (portraits)", + "model": [ + "112", + 0 + ] + }, + "class_type": "IPAdapterUnifiedLoader", + "_meta": { + "title": "IPAdapter加载器" + } + }, + "83": { + "inputs": { + "coarse": "disable", + "resolution": 512, + "image": [ + "71", + 0 + ] + }, + "class_type": "LineArtPreprocessor", + "_meta": { + "title": "LineArt艺术线预处理器" + } + }, + "88": { + "inputs": { + "expression": "p0[p1:p1+1]", + "advanced": "disable", + "p0": [ + "108", + 0 + ], + "p1": [ + "89", + 1 + ] + }, + "class_type": "MultiParamFormula", + "_meta": { + "title": "多参代码表达式" + } + }, + "89": { + "inputs": { + "total": [ + "90", + 0 + ], + "stop": 1, + "i": 0 + }, + "class_type": "ForInnerStart", + "_meta": { + "title": "计次内循环首" + } + }, + "90": { + "inputs": { + "expression": "len(p0)", + "advanced": "disable", + "p0": [ + "108", + 1 + ] + }, + "class_type": "MultiParamFormula", + "_meta": { + "title": "多参代码表达式" + } + }, + "91": { + "inputs": { + "expression": "p0[p1]", + "advanced": "disable", + "p0": [ + "108", + 1 + ], + "p1": [ + "89", + 1 + ] + }, + "class_type": "MultiParamFormula", + "_meta": { + "title": "多参代码表达式" + } + }, + "94": { + "inputs": { + "ANY": [ + "95", + 0 + ], + "IF_TRUE": [ + "96", + 0 + ], + "IF_FALSE": [ + "89", + 3 + ] + }, + "class_type": "IfInnerExecute", + "_meta": { + "title": "判断选择" + } + }, + "95": { + "inputs": { + "expression": "p0==0", + "advanced": "disable", + "p0": [ + "89", + 1 + ] + }, + "class_type": "MultiParamFormula", + "_meta": { + "title": "多参代码表达式" + } + }, + "96": { + "inputs": { + "preset": "FACEID PLUS V2", + "lora_strength": 0.39, + "provider": "CPU", + "model": [ + "76", + 0 + ], + "ipadapter": [ + "76", + 1 + ] + }, + "class_type": "IPAdapterUnifiedLoaderFaceID", + "_meta": { + "title": "IPAdapterFaceID加载器" + } + }, + "97": { + "inputs": { + "weight": 1, + "weight_faceidv2": 2, + "weight_type": "linear", + "combine_embeds": "concat", + "start_at": 0, + "end_at": 1, + "embeds_scaling": "V only", + "model": [ + "94", + 0 + ], + "ipadapter": [ + "96", + 1 + ], + "image": [ + "88", + 0 + ], + "attn_mask": [ + "91", + 0 + ] + }, + "class_type": "IPAdapterFaceID", + "_meta": { + "title": "应用IPAdapterFaceID" + } + }, + "101": { + "inputs": { + "images": [ + "108", + 0 + ] + }, + "class_type": "PreviewImage", + "_meta": { + "title": "预览图像" + } + }, + "104": { + "inputs": { + "expression": "len(p0)>0", + "advanced": "disable", + "p0": [ + "108", + 1 + ] + }, + "class_type": "MultiParamFormula", + "_meta": { + "title": "多参代码表达式" + } + }, + "105": { + "inputs": { + "ANY": [ + "104", + 0 + ], + "IF_TRUE": [ + "115", + 1 + ], + "IF_FALSE": [ + "112", + 0 + ] + }, + "class_type": "IfInnerExecute", + "_meta": { + "title": "判断选择" + } + }, + "108": { + "inputs": { + "crop_padding_factor": 0.25, + "analysis_models": [ + "118", + 0 + ], + "image": [ + "71", + 0 + ] + }, + "class_type": "ImageCropFaces", + "_meta": { + "title": "多人面部裁剪" + } + }, + "110": { + "inputs": { + "min_width": 512, + "image": [ + "hidden", + "IMAGE2" + ] + }, + "class_type": "GetImageSize_", + "_meta": { + "title": "获取图像尺寸" + } + }, + "112": { + "inputs": { + "weight": 1, + "weight_faceidv2": 1, + "weight_type": "linear", + "combine_embeds": "concat", + "start_at": 0, + "end_at": 1, + "embeds_scaling": "V only", + "layer_weights": "0:1,1:0,2:0,3:0,4:0,5:0,6:1,7:0,8:0,9:0,10:0,11:0", + "model": [ + "113", + 0 + ], + "ipadapter": [ + "48", + 1 + ], + "image": [ + "50", + 0 + ] + }, + "class_type": "IPAdapterMS", + "_meta": { + "title": "应用IPAdapter Mad Scientist" + } + }, + "113": { + "inputs": { + "weight": 1, + "weight_faceidv2": 1, + "weight_type": "composition", + "combine_embeds": "concat", + "start_at": 0, + "end_at": 1, + "embeds_scaling": "V only", + "layer_weights": "0:1,1:1,2:1,3:1,4:1,5:1,6:0,7:1,8:1,9:1,10:1,11:1", + "model": [ + "48", + 0 + ], + "ipadapter": [ + "48", + 1 + ], + "image": [ + "63", + 0 + ] + }, + "class_type": "IPAdapterMS", + "_meta": { + "title": "应用IPAdapter Mad Scientist" + } + }, + "114": { + "inputs": { + "prompt_mode": "fast", + "image_analysis": "off", + "image": [ + "71", + 0 + ] + }, + "class_type": "ClipInterrogator", + "_meta": { + "title": "CLIP询问机" + } + }, + "115": { + "inputs": { + "start": [ + "89", + 0 + ], + "obj": [ + "97", + 0 + ] + }, + "class_type": "ForInnerEnd", + "_meta": { + "title": "计次内循环尾" + } + }, + "116": { + "inputs": { + "width": 512, + "height": 512, + "interpolation": "nearest", + "method": "stretch", + "condition": "always", + "multiple_of": 0, + "image": [ + "hidden", + "IMAGE2" + ] + }, + "class_type": "ImageResize+", + "_meta": { + "title": "图像缩放" + } + }, + "118": { + "inputs": { + "library": "insightface", + "provider": "CPU" + }, + "class_type": "LamFaceAnalysisModels", + "_meta": { + "title": "人脸分析模型" + } + } +} \ No newline at end of file diff --git a/config/workflow/彩绘.json b/config/workflow/彩绘.json new file mode 100644 index 0000000..ee85914 --- /dev/null +++ b/config/workflow/彩绘.json @@ -0,0 +1,217 @@ +{ + "3": { + "inputs": { + "seed": 871010165059929, + "steps": 8, + "cfg": 1, + "sampler_name": "euler_ancestral", + "scheduler": "normal", + "denoise": 0.6500000000000001, + "model": [ + "21", + 0 + ], + "positive": [ + "6", + 0 + ], + "negative": [ + "7", + 0 + ], + "latent_image": [ + "19", + 0 + ] + }, + "class_type": "KSampler", + "_meta": { + "title": "K采样器" + } + }, + "4": { + "inputs": { + "ckpt_name": "yamer_Cartoon_xenoArcadiaCD.safetensors" + }, + "class_type": "CheckpointLoaderSimple", + "_meta": { + "title": "Checkpoint加载器(简易)" + } + }, + "6": { + "inputs": { + "text": [ + "27", + 0 + ], + "clip": [ + "21", + 1 + ] + }, + "class_type": "CLIPTextEncode", + "_meta": { + "title": "CLIP文本编码器" + } + }, + "7": { + "inputs": { + "text": [ + "28", + 0 + ], + "clip": [ + "4", + 1 + ] + }, + "class_type": "CLIPTextEncode", + "_meta": { + "title": "CLIP文本编码器" + } + }, + "8": { + "inputs": { + "samples": [ + "3", + 0 + ], + "vae": [ + "4", + 2 + ] + }, + "class_type": "VAEDecode", + "_meta": { + "title": "VAE解码" + } + }, + "10": { + "inputs": { + "lora_name": "lcm-lora-sdv1-5.safetensors", + "strength_model": 1.0000000000000002, + "strength_clip": 1.0000000000000002, + "model": [ + "4", + 0 + ], + "clip": [ + "4", + 1 + ] + }, + "class_type": "LoraLoader", + "_meta": { + "title": "LoRA加载器" + } + }, + "19": { + "inputs": { + "pixels": [ + "63", + 0 + ], + "vae": [ + "23", + 0 + ] + }, + "class_type": "VAEEncode", + "_meta": { + "title": "VAE编码" + } + }, + "21": { + "inputs": { + "lora_name": "可爱少女厚涂风.safetensors", + "strength_model": 0, + "strength_clip": 1.0000000000000002, + "model": [ + "10", + 0 + ], + "clip": [ + "10", + 1 + ] + }, + "class_type": "LoraLoader", + "_meta": { + "title": "LoRA加载器" + } + }, + "23": { + "inputs": { + "vae_name": "clearvae_v23.safetensors" + }, + "class_type": "VAELoader", + "_meta": { + "title": "VAE加载器" + } + }, + "27": { + "inputs": { + "text_trans": "" + }, + "class_type": "ZhPromptTranslator", + "_meta": { + "title": "正向提示词" + } + }, + "28": { + "inputs": { + "text_trans": "" + }, + "class_type": "ZhPromptTranslator", + "_meta": { + "title": "反向提示词" + } + }, + "37": { + "inputs": { + "preset": "STANDARD (medium strength)", + "model": [ + "4", + 0 + ] + }, + "class_type": "IPAdapterUnifiedLoader", + "_meta": { + "title": "IPAdapter加载器" + } + }, + "61": { + "inputs": { + "appName": "彩绘", + "appType": "paint-board", + "appDesc": "", + "styles": "" + }, + "class_type": "AppParams", + "_meta": { + "title": "应用参数管理" + } + }, + "62": { + "inputs": { + "filename_prefix": "ComfyUI", + "images": [ + "8", + 0 + ] + }, + "class_type": "SaveImgOutputLam", + "_meta": { + "title": "保存图像应用输出" + } + }, + "63": { + "inputs": { + "image": "" + }, + "class_type": "LamLoadImageBase64", + "_meta": { + "title": "Base64图片加载" + } + } +} \ No newline at end of file diff --git a/config/workflow/彩绘1.json b/config/workflow/彩绘1.json new file mode 100644 index 0000000..43d70ae --- /dev/null +++ b/config/workflow/彩绘1.json @@ -0,0 +1,204 @@ +{ + "3": { + "inputs": { + "seed": 871010165059929, + "steps": 8, + "cfg": 1, + "sampler_name": "euler_ancestral", + "scheduler": "normal", + "denoise": 0.6500000000000001, + "model": [ + "21", + 0 + ], + "positive": [ + "6", + 0 + ], + "negative": [ + "7", + 0 + ], + "latent_image": [ + "19", + 0 + ] + }, + "class_type": "KSampler", + "_meta": { + "title": "K采样器" + } + }, + "4": { + "inputs": { + "ckpt_name": "yamer_Cartoon_xenoArcadiaCD.safetensors" + }, + "class_type": "CheckpointLoaderSimple", + "_meta": { + "title": "Checkpoint加载器(简易)" + } + }, + "6": { + "inputs": { + "text": [ + "27", + 0 + ], + "clip": [ + "21", + 1 + ] + }, + "class_type": "CLIPTextEncode", + "_meta": { + "title": "CLIP文本编码器" + } + }, + "7": { + "inputs": { + "text": [ + "28", + 0 + ], + "clip": [ + "4", + 1 + ] + }, + "class_type": "CLIPTextEncode", + "_meta": { + "title": "CLIP文本编码器" + } + }, + "8": { + "inputs": { + "samples": [ + "3", + 0 + ], + "vae": [ + "4", + 2 + ] + }, + "class_type": "VAEDecode", + "_meta": { + "title": "VAE解码" + } + }, + "10": { + "inputs": { + "lora_name": "lcm-lora-sdv1-5.safetensors", + "strength_model": 1.0000000000000002, + "strength_clip": 1.0000000000000002, + "model": [ + "4", + 0 + ], + "clip": [ + "4", + 1 + ] + }, + "class_type": "LoraLoader", + "_meta": { + "title": "LoRA加载器" + } + }, + "19": { + "inputs": { + "pixels": [ + "64", + 0 + ], + "vae": [ + "23", + 0 + ] + }, + "class_type": "VAEEncode", + "_meta": { + "title": "VAE编码" + } + }, + "21": { + "inputs": { + "lora_name": "可爱少女厚涂风.safetensors", + "strength_model": 0, + "strength_clip": 1.0000000000000002, + "model": [ + "10", + 0 + ], + "clip": [ + "10", + 1 + ] + }, + "class_type": "LoraLoader", + "_meta": { + "title": "LoRA加载器" + } + }, + "23": { + "inputs": { + "vae_name": "clearvae_v23.safetensors" + }, + "class_type": "VAELoader", + "_meta": { + "title": "VAE加载器" + } + }, + "27": { + "inputs": { + "text_trans": "" + }, + "class_type": "ZhPromptTranslator", + "_meta": { + "title": "正向提示词" + } + }, + "28": { + "inputs": { + "text_trans": "" + }, + "class_type": "ZhPromptTranslator", + "_meta": { + "title": "反向提示词" + } + }, + "61": { + "inputs": { + "appName": "彩绘1", + "appType": "paint-board", + "appDesc": "", + "styles": "" + }, + "class_type": "AppParams", + "_meta": { + "title": "应用参数管理" + } + }, + "62": { + "inputs": { + "filename_prefix": "ComfyUI", + "images": [ + "8", + 0 + ] + }, + "class_type": "SaveImgOutputLam", + "_meta": { + "title": "保存图像应用输出" + } + }, + "64": { + "inputs": { + "image": "" + }, + "class_type": "LamLoadImageBase64", + "_meta": { + "title": "Base64图片加载" + } + } +} \ No newline at end of file diff --git a/config/workflow/文生图.json b/config/workflow/文生图.json new file mode 100644 index 0000000..487cc7d --- /dev/null +++ b/config/workflow/文生图.json @@ -0,0 +1,118 @@ +{ + "3": { + "inputs": { + "seed": 604479721574433, + "steps": 20, + "cfg": 8, + "sampler_name": "euler", + "scheduler": "normal", + "denoise": 1, + "model": [ + "4", + 0 + ], + "positive": [ + "6", + 0 + ], + "negative": [ + "7", + 0 + ], + "latent_image": [ + "5", + 0 + ] + }, + "class_type": "KSampler", + "_meta": { + "title": "K采样器" + } + }, + "4": { + "inputs": { + "ckpt_name": "dreamshaper_8.safetensors" + }, + "class_type": "CheckpointLoaderSimple", + "_meta": { + "title": "Checkpoint加载器(简易)" + } + }, + "5": { + "inputs": { + "width": 512, + "height": 512, + "batch_size": 1 + }, + "class_type": "EmptyLatentImage", + "_meta": { + "title": "空Latent" + } + }, + "6": { + "inputs": { + "text": "beautiful scenery nature glass bottle landscape, , purple galaxy bottle,", + "clip": [ + "4", + 1 + ] + }, + "class_type": "CLIPTextEncode", + "_meta": { + "title": "CLIP文本编码器" + } + }, + "7": { + "inputs": { + "text": "text, watermark", + "clip": [ + "4", + 1 + ] + }, + "class_type": "CLIPTextEncode", + "_meta": { + "title": "CLIP文本编码器" + } + }, + "8": { + "inputs": { + "samples": [ + "3", + 0 + ], + "vae": [ + "4", + 2 + ] + }, + "class_type": "VAEDecode", + "_meta": { + "title": "VAE解码" + } + }, + "10": { + "inputs": { + "filename_prefix": "ComfyUI", + "images": [ + "8", + 0 + ] + }, + "class_type": "SaveImgOutputLam", + "_meta": { + "title": "保存图像应用输出" + } + }, + "11": { + "inputs": { + "appName": "文生图", + "appType": "default", + "appDesc": "" + }, + "class_type": "AppParams", + "_meta": { + "title": "应用参数管理" + } + } +} \ No newline at end of file diff --git a/config/workflow/简笔画.json b/config/workflow/简笔画.json new file mode 100644 index 0000000..f4c9208 --- /dev/null +++ b/config/workflow/简笔画.json @@ -0,0 +1,251 @@ +{ + "1": { + "inputs": { + "ckpt_name": "yamer_Cartoon_xenoArcadiaCD.safetensors" + }, + "class_type": "CheckpointLoaderSimple", + "_meta": { + "title": "Checkpoint加载器(简易)" + } + }, + "2": { + "inputs": { + "width": [ + "16", + 0 + ], + "height": [ + "16", + 1 + ], + "batch_size": 1 + }, + "class_type": "EmptyLatentImage", + "_meta": { + "title": "空Latent" + } + }, + "3": { + "inputs": { + "text": [ + "17", + 0 + ], + "clip": [ + "1", + 1 + ] + }, + "class_type": "CLIPTextEncode", + "_meta": { + "title": "CLIP文本编码器" + } + }, + "4": { + "inputs": { + "text": [ + "18", + 0 + ], + "clip": [ + "1", + 1 + ] + }, + "class_type": "CLIPTextEncode", + "_meta": { + "title": "CLIP文本编码器" + } + }, + "6": { + "inputs": { + "control_net_name": "control_v11p_sd15_lineart.pth" + }, + "class_type": "ControlNetLoader", + "_meta": { + "title": "ControlNet加载器" + } + }, + "7": { + "inputs": { + "strength": 1, + "conditioning": [ + "3", + 0 + ], + "control_net": [ + "6", + 0 + ], + "image": [ + "22", + 0 + ] + }, + "class_type": "ControlNetApply", + "_meta": { + "title": "ControlNet应用(旧版)" + } + }, + "8": { + "inputs": { + "seed": 275540587861329, + "steps": 8, + "cfg": 1, + "sampler_name": "lcm", + "scheduler": "karras", + "denoise": 1, + "model": [ + "14", + 0 + ], + "positive": [ + "7", + 0 + ], + "negative": [ + "4", + 0 + ], + "latent_image": [ + "2", + 0 + ] + }, + "class_type": "KSampler", + "_meta": { + "title": "K采样器" + } + }, + "9": { + "inputs": { + "samples": [ + "8", + 0 + ], + "vae": [ + "1", + 2 + ] + }, + "class_type": "VAEDecode", + "_meta": { + "title": "VAE解码" + } + }, + "14": { + "inputs": { + "lora_name": "lcm-lora-sdv1-5.safetensors", + "strength_model": 1, + "model": [ + "1", + 0 + ] + }, + "class_type": "LoraLoaderModelOnly", + "_meta": { + "title": "LoRA加载器(仅模型)" + } + }, + "16": { + "inputs": { + "image": [ + "22", + 0 + ] + }, + "class_type": "GetImageSize+", + "_meta": { + "title": "获取图像尺寸" + } + }, + "17": { + "inputs": { + "text_trans": "" + }, + "class_type": "ZhPromptTranslator", + "_meta": { + "title": "正向提示词" + } + }, + "18": { + "inputs": { + "text_trans": "" + }, + "class_type": "ZhPromptTranslator", + "_meta": { + "title": "反向提示词" + } + }, + "20": { + "inputs": { + "channel": "red", + "image": [ + "25", + 0 + ] + }, + "class_type": "ImageToMask", + "_meta": { + "title": "图像到遮罩" + } + }, + "21": { + "inputs": { + "mask": [ + "20", + 0 + ] + }, + "class_type": "InvertMask", + "_meta": { + "title": "遮罩反转" + } + }, + "22": { + "inputs": { + "mask": [ + "21", + 0 + ] + }, + "class_type": "MaskToImage", + "_meta": { + "title": "遮罩到图像" + } + }, + "23": { + "inputs": { + "filename_prefix": "ComfyUI", + "images": [ + "9", + 0 + ] + }, + "class_type": "SaveImgOutputLam", + "_meta": { + "title": "保存图像应用输出" + } + }, + "24": { + "inputs": { + "appName": "简笔画", + "appType": "paint-board", + "appDesc": "", + "styles": "" + }, + "class_type": "AppParams", + "_meta": { + "title": "应用参数管理" + } + }, + "25": { + "inputs": { + "image": "" + }, + "class_type": "LamLoadImageBase64", + "_meta": { + "title": "Base64图片加载" + } + } +} \ No newline at end of file diff --git a/config/workflow/简笔画2.json b/config/workflow/简笔画2.json new file mode 100644 index 0000000..29246c3 --- /dev/null +++ b/config/workflow/简笔画2.json @@ -0,0 +1,205 @@ +{ + "3": { + "inputs": { + "seed": 156680208700286, + "steps": 20, + "cfg": 8, + "sampler_name": "euler", + "scheduler": "normal", + "denoise": 1, + "model": [ + "4", + 0 + ], + "positive": [ + "11", + 1 + ], + "negative": [ + "7", + 0 + ], + "latent_image": [ + "5", + 0 + ] + }, + "class_type": "KSampler", + "_meta": { + "title": "K采样器" + } + }, + "4": { + "inputs": { + "ckpt_name": "yamer_Cartoon_xenoArcadiaCD.safetensors" + }, + "class_type": "CheckpointLoaderSimple", + "_meta": { + "title": "Checkpoint加载器(简易)" + } + }, + "5": { + "inputs": { + "width": 512, + "height": 512, + "batch_size": 1 + }, + "class_type": "EmptyLatentImage", + "_meta": { + "title": "空Latent" + } + }, + "6": { + "inputs": { + "text": "", + "clip": [ + "4", + 1 + ] + }, + "class_type": "CLIPTextEncode", + "_meta": { + "title": "CLIP文本编码器" + } + }, + "7": { + "inputs": { + "text": "text, watermark", + "clip": [ + "4", + 1 + ] + }, + "class_type": "CLIPTextEncode", + "_meta": { + "title": "CLIP文本编码器" + } + }, + "8": { + "inputs": { + "samples": [ + "3", + 0 + ], + "vae": [ + "4", + 2 + ] + }, + "class_type": "VAEDecode", + "_meta": { + "title": "VAE解码" + } + }, + "10": { + "inputs": { + "image": "" + }, + "class_type": "LamLoadImageBase64", + "_meta": { + "title": "Base64图片加载" + } + }, + "11": { + "inputs": { + "strength": 1, + "start_percent": 0, + "end_percent": 1, + "positive": [ + "6", + 0 + ], + "negative": [ + "7", + 0 + ], + "control_net": [ + "12", + 0 + ], + "image": [ + "17", + 0 + ], + "vae": [ + "4", + 2 + ] + }, + "class_type": "ControlNetApplyAdvanced", + "_meta": { + "title": "ControlNet应用(旧版高级)" + } + }, + "12": { + "inputs": { + "control_net_name": "control_v11p_sd15_lineart.pth" + }, + "class_type": "ControlNetLoader", + "_meta": { + "title": "ControlNet加载器" + } + }, + "13": { + "inputs": { + "filename_prefix": "ComfyUI", + "images": [ + "8", + 0 + ] + }, + "class_type": "SaveImgOutputLam", + "_meta": { + "title": "保存图像应用输出" + } + }, + "15": { + "inputs": { + "channel": "red", + "image": [ + "10", + 0 + ] + }, + "class_type": "ImageToMask", + "_meta": { + "title": "图像到遮罩" + } + }, + "16": { + "inputs": { + "mask": [ + "15", + 0 + ] + }, + "class_type": "InvertMask (segment anything)", + "_meta": { + "title": "反转遮罩" + } + }, + "17": { + "inputs": { + "mask": [ + "16", + 0 + ] + }, + "class_type": "MaskToImage", + "_meta": { + "title": "遮罩到图像" + } + }, + "18": { + "inputs": { + "appName": "简笔画2", + "appType": "paint-board", + "appDesc": "", + "styles": "" + }, + "class_type": "AppParams", + "_meta": { + "title": "应用参数管理" + } + } +} \ No newline at end of file diff --git a/docs/file-store/boardMode_1.3.0.png b/docs/file-store/boardMode_1.3.0.png new file mode 100644 index 0000000000000000000000000000000000000000..42dd6daab4e527d265f06f47b522910ba42fcc05 GIT binary patch literal 23219 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 CIbkyZ literal 0 HcmV?d00001 diff --git a/docs/file-store/borderConfig.png b/docs/file-store/borderConfig.png new file mode 100644 index 0000000000000000000000000000000000000000..c08e1d4f92049c93441b87ac95a0408e694aaa98 GIT binary patch literal 2781 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 IX^Zgx2Dhg%WB>pF literal 0 HcmV?d00001 diff --git a/docs/file-store/drawMode_shape_1.3.0.png b/docs/file-store/drawMode_shape_1.3.0.png new file mode 100644 index 0000000000000000000000000000000000000000..a9b4f8564744f5bcd6e438f7d5a8540b31afefd0 GIT binary patch literal 17778 zcmZ^|byOU|w=Fy~Ft|f-8Qh)VGPnkJcZc9EgG=y`;4nylKuBlX%bx%G%Ok2{I~LbMMEv*f-}S9aT5;~jr)RtOAsM-qyyB|;g9~SuuO}BTcH9EZnOm9#7mjvvJ2bq`M;kItW0HqWQ#ck7x4jBPxdIz|^)Pxg-PWmQeK_irYq zx8B+)CZ-qvd3~*J=yURn5R%e-E1|Z1aC`Ureqs428~&rCcWPjCd1i6Hqvz+RoC-C4 zJ2N|<&D~!UvpZ9>3%_n|!(%htd}Ei^Pb;fCt(}7mEZ#f12lWjtWEYgSc26|64toX0 z7natC#b$iYDY6-k9hq3yF8AymoYye03yn&*aPY6H>*?yBsc#vIPRNal|L7N*WZWF& z?i-e#U18}Mu(kW^OJz%D{x_(i-pk92Y@FHP*y{Y!VSEa__-hldh5Xm5_T7U!JrkGS zpTkyzG4Qq4)Qr-L%d69~i{#HGLE&jf$EUePHAZzoy5GE|m5uK2AMD--@EFU)CgocV zM6+p%#mpDGO{VHs`|Tb6j)>3xQP+~NQ0hJPY5(A;`{(SJt>(nEY`>7$%g5{dk~*(| zD9gUcwX@6C&c3kd6h=AzwTYb<)geM1t*r)Ha4yG`3d z)pDI=V$9~3Rw{oqkQl3-5)>Nnz>xbgZs#jgC+I&tzzoxG5x9GARr14oy{U_o^qq zm-DiIE345fC)G+x!J#j?xxJS$U+q7fA=~0SY;7rFX+Tt)$9D)tw?IOCSsIes|cMS8A~M6B!7F6nk8&s?}@d@k%)Jt@7jXVv}OdgeS8x^hf>X z<(pTL7%A|rB3aDe`;y6Gbztz^z&7nG2D_Pk zAhRJ@{0h#8A9|x}r^rSb^>w=aILipEJE;YO57uZ2vHI;4KOrBRgH+ zRjJ#VPb?lfQ-D=Y(tKWv7p*>x3*7ze*G2pGK~JhDQV948j&?e96U7emKdA1&UQz5FyUO$`ZoN-SbLTFHYT_ zUU#Mn?{#bxHj}h5K{0ZF>GVw*Qpx6QFFMr}(g2-g_`5Zu+!$E-hkOZExV(rORn}FtGEsfO~ z`7o=Z6&GQ7)grqP7re4Y#Wf0lZ^U1+Vuw7B>(RYzGN@XUmOG;8rumt;EESn zs23DMnQ?}Z#w4N^oi~BAe_YWOKAx&JE9-~!KsRN=o`g%u)ZKKto8O@+Q>8hvdqEF^ z;sUS$-}GObYk{2=*~{WDtYL>WE#(lHSRl{L^W1jYbHyBOR59hl53<) z9khpPkV}aDsW?+AleCml@ixa`yf=HoZU|`K(Y%H%{0r)F_~B@t*9rcfiU=sG{WS8F z-bFXKQ=cc;{Xvd&5=W-1oO^N~4aBB6h7ROVV>=Ol?~VJJ8(Zck{4y(ohKbT_z%s*T zS^Ri1fhn{J<)6-Q~TA;iL#0`TlZY$U}L_SDq1T< zcWe_kgi`oU{yekxHvRK#wDHkMsggCsTDN^-o$-Q@OWs&(qAM+a;gms@^YcwRKsVIe zOl1h_!2<8m(c-B$zQZiGGN+L=X86dB!voKJr)j!g-qmrf5>j)f+E1lEpBtE~Is4TM z-3t3C_5SUYiLaiO;%uWfbhwtXzA}+;O4&{gRqAV~X=~L$gCg1}@cn)}%NwEogxtS~ zQoMM`{HPcvJ3F70@|zpc?3XIu0j9t5wqPR?JIq6M*>riHsp^+{;>uxI5H1Ze*h?lt zE3>CM(4jXqVDU>;C9K{>?8tTq_DxtX$LoGi41XB7q_vw}{q;v8$iJpMJ5+yOIN-#6 zN7rLd%M*n5y%o3FTPy&&RzK!p(0>v#V~M5GpC;0rc~kqkR%8-&e1u9}oe8Mp z045Vs0)hI+<`eF}^GQ;956+u1;lQvviKL`tcKG?vs`JB%JbN|h$%xKtbtU@hP6=Iy z?rL5&@Dt_z`Y&X!oMuf9RYzmFqQWd?>PtAi`<4#u!aYkTuif_Z){)=p(adn zEjnzgg4T$)o}P z%ARZ&pGPN~E=&Z4gjx&T7j^GwHw@i%x~fZp2Zf`DDAO`b*RMIoo zfeD}KlTXKn%Y5hh&-h_haz5x5S=csGx}&hUMg?Tx z1hN`U=(r5{3H-0J@2vk0bEqJ9x=nnQj55xAyCzq_5$}aR|z9eQu}YlJP}7<9Hr#`QswrYL?J7y(-R zYe;44tn)t0X<^B98of%)(G(K^fKj#GO@8FU8E}7j#H7QTq=zzVuA(_e&G4;6O2o;S za4}F2c=x{{MCu!eME}6qw^+fBK1GZ#Vh~bLD9!0BuqKc}OY{Fgky++=Fv8cm?zlt( zD-lLPt^gh>dct$cN0x=65BpwXg?P#pOBz(Gn%!4~LVxtj`yF-8vfeNc?P7X)VIhQD z?M)`E_J!q-3aEeG2c5{#2vaT5=$5^yDDe{0!<|*_!oxydHVYK7FKT9fJ^*&Izj)b- z#3fkw?#;!Po7HIdJ6?Ky`K;Hba$oe~7Lj zaFDLDBCdKx&_i4g1S}vS7Az$Umh?kKr>xn(S3o?hWr~Hml z3t9gK^&T$ElQKKLs!TAmH{#~<_<+=cB@0Q*`q20_K;>RWOu8b)=%&Eb%%0_T<-|c8 zsp(8P?AB={>m+h5b~RUSK4JL>PZ8$J+>RbGrUzLC6o+d9EgrhD@Kz_QAwnu{3B`0^ z!Y1KS6S8oPuF)Hbi5JAr->z-pCv92AFCmTSPE-LM+o~idX9Br2zN<(ZMe}sjlITxq zAoc{tklF)}-@l}a<#ocF(RCnyOxY}zQ1;GwMxzun zk4wk6;gN~&W@-`_dzw(`D$0?ln#OQY6epS8sku4XsrEu!<<_ETa4OLRzMl*}H>mjd za75BV)Z1lry3ysshPvJ~_=#9942FHH)Xl2!V)-|vz_5DPL=RI?Jaj7aPBgM10)j&@ zK&ajkeVYwoBCUjz%C#G&lvEO``$nPje}2z^=S7iils)Ivm)#9#Q3oobS!eXK5W zpCmG!TUIk)Vi!jcYby3za$$*Vt?RZYDB7g`8TLlU{^&m*mY3!mexE6pCjrXUE!-ygBSM%Qx73bM#nb@#0e>%U z#nnU`gm8Zrodi?g-R6gH378gJS$4~RiP~M`_ZSFKVS?JE1|e)wLrtk7iVm1ysgU03Pojp&AZiKf z`AA+HCGndlb;w>|w}HJOR;Ag?*KL8|luND0)4Qg(Ap0)6FUDvHIN=bK|8Ca>c{hQI ztQfn3mo0wSC}i#jIz$oYJF!I4XkJ9h)?Bi!AFPR{-*J74l>Smgy@ceg!9mSCvJkl- zSU8<9FH7{vb;ix)dzbxT@Z_%-oF?u>(dC<#tKb5?%^TB)?PqZ!n*Xy?1$47tAMM{P z7VCcShuVf8J8>)=^c`ZiK8J4Tp)@yvh9mWa?+=+l7adTHo0i#4j7}&3g|6o63w~(6 zI|?9->3x@Xio_N+N(ssBUlPQ7B9sy<;FBFH&e3mS2SgYYNf!!11bIsmBT7Nk1w;X1 zP`Ilg@_#JKrcIc$G%fkxn5Jgb60X7JDG9DFXlG&~j+NX&AR|s!rj1UKk+CbIQW>Lz zK#e8cuBA?-F+HdKmvt-IAh>H88S=M$6sK-xtoOAB(^BuyP@LUh%4(|=#ph}h+G89k zoDFU9-1&|QSoDpPJNq`RqT*R97mwLgLV`B}hp(gz#^?O}3POP}o$n*42XY3ddC)#k zW#8S#*Ec%Ty@v*3Jz8y@qW*n>+33qPPK{A~xYjXfyl#s5hxAk&*XL@cwV6h684}hP zV_Qu{2WK1|sppxq@@{oacg1RV|B#@_96DvxgXU=Oe!EPv{UTpbm0F$fSwU^ zW1J;eSi)xhBE|D_jR`xDQN7z{2)J*kv9!Y@M=u(Ey<##SKPpUdJGnw9-S1L^Sk8J^ zqybqpQG)l9=rT8;5oCas{`AJbs{+y6dDE{?34lnt2H^HM3b8gAHr-Ari9hut>p6R* z!{}nY=?Fi7bL)lDY zNO^^_C2$@zYsp5pX&C=uW9`q<$n~ByZ*0{&3xJ zl!!Ok-d@|bZ~aCKeQyv?vo6S(l|dB;_VWbl2Q#pdHH-qAB&9L7Wu zYUD$5eHgX4%nf&(WGAz_n+Z#dqU8{3I;si;Tnvp}wbnU#qtn&MNb8Ayn`2Vv|Be== zPcYz?AiRtm)Y0shhH^mgYp-^XaE#dxm$V1E{FWJ)Ffu$m4ZB<}feQ6VO3FkwPG}Ej z1Zeu+!c#s{H-~-v}A*53zDR7BuvVC%lWed8ZA2|ZVA;!5OnnsE>zMRU! zWA|>6lwmd`hgF<5CpQ2M*S};~Qs=;)cz`IrQ-~@2qh~*vkwK3YfxjJ(qya*gXFf1} z?Au}iBp5k+;>!lhB|b4cTa}ZU`FZh#1{j%h6t)Rq5{$ijpMd-UFd`!a`;8th&xB~O ze18K7193YEQeFvC#2)9W_y|BPKLS%Ue{KTO^WlW@d_YnMP5hnq@1<8);UF(W0Ciq8 zF7$L22GGiFj{eINYaEG;QvYJlZk~S#KueXKS_c#cLuO<}06dsXW%lNhiN_4Baibgm z22rQZ){Q{GX03tNwq6aiOh?gc`!;N_50Lsm%w~=P8O*b&8`=l>%eGkIUhM&f_~7^^ z0)DtaNF+In1+vFLb{ztEHC3S`g!}diugkyW%GO=W$SlhP*sucKd!Fk9Dkzu{Z zrTCCa5(#v_TtJP8!~k<32QpKhLdocfHx?Tr;6zk0tt1fuafB)qBO$9Ry&W+wn|GxD zLSpAf1n3|1n_ImQrP{6Yms&|*2uFRoUi%vdXM6e@Dr$E zX_#|blg1o~v3%1R*f>jzQqc%uCmGVCVQ_Ni?&+mIleh05=BWTO6et)~EX|~l;+XuQ zI66-V7Gw+I_;ks!i2hBHgeRnE?~YBN$OHu^?iZ*!mHAqp>2oDhOnN+GuAkfm=AV(m4W&BwFjm9UiEBQuDKVcirmGF(;6MwtmKo9KSF%rs-kk((~9` z&T{S|%3{sZGz|E_pKwq;`L<@g#Cz~HYp+~jR4A~V3T%G1b%7qrJG~Np_?|8J{4Ms! zA2Nc=l}`X&QIRf!?G1KA_d7f}Ix>{K04wwUpfdTAKVD@EqSWYQz>!*buC}Xt7=;o; z@LArM12B$#m3r*cxks5cQxynp+m-$l)p^kB^UfDQ3$c}OY1gRkb#mcFd^hE)0SrGi{L50H%%o8j(rKHr`hg{u2=W*YV-_ z9Cs@A0}N%T>A_&KBq`5Lp9ysBzCw;NG|((14@E#j(4v8u+3cv&K#VM{d2v!$1#CkQ zfLYh$Q-1Q${5e1GD;kLM{_;o+48!hmd;Q~8weKJw006;3z(?FNCq^w^1 z{ZcX4L|h1<*0p_5a9_1r5xW13OwjGGMh|h4V=L;>e{cd)M7mF;=)xO{5pUFVArIN83+M~4ogeLmC@`xz+9CpI-UXx zuy)#R4Y$m|jr)phBMVr#tb3H~r^zMJCimDHPL)6pfKG1!rnfI6q90FUw`V`H%CH4U z(aMNolGC8zxph-T z9^^=A5*VYgpOuK-axabcTebmk|RpKV`^L)RRwffP{;_6_Pu07O4WX zfJOWWLwXiEBqW{7IqS9&wzPn@3!>7a@05JZqu_J&AB#8|y=RvUi4d3oYeCiOdYQkY z4dtc8lsj0fd%rOx$01<&_^16GD*NqRzF6+0Zw+DzmV(DG8V`q4PVN4y4$y?v=Z}Bd zBCN2Q!dWQ%6XNBOjpK`UT>g!#eNQfmR!>GpZwf)FiL|`pQ6<72yDt9qhJEg*Zv)Iy z=zzJX_m6+=k907~K_U>-CS{{==iAB1pYQV4Ewdkf}%W%)@jH> zv<;BtM=g(H=?`eg_YFc#FZ=_^eo&etRzzgCrhhP)2fSBV)H}~2Yd0B|-~P48F`e9= z>ZoM)IOA@Eo(&rXji~%|X!f+L!yZZJOS}V4O*n@m64qS*>H#b}?~|Uz_q}~1?G842 zN4@Xu$yF$^8EdmKu8vT-8hEe|j+j7QBpzvt8rlKuLDE(SN|8l0y_MHa18MHu3w1*F zgo?Sl;?w{h9T|{^ov>p416V-;xVgc_C{&NS;C`Cb@(OoPsFi=nKd+<0suai;waElR z(25FnMU2QiE>#_^0hsB^Jd39Pu4?^}cd9fN{(0tW;WBJZ*1{D>45JQ3ttc#e%oDYH zR<=LvBk(pRHWOR5Ak}W?gi3?w4i*$MIy82cI{o)4Nao`@ekbjLc^$`zx`>TE1)&^O)Dp zno*X?1NRm1r+q!dz_&T6I#enMBShxEAi^=GTG24q#6|TtM7AIrvVC!&O+k_6=r9v} z-1{DOE6vS<0IqM*w}JnlX&S)3^Buu>UdHE48OQTF(z9zC@X$GbL%S>Sit!BPM-O$& zPLd~H1Fi1FWr-Yj&*xiKbm#D`4b)$GD9u|pbo zu{-LtTBQL!-9P47TNcPc1=q(Fxe07atc)?i6K|K$eXmYGx?q9pvy6vDzDay|DunT; zkD@mb$yE29W6*UgfCe0=8i|_D5Ag7WeEN}%86^=aTH$M zreBQ5TdoLCW@^>1(v)Uom@2_!Ucq-Jjs|?|aa1|Qwf9cla>5C)`2ENeU)T~B8S-BI z@{W2Ni7YA%F=GA*4Sny$Jt)^dj8b30YPOhA+T$6iAmOu>3NferuV1U|{3w9WlF8nv z1oRR-obKS-t2euHV2oBVWZ3OR@Z}GH8;4U$&F3LQCw0>MX^m?HR(HJ^=;|^n9>EX^ z0uSitufwkq%))B!7*fm_xM$QHsflW}&pJ^={$aVoisU1m14OaEu^a-MKXeml!s-6D z3}W1S_@_`0nQNq(92Hi4T=IMeGWkaHmyHx#ItGyj<0oB`M5Z)(1Ost)y10zCG{MRT z(b5w-AA@8lcNvR1*;Ye@ke4ZNg_wMIjoVhhyvhy7pzXh~gaa;nb z2fFpk)NHj!Aomx6Pc!bQ1TIe1Oe?HAV8mJ`+9{BEBsc*;NKB|j7r*|a<_joAglmva zJ>94?=6i2HqN6wPvwk-oe6<%&fJ|CIniHz}g4{w&)r-=9AH$jQRT+*7NT`9iZ}GK$ zOH%!bH0+uEaAl8Z`Os$?M~G{WFf}Ok1jyMkV<4m^2%qWI9x48UxbxiCMaV!mg#(X? zx&=fNr=|T35okeVz+Y;=u@?$^coj^EiG}jQga~<%GcBMaV4iL8h>H0uHPe4)rVaN{ z>Jnz9R_Fhwlf(K5a(_W(Q>QKC>SfaewE)s3j*!hD(Gp?cq67MAZC^ahEc_>1BMb09 zr$n)&`U5!#Htn+fub0P0BQXTAm)KosPJ2=`pE&41NDPeV2Fxdv-b-U)m#~-$Os0Vw*uc3S#=qaZb829j{*m_T&(>Zu2`wH;lvdUx(1?rtwWe zMPi=GUYlx3%dm;#v@C!j)CzKN`#UXA;d1zPc~>EZi>owA)bBDnz~gt4E3y&dKa)G4 zVf8>|rx7^h>5BXps{hMpUAez?es381C;8@A)5U^mr7xucs(kshDpQD>s}74xLUnxT4HFJF^cB?6wk;^>NBlY^UYsn7_A-(s)oorl!2#Qx8+k(*>{X=Km9+|EKM9tq-my2;5%m?wRWu&=Rgk+6NZ&*SbKh|W9@f&n#gLi4{?5^WP_kSnV>xcAt5COt@bFiy zFpK%^MZZI0p7G%MS6b>;GG>O~aa6yG^YgWE_&5(AehGmkZ^CQKuF8;GA&H88X$$sU z!f*!Vl;}PG{MS0H?4RrkKxJvo)sLzXMZ31{Vhr>tPwH6{_sodlFIIE;QtbN(7i``= zEVKU9XeA#w`5=G5J9o}HGW;RCR`YMyiL#*r*ooYudNN}HK78|gZ)oZKE1>0^rDmGa zPU6IM(SB8%+n}$#g^wkTXIW!3IHXF)cGzJmkz_xn`yR6d+i&9;Pv6ntlu&0$P$2Ty z#yx2jcSLtK%W3OoZqAW|3YjNEZooXIc_}{w0B4{%vo#il-iM}b#@d3)qY^~F~rC~S@{;^z18 zWpBlNuv^%cgBLE!J`CXmuMRQ%8<3iI{4LL)fBNC@=q`AL)Qv){eJ*FTaBz&J{o6O; z>Rv1KdJUik;>v~V_K}|Idm9uwPOWJ&H@DjdX9(Q!(v^`B7vNU?jxJR!`M_ab1ag=V+ zu1Ao+re54hG&q@k%H`japWrsPAU%9vBj(+N1esxwkmKiZO5Oc6EA(4kWCQnhOMAs? z6Ns`r0=Frq_UEArs%Uv4rksfqq=%c;?M0|i_5)}?R{yT98+QmXf0x00y)MGJy=X0} zbal~|J>ZflW%3VvhAJGofgbo~D6m!~>^o9wS&FrY-8u(o9bEA{Mhii)F+9Qq!C#Nm zIP79_m6Y}TJ4mv>f^!^KL9Y_jlEd(A@H_1)&(ON%ln%rxGu?unX*Np2It=e2@bV=e zK3XvEr}$5u`---brrYr=hC^NRM^KjiUy6*M30fzX>%x8?PTtAF{$YUFu%%u_ zYu$Whd7D(dvV-kwlx*|Jb=G*q0!tHD@zx=~b1r$iu;R09hVSfhp?F^xm@+<2=G~>a zYST65*4#VSy@v_5Q>?Ul_u8)FENhac)=1eF z(okr2x3quwx=h4B@Qd;O=YjhDaKJ~eHDm~a7 zMZ3KupX{1v(p=}59_PpRh&2Fy%;((4vcI1M1wn$1-{UdZj$CrP~8QyO@A%6unGTjY+a>Fq5zq&Ac8!yy;pTaysrd^IPt9S!CC0}~-s}Lc+-9Zv znYZLdRJpj@FpE!w^X&PfUk8|mfW2nYbdN9xTIAPEbzNfVtA>;b>UYkY))Zb5a^7o* zZ56nr%ih5_I#bjg6@|;3Ps8rwIA5om?z)xJM%T#Df7BYT7mE)LNNr|FF*NcMWqLUA z;*J^o;p08tMpFUs;_{NQ11^|l)*j5UaRtPer27-GfBz@4#r_xN^B;;#+~i+8OX48@ zr(I=qh$y&{A%z1316PMlZvZbepU^2&koW$o#eIRZ5q`ou2ehST9+PpFDw9TVp<2rP zL&vY$*nr*r0*R5SK5g#1fl>1RM;Ea}RA`!1f8YKh*IsPuA`V8v*|UWWRl5A{Mk;Xk z1UG44Fb3-65&QYJ=UWXHxCUkb)@pI|>{c#dZ65Hoq|I(s(N!cZ_so;W@dl;eM!+gi z&3=9h^R%C0`|@8o8GVrad%xI5m0$D;YNQZkzippX0*L%t-aMWlDW#(ZF+>+J_6``pMVJmA zs%`be;%lzjMN>C`sq=tvNBiD+NT~g-#`ENi-al_{~5UYR?=ih2H zVo+L19pH#k3W8*)^p41sVdyLj3z3se@}1b9J)GMHbH&qXIoBZh;6 zLE9fA!^(!p$s>UMWFPXc)RM{rb1!Z_$IeehPhqh6?KsmbZdYD_>`eP$-C4K3koIJm!sP7*Un{(m~^KOXaL;6v<-B{mk~ zf5bD`iy4`u&i_JG-t(g(dF&40b)ztDc!Cc41sU~8dm9Jd1Cfj` zhWaalmwRX8n16@V7Ulqf7%jy{${ZS^)a^qbJq^DIVU%xC1Q5KBP~E6*FN9MXDmSS{ zCUvyTZ)p~xv)n;Uv&f0(hrB~c?W%*ylzO;PxF;yv3nZ;!B7l_mB;?}(vzFzDQ=jt* ztS=36Kf+~9MWbt3@fW7~0-}*3RXC<+iy_k`FIV@kd4KT5)J_7aBmjgE#k^kOV0SLZ zH7R|1a!5y1rSR=K@aY@q7WfUh{2a#V(7L~q3y^kM{VQ{ziU(U;NtfW*tQpF(#S^?{ z4huWvjQN&}Dqf*8%B+j{f|jist_B|TE9PPrFFuU1v6YN#hCoR`a-E6!vn+t6S@I`W z21MAN8jc1K^psQ!T~0M2Z>S{lL|A}yw>jp zaDlnk?t+T)yWDdir#nebxLlwG?2odj}^JGydy~7@sLmVL~7pk}1`%bwwuV zo>MrxmgcE7TdIJGbpU5rHeAEtHs(42XbR#@lmUM(JCV zcl=299^v^GJZm23_t!uD{@`#|-9L~NeG-zLGzlTM;#DpC6`KRnJ}N$R2Po~u@#oWG z8c%!hBbECkj5Tq9C)#`8l)2vF*_e^@D|3?}@O8;EXy|=ZpNj$^8j{hATm)Ic&cv^^ zF<`X2BF5YuCPilnGq+|4{jEZ;+Hw2>1Q5JUNsGxLQ)J#jvRz~B0;1U&>XCqYe(CL2 z0GHp3GHl5+pwqpM7#!jlP! zOfG4s#XlKS1O+&z@;sbouTq>=SE%QUvrigpG`eY+`Ruf&uWGl*#S)s8@V{a3adaxhql;&lJAseU)o4#PfVwa!6|WdF9{E7V~z|2lKnGVu|)=frYxzYPqdekDi_>AHV6t*d%iXMU!yHE4?T=Wdia2<2N` z2tktT{K1tc0kKwrHH|BVl!U3d%IsL@pACXgVu^#f#4*Rle#mu(nDi@4TgqV}>pr#a zSivvN^b(9^X(sxXDphlklVd@C##!=*wZ{g! z)9K+<4{}mH#;r|-__C8=eAwXyjK{!Po&4C8{M9t#$}n6K%cP@M@$ zNfJJ=O?thQ&Ww_V7@zE2{T+06LE4I%FEQ$0z|5|U?W3t1fA7BISaRzaee~}@|M%8H zmK$`vC9Am)Zylkdu(5cfmNHDceWs4&O*&~h_L{WQ>~_fC}^p2#B;F!`Mw zXq#Zgv4yzNd$T$Q9t)k=ZnyhS{q;ZSZ<{AfKv#0Y$x+&5wf6EvsdM~Do0g}6txKVo zrh&Q?e3Fn5Exx9dMi*Z+AudYRALNNvtUH=Z)>n=@OqPCxVLnYnC`uGE)XVBDY*C1o zgO?T@R9c7n0g3HfU)k2@sHE}vrhaTQ3r*9B+w&Ua50nPwJ!P1--)AFLDG2|Rc((Ww zO+SJ^40x@4MhJk{ovL*8RK645eH2LVErP2taO4IHW9svbtTvLXXIO)kQ)W=ZU=!~% z>wWHa-TY?k1`arKQbfb|VZvT%t}Eeo_-WiQ;k;n|`JEhO{oA;SIS(lHVH*Dnnyp>2 z9-Lyf1*U^}kPT!bo%N^0V6a6nwA&_rjbi3a9sff;OY7j9D7u}y3?pUJmU_@#uNAW% zE-~WfWwvpesZ-Bu0ddeLy)ZLeJ22VA9 z>>()e$Cqbu_4a7V`#*F^A=_FGN%0)Hv0qLZV@Z7cD#XKn2isoRt#HiUnP2H-7{;il7@N{ z(x}fE)@(2C;RML+$Pgfz^=d1u)AJ$Vo=0_? zVtuWr2=6s2YxVkdROR%i@>%pI;mN+?lw*{qzH8EgD2D|7V07$86kqXwY3%=7a+mlS zB-<~h7pe(O)M13 z>}Iz0BJL^18glh7Xn1C(CA@{XoEj5HUk|6qN??u4L8D3fh7B^Lg2>^i$fX_8@Q**B z;BppG$o%!gbY8npm^rw@i2X1QLeq(1^0Ned(aR+j2RM7XAH<&u(2?N$2%N@kv1W_m z&2jnd3LQX<3PT0R5k}Pv*_UeC@~n8~3daH6IT_)8F8D6@gqcm~vpl70bG1(R#wf8= zPwoTw2V{ao!4i<0>50>nIDRz^1#y4(@2qHO`MYcGsIg8$K$l=yBgmj1+S^zD*%-yI z1RO|owNuu+hEUVZXW%bVB@ud*ud13ErgP*4H6{{{MI5h3{eSZ-iZwWjJa8&53OO7c zf&N%xAAknP_RpnBKlU zp45N@?Z{OON{O+B?;!^7fgj9VTZ$*2JZ(5#1tF8#k{Ca zij)WQahyCc!8g-jy71tQ>!n!lTN_1<)l0q*&~Th9rA?puL@`*{+T-j7KuJ1l?sTJU zAY+Q0{k;*DpJ$n7#= z#7*)eVZ@p;x?_P>9zVquQ@y{^5d75PMM(f?88GCR9 zO5TxBAfV^M+%8KiLn2?^qP>Rs&2IdfN5{F>JXFPJ_tj|9ngOK|QJQSCRe~J%ii(Tw zQ+|-9kjhtjBZxo}CH{KEX#U6-3Aoeiyp+Kvx>hVmXn$@Qj`~ zesbX~qRFc-CX9NX_I%CrhSidzgY${Y!;u6tFnbL&yB@EY(9C$R7M}83;bAjPfl7ns z%re3*Z z<`VeFV%(Wwl_ie!rZTaij0c{QH3gddj&=i z+FIJbQl18R=l8Y4(aA+DC=RcMi_rmTYdt?5c3#aRYqg;t?fi7k|Q(U7> z)42q4(=3UF!?nkxS_@MMMVdnuO3xD>^kA7+m=e-QLUrgK_SL{`Tvfl};_v-f5Dly4 zZ;$&B)bvbbTvk3KMpmmV$^bkJg4g|`ly_6$*#FLl*AX4hdhdwiiv{xoqfx*j_25G< zw)7+lr5LF)aVX=xN_epr&nX?2t7_H_5}LRn{mf?=+KNPepIE^$!wr#ZbYLhq?|nJlfqrpOv&CA_- zWm#&P2h9W>Enj_Eo1MShT@s;E|mHRri5K^J$(NG-3i6(fwuC{wY&nRCY<9Z`6NQt*nPY zJ-ZZ8%Qp^iri>QZ5Q2-5PlX~OzPCUoUukNOa(Sf9M%xpFu%zt%^PhxJ1QNoE{U0I` zJN=(~Du;d0TXF44uwzhF4Eo%IB{fm`uX$SzoZW3SYl!U`P|Fzph5h=GiW z*(v$a27!8iC1T(hDzEXZha3bczMj+-Uuv@=1we@b;f0{;I6~t-O=OCdJ=MO;O$`ip z*PaUpZV23jv2#rf_`hmgQJ;%L`e{hg?!&z&PGlZ1RLt?X7!PfS^9B6ajO!Q{X^VGj zg`L$*8D8{nMLqknyV1VT)jG+$TYSTI?us5*ZDU$Sna>@uF~-ZQm|g1df7)-dX}SE= z-(6Nc!c#d@ZQQdN{IAAHY9%n)w0i7ts&hFA=E^(OOPl;2{tq*4SFagjO9$sjsL_{1 zvtvK0oelo{trd?Cr;2};4=B5(cHZo}r5xZkE_)-_--c^`RxHpTQ2nmBBpBllKzsJe z4D4k)BXY&DkWVV3i{6O$Yy(9Wh9}b;VV3LK{uPHyVL9E17Z2k!;(teYdYFS*8?W`Qe* z+73N$^SwaOX@Wd4gcfs6)L3L9w~|t#5|?rvsD=|-j)dZzUzF1m6P4h1l2B2YGGc!o zV#zt{fRer<1-A$Bz1x~;9Lc-rlYl$~6d?oyTkLMPdaR-L$Wv`943`QUsI3Tin_BJI zXtFWkD_KL)rHCl-mj(*!Yjf=eu7R*VvhrPoAY*ZCgNWdO1C8`8*~xbh4@V8ZYf5A4 zXP}O_bZk2DWG}rPvXIP(?KUP;Rz#6K3lJQh5V-_mjc9gNl6+Mb2+W z7)ie!F>n3Qx7(2hD-~B53@4xqc{xLSMu?5w?tcME0a{qg7f8uvAm=;NQ| zfw<<0mTVox<7v{$d1%HaeD6)HnM~kq!KyBtM3ut zk;k4dnpfuaYGAYh*$d291?Fq~%EC5cT}tOU#{M8k*BrSHEa|*k`zS3ufphbwQ8Hp^ zBo6lEU5;fY16_5$MiH<|cw|@xkkghT%4`=MrU$%HN2Nr5;h8l#>#n@-v0Z7Qhq+3B<{|Az<;XrG?|+kb{%Qv#68#(0Y5WanRs zBvTW151D3@n)Y|X>>u&G9Hx_97YyLGq3CeqDB`_$xBYsl{kNy{PaOkBqy->U8Yl7q zDNvjC{|g}m-utP4D4jGB2L~e}f`bUPmV&55TLQwv>J|3;R9bCdIif~;U(GM$w(^^yRBvcB{sA}RDQIbUSj47W)>PvUI$_<8<2t|0$opA-^^i;# zlZ>QdxsDs@b5%JFTB~7(M}Io5S0aT~mR^b3?!b@6?Y1*r*Jt-NMr8R*x2&$CB9yPr z=A#Bv7fJOWUwHUyc-rYH__k+rc^oK{@2%_aj*oX}_)+dt7H0?v=&-t&mVzerh1qon z3lL~YJxARk03EV%*+rQJnz)lTdUyi@00000000000001h{}71H*8HRGMg;V$)Hi|) zBFr-h1PGL!dA1z_1TkT15C{-RfvF`xfFLAHEdl|8FZS(NHDM?U!0_RiY|*><0xmvD zUnOr)k|lva2B&234HPm74(g;J2wfZ$G@!N*Q^~Q^=4NPx-kvn)8w~2;@^j9;gN0q| zAv+036!xu$>?I&kXgx>*5)zP*fW!|;K)=j!9Qlvze+j6Yxt`xaWBec)hlt_W%?2Rq z9?;b7ph;heA$}2VWeV{NXrMIDP-W_&QE7mhgA5^d z0cA?p1>M?5qsHUPPnRHg1vFB+0cfU%`$;{lp;>82&xLhofraoD1gC(m9CA=(24yaq zm3;Q27qkJvEFdz;Rbd5X-3}V%hqS+}l88o-oPu};bW~&wWf__k&?B}=Vk~4J7zT7w z3{rfvS{odTt%xOT`4b!eeKu1Lmp!3nJ@MD8j@30rU zVfr-)C{yH8ReJ}`S{1K7OVgvT?WW-$kaJNa0||&9{sEm7c>|CY#!d}Z*iexP0LUSl z8~%srnIdPnVt_(}>HU7Q5JGfyG27&KDhM_LNM6q868A@TwV$+yx> z4J(7~J73>|&C3GhATipA0PPnbR~gX;1n9Z_0af~jxlBz7P(K8kTBn>N*?<7uw?pVE z4H*i`k^=PE9U_+4$t!713efw%mR?bPumJ&jECIT;mA0N>BX(ia{JTbdwUx%gWOaMv zwKhkn8z7G>L?|2}&$}cj9U$rxAOwix1c*{RG>%aRoMYGuWf=E_fpeT?jB;+Zq&oHu9Y%$d(TFm+Y=Cq#5a007{L!Y3I`000;GH=iWL`>XE< zmB4=s`RdBrvinC5{6J-!QP{)7!}99kYjHmDM!S9N{oVcjMp; zk%O$N>Fw=pN@l)^wWqqiO>Glm5xL*qGwJCcA*rZ;eSL%8Je!%{*g3e(Ep7;lNE8rP zLm!+^&7voMp=Dua;_|xn&4VGZ)RncP{e#1e%`N>JUvqo!jqQu!@ujSs5=#WcqBqRc z)_Z&?yW=FVkf`$%;|-_Mp#zu+h@|1ejt zpkPR{ovWWtsi%O1%J%-v(ecRy20c5!*xfgnl2rzY&I0*BP#Y(QSI0wRe>(f7`w+vB zxg6WED3j(uDlbU7Gh+vxV&{|ci&?&QMcS%In8cicdu_~ z9x*stS>Kbp)KXa1oRwDt4h;X?9U>^D!KEe6rX+$nyuQ4=TF0D^P9T3&b!6sN$EOxX z#-+J~zp1r(YUH@E%6&lY9c^vz{9at{?*G-XI#a(q5|fzu6&hy`3eq)mR@Sxv%4r{B zu_*M$*feT#dak{zzq+oew6eaWtS0(*A!s5#C^SYj(?J}p^UhqpXJB@GVy2~Y99~dY zSXz~lQ=c-oi{D z{^{MBC|l`iY40ho>8ktLmNH!(zgQafEAPup26#HvwijaB5p3M}#mec6daSErqP3i- zm4K`Ue73Qorm?KD!G9=Czr+8}?!o9b5`kXoS^qsUHs#OL002r{1sN%A@Z#R`h!VXK0|EAalT3(7#0 zpUnRc=rOk^npiJFlX~&Gi~3TMjGFovvW5L1X;IVX5%K%4{~%jN2R;Ptup(?zqw%7&EF1(X#S)c|=N781r!N=^o?G>6q=gqnt)LbDO-%oKX4+)E5j*obRW$aE znR|rJ?8^$ZFgB)88%<}BPKI5}D*j?iMt4T}Nbj4EttOvMs5La2klYYf6`1(~L1X#S z;~snH0_Vm+gtWm+*!T*u-g}BM$}eX6%PvpK!ICVVcr?46Ti1juHsB0cly}cQhoG6b zXIi^%AeUfLofOFsAj$pN7~W;&Q{+yC9rM2`pJ%ZzpaTk{s;j!}*0+HJVzIc^mu&Ix z4N2ABPH{<}p>oR~ss^xe;??7RU^s^aP0|$mHA5ckV*|?m+fMIC9!VVu6fL-p?t%hA zg%>>aNWGoro}x*TL_2!Vn%m_=@V`F+%Dvx$`?0`44yQB6UL%&gd$hRd3{*tWpNzbJ z(BMJpCS3FVv6YC%5`SKaJM7a2YT-?WsXoIiD+`=Z#Ms#o!Zobe+@)Rqz+^h$7b<69dXc;woDjn5{_;4pDJPecAwt4y+MdK)ur7`bnZy4o}TQ}0SieWU!$R#D^#7$hsFORA|+u7boB!=VZ1d)bDMMpp)U%TMi{$Qu!Gq`@r z@wq^0qi0~&^TQBf(kU@gePU8OA{m{}`(DY%X7f1&eu8RtMJLh$MZ8^lXT_E5&It$h zQ>M4Uk&}g9nLU=CsF6u&lJ-?%@{bYD6u4V?hTOPZc1p1`hG1rrLy7ShvST1g#WGjw^-{v)b%USBo6z^-ndfEjMt7e?QphB1ENc;1$%?_;1w7zKGTU@M<4lfv zKcjoT=E)4aaBnu_c*6nbrC{n5?I*~4W05A%V+l7r#On&y@Em$lKI8!IS)-l9q1z~_ zw=-w%t4CNPdqJtRm%TEi~ z$x5!$Ff8_Q7jw`%bF)9UUotu!<`;RWP}}RAgz+gIJ3Suu<-)Nt@b#qEfd`n?Poxvn z$e~+gBccDNpj7#s0oC@?;$hmgCC8kXxwK z<M3YX@@XvKA_vZZm)UApP~#f1n_yvpA+K?u;AW()N!+r*gSm=WmQNc8(=3( z?R`f~GCQFW=0q~V;_7vsX-?F}4!D#7uhO#5TJQlyACDP?R-wL{+vu|vhzpUSXlWBw zS?|$t(XGB<$}&{?pMPd;;G_%R`qriRfK1H!k*>d|ef?P<7hd^Kcs$oe&m_K|wI#T5 z2jgGyeQ_h|bT9*pTn*OS5KTmg^Aw(9J>#EI0Cci3d{A4ctWrRA#f5V7Jfiq>_KSpc zRz)4uQ8OWIAcEW0J$n#e_U^RWbV0H+Vqa^qYHJn6*JC9H6#Mc%qVB#(<=X1gkbh=@*qlFlQ7d;|%Z#;J=vcQ}eOq zpt&FxzwGd|lX}NzIv1G{srdqWcJj3vO2{}g0RN%%@)OeYJoq<7wsv>k*!A! zeyTun{-;T2cAfKKLh)?-cMLG|1~pL<+2C2forX zE$S80+rr5e<_XccZJEHeJ{wk3rsN8s-7D?gduQfRKv*pLMJ!T*$AQ5q+8(;zY|nLjqcNf`kLp$`|HatWG&6?k z|2~QfHfW~r9T`prtv%v)C3R=CVRBmBJ@|U*hwi(dZZjrXBu+$Dl3YN$|7dASY`#ng9F#~G_TEX130^9oe zYI*g376|B5*b>K^;C9dX&n+K5_4}TdW2XN9$+8prp9%DTQEBeOLPOA8U$;;&dV&;} zG)X-dPM#nnQ~$K#%P}+oM>P+s&aaXd@vPb#_~VhdnJes8y6QUb4N6u?d_KL#O%30{yb~>qrX1$v7BvG z0hy03o)G);#qZSG8)rL=zOvwP#rFY=X29az@H?5|VqSM&z##DW(r|1Y?7vF_s1M{% zkY402!7c%cDbnrU#l>FRvzw2-aofK;pi~dDu7|+0C-~`LdhUj4c^Et>Hp;tf$=3 zZ5guP19?g#$SGop{AuT2V-gW0v3jL% zP2TASJ{mNd8aT%5s|{ls7}F-UNSA(dJvj)d@4*E)tpjw=YK9z<)XAp8ZLxK8cg!72 z0~Ia8q6C9CcnqK{o=@FmXx}t^Kw~)9TcT*IAF1Yi^mN+S zU+!)STw<9dZuy}nx?UvG3%xJj?J63nsx|{uGc1K@)lgQ|b+iiPQSup?7RgKk^#Do_ zSAM|u@G~P9rjqqzkY`y9-o+zK#RfN_7eW3I#@)T_;HTu&mypCoMoJ6?o&U5=ERS|bFW0jO5X3HCOwZDy3J^^2R6{3Spm-%Q zRMyWqE9S>BH=@1Lsl*h5&q4{&?_>frv7YK_zS?y$%gb27$CUPsCkz&&j67*{bkOph3@KfyN!~ z>!$>yN`X-Wj=|C$I`Xc$sz(Jhi2OwXYoJAcd6Qa};Jlx|IxsW4@3k6yw2>jxE!UG@w z&OoqyaWoksEDK`P5CA>*eZk+y-4Giha{Lb!Wpf7WHAu{A-+r54Hc+^uqrCc>R5 zy6k1g-Ved9qYW+xN3bBhUS%hbe^dcPFF3Svw=ZAGxjPieMIq7Ol(84;pZjIJ{COeQ)}KJU;WyQ)IMRw9oAk zjc}n}zP)=&CJk#M5vF-k-)|@1Cxx!Dg17Ijxo0`Z*bY+pDKv9_g{VWq^>%G4c^)A$ zupoba&UY=g!xde@CbVL7M5r_9mLtVY8Aqm%o>?z zHaU$Hu+`1**{8a{F>tG!_TM8mlW-+xh&%$ir!Cl%IuoVwTrIa*PkoqYc5|VVo@tUh z7fu)orW#=GXQ(+0R9bANQkZF_B<~C&XON2i#=+r@V3_1*gX=s~(BeYGF#E;ijJD7z zIM2Oj*A@1ync*b*x^>0uQ|{rE9P^%IcKL zNV2Ixm?~3)t~$y?1(el?t{-T#A@c%Ph#(XEhMC>`o-mmd;#P+K>WaGS`h8;Iq&UkN zKf>tv&agN<;!~EqnD^<{5Cy|@XkoJg=UWbCZE?RMstYr(5!I!|9Pp06Mgq|hhu%w* z38~qT#8UqhWB%Wk&#vA$DVx8G7fO}pD3B(S_Io9i!>;s^$cj;KBcDToI7KzrVY#G_ zBHNF{{x?%*J}D;w9bKf@#m=Ab0vx6D$D=cm$90(zTYfP1C!*h{pig|Q(_b??cEe+a z<++{PLDEc5;)UMmG_39F{vEKkCoL*{dl_}7I{3!E)W(!)Xg4+N;#0b|4B|%gN$XU{ z-gC}(dFek{`7G>1R<9WC)C8c(n?*MU4!hy_!*h*sh3!dy_R8ooXR}2U5XVptB6=gc zw1<_2;t8vI6~mf^#C)p6LY$(V6{!#MH{i|a+}wm{ZDOt$G1Z?4%~j4DMC<1)hWKE^ z9x297YF#O>X}|gS4^x*N3v1VGLpww1s^0^l33^G*MVqAq#YRY zWvztD?I~h%r9VL}o7`JXX1Z~}gzo~~wZH2Yc|0}6h@_VZN`THbM~v%*`wYyc`7=FI zHY=l*g2;AbOKXN~m3Mp1@5Wvk3qmHkBcHy)H?6__Yf}H8c!{OX93uIl8uInS|LZBp Ls>)PKe-8OC!VR9h literal 0 HcmV?d00001 diff --git a/docs/file-store/files.png b/docs/file-store/files.png new file mode 100644 index 0000000000000000000000000000000000000000..55289ac96c1fad4c15db1dff253922e97e3a8369 GIT binary patch literal 8226 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 obj.widget !== undefined && obj.link === null).map(obj => obj.name); for (const w of node.widgets) { - if (w.options?.forceInput) { + if (w.options?.forceInput || !wNames.includes(w.name)) { continue; } if (w.type !== CONVERTED_TYPE) { diff --git a/js/MultiTextConcatenate.js b/js/MultiTextConcatenate.js index 578a535..f6834f1 100644 --- a/js/MultiTextConcatenate.js +++ b/js/MultiTextConcatenate.js @@ -6,7 +6,7 @@ import {CUSTOM_INT, recursiveLinkUpstream, transformFunc, swapInputs,swapOutputs app.registerExtension({ name: "Comfy.lam.MultiTextConcatenate", async beforeRegisterNodeDef(nodeType, nodeData, app) { - var showNames=["IfInnerExecute",'MultiIntFormula','MultiParamFormula','ForInnerEnd','DoWhileEnd',"LamSwitcherCase"] + var showNames=["IfInnerExecute",'MultiIntFormula','MultiParamFormula','ForInnerEnd','DoWhileEnd',"LamSwitcherCase","LamCommonHidden"] if (showNames.indexOf(nodeData.name)>=0) { const onDrawForeground = nodeType.prototype.onDrawForeground; let oldText='' diff --git a/pages/paint-board/assets/index.291b309c.js b/pages/paint-board/assets/index.291b309c.js index b18d8a1..2f5de61 100644 --- a/pages/paint-board/assets/index.291b309c.js +++ b/pages/paint-board/assets/index.291b309c.js @@ -1,4 +1,4 @@ -var _=Object.defineProperty;var P=(t,e,a)=>e in t?_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a;var l=(t,e,a)=>(P(t,typeof e!="symbol"?e+"":e,a),a);import{f as fabric,c as create,p as persist,v as v4,a as createJSONStorage,b as produce,g as get,s as set,d as del,l as lodash,e as diff,h as patch,u as unpatch,i as useTranslation,j as jsxs,k as jsx,r as react,F as Fragment,S as Swiper,P as Pagination,m as SwiperSlide,n as axios,R as React,o as instance,q as initReactI18next,t as client}from"./vendor.dfa0e071.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const n of o.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&r(n)}).observe(document,{childList:!0,subtree:!0});function a(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=a(s);fetch(s.href,o)}})();const getRandomInt=(t,e)=>Math.floor(Math.random()*(e-t+1))+t,formatPublicUrl=t=>t&&typeof t=="string"?`/paint-board/${t}`:"",getDistance=(t,e)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)),isMobile=()=>/phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|Mobi|Android|iPhone|iPad/i.test(navigator.userAgent);let isMouseDown=!1,isDisableDraw=isMobile();class BrushMouseMixin{constructor(){l(this,"canvas",null)}initCanvas(e){this.canvas=e,this._initBrushMouse()}_initBrushMouse(){fabric.fabric.util.object.extend(this.canvas,{_onMouseDownInDrawingMode:function(){},_onMouseMoveInDrawingMode:function(e){isDisableDraw||(isMouseDown?fabric.fabric.Canvas.prototype._onMouseMoveInDrawingMode.call(this,e):(isMouseDown=!0,fabric.fabric.Canvas.prototype._onMouseDownInDrawingMode.call(this,e)))},_onMouseUpInDrawingMode:function(e){isDisableDraw||(isMouseDown=!1,fabric.fabric.Canvas.prototype._onMouseUpInDrawingMode.call(this,e))}})}updateIsDisableDraw(e){isDisableDraw=e}}const brushMouseMixin=new BrushMouseMixin;class AlignGuideLine{constructor(){l(this,"openAlignGuideLine",!0)}updateOpenState(e){this.openAlignGuideLine=e}init(e,a){const r=e.getSelectionContext(),s=5,o=4,n=1,i="rgb(102, 204, 138)";let c,d=1;this.openAlignGuideLine=a;function h(g){f(g.x+.5,g.y1>g.y2?g.y2:g.y1,g.x+.5,g.y2>g.y1?g.y2:g.y1)}function p(g){f(g.x1>g.x2?g.x2:g.x1,g.y+.5,g.x2>g.x1?g.x2:g.x1,g.y+.5)}function f(g,S,b,k){c!=null&&(r.save(),r.lineWidth=n,r.strokeStyle=i,r.beginPath(),r.moveTo(g*d+c[4],S*d+c[5]),r.lineTo(b*d+c[4],k*d+c[5]),r.stroke(),r.restore())}function u(g,S){g=Math.round(g),S=Math.round(S);for(let b=g-o,k=g+o;b<=k;b++)if(b===S)return!0;return!1}const m=[],w=[];e.on("mouse:down",()=>{c=e.viewportTransform,d=e.getZoom()}),e.on("object:moving",g=>{if(c===void 0||g.target===void 0||!this.openAlignGuideLine)return;const S=g.target,b=e.getObjects(),k=S.getCenterPoint(),x=k.x,y=k.y,j=S.getBoundingRect(),M=j.height/c[3],T=j.width/c[0];let B=!1,I=!1;if(!!e._currentTransform){for(let D=b.length;D--;){if(b[D]===S)continue;const A=b[D].getCenterPoint(),C=A.x,v=A.y,R=b[D].getBoundingRect(),E=R.height/c[3],L=R.width/c[0];u(C,x)&&(I=!0,m.push({x:C,y1:vv?y+M/2+s:y-M/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(C,y),"center","center")),u(C-L/2,x-T/2)&&(I=!0,m.push({x:C-L/2,y1:vv?y+M/2+s:y-M/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(C-L/2+T/2,y),"center","center")),u(C+L/2,x+T/2)&&(I=!0,m.push({x:C+L/2,y1:vv?y+M/2+s:y-M/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(C+L/2-T/2,y),"center","center")),u(v,y)&&(B=!0,w.push({y:v,x1:CC?x+T/2+s:x-T/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(x,v),"center","center")),u(v-E/2,y-M/2)&&(B=!0,w.push({y:v-E/2,x1:CC?x+T/2+s:x-T/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(x,v-E/2+M/2),"center","center")),u(v+E/2,y+M/2)&&(B=!0,w.push({y:v+E/2,x1:CC?x+T/2+s:x-T/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(x,v+E/2-M/2),"center","center"))}B||(w.length=0),I||(m.length=0)}}),e.on("before:render",()=>{try{e.clearContext(e.contextTop)}catch(g){console.log(g)}}),e.on("after:render",()=>{for(let g=m.length;g--;)h(m[g]);for(let g=w.length;g--;)p(w[g]);m.length=0,w.length=0}),e.on("mouse:up",()=>{m.length=0,w.length=0,e.renderAll()})}}const alignGuideLine=new AlignGuideLine,ActionMode={DRAW:"draw",ERASE:"erase",SELECT:"select",Board:"board"},FREESTYLE_ELEMENT_CUSTOM_TYPE={IMAGE:"image",I_TEXT:"itext",RAINBOW:"rainbow",SHAPE:"shape",PIXELS:"pixels",DRAW_TEXT:"drawText",MULTI_LINE:"multiLine",RETICULATE:"reticulate",MULTI_POINT:"multiPoint",WIGGLE:"wiggle",THORN:"thorn"},SHAPE_ELEMENT_CUSTOM_TYPE={SHAPE_LINE:"shapeLine",SHAPE_RECT:"shapeRect",SHAPE_CIRCLE:"shapeCircle",SHAPE_ELLIPSE:"shapeEllipse",SHAPE_TRIANGLE:"shapeTriangle",SHAPE_ARROW_LINE:"shapeArrowLine",SHAPE_ARROW_OUTLINE:"shapeArrowOutline",SHAPE_CLOUD:"shapeCloud",SHAPE_TOOLTIPS:"shapeTooltips",SHAPE_LIGHTNING:"shapeLightning",SHAPE_CLOSE:"shapeClose",SHAPE_CHECK:"shapeCheck",SHAPE_INFO:"shapeInfo",SHAPE_BACKSPACE:"shapeBackspace",SHAPE_BLOCK:"shapeBlock",SHAPE_SPEAKER:"shapeSpeaker",SHAPE_SEARCH:"shapeSearch",SHAPE_INFO_OUTLINE:"shapeInfoOutline",SHAPE_HEART:"shapeHeart",SHAPE_ALERT:"shapeAlert"},ELEMENT_CUSTOM_TYPE={...FREESTYLE_ELEMENT_CUSTOM_TYPE,...SHAPE_ELEMENT_CUSTOM_TYPE},DrawType={FreeStyle:"freeStyle",Shape:"shape"},DrawStyle={Basic:"basic",Rainbow:"rainbow",Shape:"shape",Material:"material",Pixels:"pixels",MultiColor:"multiColor",Text:"text",MultiLine:"multiLine",Reticulate:"reticulate",MultiPoint:"multiPoint",Wiggle:"wiggle",Thorn:"thorn"},DrawShape={Bubble:"bubble",Star:"star",Love:"love",Butterfly:"butterfly",Snow:"snow",Music:"music",Sun:"sun",Moon:"moon",Leaf:"leaf",Flower:"flower"};function hexToRgba(t,e=1){const a=parseInt(t.slice(1),16),r=a>>16&255,s=a>>8&255,o=a&255;return`rgba(${r}, ${s}, ${o}, ${e})`}function getAlphaFromRgba(t){const e=t.match(/rgba?\((\d+),\s*(\d+),\s*(\d+),\s*([\d.]+)\)/);return e?parseFloat(e[4]):1}function changeAlpha(t,e){const a=t.match(/rgba?\((.*?)\)/);if(!a)return t;const r=a[1].split(",").map(o=>o.trim());return e=Math.min(1,Math.max(0,e)),`rgba(${r[0]}, ${r[1]}, ${r[2]}, ${e})`}function isHexColor(t){return/^#([0-9A-Fa-f]{3}){1,2}$/.test(t)}function isRgbaColor(t){return/^rgba?\((\d+,\s*){2}\d+,\s*(0(\.\d+)?|1(\.0)?)\)$/.test(t)}function getColorFormat(t){return isHexColor(t)?"hex":isRgbaColor(t)?"rgba":"unknown"}const initLanguage=["en","en-US","en-us"].includes(navigator.language)?"en":"zh",useBoardStore=create()(persist((t,e)=>({mode:ActionMode.DRAW,drawType:DrawType.FreeStyle,language:initLanguage,canvasWidth:1,canvasHeight:1,backgroundColor:"rgba(255, 255, 255, 1)",backgroundOpacity:1,isObjectCaching:!0,openGuideLine:!1,updateMode:a=>{e().mode!==a&&(paintBoard.handleMode(a),t({mode:a}))},updateDrawType:a=>{e().drawType!==a&&(t({drawType:a}),paintBoard.handleMode())},updateLanguage(a){t({language:a})},initBackground:()=>{var r;const a=(r=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:r.backgroundColor;if(a&&typeof a=="string"){const s=getColorFormat(a);if(s==="hex"){const o=hexToRgba(a),n=getAlphaFromRgba(o);t({backgroundColor:o,backgroundOpacity:n})}else if(s==="rgba"){const o=getAlphaFromRgba(a);t({backgroundColor:a,backgroundOpacity:o})}}else paintBoard!=null&&paintBoard.canvas&&(paintBoard.canvas.backgroundColor="rgba(255, 255, 255, 1)",t({backgroundColor:"rgba(255, 255, 255, 1)",backgroundOpacity:1}))},updateCanvasWidth:a=>{e().canvasWidth!==a&&(t({canvasWidth:a}),paintBoard.updateCanvasWidth(a))},updateCanvasHeight:a=>{e().canvasHeight!==a&&(t({canvasHeight:a}),paintBoard.updateCanvasHeight(a))},updateBackgroundColor:a=>{const r=paintBoard.canvas;r&&a!==(r==null?void 0:r.backgroundColor)&&t(s=>{const o=hexToRgba(a,s.backgroundOpacity);return r.backgroundColor=o,{backgroundColor:o}})},updateBackgroundOpacity:a=>{t(r=>{const s=paintBoard.canvas;if(s&&a!==r.backgroundOpacity){const o=changeAlpha(r.backgroundColor,a);return s.backgroundColor=o,{backgroundOpacity:a,backgroundColor:o}}return{}})},updateCacheState(){var r;const a=e().isObjectCaching;t({isObjectCaching:!a}),fabric.fabric.Object.prototype.set({objectCaching:useBoardStore.getState().isObjectCaching}),(r=paintBoard==null?void 0:paintBoard.canvas)==null||r.renderAll()},updateOpenGuideLine(){const a=!e().openGuideLine;t({openGuideLine:a}),alignGuideLine.updateOpenState(a)}}),{name:"PAINT-BOARD-STORE"})),storage={getItem:async t=>await get(t)||null,setItem:async(t,e)=>{await set(t,e)},removeItem:async t=>{await del(t)}},initId=v4(),BOARD_VERSION="1.3.1",useFileStore=create()(persist((t,e)=>({currentId:initId,files:[{id:initId,title:"paint-board",boardVersion:BOARD_VERSION,boardData:{},zoom:1,canvasWidth:.45,canvasHeight:.85}],updateCurrentFile(a){const r=e().currentId;a!==r&&t({currentId:a})},updateTitle(a,r){var n;const s=e().files,o=s==null?void 0:s.findIndex(i=>i.id===r);((n=s==null?void 0:s[o])==null?void 0:n.title)!==a&&t(produce(i=>{i.files[o].title=a}))},updateBoardData(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);t(produce(o=>{o.files[s].boardVersion=BOARD_VERSION,o.files[s].boardData=a}))},updateZoom(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);s>-1&&t(produce(o=>{o.files[s].zoom=a}))},updateTransform(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);s>-1&&t(produce(o=>{o.files[s].viewportTransform=a}))},updateCanvasWidth(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);s>-1&&t(produce(o=>{o.files[s].canvasWidth=a}))},updateCanvasHeight(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);s>-1&&t(produce(o=>{o.files[s].canvasHeight=a}))},addFile(){const a=v4();t(produce(r=>{r.files.unshift({id:a,title:"empty title",boardVersion:BOARD_VERSION,boardData:{},zoom:1,canvasWidth:useBoardStore.getState().canvasWidth,canvasHeight:useBoardStore.getState().canvasHeight})}))},deleteFile(){const a=e().files;if(a.length>1){const r=a==null?void 0:a.findIndex(s=>s.id===e().currentId);t(produce(s=>{s.files.splice(r,1),s.currentId=s.files[0].id}))}},saveJSON(){var r;const a=(r=e().files)==null?void 0:r.find(s=>s.id===e().currentId);if(a){const s=JSON.stringify(a),o=new Blob([s],{type:"application/json"}),n=document.createElement("a");n.href=URL.createObjectURL(o),n.download="paint-board.json",n.click(),URL.revokeObjectURL(n.href)}},uploadFile(a){return new Promise(r=>{if(a){const s=new FileReader;s.onload=o=>{var c;const n=(c=o.target)==null?void 0:c.result;let i=!1;if(n){const d=JSON.parse(n);if((d==null?void 0:d.boardData)&&(d==null?void 0:d.title)){const h=v4();t(produce(p=>{p.files.unshift({id:h,title:d==null?void 0:d.title,boardVersion:(d==null?void 0:d.boardVersion)||BOARD_VERSION,boardData:d==null?void 0:d.boardData,canvasWidth:(d==null?void 0:d.canvasWidth)||1,canvasHeight:(d==null?void 0:d.canvasHeight)||1}),p.currentId=p.files[0].id})),i=!0}}r(i)},s.onerror=o=>{console.log("reader fail",o),r(!1)},s.readAsText(a)}else r(!1)})}}),{name:"PAINT-BOARD-FILES",storage:createJSONStorage(()=>storage)}));function getObjectSizeWithStroke$1(t){const e=new fabric.fabric.Point(t.strokeUniform?1/t.scaleX:1,t.strokeUniform?1/t.scaleY:1).multiply(t.strokeWidth);return new fabric.fabric.Point(t.width+e.x,t.height+e.y)}const polygonPositionHandler=function(t,e,a){var n;const r=a.points,s=r[this.pointIndex].x-a.pathOffset.x,o=r[this.pointIndex].y-a.pathOffset.y;return fabric.fabric.util.transformPoint({x:s,y:o},fabric.fabric.util.multiplyTransformMatrices((n=a.canvas)==null?void 0:n.viewportTransform,a.calcTransformMatrix()))},actionHandler$1=function(t,e,a,r){const s=e.target,o=s.controls[s.__corner],n=s.toLocalPoint(new fabric.fabric.Point(a,r),"center","center"),i=getObjectSizeWithStroke$1(s),c=s._getTransformedDimensions(0,0),d={x:n.x*i.x/c.x+s.pathOffset.x,y:n.y*i.y/c.y+s.pathOffset.y},h=s.points;return h[o.pointIndex]=d,!0};function anchorWrapper$1(t,e){return function(a,r,s,o){const n=r.target,i=n.points,c=fabric.fabric.util.transformPoint({x:i[t].x-n.pathOffset.x,y:i[t].y-n.pathOffset.y},n.calcTransformMatrix()),d=e(a,r,s,o);n._setPositionDimensions({});const h=getObjectSizeWithStroke$1(n),p=(i[t].x-n.pathOffset.x)/h.x,f=(i[t].y-n.pathOffset.y)/h.y;return n.setPositionByOrigin(c,p+.5,f+.5),d}}function calculateArrowSlidePath(t,e,a,r,s){const o=Math.atan2(s-a,r-e),n=10,i=r-n*Math.cos(o-Math.PI/6),c=s-n*Math.sin(o-Math.PI/6),d=r-n*Math.cos(o+Math.PI/6),h=s-n*Math.sin(o+Math.PI/6);return t[t.length-4][1]=r,t[t.length-4][2]=s,t[t.length-3][1]=i,t[t.length-3][2]=c,t[t.length-2][1]=r,t[t.length-2][2]=s,t[t.length-1][1]=d,t[t.length-1][2]=h,t}function getObjectSizeWithStroke(t){const e=new fabric.fabric.Point(t.strokeUniform?1/t.scaleX:1,t.strokeUniform?1/t.scaleY:1).multiply(t.strokeWidth);return new fabric.fabric.Point(t.width+e.x,t.height+e.y)}const pathPositionHandler=function(t,e,a){var n;const r=a.path,s=r[this.pointIndex][1]-a.pathOffset.x,o=r[this.pointIndex][2]-a.pathOffset.y;return fabric.fabric.util.transformPoint({x:s,y:o},fabric.fabric.util.multiplyTransformMatrices((n=a.canvas)==null?void 0:n.viewportTransform,a.calcTransformMatrix()))},actionHandler=function(t,e,a,r){const s=e.target,o=s.controls[s.__corner],n=s.toLocalPoint(new fabric.fabric.Point(a,r),"center","center"),i=getObjectSizeWithStroke(s),c=s._getTransformedDimensions(0,0),d={x:n.x*i.x/c.x+s.pathOffset.x,y:n.y*i.y/c.y+s.pathOffset.y},h=s.path;if(h[o.pointIndex][1]=d.x,h[o.pointIndex][2]=d.y,o.pointIndex===(h==null?void 0:h.length)-5||o.pointIndex===(h==null?void 0:h.length)-6){const p=h[h.length-6],f=h[h.length-5],u=calculateArrowSlidePath(h,p[1],p[2],f[1],f[2]);s._setPath(u)}return!0};function anchorWrapper(t,e){return function(a,r,s,o){const n=r.target,i=n.path,c=fabric.fabric.util.transformPoint({x:i[t][1]-n.pathOffset.x,y:i[t][2]-n.pathOffset.y},n.calcTransformMatrix()),d=e(a,r,s,o);n._setPath(n.path);const h=getObjectSizeWithStroke(n),p=(i[t][1]-n.pathOffset.x)/h.x,f=(i[t][2]-n.pathOffset.y)/h.y;return n.setPositionByOrigin(c,p+.5,f+.5),d}}const getCanvasJSON=()=>{var e;const t=paintBoard==null?void 0:paintBoard.canvas;return t?(e=t.toDatalessJSON(["id","_customType","perPixelTargetFind","objectCaching"]))!=null?e:{}:{}},handleCanvasJSONLoaded=t=>{t.getObjects().forEach(e=>{if(e._customType===ELEMENT_CUSTOM_TYPE.SHAPE_LINE){const a=e.points,r=a.length-1;e.controls=a.reduce(function(s,o,n){return s["p"+n]=new fabric.fabric.Control({positionHandler:polygonPositionHandler,actionHandler:anchorWrapper$1(n>0?n-1:r,actionHandler$1),actionName:"polylineEndPoint",pointIndex:n}),s},{})}if(e._customType===ELEMENT_CUSTOM_TYPE.SHAPE_ARROW_LINE){const a=e.path;e.controls=a.slice(0,a.length-4).reduce(function(r,s,o){return r["p"+o]=new fabric.fabric.Control({positionHandler:pathPositionHandler,actionHandler:anchorWrapper(o>0?o-1:a.length-5,actionHandler),actionName:"pathEndPoint",pointIndex:o}),r},{})}})},initState={};class History{constructor(){l(this,"diffs",[]);l(this,"canvasData",{});l(this,"index",0);var a;if(paintBoard.canvas){const r=getCanvasJSON();this.canvasData={...lodash.exports.omit(r,"objects"),objects:lodash.exports.cloneDeep((a=r==null?void 0:r.objects)!=null?a:[])}}}saveState(){var a;if(paintBoard==null?void 0:paintBoard.canvas){this.diffs=this.diffs.slice(0,this.index);const r=getCanvasJSON(),s=diff(r,this.canvasData);this.diffs.push(s),this.diffs.length>50?this.diffs.shift():this.index++,this.canvasData={...lodash.exports.omit(r,"objects"),objects:lodash.exports.cloneDeep((a=r==null?void 0:r.objects)!=null?a:[])},useFileStore.getState().updateBoardData(r)}}undo(){const e=paintBoard==null?void 0:paintBoard.canvas;if(e&&this.index>0){const a=this.diffs[this.index-1];this.index--;const r=patch(this.canvasData,a);if(e.loadFromJSON(r,()=>{var s;handleCanvasJSONLoaded(e),e.requestRenderAll(),useFileStore.getState().updateBoardData(r),this.canvasData={...lodash.exports.omit(r,"objects"),objects:lodash.exports.cloneDeep((s=r==null?void 0:r.objects)!=null?s:[])},paintBoard.triggerHook()}),Object.keys(r).length==0){const s=paintBoard.canvas;s&&(s.backgroundColor="rgba(255, 255, 255, 1)")}}}redo(){const e=paintBoard==null?void 0:paintBoard.canvas;if(this.index{var s;handleCanvasJSONLoaded(e),e.requestRenderAll(),useFileStore.getState().updateBoardData(r),this.canvasData={...lodash.exports.omit(r,"objects"),objects:lodash.exports.cloneDeep((s=r==null?void 0:r.objects)!=null?s:[])},paintBoard.triggerHook()}),Object.keys(r).length==0){const s=paintBoard.canvas;s&&(s.backgroundColor="rgba(255, 255, 255, 1)")}}console.log("redo",this.diffs.length)}clean(){var a;(a=paintBoard==null?void 0:paintBoard.canvas)==null||a.clear(),this.index=0,this.diffs=[],this.canvasData={},useFileStore.getState().updateBoardData(initState);const e=paintBoard.canvas;e&&(e.backgroundColor="rgba(255, 255, 255, 1)")}initHistory(){if(paintBoard.canvas){const a=getCanvasJSON();this.canvasData=a,this.index=0,this.diffs=[]}}}const ShapeStyle={Line:"line",Rect:"rect",Circle:"cricle",Ellipse:"ellipse",Triangle:"triangle",ArrowLine:"arrowLine",ArrowOutline:"arrowOutline",Cloud:"cloud",Tooltips:"tooltips",Lightning:"lightning",Close:"close",Check:"check",Info:"info",Backspace:"backspace",Block:"block",Speaker:"speaker",Search:"search",InfoOutline:"infoOutline",Heart:"heart",Alert:"alert"},ShapeBorderType={Solid:"solid",Dashed:"dashed",Dotted:"dotted"},ShapeFillType={Transparent:"transparent",Full:"full"},getDrawWidth=t=>{var e,a;return(t!=null?t:useDrawStore.getState().drawWidth)/((a=(e=paintBoard.canvas)==null?void 0:e.getZoom())!=null?a:1)},getEraserWidth=t=>{var e,a;return(t!=null?t:useDrawStore.getState().eraserWidth)/((a=(e=paintBoard.canvas)==null?void 0:e.getZoom())!=null?a:1)},getShadowWidth=t=>{var e,a;return(t!=null?t:useDrawStore.getState().shadowWidth)/((a=(e=paintBoard.canvas)==null?void 0:e.getZoom())!=null?a:1)},setObjectAttr=(t,e)=>{const a=v4();t.set({id:a,_customType:e})},MATERIAL_TYPE={CRAYON:"crayon",CARBON:"carbon",CLOTH:"cloth",OIL:"oil",CRAYON_DARK:"crayonDark"};class Material{constructor(){l(this,"initPromise",null);l(this,"crayonImage",null);l(this,"carbonImage",null);l(this,"clothImage",null);l(this,"oilImage",null);l(this,"crayonDarkImage",null);this.initMaterial()}async initMaterial(){this.initPromise=Promise.all([this.loadImage(MATERIAL_TYPE.CRAYON),this.loadImage(MATERIAL_TYPE.CARBON),this.loadImage(MATERIAL_TYPE.CLOTH),this.loadImage(MATERIAL_TYPE.OIL),this.loadImage(MATERIAL_TYPE.CRAYON_DARK)])}render({materialType:e=useDrawStore.getState().materialType,color:a=useDrawStore.getState().drawColors[0]}){var r;(r=this.initPromise)==null||r.then(()=>{switch(e){case MATERIAL_TYPE.CRAYON:this.renderMaterial(this.crayonImage,a);break;case MATERIAL_TYPE.CARBON:this.renderMaterial(this.carbonImage,a);break;case MATERIAL_TYPE.CLOTH:this.renderMaterial(this.clothImage,a);break;case MATERIAL_TYPE.OIL:this.renderMaterial(this.oilImage,a);break;case MATERIAL_TYPE.CRAYON_DARK:this.renderMaterial(this.crayonDarkImage,a);break}})}renderMaterial(e,a,r=1){if(paintBoard.canvas){const s=new fabric.fabric.PatternBrush(paintBoard.canvas),o=document.createElement("canvas");o.width=o.height=100;const n=o.getContext("2d");n&&(n.fillStyle=a,n.fillRect(0,0,100,100),e&&(n.globalAlpha=r,n.drawImage(e,0,0,100,100))),s.getPatternSrc=()=>o,s.getPatternSrcFunction=()=>o,paintBoard.canvas.freeDrawingBrush=s,paintBoard.canvas.freeDrawingBrush.width=getDrawWidth(),paintBoard.canvas.freeDrawingBrush.shadow=new fabric.fabric.Shadow({blur:getShadowWidth(),offsetX:0,offsetY:0,color:useDrawStore.getState().shadowColor})}}loadImage(e){return new Promise(a=>{const r=new Image;r.src=formatPublicUrl(`pattern/${e}.png`),r.onload=()=>{switch(e){case MATERIAL_TYPE.CARBON:this.carbonImage=r;break;case MATERIAL_TYPE.CRAYON:this.crayonImage=r;break;case MATERIAL_TYPE.CLOTH:this.clothImage=r;break;case MATERIAL_TYPE.OIL:this.oilImage=r;break;case MATERIAL_TYPE.CRAYON_DARK:this.crayonDarkImage=r;break}a(!0)},r.onerror=()=>{a(!1)}})}}const material=new Material,COLOR_WIDTH=5,MultiColorType={COL:"col",ROW:"row",CIRCLE:"circle"},renderMultiColor=t=>{var i,c;const e=paintBoard.canvas;if(!e)return;const a=(i=t==null?void 0:t.colors)!=null?i:useDrawStore.getState().drawColors,r=(c=t==null?void 0:t.type)!=null?c:useDrawStore.getState().multiColorType,s=new fabric.fabric.PatternBrush(e),o=document.createElement("canvas"),n=o.getContext("2d");if(n){switch(r){case MultiColorType.COL:renderCol(o,n,a);break;case MultiColorType.ROW:renderRow(o,n,a);break;case MultiColorType.CIRCLE:renderCircle(o,n,a);break}s.getPatternSrc=()=>o,s.getPatternSrcFunction=()=>o,e.isDrawingMode=!0,e.freeDrawingBrush=s,e.freeDrawingBrush.width=getDrawWidth(),e.freeDrawingBrush.shadow=new fabric.fabric.Shadow({blur:getShadowWidth(),offsetX:0,offsetY:0,color:useDrawStore.getState().shadowColor})}};function renderCol(t,e,a){t.width=COLOR_WIDTH*a.length,t.height=20,a.forEach((r,s)=>{e.fillStyle=r,e.fillRect(COLOR_WIDTH*s,0,COLOR_WIDTH,20)})}function renderRow(t,e,a){t.width=20,t.height=COLOR_WIDTH*a.length,a.forEach((r,s)=>{e.fillStyle=r,e.fillRect(0,COLOR_WIDTH*s,20,COLOR_WIDTH)})}function renderCircle(t,e,a){const o=a.length,n=2*5+o*10*2+(o-1)*5;t.width=n,t.height=10*2+2*5;let i=5+10;const c=5+10;for(let d=0;d({drawWidth:10,drawColors:["#000000"],shadowWidth:0,shadowColor:"#000000",drawTextValue:"draw",drawStyle:DrawStyle.Basic,drawShapeCount:2,materialType:MATERIAL_TYPE.CRAYON,drawShape:DrawShape.Bubble,eraserWidth:20,multiColorType:MultiColorType.COL,textFontFamily:"Georgia",openAutoDraw:!1,fontStyles:[],updateDrawWidth(a){e().drawWidth!==a&&paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.width=getDrawWidth(a),t({drawWidth:a}))},updateDrawColors:a=>{t(r=>{switch(r.drawStyle){case DrawStyle.Basic:paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.color=a[0]);break;case DrawStyle.Material:r.drawColors[0]!==a[0]&&material.render({});break;case DrawStyle.MultiColor:renderMultiColor({colors:a});break}return{drawColors:a}})},updateShadowWidth:a=>{t(()=>(paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.shadow.blur=getShadowWidth(a)),{shadowWidth:a}))},updateShadowColor:a=>{t(()=>(paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.shadow.color=a),{shadowColor:a}))},updateDrawShape:a=>t({drawShape:a}),updateDrawStyle:a=>{t({drawStyle:a}),paintBoard.handleDrawStyle()},updateDrawShapeCount:a=>t({drawShapeCount:a}),updateDrawTextValue:a=>t({drawTextValue:a}),updateMaterialType(a){t(r=>(r.materialType!==a&&material.render({materialType:a}),{materialType:a}))},updateEraserWidth(a){t(r=>(r.drawWidth!==a&&paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.width=getEraserWidth(a)),{eraserWidth:a}))},updateMultiColorType(a){t(r=>(r.multiColorType!==a&&renderMultiColor({type:a}),{multiColorType:a}))},updateTextFontFamily(a){t({textFontFamily:a})},updateAutoDrawState(){const a=!e().openAutoDraw;t({openAutoDraw:a})},updateFontStyles(a){const r=[...e().fontStyles],s=r.findIndex(o=>o===a);s!==-1?r.splice(s,1):r.push(a),t({fontStyles:r})}}));class AutoDrawData{constructor(){l(this,"inks",[]);l(this,"paths",[]);l(this,"oldSVG",null);l(this,"curLeft",0);l(this,"curTop",0);l(this,"curSize",0)}addPath(e){this.paths.push(e)}clearPath(){this.paths=[]}addInk(e){this.inks.push(e)}clearInks(){this.inks=[]}resetLoadedSVG(){this.oldSVG=null,this.curLeft=0,this.curTop=0,this.curSize=0}clearDraw(){this.clearPath(),this.clearInks()}replaceSVGImg(e){var a;if(this.oldSVG&&paintBoard.canvas){paintBoard.canvas.remove(this.oldSVG),fabric.fabric.loadSVGFromURL(e,(r,s)=>{var i;const o=useDrawStore.getState().drawColors[0];r.forEach(c=>{c.set({fill:"transparent",stroke:o})});const n=fabric.fabric.util.groupSVGElements(r,{...s,minX:0,minY:0,left:this.curLeft,top:this.curTop,scaleX:this.curSize/s.width,scaleY:this.curSize/s.height,perPixelTargetFind:!0});this.oldSVG=n,(i=paintBoard.canvas)==null||i.add(n),paintBoard.render()});return}if(e&&((a=this.paths)==null?void 0:a.length)&&paintBoard.canvas){let r=Number.MAX_SAFE_INTEGER,s=Number.MAX_SAFE_INTEGER,o=0;this.paths.forEach(n=>{const{bl:i={x:0,y:0},tl:c={x:0,y:0},tr:d={x:0,y:0}}=(n==null?void 0:n.lineCoords)||{};r=Math.min(r,(n==null?void 0:n.left)||Number.MAX_SAFE_INTEGER),s=Math.min(s,(n==null?void 0:n.top)||Number.MAX_SAFE_INTEGER),o=Math.max(o,Math.abs(c.x-d.x),Math.abs(c.y-i.y))}),fabric.fabric.loadSVGFromURL(e,(n,i)=>{var h;const c=useDrawStore.getState().drawColors[0];n.forEach(p=>{p.set({fill:"transparent",stroke:c})});const d=fabric.fabric.util.groupSVGElements(n,{...i,minX:0,minY:0,left:r,top:s,scaleX:o/i.width,scaleY:o/i.height,perPixelTargetFind:!0});this.oldSVG=d,this.curLeft=r,this.curTop=s,this.curSize=o,(h=paintBoard.canvas)==null||h.add(d),paintBoard.render(),this.clearDraw()})}}}const autoDrawData=new AutoDrawData;class ReticulateElement{constructor(){l(this,"lastTime",0);l(this,"points",[]);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.RETICULATE)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);this.points.push(r),!(this.points.length<2)&&(this.group.addWithUpdate(drawReticulate(this.points)),(s=paintBoard.canvas)==null||s.requestRenderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawReticulate(t){var o,n,i,c;const e=useDrawStore.getState().drawColors[0],a=Math.ceil(useDrawStore.getState().drawWidth/3/((n=(o=paintBoard.canvas)==null?void 0:o.getZoom())!=null?n:1)),r=[];r.push(new fabric.fabric.Line([t[t.length-1].x,t[t.length-1].y,t[t.length-2].x,t[t.length-2].y],{stroke:e,strokeWidth:a}));const s=1e3/((c=(i=paintBoard.canvas)==null?void 0:i.getZoom())!=null?c:1);for(let d=0;d{const i=getRandomInt(e*.3,e),c=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n];return new fabric.fabric.Circle({left:o.x,top:o.y,radius:i,opacity:Math.random(),fill:c})});return new fabric.fabric.Group(r)}function drawStar(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawItemStar(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawItemStar(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawItemStar(t){const e=getRandomInt(t,t*2)*2,a=e*(9/10),r=a/2,s=e/2,o=Math.PI/5,n=[];for(let c=0;c<10;c++){const d=c%2===0?a/2:a/4,h=r+d*Math.cos(c*o),p=s+d*Math.sin(c*o);n.push({x:h,y:p})}return new fabric.fabric.Polygon(n,{opacity:Math.random()})}function drawLove(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawLoveItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawLoveItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawLoveItem(t){const e=getRandomInt(t*1.5,t*3),a="M20.808,11.079C19.829,16.132,12,20.5,12,20.5s-7.829-4.368-8.808-9.421C2.227,6.1,5.066,3.5,8,3.5a4.444,4.444,0,0,1,4,2,4.444,4.444,0,0,1,4-2C18.934,3.5,21.773,6.1,20.808,11.079Z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawButterfly(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawButterflyItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawButterflyItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawButterflyItem(t){const e=getRandomInt(t*1.5,t*3),a="M214.37 208H70.57c-31 0-57.37 14.9-67.26 45.33C1.57 258.71 0 265.54 0 272c0 48 96 128 144 128 28.95 0 53.24-10.67 75.72-33.14-8.58 11.05-13.81 23.47-15.72 37.28-6.98 49.25 1.73 83.2 27.23 91.48C255.99 503.66 288 512 304 512c48 0 53.35-109.18 26.33-144.39L214.37 208zm29.29-21.28L288.1 49.96C297.68 20.47 320 0 352 0c5.66 0 12.64.62 18.78 2.61 45.65 14.84 92.07 130.86 77.23 176.51-8.94 27.54-26.59 47.34-54.91 61.77 13.15-4.74 26.59-5.88 40.31-3.42 49 8.58 78.59 27.35 78.59 54.16 0 26.04-1.96 59.05-6.91 74.27-14.83 45.65-120.32 17.01-145.46-19.58l-115.97-159.6z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawSnow(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawSnowItem(e);return a.set({left:t.x-e,top:t.y-e,stroke:useDrawStore.getState().drawColors[0],strokeWidth:2}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawSnowItem(e);return c.set({left:o.x,top:o.y,stroke:i,strokeWidth:2}),c});return new fabric.fabric.Group(r)}}function drawSnowItem(t){const e=getRandomInt(t*1.5,t*3),a="M11.9994 3V7M11.9994 7V17M11.9994 7L8.99943 4M11.9994 7L14.9994 4M11.9994 17V21M11.9994 17L8.99943 20M11.9994 17L14.9994 20M4.20624 7.49999L7.67034 9.49999M7.67034 9.49999L16.3306 14.5M7.67034 9.49999L3.57227 10.5981M7.67034 9.49999L6.57227 5.40191M16.3306 14.5L19.7947 16.5M16.3306 14.5L17.4287 18.5981M16.3306 14.5L20.4287 13.4019M4.2067 16.5L7.6708 14.5M7.6708 14.5L16.3311 9.49999M7.6708 14.5L3.57273 13.4019M7.6708 14.5L6.57273 18.5981M16.3311 9.49999L19.7952 7.49999M16.3311 9.49999L17.4291 5.40192M16.3311 9.49999L20.4291 10.5981",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawMusic(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawMusicItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawMusicItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawMusicItem(t){const e=getRandomInt(t*1.5,t*3),a="M10.0909 11.9629L19.3636 8.63087V14.1707C18.8126 13.8538 18.1574 13.67 17.4545 13.67C15.4964 13.67 13.9091 15.096 13.9091 16.855C13.9091 18.614 15.4964 20.04 17.4545 20.04C19.4126 20.04 21 18.614 21 16.855C21 16.855 21 16.8551 21 16.855L21 7.49236C21 6.37238 21 5.4331 20.9123 4.68472C20.8999 4.57895 20.8852 4.4738 20.869 4.37569C20.7845 3.86441 20.6352 3.38745 20.347 2.98917C20.2028 2.79002 20.024 2.61055 19.8012 2.45628C19.7594 2.42736 19.716 2.39932 19.6711 2.3722L19.6621 2.36679C18.8906 1.90553 18.0233 1.93852 17.1298 2.14305C16.2657 2.34086 15.1944 2.74368 13.8808 3.23763L11.5963 4.09656C10.9806 4.32806 10.4589 4.52419 10.0494 4.72734C9.61376 4.94348 9.23849 5.1984 8.95707 5.57828C8.67564 5.95817 8.55876 6.36756 8.50501 6.81203C8.4545 7.22978 8.45452 7.7378 8.45455 8.33743V16.1307C7.90347 15.8138 7.24835 15.63 6.54545 15.63C4.58735 15.63 3 17.056 3 18.815C3 20.574 4.58735 22 6.54545 22C8.50355 22 10.0909 20.574 10.0909 18.815C10.0909 18.815 10.0909 18.8151 10.0909 18.815L10.0909 11.9629Z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawSun(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawSunItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawSunItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawSunItem(t){const e=getRandomInt(t*1.5,t*3),a="M23.395 14.106c2.958-1.383 2.828-6.068 5.758-5.884-4.125-2.74-4.019 3.106-9.089 1.235 1.107-3.068-2.292-6.286-0.091-8.227-4.855 0.979-0.645 5.039-5.555 7.301-1.384-2.958-6.068-2.828-5.884-5.758-2.74 4.125 3.106 4.019 1.235 9.089-3.068-1.107-6.286 2.292-8.227 0.091 0.979 4.855 5.039 0.645 7.301 5.555-2.958 1.384-2.828 6.068-5.758 5.884 4.125 2.74 4.019-3.106 9.089-1.235-1.107 3.068 2.292 6.286 0.091 8.227 4.855-0.979 0.645-5.039 5.555-7.301 1.384 2.958 6.068 2.828 5.884 5.758 2.74-4.125-3.106-4.019-1.235-9.089 3.068 1.107 6.286-2.292 8.226-0.091-0.979-4.855-5.039-0.645-7.301-5.555z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawMoon(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawMoonItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawMoonItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawMoonItem(t){const e=getRandomInt(t*1.5,t*3),a="M8.23129 2.24048C9.24338 1.78695 10.1202 2.81145 9.80357 3.70098C8.72924 6.71928 9.38932 10.1474 11.6193 12.3765C13.8606 14.617 17.3114 15.2755 20.3395 14.1819C21.2206 13.8637 22.2173 14.7319 21.7817 15.7199C21.7688 15.7491 21.7558 15.7782 21.7427 15.8074C20.9674 17.5266 19.7272 19.1434 18.1227 20.2274C16.4125 21.3828 14.3957 22.0001 12.3316 22.0001H12.3306C9.93035 21.9975 7.6057 21.1603 5.75517 19.6321C3.90463 18.1039 2.64345 15.9797 2.18793 13.6237C1.73241 11.2677 2.11094 8.82672 3.2586 6.71917C4.34658 4.72121 6.17608 3.16858 8.20153 2.25386L8.23129 2.24048Z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawLeaf(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawLeafItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawLeafItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawLeafItem(t){const e=getRandomInt(t*1.5,t*3),a="M15.362,9.69c0,0-0.75,1.108-1.068,0c-0.318-1.109-1.346-4.949-1.762-5.226 c-0.417-0.278-0.417-0.278-0.417-0.278s-0.078,1.506-0.594,1.307c-0.515-0.198-4.313-2.217-4.63-2.652L6.574,2.444 c0,0,0.355,3.328-0.515,2.615c0,0,1.113,2.771-2.573,3.048c0,0,1.186,3.087,4.552,4.75c0,0,1.148,1.783-0.949,1.503 c0,0-2.932-0.395-3.325-0.752c0,0-1.548,3.01-3.764,3.128c0,0,2.656,1.504,2.337,4.156c0,0,5.107,0.041,4.911,0.832 c-0.2,0.795-0.555,1.601-0.555,1.601s4.71-0.929,5.422-2.194c0,0,0.989,0.99,1.071,1.939c0,0,2.693-0.594,2.452-2.296 c0,0,1.269,0.948,1.427,2.551l0.554-0.375c0,0-0.319-1.661-1.464-2.967c0,0-0.517-1.308,0.789-0.633c0,0,3.085,1.029,5.7-0.833 c0,0-2.888-0.948-3.006-1.978c0,0,5.394-3.326,5.625-5.542c0,0-1.944,0.198-2.972-0.633c0,0-1.309-0.396,0.394-4.791 c0,0-1.227,0.724-1.62-3.636c0,0-3.051,4.665-4.518,3.082C16.548,5.018,15.165,8.066,15.362,9.69z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawFlower(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawFlowerItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawFlowerItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawFlowerItem(t){const e=getRandomInt(t*1.5,t*3),a="M512,224.438c0-63.766-51.703-115.469-115.484-115.469c-8.781,0-17.328,1-25.531,2.859 C365.656,52.984,316.219,6.875,256,6.875c-60.234,0-109.672,46.109-114.984,104.953c-8.219-1.859-16.766-2.859-25.531-2.859 C51.703,108.969,0,160.672,0,224.438c0,47.594,28.797,88.469,69.906,106.141c-10.297,17.281-16.234,37.484-16.234,59.063 c0,63.766,51.703,115.484,115.484,115.484c34.625,0,65.672-15.266,86.844-39.406c21.156,24.141,52.219,39.406,86.844,39.406 c63.781,0,115.484-51.719,115.484-115.484c0-21.578-5.938-41.781-16.25-59.063C483.203,312.906,512,272.031,512,224.438z M256,372.531c-53.563,0-97-43.406-97-97c0-53.563,43.438-96.984,97-96.984s96.984,43.422,96.984,96.984 C352.984,329.125,309.563,372.531,256,372.531z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}class ShapeElement{constructor(){l(this,"lastTime",0);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.SHAPE)}addPosition(e){var n,i,c;const a=Date.now();if(a-this.lastTime<30||!e)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y),s=useDrawStore.getState().drawWidth/((i=(n=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:n.getZoom())!=null?i:1);let o=null;switch(useDrawStore.getState().drawShape){case DrawShape.Bubble:o=drawBubble(r,s);break;case DrawShape.Star:o=drawStar(r,s);break;case DrawShape.Love:o=drawLove(r,s);break;case DrawShape.Butterfly:o=drawButterfly(r,s);break;case DrawShape.Snow:o=drawSnow(r,s);break;case DrawShape.Music:o=drawMusic(r,s);break;case DrawShape.Sun:o=drawSun(r,s);break;case DrawShape.Moon:o=drawMoon(r,s);break;case DrawShape.Leaf:o=drawLeaf(r,s);break;case DrawShape.Flower:o=drawFlower(r,s);break}o&&(this.group.addWithUpdate(o),(c=paintBoard.canvas)==null||c.requestRenderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}class PixelsElement{constructor(){l(this,"lastTime",0);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.PIXELS)}addPosition(e){var s;const a=Date.now();if(a-this.lastTime<30||!e)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);this.group.addWithUpdate(drawPixels(r.x,r.y)),(s=paintBoard.canvas)==null||s.requestRenderAll()}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawPixels(t,e){var o,n,i,c,d,h;const a=[],r=Number((useDrawStore.getState().drawWidth/((n=(o=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:o.getZoom())!=null?n:1)).toFixed(2)),s=Number((useDrawStore.getState().drawWidth/3/((c=(i=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:i.getZoom())!=null?c:1)).toFixed(2));for(let p=-r;p.5){const u=(h=(d=useDrawStore.getState().drawColors)==null?void 0:d[getRandomInt(0,useDrawStore.getState().drawColors.length-1)])!=null?h:useDrawStore.getState().drawColors[0],m=new fabric.fabric.Rect({left:t+p,top:e+f,width:s,height:s,fill:u});a.push(m)}return new fabric.fabric.Group(a)}const minFontSize=3;class DrawTextElement{constructor(){l(this,"lastTime",0);l(this,"points",[]);l(this,"group");l(this,"counter",0);l(this,"position",{x:0,y:window.innerHeight/2});var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.DRAW_TEXT)}addPosition(e){var s;if(!e)return;const a=new fabric.fabric.Point(e.x,e.y);if(this.points.push(a),this.points.length<2){this.position={x:a.x,y:a.y};return}const r=Date.now();r-this.lastTime<30||(this.lastTime=r,this.group.addWithUpdate(drawText(this)),(s=paintBoard.canvas)==null||s.requestRenderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawText(t){const e=t.points,a=e[e.length-1],r=getDistance(t.position,a),s=minFontSize+r/2,o=useDrawStore.getState().drawTextValue[t.counter%useDrawStore.getState().drawTextValue.length],n=textWidth(o,s);if(n&&r>n){const i=Math.atan2(a.y-t.position.y,a.x-t.position.x),c=new fabric.fabric.Text(o,{fontSize:s,top:t.position.y,left:t.position.x,fontFamily:useDrawStore.getState().textFontFamily,originX:"left",originY:"bottom",angle:fabric.fabric.util.radiansToDegrees(i),fill:useDrawStore.getState().drawColors[0]});return t.position={x:t.position.x+Math.cos(i)*n,y:t.position.y+Math.sin(i)*n},t.counter++,t.counter>useDrawStore.getState().drawTextValue.length-1&&(t.counter=0),c}}function textWidth(t,e){return new fabric.fabric.Text(t,{fontSize:e,fontFamily:useDrawStore.getState().textFontFamily}).width}class MultiLineElement{constructor(){l(this,"lastTime",0);l(this,"points",[]);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.MULTI_LINE)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);this.points.push(r),!(this.points.length<2)&&(this.group.addWithUpdate(drawMultiLine(this.points)),(s=paintBoard.canvas)==null||s.renderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawMultiLine(t){var s,o;const e=useDrawStore.getState().drawColors[0],a=Math.ceil(useDrawStore.getState().drawWidth/3/((o=(s=paintBoard.canvas)==null?void 0:s.getZoom())!=null?o:1)),r=[];if(r.push(new fabric.fabric.Line([t[t.length-1].x,t[t.length-1].y,t[t.length-2].x,t[t.length-2].y],{stroke:e,strokeWidth:a})),t.length%5===0)for(let n=t.length-5,i=0;n>=0&&i<3;n=n-5,i++)r.push(new fabric.fabric.Line([t[t.length-1].x,t[t.length-1].y,t[n].x,t[n].y],{stroke:e,strokeWidth:a/3}));return new fabric.fabric.Group(r)}let colorDeg=0;class RainbowElement{constructor(){l(this,"points",[]);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.RAINBOW)}addPosition(e){var r;if(!e)return;const a=new fabric.fabric.Point(e.x,e.y);this.points.push(a),!(this.points.length<2)&&(this.group.addWithUpdate(drawRainbow(this.points)),(r=paintBoard.canvas)==null||r.requestRenderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawRainbow(t){var i,c;const e=Math.ceil(useDrawStore.getState().drawWidth/((c=(i=paintBoard.canvas)==null?void 0:i.getZoom())!=null?c:1));colorDeg=colorDeg<360?colorDeg+1:0;const a=t[t.length-1].x,r=t[t.length-1].y,s=t[t.length-2].x,o=t[t.length-2].y;return new fabric.fabric.Line([s,o,a,r],{stroke:`hsl(${colorDeg}, 90%, 50%)`,strokeWidth:e,originX:"center",originY:"center"})}class ThornElement{constructor(){l(this,"lastTime",0);l(this,"lastPoint",null);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.THORN)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);if(!this.lastPoint){this.lastPoint=r;return}this.group.addWithUpdate(drawThorn(this,r)),(s=paintBoard.canvas)==null||s.renderAll()}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawThorn(t,e){var i,c;const a=t.lastPoint,r=getDistance(a,e),s=fabric.fabric.util.radiansToDegrees(Math.atan2(e.y-a.y,e.x-a.x)),o=3/((c=(i=paintBoard.canvas)==null?void 0:i.getZoom())!=null?c:1),n=new fabric.fabric.Ellipse({left:e.x,top:e.y,originX:"center",originY:"center",fill:useDrawStore.getState().drawColors[0],opacity:Math.random(),rx:r*5+o,ry:o});return n.rotate(s),t.lastPoint=e,n}class MultiPointElement{constructor(){l(this,"lastTime",0);l(this,"lastCoordinates",[]);l(this,"points",[]);l(this,"group");l(this,"shadow");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,this.shadow=new fabric.fabric.Shadow({blur:3,offsetX:0,offsetY:0,color:useDrawStore.getState().drawColors[0]}),setObjectAttr(e,ELEMENT_CUSTOM_TYPE.MULTI_POINT)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);this.points.push(r),!(this.points.length<2)&&(this.group.addWithUpdate(drawMultiPoint(this)),(s=paintBoard.canvas)==null||s.renderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawMultiPoint(t){var f,u;const{points:e,lastCoordinates:a}=t,r=(u=(f=paintBoard.canvas)==null?void 0:f.getZoom())!=null?u:1,s=Math.ceil(useDrawStore.getState().drawWidth*3/r),o=6/r,n=2/r,i=e[e.length-1].x,c=e[e.length-1].y,d=[],h=generateRandomCoordinates(i,c,s,useDrawStore.getState().drawShapeCount),p=h.map(m=>new fabric.fabric.Circle({left:m.x,top:m.y,radius:o,fill:useDrawStore.getState().drawColors[0]}));if(d.push(...p),a!=null&&a.length){const m=a.map((w,g)=>new fabric.fabric.Line([w.x+o,w.y+o,h[g].x+o,h[g].y+o],{stroke:useDrawStore.getState().drawColors[0],strokeWidth:n}));d.push(...m)}return t.lastCoordinates=h,new fabric.fabric.Group(d)}class WiggleElement{constructor(){l(this,"lastTime",0);l(this,"flip",1);l(this,"lastPoint",null);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.WIGGLE)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);if(!this.lastPoint){this.lastPoint=r;return}this.group.addWithUpdate(drawWiggle(this,r)),(s=paintBoard.canvas)==null||s.renderAll()}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawWiggle(t,e){var h,p;const a=t.lastPoint,r=getDistance(a,e),s=(a.x+e.x)/2,o=(a.y+e.y)/2,n=fabric.fabric.util.radiansToDegrees(Math.atan2(e.y-a.y,e.x-a.x)),i=fabric.fabric.util.radiansToDegrees(t.flip%2*Math.PI),c=3/((p=(h=paintBoard.canvas)==null?void 0:h.getZoom())!=null?p:1),d=new fabric.fabric.Circle({top:o,left:s,originX:"center",originY:"center",radius:r/2,startAngle:n+i,endAngle:n+i+fabric.fabric.util.radiansToDegrees(Math.PI),stroke:useDrawStore.getState().drawColors[0],strokeWidth:c,fill:"",strokeLineJoin:"round",strokeLineCap:"round"});return t.lastPoint=e,t.flip++,d}const useShapeStore=create()(persist((t,e)=>({shapeStyle:ShapeStyle.Rect,borderType:ShapeBorderType.Solid,borderColor:"#000000",borderWidth:3,fillColor:"#FFFFFF",fillType:ShapeFillType.Transparent,shapeLinePointCount:3,updateShapeStyle(a){e().shapeStyle!==a&&t({shapeStyle:a})},updateBorderType(a){e().borderType!==a&&t({borderType:a})},updateBorderColor:a=>{e().borderColor!==a&&t({borderColor:a})},updateBorderWidth:a=>{e().borderWidth!==a&&t({borderWidth:a})},updateFillColor:a=>{e().fillColor!==a&&t({fillColor:a})},updateFillType(a){e().fillType!==a&&t({fillType:a})},updateShapeLinePointCount(a){const r=e().shapeLinePointCount;a!==r&&t({shapeLinePointCount:a})}}),{name:"PAINT-BOARD-SHAPE-STORE"})),getShapeBorderWidth=()=>useShapeStore.getState().borderWidth,getShapeBorder=(t=5)=>{const e=useShapeStore.getState().borderType,a=Math.round(t);switch(e){case ShapeBorderType.Dashed:return[a*3,a*2];case ShapeBorderType.Dotted:return[a,a*3];default:return}},getFillStyle=()=>{const{fillType:t,fillColor:e}=useShapeStore.getState();switch(t){case ShapeFillType.Transparent:return"transparent";case ShapeFillType.Full:return e;default:return}};class RectShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var s;if(!e)return;const a=getShapeBorderWidth(),r=new fabric.fabric.Rect({left:e.x,top:e.y,width:0,height:0,rx:3,ry:3,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(s=paintBoard.canvas)==null||s.add(r),this.shapeInstance=r,this.startX=e.x,this.startY=e.y,setObjectAttr(r,ELEMENT_CUSTOM_TYPE.SHAPE_RECT)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({width:s,height:o,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class CircleShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var s;if(!e)return;const a=getShapeBorderWidth(),r=new fabric.fabric.Circle({left:e.x,top:e.y,radius:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(s=paintBoard.canvas)==null||s.add(r),this.shapeInstance=r,this.startX=e.x,this.startY=e.y,setObjectAttr(r,ELEMENT_CUSTOM_TYPE.SHAPE_CIRCLE)}addPosition(e){var d;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=Math.min(s,o)/2,i=a>this.startX?this.startX:this.startX-n*2,c=r>this.startY?this.startY:this.startY-n*2;this.shapeInstance.set({radius:n,left:i,top:c}),this.shapeInstance.setCoords(),(d=paintBoard.canvas)==null||d.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class LineShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;this.startX=e.x,this.startY=e.y;const a=getShapeBorderWidth(),r=[];for(let n=0;n0?o-1:a,actionHandler$1),actionName:"polylineEndPoint",pointIndex:o}),r},{}),this.shapeInstance._setPositionDimensions({}),this.shapeInstance.setCoords()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class EllipseShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var s;if(!e)return;const a=getShapeBorderWidth(),r=new fabric.fabric.Ellipse({left:e.x,top:e.y,rx:0,ry:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(s=paintBoard.canvas)==null||s.add(r),this.shapeInstance=r,this.startX=e.x,this.startY=e.y,setObjectAttr(r,ELEMENT_CUSTOM_TYPE.SHAPE_ELLIPSE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX)/2,o=Math.abs(r-this.startY)/2,n=a>this.startX?this.startX:this.startX-s*2,i=r>this.startY?this.startY:this.startY-o*2;this.shapeInstance.set({rx:s,ry:o,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class TriangleShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var s;if(!e)return;const a=getShapeBorderWidth(),r=new fabric.fabric.Triangle({left:e.x,top:e.y,width:0,height:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(s=paintBoard.canvas)==null||s.add(r),this.shapeInstance=r,this.startX=e.x,this.startY=e.y,setObjectAttr(r,ELEMENT_CUSTOM_TYPE.SHAPE_TRIANGLE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({width:s,height:o,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class ArrowOutlineShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m446.24196,887.47009l-175.7696,0c-27.01653,-0.68266 -50.176,-10.68373 -69.23946,-29.7472c-16.91307,-16.896 -26.88,-36.62506 -29.61067,-58.58986a99.1744,99.1744 0 0 1 -1.00693,-14.06294c0,-4.3008 0.29013,-8.89173 0.85333,-13.80693l0,-395.79307l-154.45333,0a17.1008,17.1008 0 0 1 -12.06614,-29.1328l341.33334,-341.33333a17.0496,17.0496 0 0 1 24.13226,0l340.3264,340.3264a17.06667,17.06667 0 0 1 -9.8816,30.99307l-153.94133,0l0,410.45333c-0.64853,27.46027 -10.5984,51.11467 -29.52533,70.74133c-19.98507,19.3536 -43.63947,29.2864 -70.74134,29.96907l-0.4096,-0.01707z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_ARROW_OUTLINE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/718,scaleY:o/887,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class CloudShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m853.33333,42.66667a192,192 0 0 1 -192,192l-512,0c-129.6,0 -234.66666,-105.06667 -234.66666,-234.66667c0,-126.03733 99.37066,-228.864 224.02133,-234.432a298.41067,298.41067 0 0 1 245.312,-128.23467c134.10133,0 249.45067,88.96 286.35733,213.54667a192,192 0 0 1 182.976,191.78667z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_CLOUD)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/939,scaleY:o/598,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class TooltipsShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m1020.60467,131.15818c0,-72.31603 -58.84215,-131.15818 -131.18785,-131.15818l-758.24124,0c-72.32933,0 -131.17558,58.84215 -131.17558,131.15818l0,493.79948c0,72.31602 58.84625,131.05994 131.17558,131.05994l125.70907,0l0,193.82749c0,20.83861 12.4127,39.45562 31.62528,47.46299c19.29136,8.0043 41.26994,3.59897 56.02703,-11.15915l230.14873,-230.13236l314.72908,0c72.3457,0 131.18786,-58.74391 131.18786,-131.05994l-0.00001,-493.79845l0.00205,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_TOOLTIPS)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/1020,scaleY:o/1002,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class LightningShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m-329.49334,256l271.25334,66.66667a5.33333,5.33333 0 0 1 4,5.97333l-51.04,335.68a5.33333,5.33333 0 0 0 9.22666,4.32l434.77334,-490.34667a5.33333,5.33333 0 0 0 -2.72,-8.69333l-271.25334,-66.66667a5.33333,5.33333 0 0 1 -4,-5.97333l51.04,-335.62667a5.33333,5.33333 0 0 0 -9.22666,-4.37333l-434.77334,490.34667a5.33333,5.33333 0 0 0 2.72,8.69333z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_LIGHTNING)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/674,scaleY:o/915,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class CloseShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m678.76571,546.23086q0,22.82057 -16.01829,38.83886l-77.67771,77.67771q-16.01829,16.01829 -38.83886,16.01829t-38.83885,-16.01829l-168.00915,-168.00914l-168.00914,168.00914q-16.01829,16.01829 -38.83886,16.01829t-38.83885,-16.01829l-77.67772,-77.67771q-16.01828,-16.01829 -16.01828,-38.83886t16.01828,-38.83886l168.00915,-168.00914l-168.00915,-168.00914q-16.01828,-16.01829 -16.01828,-38.83886t16.01828,-38.83886l77.67772,-77.67771q16.01828,-16.01829 38.83885,-16.01829t38.83886,16.01829l168.00914,168.00914l168.00915,-168.00914q16.01828,-16.01829 38.83885,-16.01829t38.83886,16.01829l77.67771,77.67771q16.01829,16.01829 16.01829,38.83886t-16.01829,38.83886l-168.00914,168.00914l168.00914,168.00914q16.01829,16.01829 16.01829,38.83886z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_CLOSE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/679,scaleY:o/679,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class CheckShap{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m855.08247,17.19428c-43.5,-30.3 -104,-19.5 -134.6,24.1l-425.8,606l-127,-135.7c-36.4,-38.9 -98.1,-41.1 -137,-4.8c-39,36.2 -41.1,97.7 -4.7,136.6l206.5,220.7c4.7,5 9.8,9.4 15.1,13.1c0.7,0.5 1.4,1 2.2,1.5c43.5,30.3 104,19.5 134.6,-24.1l494,-703.2c30.7,-43.5 20.1,-103.9 -23.3,-134.2z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_CHECK)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/896,scaleY:o/896,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class InfoShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m512,1024c282.771,0 512,-229.23 512,-512s-229.23,-512 -512,-512s-512,229.23 -512,512s229.23,512 512,512zm-80,-768c0,-44.183 35.817,-80 80,-80s80,35.817 80,80l0,31.999c0,44.183 -35.817,80 -80,80s-80,-35.817 -80,-80l0,-31.999zm-0.001,256c0,-44.183 35.817,-80 80,-80s80,35.817 80,80l0,256c0,44.183 -35.817,80 -80,80s-80,-35.817 -80,-80l0,-256z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_INFO)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/1024,scaleY:o/1024,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class BackspaceShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m714.52777,0a138.66667,138.66667 0 0 1 138.45333,130.816l0.21334,7.85066l0,405.33334a138.66667,138.66667 0 0 1 -130.816,138.45333l-7.85067,0.21333l-362.70933,0a138.66667,138.66667 0 0 1 -88.96,-32.256l-6.61334,-5.93066l-213.16266,-202.66667a138.66667,138.66667 0 0 1 -4.90667,-196.01067l4.90667,-4.94933l213.16266,-202.66667a138.66667,138.66667 0 0 1 86.69867,-37.888l8.87467,-0.29866l362.66666,0l0.04267,0zm0,64l-362.70933,0a74.66667,74.66667 0 0 0 -46.08,15.872l-5.376,4.69333l-213.16267,202.66667l-2.64533,2.64533a74.66667,74.66667 0 0 0 -2.34667,100.352l4.992,5.20533l213.16267,202.66667c12.11733,11.52 27.73333,18.64533 44.288,20.224l7.168,0.34133l362.66666,0a74.66667,74.66667 0 0 0 74.45334,-68.56533l0.256,-6.10133l0,-405.33334a74.66667,74.66667 0 0 0 -68.56534,-74.41066l-6.10133,-0.256zm-311.63733,123.60533l3.584,3.11467l105.38666,105.344l105.38667,-105.38667a32,32 0 0 1 48.34133,41.68533l-3.11466,3.584l-105.38667,105.38667l105.38667,105.38667a32,32 0 0 1 -41.64267,48.34133l-3.584,-3.11467l-105.38667,-105.344l-105.38666,105.38667a32,32 0 0 1 -48.34134,-41.68533l3.072,-3.584l105.42934,-105.38667l-105.38667,-105.38667a32,32 0 0 1 41.68533,-48.34133l-0.04266,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_BACKSPACE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/853,scaleY:o/682,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class BlockShap{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m426.66667,0c235.648,0 426.66667,191.06134 426.66667,426.66667c0,235.69067 -191.01867,426.66667 -426.66667,426.66667c-235.60533,0 -426.66667,-190.976 -426.66667,-426.66667c0,-235.56267 191.06134,-426.66667 426.66667,-426.66667zm0,64a362.66667,362.66667 0 1 0 0,725.33334a362.66667,362.66667 0 0 0 0,-725.33334zm-181.33333,330.66667l362.66666,0a32,32 0 0 1 4.352,63.70133l-4.352,0.29867l-362.66666,0a32,32 0 0 1 -4.352,-63.70133l4.352,-0.29867l362.66666,0l-362.66666,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_BLOCK)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/853,scaleY:o/853,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class SpeakerShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m489.01486,786.432c29.14743,0 50.13943,-21.43086 50.13943,-50.13943l0,-683.57486c0,-28.70857 -20.992,-52.71771 -50.99886,-52.71771c-20.992,0 -34.70628,10.29486 -57.856,30.86629l-201.43543,178.70628c-2.56,2.56 -6.41828,3.85829 -10.69714,3.85829l-127.28686,0c-60.87314,0 -90.88,30.42743 -90.88,95.14057l0,170.58743c0,64.73143 30.00686,95.14057 90.88,95.14057l127.26858,0c4.29714,0 8.15542,1.28 10.71542,3.85828l201.45372,180.40686c20.992,18.87086 37.72343,27.86743 58.71543,27.86743l-0.01829,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_SPEAKER)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/539,scaleY:o/786,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class SearchShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m309.28596,0a309.33333,309.33333 0 0 1 240.21333,504.27734l209.06667,209.06666a32,32 0 0 1 -41.64267,48.384l-3.584,-3.11466l-209.10933,-209.06667a309.33333,309.33333 0 1 1 -194.944,-549.54667zm0,64a245.33333,245.33333 0 1 0 0,490.66667a245.33333,245.33333 0 0 0 0,-490.66667z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_SEARCH)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/768,scaleY:o/768,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class InfoOutlineShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m89.68,0c16.93,12.78 35.09,21 56.38,20.55c2.3,0 4.59,-0.06 6.88,0.07a64.3,64.3 0 0 0 35.55,-7.85c4.37,-2.42 8.6,-2.67 13.2,-1.85a8.08,8.08 0 0 1 5.09,2.86c12,14.42 27.73,20.48 46.19,20.6c8.12,0 16,-0.64 23.46,-4.15a13.82,13.82 0 0 1 5.81,-1c2.25,0 4.13,2.72 3.63,4.92a26.24,26.24 0 0 1 -1.32,3.12c-4.65,12.17 -1.88,23.2 5.92,33c2.17,2.71 6.09,4.07 9.32,5.86c2.49,1.38 5.26,2.26 7.68,3.74a3.54,3.54 0 0 1 0.19,5.87a20.31,20.31 0 0 1 -2.87,1.84c-14.12,7.91 -20.69,21 -23.88,36c-1.13,5.36 0.93,10.75 2.65,15.94a57.2,57.2 0 0 1 2.28,7.35c0.63,3.33 -1.25,5.55 -4.74,5.64a33.64,33.64 0 0 1 -6.76,-0.74c-19,-3.33 -36.39,0.36 -51.73,12.4c-2.24,1.76 -4.26,3.83 -6.44,5.67c-2.93,2.47 -5.43,2.7 -8.59,0.86a15.43,15.43 0 0 1 -2.1,-1.5c-6.69,-5.62 -14.73,-7.23 -23.14,-8c-13.19,-1.23 -25.78,1.36 -37.68,6.62c-6.7,3 -11.49,0.84 -16.33,-3.12c-2.65,-2.18 -5.15,-4.55 -7.64,-6.91a24.73,24.73 0 0 0 -12.93,-6.4c-15.06,-2.69 -30.13,-3.61 -45.11,0.76c-4.93,1.44 -10,2.46 -14.87,4.11s-8.33,-0.65 -11.48,-3.67c-0.87,-0.83 -1,-2.56 -1.19,-3.92c-0.87,-5.65 -1.52,-11.33 -2.46,-17a24.82,24.82 0 0 0 -12.9,-18.3c-4.95,-2.78 -9.12,-7.08 -15.62,-7.77l-4.13,-7.6c3.06,-2.94 5.88,-5.71 8.77,-8.4c10.63,-9.91 14.4,-22.38 13.5,-36.5a10.73,10.73 0 0 0 -2.27,-5.31c-2.75,-3.66 -2.57,-7.3 -0.65,-11.71c6.28,0.84 12.44,1.81 18.63,2.47c10.02,1.06 19.28,-1.55 28.27,-5.63a36.86,36.86 0 0 0 14.36,-11.82c1.8,-2.39 3.17,-5 3.15,-7.8c0,-4.54 2.41,-8.06 4,-11.93c0.24,-0.44 0.94,-0.67 1.92,-1.37z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_INFO_OUTLINE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/309,scaleY:o/172,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class HeartShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m760.384,0.00803c47.808,0 91.968,11.968 132.352,35.84a264.32,264.32 0 0 1 95.872,97.152a263.68,263.68 0 0 1 35.392,133.888c0,34.752 -6.592,68.544 -19.712,101.312a262.4,262.4 0 0 1 -57.536,87.424l-434.752,440.384l-434.752,-440.32a268.8,268.8 0 0 1 -77.248,-188.8c0,-48.384 11.776,-93.056 35.392,-133.952a264.32,264.32 0 0 1 95.808,-97.088a255.296,255.296 0 0 1 132.48,-35.84a260.736,260.736 0 0 1 186.24,78.208l62.08,62.912l62.144,-62.912a258.944,258.944 0 0 1 86.336,-58.24a259.584,259.584 0 0 1 100.032,-19.968l-0.128,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_HEART)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/1024,scaleY:o/896,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class AlertShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="M 300 0 C 204.92302 0 120 65.17035 120 155 A 40 40 0 0 0 120.72852 160.5332 A 40 40 0 0 0 119.83984 165 C 119.83984 285.43738 70.949871 389.48179 19.386719 420.81836 A 40 40 0 0 0 0.33984375 456.98438 A 40 40 0 0 0 0 460 A 40 40 0 0 0 40 500 L 164.75586 500 C 173.8133 535.3936 198.4031 565.81344 231.86914 583.36328 C 274.50045 605.71947 325.49955 605.71947 368.13086 583.36328 C 401.5969 565.81344 426.1867 535.3936 435.24414 500 L 560 500 A 40 40 0 0 0 600 460 A 40 40 0 0 0 599.49023 453.71094 A 40 40 0 0 0 580.45312 415.81836 C 528.88999 384.48179 480 280.43738 480 160 A 40 40 0 0 0 479.78125 156.66016 A 40 40 0 0 0 480 155 C 480 65.17035 395.07698 0 300 0 z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_ALERT)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/600,scaleY:o/600,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class ArrowLineShape{constructor(e){l(this,"shapeLine");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;this.startX=e.x,this.startY=e.y;const a=getShapeBorderWidth();let r=`M ${this.startX} ${this.startY}`;for(let n=0;n0?s-1:e.length-5,actionHandler),actionName:"pathEndPoint",pointIndex:s}),a},{}),this.shapeLine.setCoords()}destroy(){var e;this.shapeLine&&((e=paintBoard.canvas)==null||e.remove(this.shapeLine))}}let updateInkHook=null;class CanvasClickEvent{constructor(){l(this,"isMouseDown",!1);l(this,"isSpaceKeyDown",!1);l(this,"startPoint");l(this,"currentElement",null);l(this,"mouseDownTime",0);l(this,"autoDrawInk",[[],[],[]]);this.initClickEvent()}initClickEvent(){const e=paintBoard.canvas;e==null||e.on("mouse:down",a=>{if(this.isMouseDown=!0,this.isSpaceKeyDown)return;this.startPoint=a.absolutePointer;let r=null;if(useBoardStore.getState().mode===ActionMode.DRAW){if(useBoardStore.getState().drawType===DrawType.Shape)switch(useShapeStore.getState().shapeStyle){case ShapeStyle.Rect:r=new RectShape(a.absolutePointer);break;case ShapeStyle.Circle:r=new CircleShape(a.absolutePointer);break;case ShapeStyle.Line:r=new LineShape(a.absolutePointer);break;case ShapeStyle.Ellipse:r=new EllipseShape(a.absolutePointer);break;case ShapeStyle.Triangle:r=new TriangleShape(a.absolutePointer);break;case ShapeStyle.ArrowLine:r=new ArrowLineShape(a.absolutePointer);break;case ShapeStyle.ArrowOutline:r=new ArrowOutlineShape(a.absolutePointer);break;case ShapeStyle.Cloud:r=new CloudShape(a.absolutePointer);break;case ShapeStyle.Tooltips:r=new TooltipsShape(a.absolutePointer);break;case ShapeStyle.Lightning:r=new LightningShape(a.absolutePointer);break;case ShapeStyle.Close:r=new CloseShape(a.absolutePointer);break;case ShapeStyle.Check:r=new CheckShap(a.absolutePointer);break;case ShapeStyle.Info:r=new InfoShape(a.absolutePointer);break;case ShapeStyle.Backspace:r=new BackspaceShape(a.absolutePointer);break;case ShapeStyle.Block:r=new BlockShap(a.absolutePointer);break;case ShapeStyle.Speaker:r=new SpeakerShape(a.absolutePointer);break;case ShapeStyle.Search:r=new SearchShape(a.absolutePointer);break;case ShapeStyle.InfoOutline:r=new InfoOutlineShape(a.absolutePointer);break;case ShapeStyle.Heart:r=new HeartShape(a.absolutePointer);break;case ShapeStyle.Alert:r=new AlertShape(a.absolutePointer);break}else if(useBoardStore.getState().drawType===DrawType.FreeStyle)switch(useDrawStore.getState().drawStyle){case DrawStyle.Shape:r=new ShapeElement;break;case DrawStyle.Pixels:r=new PixelsElement;break;case DrawStyle.Text:r=new DrawTextElement;break;case DrawStyle.MultiLine:r=new MultiLineElement;break;case DrawStyle.Reticulate:r=new ReticulateElement;break;case DrawStyle.Rainbow:r=new RainbowElement;break;case DrawStyle.Thorn:r=new ThornElement;break;case DrawStyle.MultiPoint:r=new MultiPointElement;break;case DrawStyle.Wiggle:r=new WiggleElement;break;case DrawStyle.Basic:useDrawStore.getState().openAutoDraw&&(autoDrawData.resetLoadedSVG(),this.mouseDownTime=new Date().getTime());break}}this.currentElement=r}),e==null||e.on("mouse:move",a=>{var r,s,o,n,i;if(this.isMouseDown){if(this.isSpaceKeyDown){e.relativePan(new fabric.fabric.Point(a.e.movementX,a.e.movementY));return}if((r=paintBoard.evnet)!=null&&r.touchEvent.isTwoTouch)return;this.mouseDownTime&&((s=a.absolutePointer)==null?void 0:s.x)&&((o=a.absolutePointer)==null?void 0:o.y)&&(this.autoDrawInk[0].push((n=a.absolutePointer)==null?void 0:n.x),this.autoDrawInk[1].push((i=a.absolutePointer)==null?void 0:i.y),this.autoDrawInk[2].push(new Date().getTime()-this.mouseDownTime)),useBoardStore.getState().mode===ActionMode.DRAW&&this.currentElement&&this.currentElement.addPosition(a.absolutePointer)}}),e==null||e.on("mouse:up",a=>{var r,s,o,n;if(this.isMouseDown=!1,updateInkHook==null||updateInkHook(e.toDataURL()),((s=(r=this.autoDrawInk)==null?void 0:r[0])==null?void 0:s.length)>3&&(autoDrawData.addInk([...this.autoDrawInk]),this.autoDrawInk=[[],[],[]],this.mouseDownTime=0),this.currentElement){let i=!1;if(this.startPoint&&a.absolutePointer){const{x:c,y:d}=this.startPoint,{x:h,y:p}=a.absolutePointer;c===h&&d===p&&(this.currentElement.destroy(),i=!0)}i||((this.currentElement instanceof LineShape||this.currentElement instanceof ArrowLineShape)&&((o=this.currentElement)==null||o.mouseUp()),(n=paintBoard.history)==null||n.saveState()),this.currentElement=null}}),e==null||e.on("mouse:dblclick",a=>{var r;if(a!=null&&a.absolutePointer){const{x:s,y:o}=a.absolutePointer;(r=paintBoard.textElement)==null||r.loadText(s,o)}})}setSpaceKeyDownState(e){this.isSpaceKeyDown=e}changeInkHookFn(e){updateInkHook=e}}class ObjectEvent{constructor(){this.initObjectEvent(),this.initTextEvent()}initObjectEvent(){const e=paintBoard==null?void 0:paintBoard.canvas;e==null||e.on("selection:created",()=>{paintBoard.triggerHook()}),e==null||e.on("selection:updated",()=>{paintBoard.triggerHook()}),e==null||e.on("selection:cleared",()=>{paintBoard.triggerHook()}),e==null||e.on("path:created",a=>{var o;const{mode:r,drawType:s}=useBoardStore.getState();if([ActionMode.DRAW,ActionMode.ERASE].includes(r)){if(r===ActionMode.DRAW){const n=v4();a.path.set({id:n,perPixelTargetFind:!0});const{openAutoDraw:i,drawStyle:c}=useDrawStore.getState();i&&s===DrawType.FreeStyle&&c===DrawStyle.Basic&&autoDrawData.addPath(a.path)}(o=paintBoard.history)==null||o.saveState()}}),e==null||e.on("object:modified",a=>{var r,s;if(((r=a.target)==null?void 0:r.type)==="i-text"){const o=a.target;if(o._textBeforeEdit===o.text)return}a.action&&a.target&&((s=paintBoard.history)==null||s.saveState())})}initTextEvent(){const e=paintBoard==null?void 0:paintBoard.canvas;e==null||e.on("text:editing:entered",()=>{paintBoard.textElement.isTextEditing=!0}),e==null||e.on("text:editing:exited",a=>{const r=a==null?void 0:a.target;r&&(paintBoard.textElement.isTextEditing=!1,r!=null&&r._customType||setObjectAttr(r,ELEMENT_CUSTOM_TYPE.I_TEXT),(r==null?void 0:r._textBeforeEdit)!==(r==null?void 0:r.text)&&(e.discardActiveObject(),paintBoard.render()))})}}class CanvasTouchEvent{constructor(){l(this,"isTwoTouch",!1);l(this,"isDragging",!1);l(this,"startDistance",1);l(this,"startX",0);l(this,"startY",0);l(this,"startScale",1);l(this,"lastPan");l(this,"touchStartFn",e=>{e.preventDefault();const a=paintBoard.canvas;if(!a)return;const r=e.touches;if(brushMouseMixin.updateIsDisableDraw(r.length>=2),r.length===2){this.isTwoTouch=!0;const s=r[0],o=r[1];this.startDistance=Math.hypot(o.pageX-s.pageX,o.pageY-s.pageY),this.startX=(s.pageX+o.pageX)/2,this.startY=(s.pageY+o.pageY)/2,this.startScale=a.getZoom()}});l(this,"touchMoveFn",e=>{e.preventDefault()});l(this,"touchEndFn",e=>{this.isDragging=!1,this.isTwoTouch&&e.touches.length===0&&(this.isTwoTouch=!1)});l(this,"saveTransform",lodash.exports.debounce(()=>{var a,r;const e=(a=paintBoard.canvas)==null?void 0:a.viewportTransform;e&&(useFileStore.getState().updateTransform(e),useBoardStore.getState().isObjectCaching||fabric.fabric.Object.prototype.set({objectCaching:!1}),(r=paintBoard.canvas)==null||r.requestRenderAll())},500));this.initTouchEvent()}initTouchEvent(){var a;const e=(a=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:a.upperCanvasEl;e&&(e.addEventListener("touchstart",this.touchStartFn,{passive:!1}),e.addEventListener("touchmove",this.touchMoveFn,{passive:!1}),e.addEventListener("touchend",this.touchEndFn,{passive:!1}))}removeTouchEvent(){var a;const e=(a=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:a.upperCanvasEl;e&&(e.removeEventListener("touchstart",this.touchStartFn),e.removeEventListener("touchmove",this.touchMoveFn),e.removeEventListener("touchend",this.touchEndFn))}}let zoomHook;const MIN_ZOOM=.3,MAX_ZOOM=5;class CanvasZoomEvent{constructor(){l(this,"updateZoomPercentage",lodash.exports.debounce((e=!0,a)=>{var s;const r=this.handleZoomPercentage(e);return useFileStore.getState().updateZoom(a),useBoardStore.getState().isObjectCaching||fabric.fabric.Object.prototype.set({objectCaching:!1}),(s=paintBoard.canvas)==null||s.requestRenderAll(),r},500));this.initWheelEvent()}initWheelEvent(){}initZoom(){const e=paintBoard.canvas;if(e){const a=((e==null?void 0:e.width)||1)/2,r=((e==null?void 0:e.height)||1)/2;e.zoomToPoint(new fabric.fabric.Point(a,r),1),this.updateZoomPercentage(!0,1)}}handleZoomPercentage(e=!0){const a=paintBoard.canvas;let r=1;if(a){const s=a.getZoom();r=Math.round((s-MIN_ZOOM)/(MAX_ZOOM-MIN_ZOOM)*100),handleWidth()}return e&&zoomHook&&(zoomHook==null||zoomHook(r)),r}setZoomHook(e){zoomHook=e}}const handleWidth=()=>{var e;const t=(e=paintBoard.canvas)==null?void 0:e.freeDrawingBrush;if(!!t)switch(useBoardStore.getState().mode){case ActionMode.ERASE:t.width=getEraserWidth();break;case ActionMode.DRAW:[DrawStyle.Basic,DrawStyle.Material,DrawStyle.MultiColor].includes(useDrawStore.getState().drawStyle)&&(t.width=getDrawWidth(),useDrawStore.getState().drawStyle===DrawStyle.Basic&&t.shadow&&(t.shadow.blur=getShadowWidth()));break}};var KeyCode=(t=>(t.SPACE="Space",t.BACKSPACE="Backspace",t))(KeyCode||{});class ImageElement{constructor(){l(this,"image",null)}addImage(e){const a=paintBoard.canvas;!a||fabric.fabric.Image.fromURL(e,r=>{const s=a.getVpCenter(),o=a.getWidth()/2/((r==null?void 0:r.width)||1),n=a.getHeight()/2/((r==null?void 0:r.height)||1),i=Math.min(o,n,1);r.scale(i),r.set({left:s.x-r.getScaledWidth()/2,top:s.y-r.getScaledHeight()/2}),setObjectAttr(r,ELEMENT_CUSTOM_TYPE.IMAGE),a.add(r),paintBoard.render()},{crossOrigin:"anonymous"})}addBackgroundImage(e){const a=paintBoard.canvas;!a||fabric.fabric.Image.fromURL(e,r=>{const s=a.getVpCenter();a.setBackgroundImage(r,a.renderAll.bind(a),{scaleX:s.x*2/r.width,scaleY:s.y*2/r.height})},{crossOrigin:"anonymous"})}addTileImage(e){const a=paintBoard.canvas;!a||fabric.fabric.Image.fromURL(e,r=>{const s=a.getVpCenter();console.log(s),r.scaleToWidth(s.x*2),r.scaleToHeight(s.y*2),r.set({left:0,top:0}),setObjectAttr(r,ELEMENT_CUSTOM_TYPE.IMAGE),a.add(r),paintBoard.render()},{crossOrigin:"anonymous"})}}class WindowEvent{constructor(){this.initWindowEvent()}initWindowEvent(){window.addEventListener("keydown",this.keydownFn),window.addEventListener("keyup",this.keyupFn),window.addEventListener("paste",this.pasteFn),window.addEventListener("resize",this.resizeFn),window.addEventListener("orientationchange",this.resizeFn)}removeWindowEvent(){window.removeEventListener("keydown",this.keydownFn),window.removeEventListener("keyup",this.keyupFn),window.removeEventListener("paste",this.pasteFn),window.removeEventListener("resize",this.resizeFn),window.removeEventListener("orientationchange",this.resizeFn)}keydownFn(e){var r;const a=paintBoard==null?void 0:paintBoard.canvas;switch(e.code){case KeyCode.SPACE:(r=paintBoard==null?void 0:paintBoard.evnet)==null||r.clickEvent.setSpaceKeyDownState(!0),a&&(useBoardStore.getState().isObjectCaching||fabric.fabric.Object.prototype.set({objectCaching:!0}),a.defaultCursor="pointer",a.isDrawingMode=!1,a.selection=!1,fabric.fabric.Object.prototype.set({selectable:!1,hoverCursor:"pointer"}));break;case KeyCode.BACKSPACE:paintBoard.deleteObject();break}}keyupFn(e){var a,r;if(e.code===KeyCode.SPACE){(a=paintBoard.evnet)==null||a.clickEvent.setSpaceKeyDownState(!1),paintBoard.canvas&&(paintBoard.canvas.defaultCursor="default");const s=(r=paintBoard.canvas)==null?void 0:r.viewportTransform;s&&(useFileStore.getState().updateTransform(s),useBoardStore.getState().isObjectCaching||fabric.fabric.Object.prototype.set({objectCaching:!1}),paintBoard.handleMode())}}pasteFn(e){if(e.clipboardData&&e.clipboardData.items){const a=e.clipboardData.items,r=Array.from(a).find(s=>s.kind==="file"&&s.type.indexOf("image")!==-1);if(r){const s=r.getAsFile();if(s){const o=new FileReader;o.onload=n=>{var c;const i=(c=n.target)==null?void 0:c.result;i&&typeof i=="string"&&new ImageElement().addImage(i)},o.readAsDataURL(s)}}}}resizeFn(){const e=paintBoard.canvas;e&&(e.setWidth(window.innerWidth*useBoardStore.getState().canvasWidth),e.setHeight(window.innerHeight*useBoardStore.getState().canvasHeight))}}class CanvasEvent{constructor(){l(this,"clickEvent");l(this,"zoomEvent");l(this,"objectEvent");l(this,"windowEvent");l(this,"touchEvent");const e=new CanvasClickEvent;this.clickEvent=e;const a=new CanvasZoomEvent;this.zoomEvent=a;const r=new ObjectEvent;this.objectEvent=r;const s=new WindowEvent;this.windowEvent=s;const o=new CanvasTouchEvent;this.touchEvent=o}removeEvent(){this.windowEvent.removeWindowEvent(),this.touchEvent.removeTouchEvent()}}const FontStyle={BOLD:"bold",ITALIC:"italic",UNDER_LINE:"underline",LINE_THROUGH:"linethrough"};class TextElement{constructor(){l(this,"text",null);l(this,"isTextEditing",!1)}loadText(e,a){var s;const r=paintBoard==null?void 0:paintBoard.canvas;if(r){const o=r.getVpCenter(),{fontStyles:n,drawColors:i,textFontFamily:c}=useDrawStore.getState(),d=lodash.exports.isUndefined(e)&&lodash.exports.isUndefined(a),h=new fabric.fabric.IText("Type here...",{originX:d?"center":"left",originY:d?"center":"top",left:d?o.x:e,top:d?o.y:a,fill:i[0],fontSize:25/((s=r==null?void 0:r.getZoom())!=null?s:1),fontFamily:c,fontWeight:n.includes(FontStyle.BOLD)?"bold":"normal",fontStyle:n.includes(FontStyle.ITALIC)?"italic":"normal",underline:n.includes(FontStyle.UNDER_LINE),linethrough:n.includes(FontStyle.LINE_THROUGH)});this.text=h,r.add(h),r.setActiveObject(h),h.enterEditing(),h.selectAll()}}resetText(){this!=null&&this.text&&(this.text.exitEditing(),this.text=null)}}const renderPencilBrush=()=>{const t=paintBoard.canvas;if(!t)return;const e=new fabric.fabric.PencilBrush(t);t.isDrawingMode=!0,t.freeDrawingBrush=e,t.freeDrawingBrush.width=getDrawWidth(),t.freeDrawingBrush.color=useDrawStore.getState().drawColors[0],t.freeDrawingBrush.shadow=new fabric.fabric.Shadow({blur:getShadowWidth(),offsetX:0,offsetY:0,color:useDrawStore.getState().shadowColor})};class PaintBoard{constructor(){l(this,"canvas",null);l(this,"evnet",null);l(this,"history",null);l(this,"textElement");l(this,"hookFn",[]);l(this,"updateCanvasWidth",lodash.exports.debounce(e=>{this.canvas&&(this.canvas.setWidth(window.innerWidth*e),useFileStore.getState().updateCanvasWidth(e))},500));l(this,"updateCanvasHeight",lodash.exports.debounce(e=>{this.canvas&&(this.canvas.setHeight(window.innerHeight*e),useFileStore.getState().updateCanvasHeight(e))},500));this.textElement=new TextElement}initCanvas(e){return new Promise(async a=>{this.canvas=new fabric.fabric.Canvas(e,{selectionColor:"rgba(101, 204, 138, 0.3)",preserveObjectStacking:!0,enableRetinaScaling:!0}),fabric.fabric.Object.prototype.set({borderColor:"#65CC8A",cornerColor:"#65CC8A",cornerStyle:"circle",borderDashArray:[3,3],transparentCorners:!1}),fabric.fabric.Line.prototype.strokeLineJoin="round",fabric.fabric.Line.prototype.strokeLineCap="round",isMobile()&&brushMouseMixin.initCanvas(this.canvas),alignGuideLine.init(this.canvas,useBoardStore.getState().openGuideLine),this.evnet=new CanvasEvent,this.handleMode(),await this.initCanvasStorage(),a(!0)})}removeCanvas(){var e,a;this.canvas&&((e=this==null?void 0:this.canvas)==null||e.dispose(),(a=this.evnet)==null||a.removeEvent(),this.canvas=null)}initCanvasStorage(){return new Promise(e=>{setTimeout(()=>{const{files:a,currentId:r}=useFileStore.getState(),s=a==null?void 0:a.find(o=>(o==null?void 0:o.id)===r);s&&this.canvas?this.canvas.loadFromJSON(s.boardData,()=>{this.canvas&&(s.viewportTransform&&this.canvas.setViewportTransform(s.viewportTransform),this.canvas.setWidth(window.innerWidth*.45),useBoardStore.getState().updateCanvasWidth(.45),this.canvas.setHeight(window.innerHeight*.85),useBoardStore.getState().initBackground(),useBoardStore.getState().updateCanvasHeight(.85),handleCanvasJSONLoaded(this.canvas),fabric.fabric.Object.prototype.set({objectCaching:useBoardStore.getState().isObjectCaching}),this.canvas.renderAll(),this.triggerHook(),this.history=new History),e(!0)}):e(!0)},300)})}handleMode(e=useBoardStore.getState().mode){if(!this.canvas)return;let a=!1,r=!1;const s={selectable:!1,hoverCursor:"default"};switch(e){case ActionMode.DRAW:useBoardStore.getState().drawType===DrawType.FreeStyle&&[DrawStyle.Basic,DrawStyle.Material,DrawStyle.MultiColor].includes(useDrawStore.getState().drawStyle)&&(a=!0,this.handleDrawStyle()),this.canvas.discardActiveObject();break;case ActionMode.ERASE:a=!0,this.canvas.freeDrawingBrush=new fabric.fabric.EraserBrush(this.canvas),this.canvas.freeDrawingBrush.width=getEraserWidth(),this.canvas.freeDrawingBrush.color="#FFF",this.canvas.discardActiveObject();break;case ActionMode.Board:case ActionMode.SELECT:s.selectable=!0,s.hoverCursor=void 0,r=!0;break}this.canvas.isDrawingMode=a,this.canvas.selection=r,fabric.fabric.Object.prototype.set(s),this.canvas.forEachObject(o=>{o._customType===ELEMENT_CUSTOM_TYPE.I_TEXT&&(o.selectable=s.selectable,o.hoverCursor=s.hoverCursor)}),this.handleAutoDrawData(),this.canvas.requestRenderAll()}handleDrawStyle(){if(!this.canvas)return;switch(useDrawStore.getState().drawStyle){case DrawStyle.Basic:renderPencilBrush();break;case DrawStyle.Material:this.canvas.isDrawingMode=!0,material.render({});break;case DrawStyle.MultiColor:renderMultiColor({});break;default:this.canvas.isDrawingMode=!1;break}this.handleAutoDrawData()}handleAutoDrawData(){useBoardStore.getState().mode===ActionMode.DRAW&&useBoardStore.getState().drawType===DrawType.FreeStyle&&useDrawStore.getState().drawStyle===DrawStyle.Basic&&useDrawStore.getState().openAutoDraw||(autoDrawData.clearDraw(),autoDrawData.resetLoadedSVG())}deleteObject(){if(!this.textElement.isTextEditing&&this.canvas){const e=this.canvas.getActiveObjects();e!=null&&e.length&&(this.canvas.discardActiveObject(),e==null||e.forEach(a=>{var r;(r=this.canvas)==null||r.remove(a)}),this.render())}}render(){var e,a;this.canvas&&((e=this.canvas)==null||e.requestRenderAll(),(a=this.history)==null||a.saveState())}saveImage(){if(this.canvas){const e=document.createElement("a");e.href=this.canvas.toDataURL(),e.download="paint-board.png",e.click()}}getImage(){return this.canvas?this.canvas.toDataURL().substring(22):""}copyObject(){const e=this.canvas;if(!e)return;const a=e.getActiveObjects();if(a.length<=0)return;e.discardActiveObject();const r=a.map(s=>new Promise(o=>{s==null||s.clone(n=>{const i=v4();n.set({left:((n==null?void 0:n.left)||0)+10,top:((n==null?void 0:n.top)||0)+10,evented:!0,id:i,perPixelTargetFind:!0}),o(n),e.add(n)})}));Promise.all(r).then(s=>{const o=new fabric.fabric.ActiveSelection(s,{canvas:e});e.setActiveObject(o),this.render()})}bringForWard(){const e=this.canvas;if(e){const a=e.getActiveObject();a&&(e.bringForward(a,!0),this.render())}}seendBackWard(){const e=this.canvas;if(e){const a=e.getActiveObject();a&&(e.sendBackwards(a,!0),this.render())}}bringToFront(){const e=this.canvas;if(e){const a=e.getActiveObject();a&&(e.bringToFront(a),this.render())}}sendToBack(){const e=this.canvas;if(e){const a=e.getActiveObject();a&&(e.sendToBack(a),this.render())}}addHookFn(e){this.hookFn.push(e)}removeHookFn(e){const a=this.hookFn.findIndex(r=>r===e);a>-1&&this.hookFn.splice(a,1)}triggerHook(){this.hookFn.map(e=>{e==null||e()})}}const paintBoard=new PaintBoard,modeSwitch=[{type:ActionMode.DRAW,text:"tool.draw"},{type:ActionMode.ERASE,text:"tool.eraser"},{type:ActionMode.SELECT,text:"tool.select"}],ShapeConfig=()=>{const{drawShapeCount:t,updateDrawShapeCount:e}=useDrawStore(),{t:a}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.shapeCount")}),jsx("input",{type:"range",min:"1",max:"5",value:t,className:"range range-primary range-xs",step:"1",onChange:r=>e(Number(r.target.value))}),jsxs("div",{className:"w-full flex justify-between text-xs px-2 font-fredokaOne",children:[jsx("span",{children:"1"}),jsx("span",{children:"2"}),jsx("span",{children:"3"}),jsx("span",{children:"4"}),jsx("span",{children:"5"})]})]})},SvgBubble=t=>react.exports.createElement("svg",{height:"18px",width:"18px",id:"_x32_",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512",xmlSpace:"preserve",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",null,react.exports.createElement("path",{fill:"currentColor",d:"M133.048,121.218c-1.663,0-3.296,0.337-4.841,0.996c-20.036,8.606-36.119,24.218-45.306,43.973 c-1.381,2.966-1.522,6.3-0.4,9.375c1.122,3.083,3.382,5.546,6.371,6.936c1.64,0.761,3.373,1.146,5.17,1.146 c4.762,0,9.14-2.794,11.14-7.116c6.646-14.27,18.256-25.544,32.715-31.726c3.013-1.294,5.342-3.68,6.567-6.732 c1.216-3.044,1.177-6.386-0.118-9.398C142.408,124.144,137.967,121.218,133.048,121.218z"}),react.exports.createElement("path",{fill:"currentColor",d:"M325.854,203.342c-0.016-89.821-73.11-162.915-162.932-162.931C73.102,40.427,0.015,113.521,0,203.342 c0.015,89.821,73.102,162.908,162.923,162.924C252.744,366.25,325.838,293.163,325.854,203.342z M162.923,334.344 c-34.974-0.008-67.869-13.636-92.629-38.372c-24.736-24.768-38.364-57.664-38.372-92.63c0.008-34.982,13.635-67.877,38.372-92.63 c24.775-24.743,57.671-38.371,92.629-38.379c34.967,0.008,67.862,13.636,92.63,38.379c24.744,24.768,38.372,57.664,38.38,92.63 c-0.008,34.959-13.635,67.854-38.38,92.63C230.793,320.708,197.898,334.336,162.923,334.344z"}),react.exports.createElement("path",{fill:"currentColor",d:"M427.458,69.815c-46.6,0.008-84.532,37.932-84.549,84.541c0.016,46.601,37.948,84.525,84.549,84.541 c46.601-0.016,84.526-37.94,84.542-84.541C511.984,107.747,474.06,69.823,427.458,69.815z M464.661,191.575 c-9.963,9.924-23.175,15.392-37.203,15.4c-14.035-0.008-27.247-5.476-37.218-15.408c-9.924-9.963-15.392-23.175-15.4-37.21 c0.008-14.035,5.476-27.246,15.408-37.219c9.963-9.924,23.175-15.392,37.21-15.4c14.028,0.008,27.24,5.477,37.211,15.408 c9.924,9.964,15.4,23.184,15.408,37.211C480.07,168.383,474.593,181.603,464.661,191.575z"}),react.exports.createElement("path",{fill:"currentColor",d:"M349.076,251.325c-2.683,10.434-6.261,20.664-10.654,30.487c16.146,2.808,30.761,10.379,42.428,22.03 c15.024,15.047,23.292,35.029,23.301,56.258c-0.008,21.23-8.277,41.212-23.301,56.258c-15.048,15.024-35.03,23.301-56.258,23.309 c-21.23-0.008-41.212-8.284-56.266-23.309c-11.015-11.03-18.421-24.822-21.559-40.042c-9.666,4.691-19.746,8.574-30.056,11.572 c12.655,49.386,56.699,83.686,107.882,83.701c61.46-0.015,111.473-50.029,111.489-111.489 C436.065,308.038,399.608,262.661,349.076,251.325z"})))),SvgStar=t=>react.exports.createElement("svg",{fill:"#ffffff",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:"16px",height:"16px",viewBox:"0 0 940.688 940.688",xmlSpace:"preserve",stroke:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",null,react.exports.createElement("path",{fill:"currentColor",d:"M885.344,319.071l-258-3.8l-102.7-264.399c-19.8-48.801-88.899-48.801-108.6,0l-102.7,264.399l-258,3.8 c-53.4,3.101-75.1,70.2-33.7,103.9l209.2,181.4l-71.3,247.7c-14,50.899,41.1,92.899,86.5,65.899l224.3-122.7l224.3,122.601 c45.4,27,100.5-15,86.5-65.9l-71.3-247.7l209.2-181.399C960.443,389.172,938.744,322.071,885.344,319.071z"})))),SvgLove=t=>react.exports.createElement("svg",{fill:"currentColor",width:"20px",height:"20px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M20.808,11.079C19.829,16.132,12,20.5,12,20.5s-7.829-4.368-8.808-9.421C2.227,6.1,5.066,3.5,8,3.5a4.444,4.444,0,0,1,4,2,4.444,4.444,0,0,1,4-2C18.934,3.5,21.773,6.1,20.808,11.079Z"}))),SvgButterfly=t=>react.exports.createElement("svg",{fill:"currentColor",width:"16px",height:"16px",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M214.37 208H70.57c-31 0-57.37 14.9-67.26 45.33C1.57 258.71 0 265.54 0 272c0 48 96 128 144 128 28.95 0 53.24-10.67 75.72-33.14-8.58 11.05-13.81 23.47-15.72 37.28-6.98 49.25 1.73 83.2 27.23 91.48C255.99 503.66 288 512 304 512c48 0 53.35-109.18 26.33-144.39L214.37 208zm29.29-21.28L288.1 49.96C297.68 20.47 320 0 352 0c5.66 0 12.64.62 18.78 2.61 45.65 14.84 92.07 130.86 77.23 176.51-8.94 27.54-26.59 47.34-54.91 61.77 13.15-4.74 26.59-5.88 40.31-3.42 49 8.58 78.59 27.35 78.59 54.16 0 26.04-1.96 59.05-6.91 74.27-14.83 45.65-120.32 17.01-145.46-19.58l-115.97-159.6z"}))),SvgSnow=t=>react.exports.createElement("svg",{width:"18px",height:"18px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M11.9994 3V7M11.9994 7V17M11.9994 7L8.99943 4M11.9994 7L14.9994 4M11.9994 17V21M11.9994 17L8.99943 20M11.9994 17L14.9994 20M4.20624 7.49999L7.67034 9.49999M7.67034 9.49999L16.3306 14.5M7.67034 9.49999L3.57227 10.5981M7.67034 9.49999L6.57227 5.40191M16.3306 14.5L19.7947 16.5M16.3306 14.5L17.4287 18.5981M16.3306 14.5L20.4287 13.4019M4.2067 16.5L7.6708 14.5M7.6708 14.5L16.3311 9.49999M7.6708 14.5L3.57273 13.4019M7.6708 14.5L6.57273 18.5981M16.3311 9.49999L19.7952 7.49999M16.3311 9.49999L17.4291 5.40192M16.3311 9.49999L20.4291 10.5981",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgMusic=t=>react.exports.createElement("svg",{width:"18px",height:"18px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M10.0909 11.9629L19.3636 8.63087V14.1707C18.8126 13.8538 18.1574 13.67 17.4545 13.67C15.4964 13.67 13.9091 15.096 13.9091 16.855C13.9091 18.614 15.4964 20.04 17.4545 20.04C19.4126 20.04 21 18.614 21 16.855C21 16.855 21 16.8551 21 16.855L21 7.49236C21 6.37238 21 5.4331 20.9123 4.68472C20.8999 4.57895 20.8852 4.4738 20.869 4.37569C20.7845 3.86441 20.6352 3.38745 20.347 2.98917C20.2028 2.79002 20.024 2.61055 19.8012 2.45628C19.7594 2.42736 19.716 2.39932 19.6711 2.3722L19.6621 2.36679C18.8906 1.90553 18.0233 1.93852 17.1298 2.14305C16.2657 2.34086 15.1944 2.74368 13.8808 3.23763L11.5963 4.09656C10.9806 4.32806 10.4589 4.52419 10.0494 4.72734C9.61376 4.94348 9.23849 5.1984 8.95707 5.57828C8.67564 5.95817 8.55876 6.36756 8.50501 6.81203C8.4545 7.22978 8.45452 7.7378 8.45455 8.33743V16.1307C7.90347 15.8138 7.24835 15.63 6.54545 15.63C4.58735 15.63 3 17.056 3 18.815C3 20.574 4.58735 22 6.54545 22C8.50355 22 10.0909 20.574 10.0909 18.815C10.0909 18.815 10.0909 18.8151 10.0909 18.815L10.0909 11.9629Z",fill:"currentColor"}))),SvgSun=t=>react.exports.createElement("svg",{fill:"currentColor",width:"20px",height:"20px",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("title",null,"sun"),react.exports.createElement("path",{d:"M23.395 14.106c2.958-1.383 2.828-6.068 5.758-5.884-4.125-2.74-4.019 3.106-9.089 1.235 1.107-3.068-2.292-6.286-0.091-8.227-4.855 0.979-0.645 5.039-5.555 7.301-1.384-2.958-6.068-2.828-5.884-5.758-2.74 4.125 3.106 4.019 1.235 9.089-3.068-1.107-6.286 2.292-8.227 0.091 0.979 4.855 5.039 0.645 7.301 5.555-2.958 1.384-2.828 6.068-5.758 5.884 4.125 2.74 4.019-3.106 9.089-1.235-1.107 3.068 2.292 6.286 0.091 8.227 4.855-0.979 0.645-5.039 5.555-7.301 1.384 2.958 6.068 2.828 5.884 5.758 2.74-4.125-3.106-4.019-1.235-9.089 3.068 1.107 6.286-2.292 8.226-0.091-0.979-4.855-5.039-0.645-7.301-5.555z"}))),SvgMoon=t=>react.exports.createElement("svg",{width:"18px",height:"18px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M12 22C17.5228 22 22 17.5228 22 12C22 11.5373 21.3065 11.4608 21.0672 11.8568C19.9289 13.7406 17.8615 15 15.5 15C11.9101 15 9 12.0899 9 8.5C9 6.13845 10.2594 4.07105 12.1432 2.93276C12.5392 2.69347 12.4627 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z",fill:"currentColor"}))),SvgLeaf=t=>react.exports.createElement("svg",{height:"16px",width:"16px",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 25.263 25.263",xmlSpace:"preserve",fill:"currentColor",stroke:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",null,react.exports.createElement("path",{d:"M15.362,9.69c0,0-0.75,1.108-1.068,0c-0.318-1.109-1.346-4.949-1.762-5.226 c-0.417-0.278-0.417-0.278-0.417-0.278s-0.078,1.506-0.594,1.307c-0.515-0.198-4.313-2.217-4.63-2.652L6.574,2.444 c0,0,0.355,3.328-0.515,2.615c0,0,1.113,2.771-2.573,3.048c0,0,1.186,3.087,4.552,4.75c0,0,1.148,1.783-0.949,1.503 c0,0-2.932-0.395-3.325-0.752c0,0-1.548,3.01-3.764,3.128c0,0,2.656,1.504,2.337,4.156c0,0,5.107,0.041,4.911,0.832 c-0.2,0.795-0.555,1.601-0.555,1.601s4.71-0.929,5.422-2.194c0,0,0.989,0.99,1.071,1.939c0,0,2.693-0.594,2.452-2.296 c0,0,1.269,0.948,1.427,2.551l0.554-0.375c0,0-0.319-1.661-1.464-2.967c0,0-0.517-1.308,0.789-0.633c0,0,3.085,1.029,5.7-0.833 c0,0-2.888-0.948-3.006-1.978c0,0,5.394-3.326,5.625-5.542c0,0-1.944,0.198-2.972-0.633c0,0-1.309-0.396,0.394-4.791 c0,0-1.227,0.724-1.62-3.636c0,0-3.051,4.665-4.518,3.082C16.548,5.018,15.165,8.066,15.362,9.69z"})))),SvgFlower=t=>react.exports.createElement("svg",{id:"_x32_",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:"16px",height:"16px",viewBox:"0 0 512 512",xmlSpace:"preserve",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",null,react.exports.createElement("path",{d:"M512,224.438c0-63.766-51.703-115.469-115.484-115.469c-8.781,0-17.328,1-25.531,2.859 C365.656,52.984,316.219,6.875,256,6.875c-60.234,0-109.672,46.109-114.984,104.953c-8.219-1.859-16.766-2.859-25.531-2.859 C51.703,108.969,0,160.672,0,224.438c0,47.594,28.797,88.469,69.906,106.141c-10.297,17.281-16.234,37.484-16.234,59.063 c0,63.766,51.703,115.484,115.484,115.484c34.625,0,65.672-15.266,86.844-39.406c21.156,24.141,52.219,39.406,86.844,39.406 c63.781,0,115.484-51.719,115.484-115.484c0-21.578-5.938-41.781-16.25-59.063C483.203,312.906,512,272.031,512,224.438z M256,372.531c-53.563,0-97-43.406-97-97c0-53.563,43.438-96.984,97-96.984s96.984,43.422,96.984,96.984 C352.984,329.125,309.563,372.531,256,372.531z"})))),shapeSwitch={line_1:[{type:DrawShape.Bubble,icon:SvgBubble},{type:DrawShape.Star,icon:SvgStar},{type:DrawShape.Love,icon:SvgLove},{type:DrawShape.Butterfly,icon:SvgButterfly},{type:DrawShape.Snow,icon:SvgSnow}],line_2:[{type:DrawShape.Music,icon:SvgMusic},{type:DrawShape.Sun,icon:SvgSun},{type:DrawShape.Moon,icon:SvgMoon},{type:DrawShape.Leaf,icon:SvgLeaf},{type:DrawShape.Flower,icon:SvgFlower}]},shapeTypeConfig=()=>{const{drawShape:t,updateDrawShape:e}=useDrawStore(),{t:a}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.shapeType")}),Object.keys(shapeSwitch).map(r=>jsx("div",{className:"btn-group mt-1 flex",children:shapeSwitch[r].map(({type:s,icon:o})=>jsx("button",{className:`btn btn-xs flex-grow text-white ${t===s?"btn-active":""}`,onClick:()=>{e(s)},children:o({})},s))},r))]})},fontFamilyRadio={georgia:"Georgia",fredokaOne:"Fredoka One",hanaleiFill:"Hanalei Fill",ruslanDisplay:"Ruslan Display",lobster:"Lobster",pacifico:"Pacifico",gloriaHallelujah:"Gloria Hallelujah"},FontFamilyConfg=({fontFamily:t,updateFontFamily:e})=>{const{textFontFamily:a,updateTextFontFamily:r}=useDrawStore(),{t:s}=useTranslation();return jsxs(Fragment,{children:[jsx("div",{className:"font-bold text-sm font-fredokaOne mt-3",children:s("title.fontFamily")}),jsx("div",{children:Object.keys(fontFamilyRadio).map(o=>jsxs("label",{className:"flex justify-between items-center mt-2 w-full cursor-pointer",children:[jsx("div",{style:{fontFamily:`${fontFamilyRadio[o]}`},className:"text-xs",children:fontFamilyRadio[o]}),jsx("input",{type:"radio",name:"radio-5",className:"radio radio-success radio-sm",checked:(t||a)===fontFamilyRadio[o],onChange:()=>{r(fontFamilyRadio[o]),e==null||e(fontFamilyRadio[o])}})]},o))})]})},DrawTextConfig=()=>{const{t}=useTranslation(),{drawTextValue:e,updateDrawTextValue:a}=useDrawStore();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:t("title.drawText")}),jsx("div",{className:"flex mt-1 justify-between px-3 py-1.5 rounded-lg bg-primary cursor-pointer",children:jsx("input",{value:e,className:"px-2 rounded-lg flex-1",onInput:r=>a(r.target.value)})}),jsx(FontFamilyConfg,{})]})},MaterialSwitch=[{type:MATERIAL_TYPE.CARBON,image:formatPublicUrl("pattern/carbon.png")},{type:MATERIAL_TYPE.CLOTH,image:formatPublicUrl("pattern/cloth.png")},{type:MATERIAL_TYPE.CRAYON,image:formatPublicUrl("pattern/crayon.png")},{type:MATERIAL_TYPE.OIL,image:formatPublicUrl("pattern/oil.png")},{type:MATERIAL_TYPE.CRAYON_DARK,image:formatPublicUrl("pattern/crayonDark.png")}],MaterialConfig=()=>{const{materialType:t,updateMaterialType:e,drawColors:a}=useDrawStore(),{t:r}=useTranslation();return jsx(Fragment,{children:jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:r("title.materialType")}),jsx("div",{className:"btn-group mt-1 flex",children:MaterialSwitch.map(({type:s,image:o},n)=>jsx("button",{className:`btn btn-xs flex-grow ${t===s?"btn-active":""}`,onClick:()=>{e(s)},children:jsx("img",{src:o,alt:"",className:"w-5 h-3 opacity-60 rounded-sm",style:{backgroundColor:a[0]}})},n))})]})})},MultiColorSwitch=[MultiColorType.COL,MultiColorType.ROW,MultiColorType.CIRCLE],MultiColorConfig=()=>{const{multiColorType:t,updateMultiColorType:e,drawColors:a}=useDrawStore(),{t:r}=useTranslation();return jsx(Fragment,{children:jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:r("title.multiColorType")}),jsx("div",{className:"btn-group mt-1 flex",children:MultiColorSwitch.map((s,o)=>jsxs("button",{className:`btn btn-xs flex-grow ${t===s?"btn-active":""}`,onClick:()=>{e(s)},children:[s===MultiColorType.COL&&jsx("div",{className:"flex w-4/6 h-4/6 rounded-lg overflow-hidden ",children:a.map((n,i)=>jsx("div",{className:"h-full flex-1",style:{backgroundColor:n}},i))}),s===MultiColorType.ROW&&jsx("div",{className:"flex flex-col w-4/6 h-4/6 rounded-lg overflow-hidden ",children:a.map((n,i)=>jsx("div",{className:"h-full flex-1",style:{backgroundColor:n}},i))}),s===MultiColorType.CIRCLE&&jsx("div",{className:"w-4/6 h-4/6 relative",children:a.map((n,i)=>jsx("div",{className:"h-4 w-4 rounded-full absolute top-0",style:{backgroundColor:n,left:`${i*5}px`}},i))})]},o))})]})})},DrawColorConfig=()=>{const{drawColors:t,updateDrawColors:e}=useDrawStore(),{t:a}=useTranslation(),r=(o,n)=>{const i=[...t];i[n]=o,e(i)},s=["#000000","#C0C0C0","#FFFAF0","#FFFF00","#FF8000","#FF4500","#DA70D6","#9933FA","#1E90FF","#191970","#00C78C","#7FFFD4","#7CFC00"];return jsxs("div",{className:"form-control mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.drawColor")}),jsxs("div",{className:"mt-2 flex items-center w-full",style:{display:"inline-grid"},children:[jsx("div",{className:"w-7 h-7 mr-2 indicator",style:{margin:"0.5rem 1rem"},children:jsx("input",{type:"color",value:t[0],onChange:o=>{r(o.target.value,0)},className:"colorInput"})}),s.map((o,n)=>jsx("div",{className:"w-7 h-7 mr-2 indicator",style:{margin:"0.5rem 1rem"},children:jsx("div",{style:{backgroundColor:o},onClick:()=>{r(o,0)},className:"colorInput"})},n))]})]})},FreeDrawConfig=()=>{const{drawStyle:t}=useDrawStore();return useBoardStore(),jsxs(Fragment,{children:[t===DrawStyle.Shape&&jsx(shapeTypeConfig,{}),(t===DrawStyle.Shape||t===DrawStyle.MultiPoint)&&jsx(ShapeConfig,{}),t===DrawStyle.Material&&jsx(MaterialConfig,{}),t===DrawStyle.MultiColor&&jsx(MultiColorConfig,{}),![DrawStyle.Text,DrawStyle.Wiggle,DrawStyle.Thorn].includes(t),t!==DrawStyle.Rainbow&&jsx(DrawColorConfig,{}),t===DrawStyle.Text&&jsx(DrawTextConfig,{})]})},BorderStyleConfig=t=>{var n,i,c;const{t:e}=useTranslation(),{borderColor:a,updateBorderColor:r,borderWidth:s,updateBorderWidth:o}=useShapeStore();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:e("title.borderStyle")}),jsxs("div",{className:"flex mt-1 items-center",children:[jsx("div",{className:"w-7 h-7 cursor-pointer",children:jsx("input",{type:"color",value:(n=t==null?void 0:t.borderColor)!=null?n:a,onChange:d=>{var h;r(d.target.value),(h=t==null?void 0:t.updateBorderColor)==null||h.call(t,d.target.value)},className:"colorInput"})}),jsx("div",{className:"divider divider-horizontal mx-2"}),jsx("div",{className:"text-lg font-fredokaOne mr-2 text-primary-focus",children:(i=t==null?void 0:t.borderWidth)!=null?i:s}),jsx("input",{type:"range",min:"1",max:"20",step:"1",value:(c=t==null?void 0:t.borderWidth)!=null?c:s,className:"range range-primary range-xs cursor-pointer",onChange:d=>{var h;o(Number(d.target.value)),(h=t==null?void 0:t.updateBorderWidth)==null||h.call(t,Number(d.target.value))}})]})]})},SvgSolid=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M4 12L20 12",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgDashed=t=>react.exports.createElement("svg",{t:1705739078408,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":5340,xmlnsXlink:"http://www.w3.org/1999/xlink",width:20,height:20,...t},react.exports.createElement("path",{fill:"currentColor",d:"M0 480h160v64H0zM288 480H448v64H288zM576 480h160v64H576zM864 480H1024v64h-160z","p-id":5341})),SvgDotted=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M3 13H1v-2h2zm4-2H5v2h2zm12 0h-2v2h2zm4 0h-2v2h2zm-12 0H9v2h2zm4 0h-2v2h2z"}),react.exports.createElement("path",{fill:"none",d:"M0 0h24v24H0z"}))),borderTypeSwitch={line_1:[{type:ShapeBorderType.Solid,icon:SvgSolid},{type:ShapeBorderType.Dashed,icon:SvgDashed},{type:ShapeBorderType.Dotted,icon:SvgDotted}]},BorderTypeConfig=t=>{const{borderType:e,updateBorderType:a}=useShapeStore(),{t:r}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:r("title.borderType")}),Object.keys(borderTypeSwitch).map(s=>jsx("div",{className:"btn-group mt-1 flex",children:borderTypeSwitch[s].map(({type:o,icon:n})=>jsx("button",{className:`btn btn-xs flex-grow ${(t.borderType||e)===o?"btn-active":""}`,onClick:()=>{var i;a(o),(i=t==null?void 0:t.updateBorderType)==null||i.call(t,o)},children:n({})},o))},s))]})},SvgTransparent=t=>react.exports.createElement("svg",{t:1702136520403,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":1624,xmlnsXlink:"http://www.w3.org/1999/xlink",width:15,height:15,...t},react.exports.createElement("path",{d:"M0 0h192v192H0z","p-id":1625,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M192 192h192v192H192z",opacity:.6,"p-id":1626,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M384 0h192v192H384z",opacity:.8,"p-id":1627,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M576 192h192v192H576z",opacity:.4,"p-id":1628,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M768 0h192v192h-192z",opacity:.6,"p-id":1629,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M0 384h192v192H0z",opacity:.8,"p-id":1630,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M192 576h192v192H192zM384 384h192v192H384z",opacity:.4,"p-id":1631,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M576 576h192v192H576zM768 384h192v192h-192z",opacity:.2,"p-id":1632,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M0 768h192v192H0z",opacity:.4,"p-id":1633,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M384 768h192v192H384z",opacity:.2,"p-id":1634,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M768 768h192v192h-192z",opacity:.1,"p-id":1635,fill:"CURRENTCOLOR"})),SvgFillFull=t=>react.exports.createElement("svg",{fill:"currentColor",width:"20px",height:"20px",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",xmlSpace:"preserve","xmlns:serif":"http://www.serif.com/",style:{fillRule:"evenodd",clipRule:"evenodd",strokeLinejoin:"round",strokeMiterlimit:2},...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M4,29.987l24,0c0.828,0 1.5,-0.672 1.5,-1.5c0,-0.827 -0.672,-1.5 -1.5,-1.5l-24,0c-0.828,0 -1.5,0.673 -1.5,1.5c0,0.828 0.672,1.5 1.5,1.5Z"}),react.exports.createElement("path",{d:"M9.138,22.244c1.323,0.328 2.775,0.118 3.995,-0.702l9.873,-6.712c0.458,-0.308 0.58,-0.929 0.273,-1.388l-6.717,-10c-0.308,-0.458 -0.929,-0.58 -1.388,-0.272c0,-0 -6.027,4.048 -9.961,6.691c-2.293,1.539 -2.903,4.646 -1.363,6.938c0.725,1.08 1.53,2.279 2.256,3.359c0.738,1.099 1.836,1.812 3.032,2.086Zm11.448,-9.223l-15.418,0c0.207,-0.591 0.599,-1.124 1.16,-1.5c-0,-0 9.131,-6.133 9.131,-6.133l5.127,7.633Z"}),react.exports.createElement("path",{d:"M26.339,15.455c-0.185,-0.284 -0.5,-0.455 -0.839,-0.455c-0.339,-0 -0.654,0.171 -0.839,0.455c0,0 -1.274,1.965 -2.039,3.732c-0.379,0.876 -0.622,1.717 -0.622,2.313c-0,1.932 1.568,3.5 3.5,3.5c1.932,0 3.5,-1.568 3.5,-3.5c-0,-0.596 -0.243,-1.437 -0.622,-2.313c-0.765,-1.767 -2.039,-3.732 -2.039,-3.732Z"}))),FillTypeSwitch=[{type:ShapeFillType.Transparent,icon:SvgTransparent},{type:ShapeFillType.Full,icon:SvgFillFull}],FillStyleConfig=t=>{const{t:e}=useTranslation(),{fillColor:a,updateFillColor:r,fillType:s,updateFillType:o}=useShapeStore();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:e("title.fillStyle")}),jsxs("div",{className:"flex mt-1 items-center",children:[jsx("div",{className:"w-7 h-7 cursor-pointer",children:jsx("input",{type:"color",value:(t==null?void 0:t.fillColor)||a,onChange:n=>{var i;r(n.target.value),(i=t==null?void 0:t.updateFillColor)==null||i.call(t,n.target.value)},className:"colorInput"})}),jsx("div",{className:"divider divider-horizontal mx-2"}),jsx("div",{className:"tabs tabs-boxed bg-[#333C4D] flex",children:FillTypeSwitch.map(({type:n,icon:i})=>jsx("button",{className:`tab tab-xs flex-grow text-[#eef1ff] ${((t==null?void 0:t.fillType)||s)===n?"tab-active":""}`,onClick:()=>{var c;o(n),(c=t==null?void 0:t.updateFillType)==null||c.call(t,n)},children:i({})},n))})]})]})},PointCountConfig=()=>{const{shapeLinePointCount:t,updateShapeLinePointCount:e}=useShapeStore(),{t:a}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.shapeLinePointCount")}),jsx("input",{type:"range",min:"2",max:"5",value:t,className:"range range-primary range-xs mt-1",step:"1",onChange:r=>e(Number(r.target.value))}),jsxs("div",{className:"w-full flex justify-between text-xs px-2 font-fredokaOne",children:[jsx("span",{children:"2"}),jsx("span",{children:"3"}),jsx("span",{children:"4"}),jsx("span",{children:"5"})]})]})},SvgLine=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18 5C17.4477 5 17 5.44772 17 6C17 6.27642 17.1108 6.52505 17.2929 6.70711C17.475 6.88917 17.7236 7 18 7C18.5523 7 19 6.55228 19 6C19 5.44772 18.5523 5 18 5ZM15 6C15 4.34315 16.3431 3 18 3C19.6569 3 21 4.34315 21 6C21 7.65685 19.6569 9 18 9C17.5372 9 17.0984 8.8948 16.7068 8.70744L8.70744 16.7068C8.8948 17.0984 9 17.5372 9 18C9 19.6569 7.65685 21 6 21C4.34315 21 3 19.6569 3 18C3 16.3431 4.34315 15 6 15C6.46278 15 6.90157 15.1052 7.29323 15.2926L15.2926 7.29323C15.1052 6.90157 15 6.46278 15 6ZM6 17C5.44772 17 5 17.4477 5 18C5 18.5523 5.44772 19 6 19C6.55228 19 7 18.5523 7 18C7 17.7236 6.88917 17.475 6.70711 17.2929C6.52505 17.1108 6.27642 17 6 17Z",fill:"currentColor"}))),SvgRect=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M3 6.6C3 6.03995 3 5.75992 3.10899 5.54601C3.20487 5.35785 3.35785 5.20487 3.54601 5.10899C3.75992 5 4.03995 5 4.6 5H10.4C10.9601 5 11.2401 5 11.454 5.10899C11.6422 5.20487 11.7951 5.35785 11.891 5.54601C12 5.75992 12 6.03995 12 6.6V8.4C12 8.96005 12 9.24008 11.891 9.45399C11.7951 9.64215 11.6422 9.79513 11.454 9.89101C11.2401 10 10.9601 10 10.4 10H4.6C4.03995 10 3.75992 10 3.54601 9.89101C3.35785 9.79513 3.20487 9.64215 3.10899 9.45399C3 9.24008 3 8.96005 3 8.4V6.6Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M5 15.6C5 15.0399 5 14.7599 5.10899 14.546C5.20487 14.3578 5.35785 14.2049 5.54601 14.109C5.75992 14 6.03995 14 6.6 14H10.4C10.9601 14 11.2401 14 11.454 14.109C11.6422 14.2049 11.7951 14.3578 11.891 14.546C12 14.7599 12 15.0399 12 15.6V17.4C12 17.9601 12 18.2401 11.891 18.454C11.7951 18.6422 11.6422 18.7951 11.454 18.891C11.2401 19 10.9601 19 10.4 19H6.6C6.03995 19 5.75992 19 5.54601 18.891C5.35785 18.7951 5.20487 18.6422 5.10899 18.454C5 18.2401 5 17.9601 5 17.4V15.6Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M16 6.6C16 6.03995 16 5.75992 16.109 5.54601C16.2049 5.35785 16.3578 5.20487 16.546 5.10899C16.7599 5 17.0399 5 17.6 5H19.4C19.9601 5 20.2401 5 20.454 5.10899C20.6422 5.20487 20.7951 5.35785 20.891 5.54601C21 5.75992 21 6.03995 21 6.6V14.4C21 14.9601 21 15.2401 20.891 15.454C20.7951 15.6422 20.6422 15.7951 20.454 15.891C20.2401 16 19.9601 16 19.4 16H17.6C17.0399 16 16.7599 16 16.546 15.891C16.3578 15.7951 16.2049 15.6422 16.109 15.454C16 15.2401 16 14.9601 16 14.4V6.6Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgCircle=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z",stroke:"currentColor",strokeWidth:2}))),SvgEllipse=t=>react.exports.createElement("svg",{t:1705756373807,className:"icon",viewBox:"0 0 1066 1024",xmlns:"http://www.w3.org/2000/svg","p-id":15154,xmlnsXlink:"http://www.w3.org/1999/xlink",width:25,height:20,...t},react.exports.createElement("path",{d:"M298.24 366.506667C236.373333 407.68 204.8 459.946667 204.8 512c0 52.010667 31.573333 104.277333 93.44 145.493333 61.610667 41.045333 149.12 67.84 247.893333 67.84 98.773333 0 186.282667-26.794667 247.893334-67.84 61.866667-41.216 93.44-93.482667 93.44-145.493333 0-52.010667-31.573333-104.277333-93.44-145.493333C732.373333 325.376 644.864 298.666667 546.133333 298.666667c-98.773333 0-186.282667 26.752-247.893333 67.84zM250.965333 295.424C328.362667 243.84 432.853333 213.333333 546.133333 213.333333c113.28 0 217.770667 30.549333 295.210667 82.133334C918.442667 346.88 972.8 422.613333 972.8 512s-54.357333 165.12-131.456 216.533333C763.904 780.16 659.413333 810.666667 546.133333 810.666667c-113.28 0-217.770667-30.549333-295.210666-82.133334C173.824 677.12 119.466667 601.386667 119.466667 512s54.357333-165.12 131.456-216.533333z",fill:"currentColor","p-id":15155})),SvgTriangle=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"Shape / Triangle"},react.exports.createElement("path",{id:"Vector",d:"M4.37891 15.1999C3.46947 16.775 3.01489 17.5634 3.08281 18.2097C3.14206 18.7734 3.43792 19.2851 3.89648 19.6182C4.42204 20.0001 5.3309 20.0001 7.14853 20.0001H16.8515C18.6691 20.0001 19.5778 20.0001 20.1034 19.6182C20.5619 19.2851 20.8579 18.7734 20.9172 18.2097C20.9851 17.5634 20.5307 16.775 19.6212 15.1999L14.7715 6.79986C13.8621 5.22468 13.4071 4.43722 12.8135 4.17291C12.2957 3.94236 11.704 3.94236 11.1862 4.17291C10.5928 4.43711 10.1381 5.22458 9.22946 6.79845L4.37891 15.1999Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgArrowLine=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"Arrow / Arrow_Down_Up"},react.exports.createElement("path",{id:"Vector",d:"M11 16L8 19M8 19L5 16M8 19V5M13 8L16 5M16 5L19 8M16 5V19",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgArrowOutline=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"-11.98 -11.98 143.74 143.74",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("defs",null),react.exports.createElement("g",{id:"Layer_2","data-name":"Layer 2"},react.exports.createElement("g",{id:"Layer_1-2","data-name":"Layer 1"},react.exports.createElement("path",{d:"M60.3,78.46c-.31,5-.39,9-.82,12.91-.86,7.85-7.86,11.57-14.92,7.85A63.53,63.53,0,0,1,34.4,92.84Q19.67,81,5.29,68.78C-.35,64-1.3,58.65,1.58,51.82a30.86,30.86,0,0,1,2.19-4.65A302.23,302.23,0,0,1,31.91,9.31a48.7,48.7,0,0,1,7.64-6.84C46-2.3,51.84,0,53.52,7.92a65.45,65.45,0,0,1,.78,7.69c.14,1.66.24,3.33.4,5.53a32.54,32.54,0,0,0,4.39.14c7.11-.83,14.18-2.09,21.3-2.57a246.17,246.17,0,0,1,24.89-.54c7.68.26,11.38,3.91,12.77,11.46a112.58,112.58,0,0,1,1.63,24.8c-.05,1.42-.31,2.84-.49,4.25-1,8.35-5.08,13.81-14,14.64a17.63,17.63,0,0,0-4.09,1.24A65.73,65.73,0,0,1,78.3,78.24C72.6,78.16,66.9,78.37,60.3,78.46ZM43.47,14c-9,5.63-27.46,31.38-32.4,44.91,10.7,9.07,21.55,18.33,32.52,27.45,1.38,1.15,3.39,1.55,5.33,2.4,1.38-4.27.25-8,.35-11.62.13-4.81.95-6.57,5.41-7.27,5-.8,10.21-.76,15.33-1,7.4-.41,14.84-.49,22.2-1.28a39.24,39.24,0,0,0,16.08-5c2.55-12.13,1.56-25-2.65-33.79-4.31-1.14-8.87-1.08-13.42-.95-10.86.31-21.7.61-32.42,2.73-5.51,1.09-10.8.41-15.4-3.89C44.12,22.77,43.83,18.81,43.47,14Z"}))))),SvgCloud=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M3 13.6493C3 16.6044 5.41766 19 8.4 19L16.5 19C18.9853 19 21 16.9839 21 14.4969C21 12.6503 19.8893 10.9449 18.3 10.25C18.1317 7.32251 15.684 5 12.6893 5C10.3514 5 8.34694 6.48637 7.5 8.5C4.8 8.9375 3 11.2001 3 13.6493Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgTooltips=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",fill:"none",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20 10h-8a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h.93a2 2 0 0 1 1.664.89l.574.862a1 1 0 0 0 1.664 0l.574-.861A2 2 0 0 1 19.07 20H20a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2zm-6-3V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h.93a2 2 0 0 1 1.664.89L7 13.5"}))),SvgLightning=t=>react.exports.createElement("svg",{t:1705816188032,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":11440,xmlnsXlink:"http://www.w3.org/1999/xlink",width:18,height:18,...t},react.exports.createElement("path",{d:"M508.746667 299.2L485.333333 452.373333a5.333333 5.333333 0 0 0 4 5.973334l217.386667 53.333333a5.333333 5.333333 0 0 1 2.72 8.693333l-184.906667 208.8a5.333333 5.333333 0 0 1-9.28-4.32l23.413334-153.226666a5.333333 5.333333 0 0 0-4-5.973334L317.173333 512a5.333333 5.333333 0 0 1-2.506666-8.48l184.8-208.693333a5.333333 5.333333 0 0 1 9.28 4.373333z m-329.493334 256l271.253334 66.666667a5.333333 5.333333 0 0 1 4 5.973333l-51.04 335.68a5.333333 5.333333 0 0 0 9.226666 4.32l434.773334-490.346667a5.333333 5.333333 0 0 0-2.72-8.693333l-271.253334-66.666667a5.333333 5.333333 0 0 1-4-5.973333l51.04-335.626667a5.333333 5.333333 0 0 0-9.226666-4.373333L176.533333 546.506667a5.333333 5.333333 0 0 0 2.72 8.693333z","p-id":11441,fill:"currentColor"})),SvgClose$1=t=>react.exports.createElement("svg",{t:1705817265217,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":12421,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M851.456 755.419429q0 22.820571-16.018286 38.838857l-77.677714 77.677714q-16.018286 16.018286-38.838857 16.018286t-38.838857-16.018286l-168.009143-168.009143-168.009143 168.009143q-16.018286 16.018286-38.838857 16.018286t-38.838857-16.018286l-77.677714-77.677714q-16.018286-16.018286-16.018286-38.838857t16.018286-38.838857l168.009143-168.009143-168.009143-168.009143q-16.018286-16.018286-16.018286-38.838857t16.018286-38.838857l77.677714-77.677714q16.018286-16.018286 38.838857-16.018286t38.838857 16.018286l168.009143 168.009143 168.009143-168.009143q16.018286-16.018286 38.838857-16.018286t38.838857 16.018286l77.677714 77.677714q16.018286 16.018286 16.018286 38.838857t-16.018286 38.838857l-168.009143 168.009143 168.009143 168.009143q16.018286 16.018286 16.018286 38.838857z",fill:"currentColor","p-id":12422})),SvgCheck=t=>react.exports.createElement("svg",{t:1705817679376,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":15379,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M918.8 83.7c-43.5-30.3-104-19.5-134.6 24.1l-425.8 606-127-135.7c-36.4-38.9-98.1-41.1-137-4.8-39 36.2-41.1 97.7-4.7 136.6l206.5 220.7c4.7 5 9.8 9.4 15.1 13.1 0.7 0.5 1.4 1 2.2 1.5 43.5 30.3 104 19.5 134.6-24.1l494-703.2c30.7-43.5 20.1-103.9-23.3-134.2z",fill:"currentColor","p-id":15380})),SvgInfo$1=t=>react.exports.createElement("svg",{t:1705818171661,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":16367,width:16,height:16,xmlnsXlink:"http://www.w3.org/1999/xlink",...t},react.exports.createElement("path",{d:"M512 1024c282.771 0 512-229.23 512-512s-229.23-512-512-512-512 229.23-512 512 229.23 512 512 512zM432 256c0-44.183 35.817-80 80-80s80 35.817 80 80v31.999c0 44.183-35.817 80-80 80s-80-35.817-80-80v-31.999zM431.999 512c0-44.183 35.817-80 80-80s80 35.817 80 80v256c0 44.183-35.817 80-80 80s-80-35.817-80-80v-256z","p-id":16368,fill:"currentColor"})),SvgBackspace=t=>react.exports.createElement("svg",{t:1705818590143,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":15111,xmlnsXlink:"http://www.w3.org/1999/xlink",width:18,height:18,...t},react.exports.createElement("path",{d:"M800 170.666667a138.666667 138.666667 0 0 1 138.453333 130.816L938.666667 309.333333v405.333334a138.666667 138.666667 0 0 1-130.816 138.453333L800 853.333333h-362.709333a138.666667 138.666667 0 0 1-88.96-32.256l-6.613334-5.930666-213.162666-202.666667a138.666667 138.666667 0 0 1-4.906667-196.010667l4.906667-4.949333 213.162666-202.666667a138.666667 138.666667 0 0 1 86.698667-37.888L437.290667 170.666667h362.666666z m0 64h-362.709333a74.666667 74.666667 0 0 0-46.08 15.872l-5.376 4.693333-213.162667 202.666667-2.645333 2.645333a74.666667 74.666667 0 0 0-2.346667 100.352l4.992 5.205333 213.162667 202.666667c12.117333 11.52 27.733333 18.645333 44.288 20.224l7.168 0.341333h362.666666a74.666667 74.666667 0 0 0 74.453334-68.565333l0.256-6.101333v-405.333334a74.666667 74.666667 0 0 0-68.565334-74.410666L800 234.666667z m-311.637333 123.605333l3.584 3.114667L597.333333 466.730667l105.386667-105.386667a32 32 0 0 1 48.341333 41.685333l-3.114666 3.584L642.56 512l105.386667 105.386667a32 32 0 0 1-41.642667 48.341333l-3.584-3.114667L597.333333 557.269333l-105.386666 105.386667a32 32 0 0 1-48.341334-41.685333l3.072-3.584L552.106667 512l-105.386667-105.386667a32 32 0 0 1 41.685333-48.341333z",fill:"currentColor","p-id":15112})),SvgBlock=t=>react.exports.createElement("svg",{t:1705819045470,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":15265,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M512 85.333333c235.648 0 426.666667 191.061333 426.666667 426.666667 0 235.690667-191.018667 426.666667-426.666667 426.666667-235.605333 0-426.666667-190.976-426.666667-426.666667C85.333333 276.437333 276.394667 85.333333 512 85.333333z m0 64a362.666667 362.666667 0 1 0 0 725.333334 362.666667 362.666667 0 0 0 0-725.333334z m-181.333333 330.666667h362.666666a32 32 0 0 1 4.352 63.701333l-4.352 0.298667h-362.666666a32 32 0 0 1-4.352-63.701333l4.352-0.298667h362.666666-362.666666z",fill:"currentColor","p-id":15266})),SvgSpeaker=t=>react.exports.createElement("svg",{t:1705819674136,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":16477,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M731.428571 905.216c29.147429 0 50.139429-21.430857 50.139429-50.139429V171.501714c0-28.708571-20.992-52.717714-50.998857-52.717714-20.992 0-34.706286 10.294857-57.856 30.866286l-201.435429 178.706285c-2.56 2.56-6.418286 3.858286-10.697143 3.858286h-127.286857c-60.873143 0-90.88 30.427429-90.88 95.140572V597.942857c0 64.731429 30.006857 95.140571 90.88 95.140572h127.268572c4.297143 0 8.155429 1.28 10.715428 3.858285L672.731429 877.348571c20.992 18.870857 37.723429 27.867429 58.715428 27.867429z m-24.868571-90.422857c-2.139429 0-4.699429-1.28-7.277714-3.858286L509.44 639.926857c-10.276571-9.435429-18.834286-11.574857-30.427429-11.574857h-142.701714c-16.713143 0-24.868571-7.716571-24.868571-24.868571v-181.705143c0-16.713143 8.155429-24.850286 24.868571-24.850286h142.701714c11.574857 0 19.712-1.718857 30.427429-11.574857l189.860571-172.288c2.139429-1.700571 4.717714-3.419429 7.296-3.419429 3.84 0 5.997714 2.56 5.997715 5.997715v592.713142c0 3.858286-2.139429 6.436571-5.997715 6.436572z","p-id":16478,fill:"currentColor"})),SvgSearch=t=>react.exports.createElement("svg",{t:1705820436292,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":1989,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M426.666667 117.333333a309.333333 309.333333 0 0 1 240.213333 504.277334l209.066667 209.066666a32 32 0 0 1-41.642667 48.384l-3.584-3.114666-209.109333-209.066667A309.333333 309.333333 0 1 1 426.666667 117.333333z m0 64a245.333333 245.333333 0 1 0 0 490.666667 245.333333 245.333333 0 0 0 0-490.666667z",fill:"currentColor","p-id":1990})),SvgInfoOutline=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 -68.62 309.13 309.13",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("defs",null),react.exports.createElement("g",{id:"Layer_2","data-name":"Layer 2"},react.exports.createElement("g",{id:"Layer_1-2","data-name":"Layer 1"},react.exports.createElement("path",{d:"M89.68,0c16.93,12.78,35.09,21,56.38,20.55,2.3,0,4.59-.06,6.88.07a64.3,64.3,0,0,0,35.55-7.85c4.37-2.42,8.6-2.67,13.2-1.85a8.08,8.08,0,0,1,5.09,2.86c12,14.42,27.73,20.48,46.19,20.6,8.12,0,16-.64,23.46-4.15a13.82,13.82,0,0,1,5.81-1c2.25,0,4.13,2.72,3.63,4.92a26.24,26.24,0,0,1-1.32,3.12c-4.65,12.17-1.88,23.2,5.92,33,2.17,2.71,6.09,4.07,9.32,5.86,2.49,1.38,5.26,2.26,7.68,3.74a3.54,3.54,0,0,1,.19,5.87,20.31,20.31,0,0,1-2.87,1.84c-14.12,7.91-20.69,21-23.88,36-1.13,5.36.93,10.75,2.65,15.94a57.2,57.2,0,0,1,2.28,7.35c.63,3.33-1.25,5.55-4.74,5.64a33.64,33.64,0,0,1-6.76-.74c-19-3.33-36.39.36-51.73,12.4-2.24,1.76-4.26,3.83-6.44,5.67-2.93,2.47-5.43,2.7-8.59.86a15.43,15.43,0,0,1-2.1-1.5c-6.69-5.62-14.73-7.23-23.14-8-13.19-1.23-25.78,1.36-37.68,6.62-6.7,3-11.49.84-16.33-3.12-2.65-2.18-5.15-4.55-7.64-6.91a24.73,24.73,0,0,0-12.93-6.4c-15.06-2.69-30.13-3.61-45.11.76-4.93,1.44-10,2.46-14.87,4.11s-8.33-.65-11.48-3.67c-.87-.83-1-2.56-1.19-3.92-.87-5.65-1.52-11.33-2.46-17a24.82,24.82,0,0,0-12.9-18.3c-4.95-2.78-9.12-7.08-15.62-7.77L0,98c3.06-2.94,5.88-5.71,8.77-8.4,10.63-9.91,14.4-22.38,13.5-36.5A10.73,10.73,0,0,0,20,47.79c-2.75-3.66-2.57-7.3-.65-11.71,6.28.84,12.44,1.81,18.63,2.47C48,39.61,57.26,37,66.25,32.92A36.86,36.86,0,0,0,80.61,21.1c1.8-2.39,3.17-5,3.15-7.8,0-4.54,2.41-8.06,4-11.93C88,.93,88.7.7,89.68,0ZM194.84,20.36c-15.43,9.11-32.61,10.91-50.33,10.35s-34.57-4-49.91-13.77c-1.85,2.88-3.4,5.25-4.9,7.64a45.12,45.12,0,0,1-19,17c-9.12,4.34-18.77,7-29,6.82-2.49,0-5,.21-7.58.33-1.24,4.16-.63,7.9-.72,11.56A44.6,44.6,0,0,1,17.54,94.14c-1,.85-2.52,1.5-1.94,3.56,4.17,2.69,8.46,5.52,12.8,8.24a34.44,34.44,0,0,1,15,20.23c1,3.26,1.18,6.74,1.75,10.11.47,2.76,0,5.82,2.82,8.21a20.18,20.18,0,0,0,3.86-.54,90.34,90.34,0,0,1,31.26-4.72c8,.32,16,.8,24,1.71,10.57,1.22,19.9,5.19,26.92,13.63a33.67,33.67,0,0,0,4.06,3.5c24-8,48-11.37,71.22-.21,5.26-3,9.8-6,14.66-8.33a99.28,99.28,0,0,1,15.19-5.81,104.18,104.18,0,0,1,16-3.1c5.26-.64,10.6-.6,16.3-.87a55.92,55.92,0,0,0-1.45-7.14c-1.8-5.13-1-10.05.25-15.17a66,66,0,0,1,16.47-29.69c1.3-1.39,2.5-2.86,3.56-4.08-3.62-3.09-7.22-5.55-10-8.71a37.14,37.14,0,0,1-9.39-25.18c0-2.21.67-4.61-1.41-6.57a126.89,126.89,0,0,1-31.51-.33,59.93,59.93,0,0,1-29.87-12C203.69,27.6,199.53,24.12,194.84,20.36Z"}),react.exports.createElement("path",{d:"M194.84,20.36c4.69,3.76,8.85,7.24,13.15,10.53a59.93,59.93,0,0,0,29.87,12,126.89,126.89,0,0,0,31.51.33c2.08,2,1.39,4.36,1.41,6.57A37.14,37.14,0,0,0,280.17,75c2.81,3.16,6.41,5.62,10,8.71-1.06,1.22-2.26,2.69-3.56,4.08a66,66,0,0,0-16.47,29.69c-1.28,5.12-2.05,10-.25,15.17a55.92,55.92,0,0,1,1.45,7.14c-5.7.27-11,.23-16.3.87a104.18,104.18,0,0,0-16,3.1,99.28,99.28,0,0,0-15.19,5.81c-4.86,2.32-9.4,5.31-14.66,8.33C186,146.7,162,150.06,138,158.07a33.67,33.67,0,0,1-4.06-3.5c-7-8.44-16.35-12.41-26.92-13.63-7.94-.91-16-1.39-24-1.71A90.34,90.34,0,0,0,51.83,144a20.18,20.18,0,0,1-3.86.54c-2.84-2.39-2.35-5.45-2.82-8.21-.57-3.37-.79-6.85-1.75-10.11a34.44,34.44,0,0,0-15-20.23c-4.34-2.72-8.63-5.55-12.8-8.24-.58-2.06,1-2.71,1.94-3.56A44.6,44.6,0,0,0,33.4,60.26c.09-3.66-.52-7.4.72-11.56,2.6-.12,5.09-.37,7.58-.33,10.26.16,19.91-2.48,29-6.82a45.12,45.12,0,0,0,19-17c1.5-2.39,3-4.76,4.9-7.64,15.34,9.79,32.21,13.21,49.91,13.77S179.41,29.47,194.84,20.36Z"}))))),SvgHeart=t=>react.exports.createElement("svg",{t:1705821505982,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":2318,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M760.384 64c47.808 0 91.968 11.968 132.352 35.84a264.32 264.32 0 0 1 95.872 97.152A263.68 263.68 0 0 1 1024 330.88c0 34.752-6.592 68.544-19.712 101.312a262.4 262.4 0 0 1-57.536 87.424L512 960 77.248 519.68A268.8 268.8 0 0 1 0 330.88c0-48.384 11.776-93.056 35.392-133.952A264.32 264.32 0 0 1 131.2 99.84 255.296 255.296 0 0 1 263.68 64 260.736 260.736 0 0 1 449.92 142.208l62.08 62.912 62.144-62.912a258.944 258.944 0 0 1 86.336-58.24A259.584 259.584 0 0 1 760.512 64h-0.128z",fill:"currentColor","p-id":2319})),SvgAlert=t=>react.exports.createElement("svg",{t:1705823230352,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":3291,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M877.714286 658.285714 877.714286 365.714286C877.714286 163.766857 713.947429 0 512 0 310.052571 0 146.285714 163.766857 146.285714 365.714286L146.285714 658.285714 0 950.857143 409.014857 950.857143C424.118857 993.389714 464.274286 1024 512 1024 559.725714 1024 599.881143 993.389714 614.985143 950.857143L1024 950.857143 877.714286 658.285714",fill:"currentColor","p-id":3292})),shapeStyleSwitch={line_1:[{type:ShapeStyle.Line,icon:SvgLine},{type:ShapeStyle.Rect,icon:SvgRect},{type:ShapeStyle.Circle,icon:SvgCircle},{type:ShapeStyle.Ellipse,icon:SvgEllipse},{type:ShapeStyle.Triangle,icon:SvgTriangle}],line_2:[{type:ShapeStyle.ArrowLine,icon:SvgArrowLine},{type:ShapeStyle.ArrowOutline,icon:SvgArrowOutline},{type:ShapeStyle.Cloud,icon:SvgCloud},{type:ShapeStyle.Tooltips,icon:SvgTooltips},{type:ShapeStyle.Lightning,icon:SvgLightning}],line_3:[{type:ShapeStyle.Close,icon:SvgClose$1},{type:ShapeStyle.Check,icon:SvgCheck},{type:ShapeStyle.Info,icon:SvgInfo$1},{type:ShapeStyle.Backspace,icon:SvgBackspace},{type:ShapeStyle.Block,icon:SvgBlock}],line_4:[{type:ShapeStyle.Speaker,icon:SvgSpeaker},{type:ShapeStyle.Search,icon:SvgSearch},{type:ShapeStyle.InfoOutline,icon:SvgInfoOutline},{type:ShapeStyle.Heart,icon:SvgHeart},{type:ShapeStyle.Alert,icon:SvgAlert}]},ShapeStyleConfig=()=>{const{shapeStyle:t,updateShapeStyle:e}=useShapeStore(),{t:a}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.shapeType")}),Object.keys(shapeStyleSwitch).map(r=>jsx("div",{className:"btn-group mt-1 flex",children:shapeStyleSwitch[r].map(({type:s,icon:o})=>jsx("button",{className:`btn btn-xs flex-grow text-[#eef1ff] ${t===s?"btn-active":""}`,onClick:()=>{e(s)},children:o({})},s))},r))]})},ShapeDrawConfig=()=>{const{shapeStyle:t}=useShapeStore(),e=react.exports.useMemo(()=>[ShapeStyle.Line,ShapeStyle.ArrowLine].includes(t),[t]);return jsxs(Fragment,{children:[jsx(ShapeStyleConfig,{}),e&&jsx(PointCountConfig,{}),jsx(BorderTypeConfig,{}),jsx(BorderStyleConfig,{}),!e&&jsx(FillStyleConfig,{})]})},DrawConfig=()=>{useTranslation();const{drawType:t,updateDrawType:e}=useBoardStore();return jsxs(Fragment,{children:[t===DrawType.FreeStyle&&jsx(FreeDrawConfig,{}),t===DrawType.Shape&&jsx(ShapeDrawConfig,{})]})},SvgBringforward=t=>react.exports.createElement("svg",{width:"36px",height:"36px",viewBox:"0 0 76 76",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",baseProfile:"full",enableBackground:"new 0 0 76.00 76.00",xmlSpace:"preserve",fill:"#66CC89",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fill:"#66CC89",fillOpacity:1,strokeWidth:.2,strokeLinejoin:"round",d:"M 58.5835,58.5836L 53.0417,58.5836L 58.5835,53.0418L 58.5835,58.5836 Z M 34.0418,52.2504L 30.0836,56.2086L 30.0836,52.2503L 34.0418,52.2504 Z M 41.9584,52.2504L 35.6253,58.5835L 30.0836,58.5835L 30.0833,57.7918L 35.6249,52.2504L 41.9584,52.2504 Z M 49.8746,52.2504L 43.5419,58.5835L 37.2085,58.5835L 43.5415,52.2504L 49.8746,52.2504 Z M 58.5835,45.1241L 58.5835,51.4587L 51.4586,58.5835L 45.125,58.5835L 58.5835,45.1241 Z M 52.2504,34.0418L 52.2503,30.0835L 56.2087,30.0836L 52.2504,34.0418 Z M 58.5835,35.6253L 52.2504,41.9584L 52.2504,35.6249L 57.7918,30.0833L 58.5835,30.0836L 58.5835,35.6253 Z M 58.5835,43.541L 52.2504,49.8745L 52.2504,43.5415L 58.5835,37.2084L 58.5835,43.541 Z M 19,50.6667L 19,19L 50.6667,19L 50.6671,50.6661L 19,50.6667 Z "}))),SvgSendbackward=t=>react.exports.createElement("svg",{width:"36px",height:"36px",viewBox:"0 0 76 76",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",baseProfile:"full",enableBackground:"new 0 0 76.00 76.00",xmlSpace:"preserve",fill:"#66CC89",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fill:"#66CC89",fillOpacity:1,strokeWidth:.2,strokeLinejoin:"round",d:"M 19,50.6667L 19,19L 50.6667,19L 50.6668,28.5003L 28.5,28.5002L 28.5,50.6667L 19,50.6667 Z M 58.5835,58.5836L 53.0415,58.5833L 58.5833,53.0416L 58.5835,58.5836 Z M 58.5833,45.1249L 58.5833,51.4585L 51.4584,58.5833L 45.1249,58.5833L 58.5833,45.1249 Z M 58.5833,35.6251L 35.6251,58.5834L 30.0833,58.5834L 30.0833,57.7918L 57.7918,30.0834L 58.5835,30.0836L 58.5833,35.6251 Z M 58.5833,43.5418L 43.5418,58.5833L 37.2082,58.5833L 58.5833,37.2082L 58.5833,43.5418 Z M 56.2084,30.0833L 30.0833,56.2085L 30.0833,49.8749L 49.8749,30.0834L 56.2084,30.0833 Z M 48.2918,30.0834L 30.0833,48.2918L 30.0833,41.9582L 41.9582,30.0834L 48.2918,30.0834 Z M 40.3751,30.0833L 30.0833,40.3751L 30.0833,34.0416L 34.0415,30.0833L 40.3751,30.0833 Z "}))),SvgBringtofront=t=>react.exports.createElement("svg",{width:"36px",height:"36px",viewBox:"0 0 76 76",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",baseProfile:"full",enableBackground:"new 0 0 76.00 76.00",xmlSpace:"preserve",fill:"#66CC89",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fill:"#66CC89",fillOpacity:1,strokeWidth:.2,strokeLinejoin:"round",d:"M 50.6667,25.3333L 50.6667,50.6667L 25.3333,50.6667L 25.3333,25.3333L 50.6667,25.3333 Z M 17.4169,17.417L 19.7919,17.417L 17.4169,19.7921L 17.4169,17.417 Z M 27.7088,17.417L 17.4168,27.709L 17.4168,21.3752L 21.3751,17.417L 27.7088,17.417 Z M 36.417,18.6045L 36.4168,23.7503L 30.8754,23.7503L 36.0213,18.6045L 36.417,18.6045 Z M 18.6043,36.4173L 18.6043,36.0216L 23.7502,30.8755L 23.7502,36.417L 18.6043,36.4173 Z M 17.4168,29.2924L 29.2919,17.417L 35.6255,17.417L 29.2922,23.7503L 23.7502,23.7503L 23.7502,29.2923L 17.4168,35.6257L 17.4168,29.2924 Z M 58.5833,58.5833L 56.2082,58.5833L 58.5833,56.2082L 58.5833,58.5833 Z M 48.2914,58.5833L 58.5833,48.2913L 58.5833,54.6251L 54.6251,58.5833L 48.2914,58.5833 Z M 39.5832,57.3958L 39.5833,52.25L 45.1248,52.25L 39.9788,57.3958L 39.5832,57.3958 Z M 57.3959,39.583L 57.3959,39.9787L 52.25,45.1248L 52.25,39.5833L 57.3959,39.583 Z M 58.5833,46.708L 46.7082,58.5833L 40.3747,58.5833L 46.708,52.25L 52.25,52.25L 52.25,46.708L 58.5833,40.3746L 58.5833,46.708 Z "}))),SvgSendtoback=t=>react.exports.createElement("svg",{width:"36px",height:"36px",viewBox:"0 0 76 76",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",baseProfile:"full",enableBackground:"new 0 0 76.00 76.00",xmlSpace:"preserve",fill:"#66CC89",stroke:"#66CC89",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fill:"#66CC89",fillOpacity:1,strokeWidth:.2,strokeLinejoin:"round",d:"M 50.6667,25.3333L 50.6667,41.1667L 41.1667,41.1667L 41.1667,50.6667L 25.3333,50.6667L 25.3333,34.8333L 34.8333,34.8333L 34.8333,25.3333L 50.6667,25.3333 Z M 14.25,14.25L 16.6251,14.25L 14.25,16.6251L 14.25,14.25 Z M 24.542,14.2501L 14.25,24.5421L 14.25,18.2083L 18.2082,14.25L 24.542,14.2501 Z M 15.0415,33.2503L 33.25,15.0419L 33.2499,21.3759L 21.3751,33.2503L 15.0415,33.2503 Z M 14.25,26.1254L 26.1251,14.25L 32.4586,14.25L 14.25,32.4587L 14.25,26.1254 Z M 22.9584,33.2503L 33.25,22.9585L 33.25,29.2918L 29.2922,33.2503L 22.9584,33.2503 Z M 61.75,61.75L 59.3749,61.75L 61.75,59.3749L 61.75,61.75 Z M 51.458,61.75L 61.75,51.458L 61.75,57.7918L 57.7918,61.75L 51.458,61.75 Z M 60.9584,42.7497L 42.75,60.9581L 42.75,54.6241L 54.6249,42.7497L 60.9584,42.7497 Z M 61.75,49.8746L 49.8749,61.75L 43.5414,61.75L 61.75,43.5413L 61.75,49.8746 Z M 53.0415,42.7497L 42.75,53.0415L 42.75,46.7082L 46.7078,42.7497L 53.0415,42.7497 Z "}))),LayerConfig=()=>{const{t}=useTranslation();return jsxs(Fragment,{children:[jsx("div",{className:"font-bold font-fredokaOne mt-3 text-sm",children:t("title.layer")}),jsxs("ul",{className:"menu menu-vertical lg:menu-horizontal bg-base-100 rounded-box mt-1 w-max",style:{display:"inline-grid"},children:[jsx("li",{children:jsx("a",{className:"px-1.5 py-1",onClick:()=>paintBoard.bringForWard(),children:jsx(SvgBringforward,{})})}),jsx("li",{children:jsx("a",{className:"px-1.5 py-1",onClick:()=>paintBoard.seendBackWard(),children:jsx(SvgSendbackward,{})})}),jsx("li",{children:jsx("a",{className:"px-1.5 py-1",onClick:()=>paintBoard.bringToFront(),children:jsx(SvgBringtofront,{})})}),jsx("li",{children:jsx("a",{className:"px-1.5 py-1",onClick:()=>paintBoard.sendToBack(),children:jsx(SvgSendtoback,{})})})]})]})},SelectConfig=()=>{var a;const[t,e]=react.exports.useState(0);return react.exports.useEffect(()=>{const r=()=>e(s=>s+1);return paintBoard.addHookFn(r),()=>{paintBoard.removeHookFn(r)}},[e]),jsx("div",{className:"form-control",children:((a=paintBoard.canvas)==null?void 0:a.getActiveObject())&&jsx(LayerConfig,{})})},Slider=t=>{const e=react.exports.useRef(null),a=react.exports.useRef({slSize:0,slHeight:100}),{value:r,min:s,max:o,updateValue:n,height:i}=t,[c,d]=react.exports.useState(r?r/(o||(100-s?s:0))*100:0),[h,p]=react.exports.useState(200);return react.exports.useEffect(()=>{a.slSize=c;let f=o||(100-s?s:0);f=Math.round(f/100*c),f=f<(s||0)?s||0:f,n(f)},[c]),react.exports.useEffect(()=>{a.slHeight=h},[h]),react.exports.useEffect(()=>{var m;const f=w=>{const g=w.clientY+a.slSize/100*a.slHeight,S=k=>{let x=g-k.clientY;x=x/a.slHeight*100,x=x<0?0:x,x=x>100?100:x,d(x)},b=()=>{document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",b)};document.addEventListener("mousemove",S),document.addEventListener("mouseup",b)};(m=e.current)==null||m.addEventListener("mousedown",f);let u=o||(100-s?s:0);return d(r?r/u*100:0),i&&p(i),()=>{var w;(w=e.current)==null||w.removeEventListener("mousedown",f)}},[]),jsxs("div",{className:"el-slider__runway",style:{height:h+"px",width:"6px"},children:[jsx("div",{className:"el-slider__bar",style:{height:c+"%",bottom:"0%",width:"6px"}}),jsx("div",{ref:e,tabIndex:0,className:"el-slider__button-wrapper",style:{bottom:c+"%"},children:jsx("div",{className:"el-tooltip el-slider__button","aria-describedby":"el-tooltip-6541",tabIndex:0})})]})},CanvasSizeConfig=()=>{const{canvasWidth:t,canvasHeight:e,updateCanvasWidth:a,updateCanvasHeight:r}=useBoardStore(),{t:s}=useTranslation(),o=i=>{a(i/100)},n=i=>{r(i/100)};return jsxs("div",{className:"form-control mt-3",children:[jsx("div",{className:"font-bold font-fredokaOne text-sm",children:s("title.canvasSize")}),jsxs("div",{className:"mt-1 flex items-center w-full",style:{display:"inline-grid"},children:[jsx("div",{className:"text-sm font-fredokaOne w-12 mr-2 shrink-0",children:s("canvasSize.width")}),jsx("div",{className:"text-sm font-fredokaOne mr-2 text-primary-focus w-9 shrink-0",children:(t*100).toFixed(0)+"%"}),jsx(Slider,{min:1,max:45,height:150,value:t*100,updateValue:o})]}),jsxs("div",{className:"mt-1 flex items-center w-full",style:{display:"inline-grid"},children:[jsx("div",{className:"text-sm font-fredokaOne w-12 mr-2 shrink-0",children:s("canvasSize.height")}),jsx("div",{className:"text-sm font-fredokaOne mr-2 text-primary-focus w-9 shrink-0",children:(e*100).toFixed(0)+"%"}),jsx(Slider,{min:1,max:100,height:150,value:e*100,updateValue:n})]})]})},boardConfig$2=()=>jsx(Fragment,{children:jsx(CanvasSizeConfig,{})}),DrawAIConfig=()=>{const{openAutoDraw:t,updateAutoDrawState:e}=useDrawStore(),{t:a}=useTranslation();return jsx("div",{className:"form-control mt-3",children:jsxs("div",{className:"mt-1 flex items-start w-full",children:[jsx("div",{className:"font-fredokaOne text-sm",children:a("title.AI")}),jsx("input",{style:{marginLeft:"10px"},type:"checkbox",className:"toggle toggle-success toggle-sm",checked:t,onChange:e})]})})},SvgClose=t=>react.exports.createElement("svg",{className:"{className} ",xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 512 512",...t},react.exports.createElement("path",{d:"M64,384H448V341.33H64Zm0-106.67H448V234.67H64ZM64,128v42.67H448V128Z"})),SvgMenu=t=>react.exports.createElement("svg",{className:"{className} ",xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 512 512",...t},react.exports.createElement("polygon",{points:"400 145.49 366.51 112 256 222.51 145.49 112 112 145.49 222.51 256 112 366.51 145.49 400 256 289.49 366.51 400 400 366.51 289.49 256 400 145.49"})),ToolPanel=()=>{const{t}=useTranslation(),{mode:e,updateMode:a}=useBoardStore(),[r,s]=react.exports.useState(!0);return jsxs("div",{className:`fixed top-8 left-4 flex flex-col card shadow-xl overflow-visible z-3 bg-[#eef1ff] max-h-[90%] max-w-[10%] ${r?"p-1":""}`,style:{width:"5rem"},children:[jsxs("label",{className:"btn btn-circle swap swap-rotate absolute -top-7 left-2 h-8 w-8 min-h-0",children:[jsx("input",{type:"checkbox",onChange:()=>s(o=>!o)}),jsx(SvgClose,{className:"swap-on fill-current"}),jsx(SvgMenu,{className:"swap-off fill-current"})]}),r&&jsxs("div",{className:"max-h-[100%] overflow-y-auto noScrollbar",children:[jsx("div",{className:"tabs tabs-boxed bg-[#333C4D]",style:{display:"inline-grid"},children:modeSwitch.map(({type:o,text:n})=>jsx("a",{className:`tab tab-sm flex-grow font-fredokaOne text-white font-medium ${e===o?"tab-active":""}`,onClick:()=>{a(o)},children:t(n)},o))}),jsx(DrawAIConfig,{}),e===ActionMode.DRAW&&jsx(DrawConfig,{}),e===ActionMode.SELECT&&jsx(SelectConfig,{}),e===ActionMode.Board&&jsx(boardConfig$2,{})]})]})},SvgInfo=t=>react.exports.createElement("svg",{fill:"#65CC8A",width:"28px",height:"28px",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("title",null,"info1"),react.exports.createElement("path",{d:"M16 3c-7.18 0-13 5.82-13 13s5.82 13 13 13 13-5.82 13-13-5.82-13-13-13zM18.039 20.783c-0.981 1.473-1.979 2.608-3.658 2.608-1.146-0.187-1.617-1.008-1.369-1.845l2.16-7.154c0.053-0.175-0.035-0.362-0.195-0.419-0.159-0.056-0.471 0.151-0.741 0.447l-1.306 1.571c-0.035-0.264-0.004-0.7-0.004-0.876 0.981-1.473 2.593-2.635 3.686-2.635 1.039 0.106 1.531 0.937 1.35 1.85l-2.175 7.189c-0.029 0.162 0.057 0.327 0.204 0.379 0.16 0.056 0.496-0.151 0.767-0.447l1.305-1.57c0.035 0.264-0.024 0.726-0.024 0.902zM17.748 11.439c-0.826 0-1.496-0.602-1.496-1.488s0.67-1.487 1.496-1.487 1.496 0.602 1.496 1.487c0 0.887-0.67 1.488-1.496 1.488z"}))),SvgZh=t=>react.exports.createElement("svg",{className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":2917,width:30,height:30,...t},react.exports.createElement("path",{d:"M329.696785 539.274769H487.038091v-144.6129h-157.341306zM555.2065 539.274769H713.167338v-144.6129h-157.960838z",fill:"#231815","p-id":2918}),react.exports.createElement("path",{d:"M512 0C229.240454 0 0.000903 229.225101 0.000903 511.999097c0 282.761352 229.239551 512.000903 511.999097 512.000903 282.773995 0 511.997291-229.239551 511.997291-512.000903C1023.999097 229.225101 794.773995 0 512 0zM779.455475 603.700697H555.22998v210.967868h-68.193695V603.700697H263.435741V330.237747h223.60235V222.200726H555.231787v107.997284h224.223688v273.502687z",fill:"#231815","p-id":2919})),SvgEn=t=>react.exports.createElement("svg",{className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":2771,width:30,height:30,...t},react.exports.createElement("path",{d:"M511.998194 0C229.227811 0 0.000903 229.228714 0.000903 511.999097 0.000903 794.767674 229.227811 1023.998194 511.998194 1023.998194c282.772189 0 511.999097-229.23052 511.999097-511.999097C1023.999097 229.228714 794.772189 0 511.998194 0z m4.576952 727.549335H197.680437V308.279575h310.873302v70.908439H282.319732v92.982208H492.808952v70.657374H282.319732v114.062558h234.255414v70.659181z m310.871496 0h-80.351338v-155.002256c0-32.799081-1.726743-54.027541-5.129654-63.654674a44.564774 44.564774 0 0 0-16.761687-22.435012 47.702172 47.702172 0 0 0-27.891592-8.021407c-13.91509 0-26.35992 3.803891-37.450088 11.458636-11.057656 7.613202-18.670858 17.715369-22.731232 30.308309-4.10553 12.594746-6.153779 35.880486-6.153779 69.783166v137.565044h-80.353143V423.819618h74.641887v44.620767c26.506224-34.336171 59.852589-51.469939 100.080638-51.469939 17.756912 0 33.935191 3.184359 48.610699 9.547659 14.688151 6.413874 25.812637 14.536429 33.321078 24.457975 7.542759 9.921546 12.811492 21.159824 15.73395 33.75457 2.933295 12.594746 4.436067 30.602722 4.436067 54.074503l-0.001806 188.744182z",fill:"#231815","p-id":2772})),Mask=({show:t,clickMask:e,children:a})=>jsx("div",{className:`fixed top-0 left-0 right-0 bottom-0 bg-black z-10 bg-opacity-75 ${t?"block":"hidden"}`,onClick:e,children:jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-2/4 -translate-y-2/4",onClick:r=>r.stopPropagation(),children:a})}),swiper="",pagination="",guideInfoList=[{imageList:["https://raw.githubusercontent.com/LHRUN/file-store/main/paint-board/guideInfo/drawMode_freeStyle_1.3.0.png"],title:"FreeStyle",textList:["line1","line2","line3","line4","line5"]},{imageList:["https://raw.githubusercontent.com/LHRUN/file-store/main/paint-board/guideInfo/drawMode_shape_1.3.0.png"],title:"ShapeDraw",textList:["line1"]},{imageList:["https://raw.githubusercontent.com/LHRUN/file-store/main/paint-board/guideInfo/eraserMode_1.3.0.png"],title:"EraserMode",textList:["line1","line2"]},{imageList:["https://raw.githubusercontent.com/LHRUN/file-store/main/paint-board/guideInfo/selectMode_1.3.0.png"],title:"SelectMode",textList:["line1","line2","line3","line4","line5","line6"]},{imageList:["https://raw.githubusercontent.com/LHRUN/file-store/main/paint-board/guideInfo/boardMode_1.3.0.png"],title:"BoardMode",textList:["line1","line2","line3","line4"]},{imageList:["https://raw.githubusercontent.com/LHRUN/file-store/main/paint-board/borderConfig.png"],title:"BorderConfig",textList:["line1","line2","line3","line4"]},{imageList:["https://raw.githubusercontent.com/LHRUN/file-store/main/paint-board/files.png"],title:"FileConfig",textList:["line1"]}],GuideInfoSwiper=()=>{const{t}=useTranslation();return jsx(Swiper,{slidesPerView:1,spaceBetween:20,modules:[Pagination],pagination:{dynamicBullets:!0,clickable:!0},autoHeight:!0,grabCursor:!0,className:"max-w-[500px] xs:max-w-[80vw]",children:guideInfoList.map((e,a)=>jsx(SwiperSlide,{children:jsx("div",{className:"max-h-[50vh] overflow-y-auto",children:jsxs("div",{className:"flex w-full rounded-2xl p-3 bg-[#66CC8920] box-border justify-between",children:[jsx("div",{className:"shrink-0 w-[49%] flex flex-col items-center justify-start",children:e.imageList.map((r,s)=>jsx("img",{className:"max-w-full max-h-full rounded-2xl mt-5 first:mt-0",src:r},s))}),jsxs("div",{className:"w-[48%] shrink-0 p-3 rounded-2xl bg-[#eef1ff] box-border h-max",children:[jsx("div",{className:"text-lg font-fredokaOne",children:e.title}),e.textList.map((r,s)=>jsxs("div",{className:"text-sm mt-3",children:[s+1,". ",t(`info.${e.title}.${r}`)]},s))]})]})})},a))})},GuideInfo=()=>{const{t,i18n:e}=useTranslation(),{language:a,updateLanguage:r}=useBoardStore(),[s,o]=react.exports.useState(!1),n=()=>{const i=a==="en"?"zh":"en";e.changeLanguage(i),r(i)};return jsxs(Fragment,{children:[jsx("div",{className:"fixed bottom-5 left-5 flex flex-row justify-center items-center px-2.5 py-1.5 rounded-full bg-[#eef1ff]",children:jsx(SvgInfo,{className:"bg-white rounded-full cursor-pointer",onClick:()=>o(!0)})}),jsx(Mask,{show:s,clickMask:()=>{o(!1)},children:jsxs("div",{className:"flex flex-col bg-white rounded-2xl overflow-hidden p-3 max-h-[80vh]",children:[jsxs("div",{className:"flex items-center justify-between font-bold mb-4 ",children:[jsx("div",{className:"text-sm",style:{textAlign:"center",width:"100%"},children:t("info.welecome")}),jsx("span",{className:"ml-5 cursor-pointer border-solid border-4 border-[#7b8fa1] rounded-full hover:border-[#567189] flex items-center justify-center",onClick:n,children:a==="en"?jsx(SvgEn,{}):jsx(SvgZh,{})})]}),jsx(GuideInfoSwiper,{})]})})]})},userStore=create((t,e)=>({userId:"",outputImages:[],autoTask:!1,updateUserId(a){e().userId!=a&&t({userId:a,outputImages:[]})},updateoutputImages(a){const r=[...e().outputImages],s=r.findIndex(o=>o===a);console.log(r[0],a),r[0]==a||(s!==-1?r.splice(s,1):r.unshift(a)),t({outputImages:r})},clearOutputImages(){t({outputImages:[]})},updateAutoTask(a){t({autoTask:a})}})),COMFY_UI_LOCALHOST=window.location.host,COMFY_UI_BASE_URL="http://"+COMFY_UI_LOCALHOST,COMFY_UI_GET_COMMANDS=COMFY_UI_BASE_URL+"/wechatauth/getCommands",COMFY_UI_ADD_TASK=COMFY_UI_BASE_URL+"/wechatauth/addTask",COMFY_UI_GET_HISTORYS=COMFY_UI_BASE_URL+"/wechatauth/getHistorys",COMFY_UI_GET_HISTORY=COMFY_UI_BASE_URL+"/history/",COMFY_UI_UPLOAD=COMFY_UI_BASE_URL+"/upload/image",COMFY_UI_IMAGE_URL=COMFY_UI_BASE_URL+"/view?",COMFY_UI_GET_USER_ID=COMFY_UI_BASE_URL+"/wechatauth/getUserOpenId",COMFY_UI_GET_QR_CODE_URL=COMFY_UI_BASE_URL+"/wechatauth/getQrCodeUrl",COMFY_UI_SOCKET_URL="ws://"+COMFY_UI_LOCALHOST+"/ws?clientId=",getCommands=async()=>{const t=await axios.get(COMFY_UI_GET_COMMANDS+"?type=paint-board");return t==null?void 0:t.data},getQrCodeUrl=async()=>{const t=await axios.get(COMFY_UI_GET_QR_CODE_URL);return t==null?void 0:t.data},getHistorys=async t=>{const e=await axios.get(COMFY_UI_GET_HISTORYS+"?openId="+t+"&type=paint-board");return e==null?void 0:e.data},getHistory=async t=>{const e=await axios.get(COMFY_UI_GET_HISTORY+t);return e==null?void 0:e.data},uploadImage=async t=>{try{let e=new FormData;e.append("image",t,t.name),e.append("overwrite","true"),e.append("type","input");const a=await axios.post(COMFY_UI_UPLOAD,e);return a==null?void 0:a.data}catch(e){return console.log(e),null}},addTask=async t=>{try{let e=new FormData;for(const r in t)if(Object.hasOwnProperty.call(t,r)){const s=t[r];s&&e.append(r,s)}const a=await axios.post(COMFY_UI_ADD_TASK,e);return a==null?void 0:a.data}catch(e){return console.log(e),null}},getUserOpenId=async t=>{try{let e=new FormData;for(const r in t)if(Object.hasOwnProperty.call(t,r)){const s=t[r];s&&e.append(r,s)}const a=await axios.post(COMFY_UI_GET_USER_ID,e);return a==null?void 0:a.data}catch(e){return console.log(e),null}},Authorize=()=>{const{t,i18n:e}=useTranslation(),{userId:a,updateUserId:r}=userStore(),[s,o]=react.exports.useState(t("authorize.title")),[n,i]=react.exports.useState(""),[c,d]=react.exports.useState(""),h=async()=>{let u=await getUserOpenId({code:n});u.success?(r(u.openId),"pywebview"in window&&pywebview.api.setOpenId(u.openId)):o("\u6388\u6743\u7801\u6821\u9A8C\u5931\u8D25\uFF0C\u8BF7\u5148\u626B\u7801\u5173\u6CE8\u83B7\u53D6\u6388\u6743\u7801\uFF01")},p=async()=>{let u=await getQrCodeUrl();u.success&&d(u.qrcodeUrl)};return react.exports.useEffect(()=>{a||p()},[]),jsx(Fragment,{children:jsx(Mask,{show:!a,clickMask:()=>{},children:jsxs("div",{className:"flex flex-col bg-white rounded-2xl overflow-hidden p-3 max-h-[80vh]",children:[jsx("div",{className:"flex items-center justify-between font-bold mb-4 ",children:jsx("div",{className:"text-sm",style:{textAlign:"center",width:"100%"},children:s})}),jsx("img",{src:c}),jsx("input",{placeholder:"\u8F93\u5165\u6388\u6743\u7801",value:n,name:"code",onChange:u=>{const{name:m,value:w}=u.target;m=="code"&&i(w)}}),jsx("button",{style:{color:"red"},onClick:h,children:"\u786E\u5B9A"})]})})})},CleanModal=()=>{const{t}=useTranslation(),e=()=>{var a;(a=paintBoard.history)==null||a.clean()};return jsxs(Fragment,{children:[jsx("input",{type:"checkbox",id:"clean-modal",className:"modal-toggle"}),jsx("label",{htmlFor:"clean-modal",className:"modal cursor-pointer",children:jsxs("label",{className:"modal-box relative flex flex-col justify-center items-center",htmlFor:"",children:[jsx("h3",{className:"text-lg font-bold text-center",children:t("cleanModal.title")}),jsxs("div",{className:"w-64 flex justify-between mt-10",children:[jsx("label",{htmlFor:"clean-modal",className:"btn btn-active btn-primary btn-md w-2/5",onClick:e,children:t("cleanModal.confirm")}),jsx("label",{htmlFor:"clean-modal",className:"btn btn-active btn-ghost btn-md w-2/5",children:t("cleanModal.cancel")})]})]})})]})},SvgUndo=t=>react.exports.createElement("svg",{className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":6082,width:26,height:26,...t},react.exports.createElement("path",{d:"M553.510259 201.860177c-312.055513 53.779187-655.249802 337.402216-45.768564 793.695176C283.646139 771.440335 83.62989 414.41051 555.277559 433.448208l1.201715 162.84822 297.307743-261.013025L552.261108 30.273979 553.510259 201.860177 553.510259 201.860177zM553.510259 201.860177","p-id":6083,fill:"#65CC8A"})),SvgRedo=t=>react.exports.createElement("svg",{className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":6082,width:26,height:26,...t},react.exports.createElement("path",{d:"M553.510259 201.860177c-312.055513 53.779187-655.249802 337.402216-45.768564 793.695176C283.646139 771.440335 83.62989 414.41051 555.277559 433.448208l1.201715 162.84822 297.307743-261.013025L552.261108 30.273979 553.510259 201.860177 553.510259 201.860177zM553.510259 201.860177","p-id":6083,fill:"#65CC8A"})),SvgSave=t=>react.exports.createElement("svg",{width:"28px",height:"28px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"System / Save"},react.exports.createElement("path",{id:"Vector",d:"M17 21.0002L7 21M17 21.0002L17.8031 21C18.921 21 19.48 21 19.9074 20.7822C20.2837 20.5905 20.5905 20.2843 20.7822 19.908C21 19.4806 21 18.921 21 17.8031V9.21955C21 8.77072 21 8.54521 20.9521 8.33105C20.9095 8.14 20.8393 7.95652 20.7432 7.78595C20.6366 7.59674 20.487 7.43055 20.1929 7.10378L17.4377 4.04241C17.0969 3.66374 16.9242 3.47181 16.7168 3.33398C16.5303 3.21 16.3242 3.11858 16.1073 3.06287C15.8625 3 15.5998 3 15.075 3H6.2002C5.08009 3 4.51962 3 4.0918 3.21799C3.71547 3.40973 3.40973 3.71547 3.21799 4.0918C3 4.51962 3 5.08009 3 6.2002V17.8002C3 18.9203 3 19.4796 3.21799 19.9074C3.40973 20.2837 3.71547 20.5905 4.0918 20.7822C4.5192 21 5.07899 21 6.19691 21H7M17 21.0002V17.1969C17 16.079 17 15.5192 16.7822 15.0918C16.5905 14.7155 16.2837 14.4097 15.9074 14.218C15.4796 14 14.9203 14 13.8002 14H10.2002C9.08009 14 8.51962 14 8.0918 14.218C7.71547 14.4097 7.40973 14.7155 7.21799 15.0918C7 15.5196 7 16.0801 7 17.2002V21M15 7H9",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgClean=t=>react.exports.createElement("svg",{t:1702137196077,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":4092,xmlnsXlink:"http://www.w3.org/1999/xlink",width:26,height:26,...t},react.exports.createElement("path",{d:"M512 0a170.666667 170.666667 0 0 1 170.569143 164.815238L682.666667 170.666667v146.285714h146.285714a146.285714 146.285714 0 0 1 146.18819 140.8L975.238095 463.238095v24.380953a146.334476 146.334476 0 0 1-97.523809 137.947428V877.714286a146.285714 146.285714 0 0 1-140.8 146.18819L731.428571 1024H292.571429a146.285714 146.285714 0 0 1-146.188191-140.8L146.285714 877.714286V625.590857a146.358857 146.358857 0 0 1-97.426285-132.486095L48.761905 487.619048v-24.380953a146.285714 146.285714 0 0 1 140.8-146.18819L195.047619 316.952381h146.285714V170.666667A170.666667 170.666667 0 0 1 506.148571 0.097524L512 0z m268.190476 633.904762H243.809524v243.809524a48.761905 48.761905 0 0 0 41.374476 48.201143l3.754667 0.438857L292.571429 926.47619h24.380952v-46.567619a48.761905 48.761905 0 1 1 97.523809 0V926.47619l48.761905 0.024381v-133.022476a48.761905 48.761905 0 1 1 97.52381 0V926.47619h48.761905v-219.428571a48.761905 48.761905 0 1 1 97.523809 0v219.428571h24.380952a48.761905 48.761905 0 0 0 48.64-45.104761L780.190476 877.714286V633.904762z m48.761905-219.428572H195.047619a48.761905 48.761905 0 0 0-48.64 45.104762L146.285714 463.238095v24.380953a48.761905 48.761905 0 0 0 45.104762 48.64L195.047619 536.380952h633.904762a48.761905 48.761905 0 0 0 48.64-45.104762L877.714286 487.619048v-24.380953a48.761905 48.761905 0 0 0-48.761905-48.761905zM512 97.52381a73.142857 73.142857 0 0 0-73.020952 68.851809L438.857143 170.666667v146.285714h146.285714V170.666667a73.142857 73.142857 0 0 0-64.609524-72.655238l-4.242285-0.365715L512 97.52381z",fill:"#65CC8A","p-id":4093})),SvgUpload=t=>react.exports.createElement("svg",{width:"28px",height:"28px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M13 4H8.8C7.11984 4 6.27976 4 5.63803 4.32698C5.07354 4.6146 4.6146 5.07354 4.32698 5.63803C4 6.27976 4 7.11984 4 8.8V15.2C4 16.8802 4 17.7202 4.32698 18.362C4.6146 18.9265 5.07354 19.3854 5.63803 19.673C6.27976 20 7.11984 20 8.8 20H15.2C16.8802 20 17.7202 20 18.362 19.673C18.9265 19.3854 19.3854 18.9265 19.673 18.362C20 17.7202 20 16.8802 20 15.2V11",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M4 16L8.29289 11.7071C8.68342 11.3166 9.31658 11.3166 9.70711 11.7071L13 15M13 15L15.7929 12.2071C16.1834 11.8166 16.8166 11.8166 17.2071 12.2071L20 15M13 15L15.25 17.25",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M18 8V3M18 3L16 5M18 3L20 5",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgCopy=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M10.5 2.0028C9.82495 2.01194 9.4197 2.05103 9.09202 2.21799C8.71569 2.40973 8.40973 2.71569 8.21799 3.09202C8.05103 3.4197 8.01194 3.82495 8.0028 4.5M19.5 2.0028C20.1751 2.01194 20.5803 2.05103 20.908 2.21799C21.2843 2.40973 21.5903 2.71569 21.782 3.09202C21.949 3.4197 21.9881 3.82494 21.9972 4.49999M21.9972 13.5C21.9881 14.175 21.949 14.5803 21.782 14.908C21.5903 15.2843 21.2843 15.5903 20.908 15.782C20.5803 15.949 20.1751 15.9881 19.5 15.9972M22 7.99999V9.99999M14.0001 2H16M5.2 22H12.8C13.9201 22 14.4802 22 14.908 21.782C15.2843 21.5903 15.5903 21.2843 15.782 20.908C16 20.4802 16 19.9201 16 18.8V11.2C16 10.0799 16 9.51984 15.782 9.09202C15.5903 8.71569 15.2843 8.40973 14.908 8.21799C14.4802 8 13.9201 8 12.8 8H5.2C4.0799 8 3.51984 8 3.09202 8.21799C2.71569 8.40973 2.40973 8.71569 2.21799 9.09202C2 9.51984 2 10.0799 2 11.2V18.8C2 19.9201 2 20.4802 2.21799 20.908C2.40973 21.2843 2.71569 21.5903 3.09202 21.782C3.51984 22 4.07989 22 5.2 22Z",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgText=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M3.5 3.5C3.5 2.94772 3.94772 2.5 4.5 2.5H19.5C20.0523 2.5 20.5 2.94772 20.5 3.5V6.5C20.5 7.05228 20.0523 7.5 19.5 7.5H18.5C17.9477 7.5 17.5 7.05228 17.5 6.5V5.5H13.5V18.5H15.5C16.0523 18.5 16.5 18.9477 16.5 19.5V20.5C16.5 21.0523 16.0523 21.5 15.5 21.5H8.5C7.94772 21.5 7.5 21.0523 7.5 20.5V19.5C7.5 18.9477 7.94772 18.5 8.5 18.5H10.5V5.5H6.5V6.5C6.5 7.05228 6.05228 7.5 5.5 7.5H4.5C3.94772 7.5 3.5 7.05228 3.5 6.5V3.5Z",fill:"#65CC8A"}))),SvgDelete=t=>react.exports.createElement("svg",{width:"28px",height:"28px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M10 11V17",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M14 11V17",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M4 7H20",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M6 7H12H18V18C18 19.6569 16.6569 21 15 21H9C7.34315 21 6 19.6569 6 18V7Z",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M9 5C9 3.89543 9.89543 3 11 3H13C14.1046 3 15 3.89543 15 5V7H9V5Z",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgFileList=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("rect",{x:4,y:4,width:16,height:18,rx:3,stroke:"#65CC8A",strokeWidth:2}),react.exports.createElement("path",{d:"M16 10L8 10",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round"}),react.exports.createElement("path",{d:"M16 13L8 13",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round"}),react.exports.createElement("path",{d:"M16 16L8 16",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round"}))),SvgAddFile=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"Edit / Add_Plus_Square"},react.exports.createElement("path",{id:"Vector",d:"M8 12H12M12 12H16M12 12V16M12 12V8M4 16.8002V7.2002C4 6.08009 4 5.51962 4.21799 5.0918C4.40973 4.71547 4.71547 4.40973 5.0918 4.21799C5.51962 4 6.08009 4 7.2002 4H16.8002C17.9203 4 18.4801 4 18.9079 4.21799C19.2842 4.40973 19.5905 4.71547 19.7822 5.0918C20.0002 5.51962 20.0002 6.07967 20.0002 7.19978V16.7998C20.0002 17.9199 20.0002 18.48 19.7822 18.9078C19.5905 19.2841 19.2842 19.5905 18.9079 19.7822C18.4805 20 17.9215 20 16.8036 20H7.19691C6.07899 20 5.5192 20 5.0918 19.7822C4.71547 19.5905 4.40973 19.2842 4.21799 18.9079C4 18.4801 4 17.9203 4 16.8002Z",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgRemoveFile=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"Edit / Add_Minus_Square"},react.exports.createElement("path",{id:"Vector",d:"M8 12H16M4 16.8002V7.2002C4 6.08009 4 5.51962 4.21799 5.0918C4.40973 4.71547 4.71547 4.40973 5.0918 4.21799C5.51962 4 6.08009 4 7.2002 4H16.8002C17.9203 4 18.4801 4 18.9079 4.21799C19.2842 4.40973 19.5905 4.71547 19.7822 5.0918C20.0002 5.51962 20.0002 6.07967 20.0002 7.19978V16.7998C20.0002 17.9199 20.0002 18.48 19.7822 18.9078C19.5905 19.2841 19.2842 19.5905 18.9079 19.7822C18.4805 20 17.9215 20 16.8036 20H7.19691C6.07899 20 5.5192 20 5.0918 19.7822C4.71547 19.5905 4.40973 19.2842 4.21799 18.9079C4 18.4801 4 17.9203 4 16.8002Z",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgExportFile=t=>react.exports.createElement("svg",{fill:"#65CC8A",width:"64px",height:"64px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M11 16h2V7h3l-4-5-4 5h3z"}),react.exports.createElement("path",{d:"M5 22h14c1.103 0 2-.897 2-2v-9c0-1.103-.897-2-2-2h-4v2h4v9H5v-9h4V9H5c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2z"}))),SvgImportFile=t=>react.exports.createElement("svg",{fill:"#65CC8A",width:"64px",height:"64px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"m12 18 4-5h-3V2h-2v11H8z"}),react.exports.createElement("path",{d:"M19 9h-4v2h4v9H5v-9h4V9H5c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-9c0-1.103-.897-2-2-2z"}))),Toast=({message:t})=>{const{t:e}=useTranslation();return jsx("div",{className:"toast toast-top toast-center",children:jsx("div",{className:"alert alert-success",children:jsx("div",{children:jsx("span",{className:"whitespace-nowrap",children:e(t)})})})})},FileList=({updateShow:t})=>{const{files:e,currentId:a,updateCurrentFile:r,updateTitle:s,addFile:o,saveJSON:n,uploadFile:i}=useFileStore(),{updateMode:c}=useBoardStore(),[d,h]=react.exports.useState(!1),p=u=>{r(u),paintBoard.initCanvasStorage(),c(ActionMode.DRAW)},f=u=>{i(u).then(m=>{m?(paintBoard.initCanvasStorage(),c(ActionMode.DRAW)):(h(!0),setTimeout(()=>{h(!1)},1500))})};return jsxs("div",{className:"drawer drawer-end fixed top-0 z-[1]",children:[jsx("input",{id:"my-drawer-4",type:"checkbox",className:"drawer-toggle"}),jsxs("div",{className:"drawer-side",children:[jsx("label",{htmlFor:"my-drawer-4",className:"drawer-overlay",onClick:()=>t(!1)}),jsxs("div",{className:"h-screen bg-white px-5 py-7 overflow-hidden max-w-[80%]",children:[jsx("div",{className:"font-fredokaOne text-2xl text-center",children:"PAINT-BOARD FILES"}),jsxs("div",{className:"bg-[#eef1ff] rounded-2xl mt-5 py-2 w-max max-w-full",children:[jsxs("div",{className:"flex justify-end items-center px-4 pb-2",children:[jsx(SvgAddFile,{className:"hover:bg-slate-200 cursor-pointer p-1 rounded-lg w-9 h-9",onClick:o}),jsx("label",{htmlFor:"delete-file-modal",children:jsx(SvgRemoveFile,{className:"hover:bg-slate-200 cursor-pointer p-1 rounded-lg w-9 h-9"})}),jsx(SvgExportFile,{className:"hover:bg-slate-200 cursor-pointer p-1 rounded-lg w-9 h-9",onClick:n}),jsx("label",{htmlFor:"file-upload",className:"cursor-pointer",children:jsx(SvgImportFile,{className:"hover:bg-slate-200 cursor-pointer p-1 rounded-lg w-9 h-9"})}),jsx("input",{type:"file",accept:"application/json",id:"file-upload",className:"hidden",onChange:u=>{var m;return f((m=u.target.files)==null?void 0:m[0])}})]}),jsx("ul",{className:"menu text-base-content my-2 mx-4 py-3 px-2 rounded-xl bg-white max-h-[70vh] xs:max-h-[40vh] overflow-y-auto noScrollbar flex-nowrap max-w-full",children:e.map(u=>jsx("li",{className:"my-1 block rounded-lg overflow-hidden",onClick:()=>p(u.id),children:jsx("a",{className:`${u.id===a?"active":""}`,children:jsx("input",{value:u.title,className:"px-2 max-w-full",onChange:m=>s(m.target.value,u.id)})})},u.id))})]})]})]}),d&&jsx(Toast,{message:"toast.uploadFileFail"})]})},DrawWidthConfig=()=>{useTranslation();const{drawWidth:t,updateDrawWidth:e}=useDrawStore(),{drawColors:a}=useDrawStore();return jsx("div",{children:jsxs("div",{className:"flex items-center",style:{margin:"0 1rem"},children:[jsx("div",{className:"text-lg font-fredokaOne mr-2 text-primary-focus",style:{color:a[0],width:"2rem"},children:t}),jsx("input",{type:"range",min:"5",max:"300",step:"1",value:t,className:"range range-primary range-xs",onChange:r=>e(Number(r.target.value))})]})})},EraserConfig=()=>{useTranslation();const{eraserWidth:t,updateEraserWidth:e}=useDrawStore();return jsx(Fragment,{children:jsx("div",{className:"",children:jsxs("div",{className:"flex items-center",style:{margin:"0 1rem"},children:[jsx("div",{className:"text-lg font-fredokaOne mr-2 text-primary-focus",style:{width:"2rem"},children:t}),jsx("input",{type:"range",min:"5",max:"300",step:"1",value:t,className:"range range-primary range-xs",onChange:a=>e(Number(a.target.value))})]})})})},BoardOperation=()=>{const{t}=useTranslation(),{mode:e}=useBoardStore(),[a,r]=react.exports.useState(!1),[s,o]=react.exports.useState(!0),n=()=>{paintBoard.copyObject()},i=()=>{paintBoard.deleteObject()},c=()=>{var u;(u=paintBoard.history)==null||u.undo()},d=()=>{var u;(u=paintBoard.history)==null||u.redo()},h=()=>{var u;(u=paintBoard.textElement)==null||u.loadText()},p=u=>{var g;const m=(g=u.target.files)==null?void 0:g[0];if(!m)return;const w=new FileReader;w.onload=S=>{var k;const b=(k=S.target)==null?void 0:k.result;b&&(console.log(b),b&&typeof b=="string"&&new ImageElement().addImage(b)),u.target.value=""},w.readAsDataURL(m)},f=()=>{paintBoard.saveImage()};return jsxs(Fragment,{children:[jsxs("div",{className:"fixed bottom-2 left-2/4 -translate-x-2/4 flex items-center bg-[#eef1ff] rounded-full xs:flex-col xs:right-5 xs:left-auto xs:translate-x-0 xs:justify-normal xs:max-h-[70vh] xs:overflow-y-auto xs:noScrollbar",children:[ActionMode.DRAW==e&&jsx(DrawWidthConfig,{}),e===ActionMode.ERASE&&jsx(EraserConfig,{}),s&&jsxs(Fragment,{children:[jsx("div",{onClick:c,className:"min-xs:tooltip cursor-pointer py-1.5 pl-3 pr-2 rounded-l-full hover:bg-slate-200 xs:pl-2 xs:rounded-l-none xs:rounded-t-full","data-tip":t("operate.undo"),children:jsx(SvgUndo,{className:"transform scale-x-[-1] scale-y-[1]"})}),jsx("div",{onClick:d,className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.redo"),children:jsx(SvgRedo,{})}),[ActionMode.SELECT,ActionMode.Board].includes(e)&&jsxs(Fragment,{children:[jsx("div",{onClick:n,className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.copy"),children:jsx(SvgCopy,{})}),jsx("div",{onClick:i,className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.delete"),children:jsx(SvgDelete,{})})]}),jsx("div",{"data-tip":t("operate.text"),className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200",onClick:h,children:jsx(SvgText,{})}),jsxs("div",{className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.image"),children:[jsx("label",{htmlFor:"image-upload",className:"cursor-pointer",children:jsx(SvgUpload,{})}),jsx("input",{type:"file",id:"image-upload",className:"hidden",onChange:p})]}),jsx("label",{htmlFor:"clean-modal",className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.clean"),children:jsx(SvgClean,{})}),jsx("div",{onClick:f,className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.save"),children:jsx(SvgSave,{})}),jsx("label",{htmlFor:"my-drawer-4",className:"min-xs:tooltip cursor-pointer py-1.5 pl-2 pr-3 rounded-r-full hover:bg-slate-200 xs:pr-2 xs:rounded-r-none xs:rounded-b-full","data-tip":t("operate.fileList"),onClick:()=>r(!0),children:jsx(SvgFileList,{})})]}),jsxs("label",{className:"btn btn-circle swap swap-rotate w-7 h-7 min-h-0 my-1.5 mx-2 min-xs:hidden",children:[jsx("input",{type:"checkbox",onChange:()=>o(u=>!u)}),jsx(SvgClose,{className:"swap-on fill-current"}),jsx(SvgMenu,{className:"swap-off fill-current"})]})]}),a&&jsx(FileList,{updateShow:r})]})},DeleteFileModal=()=>{const{t}=useTranslation(),{files:e,deleteFile:a}=useFileStore(),{updateMode:r}=useBoardStore(),s=()=>{e.length>1&&(a(),paintBoard.initCanvasStorage(),r(ActionMode.DRAW))};return jsxs(Fragment,{children:[jsx("input",{type:"checkbox",id:"delete-file-modal",className:"modal-toggle"}),jsx("label",{htmlFor:"delete-file-modal",className:"modal cursor-pointer",children:jsxs("label",{className:"modal-box relative flex flex-col justify-center items-center",htmlFor:"",children:[jsx("h3",{className:"text-lg font-bold text-center",children:t("deleteFileModal.title")}),jsxs("div",{className:"w-64 flex justify-between mt-10",children:[jsx("label",{htmlFor:"delete-file-modal",className:"btn btn-active btn-primary btn-md w-2/5",onClick:s,children:t("deleteFileModal.confirm")}),jsx("label",{htmlFor:"delete-file-modal",className:"btn btn-active btn-ghost btn-md w-2/5",children:t("deleteFileModal.cancel")})]})]})})]})},WebSocketContext=React.createContext(null),WebSocketProvider=({children:t})=>{const[e,a]=React.useState(null),{userId:r}=userStore();let s=react.exports.useRef(!1);React.useEffect(()=>{!s.current&&r&&o(COMFY_UI_SOCKET_URL+r)},[r]);const o=i=>{const c=new WebSocket(i);return a(c),c.onopen=()=>{console.log("WebSocket \u8FDE\u63A5\u6210\u529F"),s.current=!0},c.onerror=d=>{console.log("WebSocket \u8FDE\u63A5\u9519\u8BEF:",d)},c.onclose=()=>{console.log("WebSocket \u8FDE\u63A5\u65AD\u5F00"),s.current=!1,n(i)},()=>c.close()},n=i=>{console.log("WebSocket \u91CD\u8FDE",s.current),!s.current&&setTimeout(function(){o(i)},4e3)};return jsx(WebSocketContext.Provider,{value:e,children:t})},AutoDrawPanel=()=>{useTranslation();const[url,updateUrl]=react.exports.useState(""),[loading,updateLoading]=react.exports.useState(!1),[error,updateError]=react.exports.useState(!1),[sockError,updateSocketError]=react.exports.useState(!1),[queueRemaining,updateQueueRemaining]=react.exports.useState(0),[errorMsg,updateErrorMsg]=react.exports.useState(""),[commands,updateCommands]=react.exports.useState({}),[params,updateParams]=react.exports.useState([]),[userCommand,setUserCommand]=react.exports.useState({command:""}),{outputImages,updateoutputImages,clearOutputImages}=userStore(),{userId,updateUserId}=userStore(),{autoTask,updateAutoTask}=userStore(),[comLoading,updateComLoading]=react.exports.useState(!1),[hisLoading,updateHisLoading]=react.exports.useState(!1),{drawStyle,openAutoDraw}=useDrawStore(),[drawKey,updateDrawKey]=react.exports.useState(""),socket=react.exports.useContext(WebSocketContext);react.exports.useEffect(()=>{var t;(t=paintBoard.evnet)==null||t.clickEvent.changeInkHookFn(updateUrl)},[updateUrl]),react.exports.useEffect(()=>{autoTask&&url&&!loading&&addTaskClick()},[url]),react.exports.useEffect(()=>{if(socket){socket.onmessage=message=>{var t,e,a,r,s;if(message.data instanceof Blob)return;const messageJson=eval("("+message.data+")");if(messageJson.type!="crystools.monitor"){if(messageJson.type=="execution_error"){console.log(messageJson),updateErrorMsg("\u56FE\u7247\u751F\u6210\u5F02\u5E38\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458"),updateError(!0),updateLoading(!1),setTimeout(function(){updateError(!1)},3e3);return}else messageJson.type=="status"&&(e=(t=messageJson.data)==null?void 0:t.status)!=null&&e.exec_info&&updateQueueRemaining((s=(r=(a=messageJson.data)==null?void 0:a.status)==null?void 0:r.exec_info)==null?void 0:s.queue_remaining);console.log(messageJson),messageJson.type=="executing"&&!messageJson.data.node&&(getHistoryFun(messageJson.data.prompt_id),updateLoading(!1))}};const onopenFun=socket.onopen;socket.onopen=()=>{onopenFun(),getCommandsFun(),updateSocketError(!1)};const closeFun=socket.onclose;socket.onclose=()=>{closeFun(),updateErrorMsg("\u670D\u52A1\u5668\u8FDE\u63A5\u5F02\u5E38\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458"),updateSocketError(!0)}}},[socket]),react.exports.useEffect(()=>{Object.keys(commands).length===0&&!comLoading&&(updateComLoading(!0),getCommandsFun(),updateComLoading(!1))},[]);const getHistorysFun=async()=>{let t=userId;clearOutputImages(),updateHisLoading(!0);let e=await getHistorys(t);e=e.reverse();for(let n=0;n{const e=await getHistory(t);for(var a of Object.keys(e[t].outputs)){var r=e[t].outputs[a];if("images"in r)for(let s=0;s{try{const t=await getCommands();console.log(t),updateCommands(t),setUserParams(t[Object.keys(t)[0]].params,Object.keys(t)[0])}catch(t){console.log(t)}},setUserParams=async(t,e)=>{const a={};e&&(a.command=e);for(var r of Object.keys(t)){if("default"in t[r])if("type"in t[r]&&t[r].type=="number"&&"original"in t[r]){let s=t[r].original,o=t[r].max;s!=o?a[r+"_show"]=t[r].default/s*o:a[r+"_show"]=t[r].default,a[r]=t[r].default}else a[r]=t[r].default;else"options"in t[r]?a[r]=t[r].options[Object.keys(t[r].options)[0]]:a[r]="";t[r].type=="base64img"&&updateDrawKey(r)}setUserCommand(Object.assign(userCommand,a)),updateParams(t)},addTaskClick=async()=>{try{updateLoading(!0);const t=url?url.substring(22):paintBoard.getImage();let e=Object.assign({openId:userId},userCommand);drawKey?e[drawKey]=t:e.image=t;const a=await addTask(e);a.success||(updateErrorMsg(a.msg),updateError(!0),updateLoading(!1),setTimeout(function(){updateError(!1)},3e3))}catch(t){updateErrorMsg(t),updateError(!0),updateLoading(!1),setTimeout(function(){updateError(!1)},3e3)}},handleChange=t=>{const{name:e,value:a}=t.target;e=="command"&&setUserParams(commands[a].params);let r=parseFloat(t.target.getAttribute("original")),s=t.target.getAttribute("yname"),o=parseFloat(t.target.getAttribute("max")),n={};if(a>1&&r&&s&&o)if(r==o)n[s]=a;else{let i=Math.round(parseFloat(a)/o*r*100)/100;n[s]=i}else n[s]=a;setUserCommand({...Object.assign(userCommand,n),[e]:a})},delPanamsVal=t=>{setUserCommand({...userCommand,[t]:""})},uploadUIImage=async t=>{var o;const e=(o=t.target.files)==null?void 0:o[0];if(!e)return;const a=t.currentTarget.getAttribute("pname"),r=await uploadImage(e);console.log("\u4E0A\u4F20\u6587\u4EF6\uFF1A",r);const s=COMFY_UI_IMAGE_URL+"filename="+r.name+"&type="+r.type+"&subfolder="+r.subfolder;setUserCommand({...userCommand,[a]:s})};return jsx("div",{className:"fixed top-3 right-3 flex h-screen ",style:{display:openAutoDraw?"":"none",backgroundColor:"rgb(251 245 245 / 61%)"},children:jsxs("div",{className:"items-center text-center overflow-x-auto py-2 px-1 box-border rounded-2xl border border-solid border-[rgb(238 241 255)] bg-[#EEF1FF80]",style:{width:"10rem"},children:[(error||sockError)&&jsxs("div",{role:"alert",className:"alert alert-error",children:[jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"stroke-current shrink-0 h-6 w-6",fill:"none",viewBox:"0 0 24 24",children:jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"})}),jsxs("span",{children:["\u9519\u8BEF\uFF1A",errorMsg]})]}),loading&&jsxs("div",{role:"alert",className:"alert alert-success",children:[jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"stroke-current shrink-0 h-6 w-6",fill:"none",viewBox:"0 0 24 24",children:jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})}),jsx("span",{children:"\u63D0\u4EA4\u6210\u529F\u8BF7\u7B49\u5F85"})]}),jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:["\u4EFB\u52A1\u6570\u91CF\uFF1A",queueRemaining]})}),jsx("div",{className:"label",children:jsx("span",{className:"label-text",children:"\u81EA\u52A8\u7ED8\u753B\uFF1A"})}),jsx("div",{children:jsx("input",{type:"checkbox",className:"toggle toggle-success",onChange:()=>updateAutoTask(!autoTask),checked:autoTask})}),jsx("div",{className:"label",children:jsx("span",{className:"label-text",children:"\u7ED8\u753B\u6A21\u5F0F\uFF1A"})}),jsx("select",{className:"select select-success select-sm w-full max-w-xs",name:"command",value:userCommand.command,onChange:handleChange,children:Object.keys(commands).map((t,e)=>jsx("option",{children:t},e))}),Object.keys(params).map((t,e)=>"options"in params[t]?jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:[params[t].zhName,"\uFF1A"]})}),jsx("select",{className:"select select-success select-sm w-full max-w-xs",name:t,value:userCommand[t],onChange:handleChange,children:Object.keys(params[t].options).map((a,r)=>jsx("option",{value:params[t].options[a],children:a},r))})]},e):params[t].type=="customtext"||t=="prompt"||t=="negative"?jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:[params[t].zhName,"\uFF1A"]})}),jsx("textarea",{className:"textarea textarea-success textarea-sm h-45 ",style:{width:"100%",height:"9rem"},placeholder:params[t].zhName,name:t,value:userCommand[t],onChange:handleChange})]},e):"type"in params[t]&&(params[t].type=="number"||params[t].type=="slider")?jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:[params[t].zhName,"\uFF1A"]})}),jsx("div",{className:"text-lg font-fredokaOne mr-2 text-primary-focus",children:userCommand[t]}),jsx("input",{type:"range",min:params[t].min,max:params[t].max,step:params[t].step,name:t+"_show",yname:t,original:params[t].original,value:userCommand[t+"_show"],onChange:handleChange,className:"range range-primary range-xs cursor-pointer"})]},e):"type"in params[t]&&(params[t].type=="text"||params[t].type=="seed")?jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:[params[t].zhName,"\uFF1A"]})}),jsx("input",{type:"text",placeholder:params[t].zhName,name:t,value:userCommand[t],onChange:handleChange,className:"input input-bordered input-success input-sm w-full max-w-xs"})]},e):"type"in params[t]&¶ms[t].type=="image"?jsxs("div",{children:[jsx("div",{className:"label",children:jsx("span",{className:"label-text",children:"\u4EBA\u7269\u5934\u50CF\uFF1A"})}),jsxs("div",{className:"avatar",children:[userCommand[t]?jsx("div",{className:"w-24 rounded",children:jsx("img",{src:userCommand[t]})}):jsxs("div",{className:"bg-neutral text-neutral-content w-24",children:[jsx("label",{htmlFor:"image-upload-comfy"+t,className:"cursor-pointer ",children:jsx(SvgUpload,{style:{margin:"35%"}})}),jsx("input",{type:"file",id:"image-upload-comfy"+t,pname:t,className:"hidden",onChange:uploadUIImage})]}),userCommand[t]?jsx(SvgMenu,{className:"swap-on fill-current",onClick:()=>{delPanamsVal(t)}}):""]})]}):""),jsx("div",{className:"label"}),!autoTask&&jsx("button",{className:"btn btn-outline btn-success btn-sm",onClick:addTaskClick,disabled:loading,children:"AI\u521B\u610F\u5B9E\u73B0"}),!autoTask&&jsx("button",{className:"btn btn-outline btn-success btn-sm",onClick:getHistorysFun,disabled:loading,children:"\u67E5\u8BE2\u5386\u53F2"})]})]})})},SvgArrowLeft=t=>react.exports.createElement("svg",{fill:"#000000",width:"30px",height:"30px",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg",id:"memory-arrow-left-circle",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M12 16H10V15H9V14H8V13H7V12H6V10H7V9H8V8H9V7H10V6H12V8H11V9H10V10H16V12H10V13H11V14H12V16M15 21H7V20H5V19H4V18H3V17H2V15H1V7H2V5H3V4H4V3H5V2H7V1H15V2H17V3H18V4H19V5H20V7H21V15H20V17H19V18H18V19H17V20H15V21M16 17H17V16H18V14H19V8H18V6H17V5H16V4H14V3H8V4H6V5H5V6H4V8H3V14H4V16H5V17H6V18H8V19H14V18H16V17Z"}))),SvgArrowRight=t=>react.exports.createElement("svg",{fill:"#000000",width:"30px",height:"30px",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg",id:"memory-arrow-right-circle",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M7 1H15V2H17V3H18V4H19V5H20V7H21V15H20V17H19V18H18V19H17V20H15V21H7V20H5V19H4V18H3V17H2V15H1V7H2V5H3V4H4V3H5V2H7V1M6 5H5V6H4V8H3V14H4V16H5V17H6V18H8V19H14V18H16V17H17V16H18V14H19V8H18V6H17V5H16V4H14V3H8V4H6V5M10 6H12V7H13V8H14V9H15V10H16V12H15V13H14V14H13V15H12V16H10V14H11V13H12V12H6V10H12V9H11V8H10V6Z"}))),arrowLeft="_arrowLeft_1wio0_1",arrowRight="_arrowRight_1wio0_5",styles={arrowLeft,arrowRight},ViewImage=()=>{const{t}=useTranslation(),{outputImages:e,autoTask:a}=userStore(),[r,s]=react.exports.useState({url:"",status:0}),{mode:o,updateMode:n}=useBoardStore(),i=()=>{const p=document.getElementById("autodraw-scroll-container");p==null||p.scrollBy({left:-300,behavior:"smooth"})},c=()=>{const p=document.getElementById("autodraw-scroll-container");p==null||p.scrollBy({left:300,behavior:"smooth"})},d=(p,f)=>{f==1?s({url:p,status:f}):r.status==1&&r.url==p&&f==2&&(h(r.url,!1),s({url:"",status:0}),n(ActionMode.SELECT))},h=(p,f=!0)=>{var u=new XMLHttpRequest;u.open("GET",p,!0),u.responseType="blob",u.onload=function(){if(console.log(u),u.status===200){var m=u.response,w=new FileReader;w.onloadend=function(){var g=w.result;if(g&&typeof g=="string"){const S=new ImageElement;f?S.addTileImage(g):S.addImage(g)}},w.readAsDataURL(m)}},u.send()};return jsxs("div",{className:"fixed top-3 flex",style:{right:"24vw"},children:[jsx("div",{className:`absolute top-0 bottom-0 left-0 z-10 flex items-center w-16 h-full pl-[15px] cursor-pointer rounded-2xl ${styles.arrowLeft}`,children:jsx(SvgArrowLeft,{onClick:i})}),jsx("div",{className:"flex items-center text-center w-[50vw] overflow-x-auto py-2 px-16 h-18 noScrollbar box-border rounded-2xl border border-solid border-[rgb(238 241 255)] bg-[#EEF1FF80]",id:"autodraw-scroll-container",children:e.length?e.map((p,f)=>jsx("img",{src:p,className:"w-auto h-16 p-1 mr-4 hover:cursor-pointer hover:bg-[rgba(203,213,225,0.3)] rounded-lg",onClick:()=>h(p),onMouseDown:()=>d(p,1),onDragEnd:()=>d(p,2)},f)):t("request.tip")}),jsx("div",{className:`absolute top-0 bottom-0 right-0 z-10 flex items-center justify-end w-16 h-full pr-[15px] cursor-pointer rounded-2xl ${styles.arrowRight}`,children:jsx(SvgArrowRight,{onClick:c})})]})},Board=()=>{useBoardStore();const{canvasWidth:t}=useBoardStore(),{canvasHeight:e}=useBoardStore(),{outputImages:a,autoTask:r}=userStore();useDrawStore();const s=react.exports.useRef(null),[o,n]=react.exports.useState(!1),{userId:i,updateUserId:c}=userStore(),h=new URLSearchParams(window.location.search).get("openId");if(h){const f=atob(h);f&&c(f)}react.exports.useEffect(()=>(s.current&&paintBoard.initCanvas(s.current).then(f=>{n(f)}),()=>{paintBoard.removeCanvas()}),[]);const p=f=>{var u=new XMLHttpRequest;u.open("GET",f,!0),u.responseType="blob",u.onload=function(){if(console.log(u),u.status===200){var m=u.response,w=new FileReader;w.onloadend=function(){var g=w.result;g&&typeof g=="string"&&new ImageElement().addTileImage(g)},w.readAsDataURL(m)}},u.send()};return jsxs("div",{children:[jsx(Authorize,{}),jsxs("div",{className:"h-screen flex justify-center items-center bg-slate-100",children:[jsx("canvas",{className:"w-full h-full block",ref:s}),r&&jsx("div",{style:{width:t*100+"vw",height:e*100+"vh",backgroundColor:"#ffffff",marginLeft:"20px"},children:a.length>0&&jsx("img",{style:{width:"100%",height:"100%",padding:"0"},src:a[0],onClick:()=>p(a[0]),className:"w-auto h-16 p-1 mr-4 hover:cursor-pointer hover:bg-[rgba(203,213,225,0.3)] rounded-lg"})})]}),o&&jsxs(Fragment,{children:[jsx(ToolPanel,{}),jsx(GuideInfo,{}),jsx(CleanModal,{}),jsx(DeleteFileModal,{}),jsx(BoardOperation,{}),!r&&jsx(ViewImage,{}),jsx(AutoDrawPanel,{})]})]})};function App(){return jsx("div",{children:jsx(Board,{})})}const index="",tool$1={draw:"Draw",eraser:"Eraser",select:"Select",board:"Board"},title$1={drawType:"Draw Type",drawStyle:"Draw Style",drawWidth:"Draw Width",drawColor:"Draw Color",shadow:"Shadow",AI:"AI",shapeType:"Shape Type",shapeCount:"Shape Count",materialType:"Material Type",multiColorType:"MultiColor Type",drawText:"Draw Text",fontFamily:"Font Family",shapeLinePointCount:"Point Count",borderType:"Border Type",borderStyle:"Border Style",fillStyle:"Fill Style",eraserWidth:"Eraser Width",opacity:"Opacity",layer:"Layer",imageFilters:"Image Filters",fontStyle:"Font Style",canvasBackground:"Canvas Background",canvasSize:"Canvas Size",drawCache:"Draw Cache",guideLine:"GuideLine"},canvasSize$1={width:"Width",height:"Height"},drawType$1={freeStyle:"FreeStyle",shape:"Shape"},style$1={basic:"Basic",rainbow:"Rainbow",shape:"Shape",material:"Material",pixels:"Pixels",multiColor:"MultiColor",text:"Text",multiLine:"MultiLine",reticulate:"Reticulate",multiPoint:"MultiPoint",wiggle:"Wiggle",thorn:"Thorn"},operate$1={undo:"undo",redo:"redo",copy:"copy",delete:"delete",text:"add text",image:"upload image",clean:"clean",save:"Save as image",fileList:"File List"},info$1={welecome:"Welcome to star",FreeStyle:{line1:"Provides 12 different styles of brushes, including Basic Brush, Rainbow Brush, Multi-Shape Brush, Multi-Material Brush, Pixel Brush, Multi-Color Brush, Text Brush, Multi-Line Connection Brush, Reticulate Brush, Multi-Point Connection Brush, Wiggle Brush, Thorn Brush. Satisfy the diversified drawing",line2:"All brushes support color and brush width configurations",line3:"MultiShape allows flexible configuration of shape types and quantities",line4:"Material and MultiColor allows you to adjust the material type of the brush",line5:"Text drawing support for cyclic text and font configuration"},ShapeDraw:{line1:"A variety of common shapes are provided for drawing, with support for multi-point segments and arrows. The shapes support border and fill styles."},EraserMode:{line1:"Eraser mode linearly erases all content",line2:"Supports linear width configurations"},SelectMode:{line1:"In selection mode, you can click on the content of the drawing to select it",line2:"Click handle supports drag and drop, zoom and rotate operations, providing flexible editing options",line3:"Selecting images supports multiple filter configurations",line4:"Support for font configuration when selecting text",line5:"Layer settings are supported for all drawings, including Move Layer Up, Move Layer Down, Move to Top, and Move to Bottom",line6:"All drawings support transparency configurations"},BoardMode:{line1:"Drawing board support for configuring background color and transparency configurations",line2:"The drawing board supports customized width and height configurations",line3:"Support for drawing cache enable. Enabling caching will improve drawing performance in the presence of large amounts of drawing content, while disabling caching will improve canvas clarity.",line4:"Supports guide line on and off"},BorderConfig:{line1:"The bottom left button shows the current zoom ratio in real time, click it to reset the zoom ratio",line2:"The list of buttons in the center, in order from left to right, are: Undo, Redo, Copy Current Selection, Delete Current Selection, Draw Text, Upload Image, Clear Drawing, Save as Image, and Open File List",line3:"PC: Hold down the Space key and click the left mouse button to move the canvas, scroll the mouse wheel to realize the canvas zoom, hold down the Backspace key to delete the selected content, and hold down the Ctrl + V keys to paste the clipboard image at the same time",line4:"Mobile: support for dragging and zooming the canvas after a two-finger press"},FileConfig:{line1:"Multi-file configuration: support multiple canvas switching, each canvas can be customized title, add, delete, and provide upload and download"}},cleanModal$1={title:"Confirm clearing content?",confirm:"Confirmed",cancel:"Cancel"},deleteFileModal$1={title:"Confirm deleting the current file?",confirm:"Confirmed",cancel:"Cancel"},toast$1={uploadFileFail:"Upload failed, please try again"},filters$1={Sepia:"Sepia",Invert:"Invert",BlackWhite:"BlackWhite",Grayscale:"Grayscale",Blur:"Blur",Vintage:"Vintage",BlendColor:"BlendColor",Brownie:"Brownie",Kodachrome:"Kodachrome",Pixelate:"Pixelate",Polaroid:"Polaroid",Technicolor:"Technicolor",Brightness:"Brightness",Noise:"Noise",Convolute:"Emboss"},fontStyle$1={bold:"Bold",italic:"Italic",underLine:"UnderLine",lineThrough:"LineThrough"},boardConfig$1={cacheTip:"In the presence of a large amount of drawing content, enabling caching will improve drawing performance, while disabling caching will improve canvas sharpness"},request$1={tip:"Please feel free to draw...",loading:"Loading data, please wait...",error:"Something went wrong. Please try again later."},en={tool:tool$1,title:title$1,canvasSize:canvasSize$1,drawType:drawType$1,style:style$1,operate:operate$1,info:info$1,cleanModal:cleanModal$1,deleteFileModal:deleteFileModal$1,toast:toast$1,filters:filters$1,fontStyle:fontStyle$1,boardConfig:boardConfig$1,request:request$1},tool={draw:"\u7ED8\u753B",eraser:"\u6A61\u76AE",select:"\u9009\u62E9",board:"\u753B\u677F"},title={drawType:"\u7ED8\u753B\u7C7B\u578B",drawStyle:"\u7ED8\u753B\u98CE\u683C",drawWidth:"\u753B\u7B14\u5BBD\u5EA6",drawColor:"\u753B\u7B14\u989C\u8272",shadow:"\u9634\u5F71",AI:"AI",shapeType:"\u5F62\u72B6\u7C7B\u578B",shapeCount:"\u5F62\u72B6\u6570\u91CF",materialType:"\u7D20\u6750\u7C7B\u578B",multiColorType:"\u591A\u8272\u7C7B\u578B",drawText:"\u6587\u5B57\u5185\u5BB9",fontFamily:"\u5B57\u4F53",shapeLinePointCount:"\u7EBF\u6BB5\u7AEF\u70B9",borderType:"\u8FB9\u6846\u7C7B\u578B",borderStyle:"\u8FB9\u6846\u6837\u5F0F",fillStyle:"\u586B\u5145\u6837\u5F0F",eraserWidth:"\u6A61\u76AE\u5BBD\u5EA6",opacity:"\u900F\u660E\u5EA6",layer:"\u56FE\u5C42",imageFilters:"\u56FE\u50CF\u6EE4\u955C",fontStyle:"\u5B57\u4F53\u6837\u5F0F",canvasBackground:"\u753B\u677F\u80CC\u666F",canvasSize:"\u753B\u677F\u5C3A\u5BF8",drawCache:"\u7ED8\u5236\u7F13\u5B58",guideLine:"\u8F85\u52A9\u7EBF"},canvasSize={width:"\u5BBD\u5EA6",height:"\u9AD8\u5EA6"},drawType={freeStyle:"\u81EA\u7531\u7ED8\u753B",shape:"\u5F62\u72B6\u7ED8\u753B"},style={basic:"\u57FA\u7840",rainbow:"\u5F69\u8679 ",shape:"\u591A\u5F62\u72B6",material:"\u7D20\u6750",pixels:"\u50CF\u7D20",multiColor:"\u591A\u8272",text:"\u6587\u5B57",multiLine:"\u591A\u7EBF\u8FDE\u63A5",reticulate:"\u7F51\u72B6",multiPoint:"\u591A\u70B9\u8FDE\u63A5",wiggle:"\u6CE2\u6D6A\u66F2\u7EBF",thorn:"\u8346\u68D8"},operate={undo:"\u64A4\u9500",redo:"\u91CD\u505A",copy:"\u590D\u5236",delete:"\u5220\u9664",text:"\u6DFB\u52A0\u6587\u5B57",image:"\u4E0A\u4F20\u56FE\u7247",clean:"\u6E05\u9664\u753B\u677F",save:"\u4FDD\u5B58\u4E3A\u56FE\u7247",fileList:"\u6587\u4EF6\u5217\u8868"},info={welecome:"\u6B22\u8FCE\u4F7F\u7528\u8DA3\u5473\u7ED8\u672C",FreeStyle:{line1:"\u63D0\u4F9B\u4E86 12 \u79CD\u4E0D\u540C\u98CE\u683C\u7684\u753B\u7B14\uFF0C\u5305\u62EC\u57FA\u672C\u753B\u7B14\uFF0C\u5F69\u8679\u753B\u7B14\uFF0C\u591A\u5F62\u72B6\u753B\u7B14\uFF0C\u591A\u7D20\u6750\u753B\u7B14\uFF0C\u50CF\u7D20\u753B\u7B14\uFF0C\u591A\u8272\u753B\u7B14\uFF0C\u6587\u5B57\u753B\u7B14\uFF0C\u591A\u7EBF\u8FDE\u63A5\u753B\u7B14\uFF0C\u7F51\u72B6\u753B\u7B14\uFF0C\u591A\u70B9\u8FDE\u63A5\u753B\u7B14\uFF0C\u6CE2\u6D6A\u66F2\u7EBF\u753B\u7B14\uFF0C\u8346\u68D8\u753B\u7B14\u3002\u6EE1\u8DB3\u591A\u6837\u5316\u7684\u7ED8\u753B",line2:"\u6240\u6709\u753B\u7B14\u5747\u652F\u6301\u989C\u8272\u548C\u753B\u7B14\u5BBD\u5EA6\u7684\u914D\u7F6E",line3:"\u591A\u5F62\u72B6\u53EF\u4EE5\u7075\u6D3B\u914D\u7F6E\u5F62\u72B6\u7C7B\u578B\u548C\u6570\u91CF",line4:"\u7D20\u6750\u548C\u591A\u8272\u53EF\u4EE5\u8C03\u6574\u753B\u7B14\u7684\u7D20\u6750\u7C7B\u578B",line5:"\u6587\u5B57\u7ED8\u5236\u652F\u6301\u5FAA\u73AF\u6587\u6848\u914D\u7F6E\u548C\u5B57\u4F53\u4FEE\u6539"},ShapeDraw:{line1:"\u63D0\u4F9B\u4E86\u591A\u79CD\u5E38\u89C1\u5F62\u72B6\u7684\u7ED8\u5236, \u5E76\u652F\u6301\u591A\u7AEF\u70B9\u7EBF\u6BB5\u4EE5\u53CA\u7BAD\u5934. \u5E76\u4E14\u8FD9\u4E9B\u5F62\u72B6\u5747\u652F\u6301\u8FB9\u6846\u548C\u586B\u5145\u7684\u6837\u5F0F\u914D\u7F6E"},EraserMode:{line1:"\u6A61\u76AE\u64E6\u6A21\u5F0F\u53EF\u4EE5\u7EBF\u6027\u64E6\u9664\u6240\u6709\u5185\u5BB9",line2:"\u652F\u6301\u7EBF\u6027\u5BBD\u5EA6\u914D\u7F6E"},SelectMode:{line1:"\u5728\u9009\u62E9\u6A21\u5F0F\u4E0B\uFF0C\u53EF\u4EE5\u901A\u8FC7\u70B9\u51FB\u7ED8\u753B\u5185\u5BB9\u8FDB\u884C\u6846\u9009",line2:"\u70B9\u51FB\u624B\u67C4\u652F\u6301\u62D6\u62FD\u3001\u7F29\u653E\u548C\u65CB\u8F6C\u64CD\u4F5C\uFF0C\u63D0\u4F9B\u7075\u6D3B\u7684\u7F16\u8F91\u65B9\u5F0F",line3:"\u9009\u62E9\u56FE\u7247\u652F\u6301\u591A\u79CD\u6EE4\u955C\u914D\u7F6E",line4:"\u9009\u62E9\u6587\u5B57\u65F6\uFF0C\u652F\u6301\u5B57\u4F53\u8BBE\u7F6E",line5:"\u6240\u6709\u7ED8\u5236\u5185\u5BB9\u5747\u652F\u6301\u56FE\u5C42\u8BBE\u7F6E\uFF0C\u5305\u62EC\u5411\u4E0A\u79FB\u52A8\u5C42\u7EA7\u3001\u5411\u4E0B\u79FB\u52A8\u5C42\u7EA7\u3001\u79FB\u52A8\u81F3\u9876\u5C42\u548C\u79FB\u52A8\u81F3\u5E95\u5C42",line6:"\u6240\u6709\u7ED8\u5236\u5185\u5BB9\u652F\u6301\u900F\u660E\u5EA6\u914D\u7F6E"},BoardMode:{line1:"\u753B\u677F\u652F\u6301\u914D\u7F6E\u80CC\u666F\u989C\u8272\u548C\u900F\u660E\u5EA6\u914D\u7F6E",line2:"\u753B\u677F\u652F\u6301\u81EA\u5B9A\u4E49\u5BBD\u9AD8\u914D\u7F6E",line3:"\u652F\u6301\u7ED8\u5236\u7F13\u5B58\u5F00\u542F. \u5728\u5B58\u5728\u5927\u91CF\u7ED8\u5236\u5185\u5BB9\u7684\u60C5\u51B5\u4E0B\uFF0C\u542F\u7528\u7F13\u5B58\u5C06\u63D0\u9AD8\u7ED8\u5236\u6027\u80FD\uFF0C\u800C\u7981\u7528\u7F13\u5B58\u5219\u4F1A\u63D0\u5347\u753B\u5E03\u6E05\u6670\u5EA6",line4:"\u652F\u6301\u8F85\u52A9\u7EBF\u7684\u5F00\u542F\u4E0E\u5173\u95ED"},BorderConfig:{line1:"\u5DE6\u4E0B\u89D2\u6309\u94AE\u5B9E\u65F6\u663E\u793A\u5F53\u524D\u7F29\u653E\u6BD4\u4F8B\uFF0C\u70B9\u51FB\u5373\u53EF\u91CD\u7F6E\u7F29\u653E\u6BD4\u4F8B",line2:"\u4E2D\u95F4\u6309\u94AE\u5217\u8868\u6309\u4ECE\u5DE6\u5230\u53F3\u7684\u987A\u5E8F\u5206\u522B\u4E3A\uFF1A\u64A4\u9500\u3001\u53CD\u64A4\u9500\u3001\u590D\u5236\u5F53\u524D\u9009\u62E9\u5185\u5BB9\u3001\u5220\u9664\u5F53\u524D\u9009\u62E9\u5185\u5BB9\u3001\u7ED8\u5236\u6587\u5B57\u3001\u4E0A\u4F20\u56FE\u7247\u3001\u6E05\u9664\u7ED8\u5236\u5185\u5BB9\u3001\u4FDD\u5B58\u4E3A\u56FE\u7247\u3001\u6253\u5F00\u6587\u4EF6\u5217\u8868",line3:"\u7535\u8111\u7AEF\uFF1A\u6309\u4F4F Space \u952E\u5E76\u70B9\u51FB\u9F20\u6807\u5DE6\u952E\u53EF\u79FB\u52A8\u753B\u5E03\uFF0C\u6EDA\u52A8\u9F20\u6807\u6EDA\u8F6E\u5B9E\u73B0\u753B\u5E03\u7F29\u653E\uFF0C\u6309\u4F4F Backspace \u952E\u53EF\u5220\u9664\u5DF2\u9009\u5185\u5BB9\uFF0C\u540C\u65F6\u6309\u4F4F Ctrl \u952E + V \u952E\u53EF\u7C98\u8D34\u526A\u8D34\u677F\u56FE\u7247",line4:"\u79FB\u52A8\u7AEF\uFF1A\u652F\u6301\u53CC\u6307\u6309\u538B\u540E\u62D6\u62FD\u548C\u7F29\u653E\u753B\u5E03"},FileConfig:{line1:"\u591A\u6587\u4EF6\u914D\u7F6E\uFF1A\u652F\u6301\u591A\u4E2A\u753B\u5E03\u5207\u6362\uFF0C\u6BCF\u4E2A\u753B\u5E03\u53EF\u81EA\u5B9A\u4E49\u6807\u9898\u3001\u589E\u52A0\u3001\u5220\u9664\uFF0C\u5E76\u63D0\u4F9B\u4E0A\u4F20\u548C\u4E0B\u8F7D\u529F\u80FD"}},cleanModal={title:"\u786E\u8BA4\u6E05\u9664\u5185\u5BB9\uFF1F",confirm:"\u786E\u8BA4",cancel:"\u53D6\u6D88"},deleteFileModal={title:"\u786E\u8BA4\u5220\u9664\u5F53\u524D\u6587\u4EF6\u5417\uFF1F",confirm:"\u786E\u8BA4",cancel:"\u53D6\u6D88"},toast={uploadFileFail:"\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5"},filters={Sepia:"\u590D\u53E4",Invert:"\u5E95\u7247",BlackWhite:"\u9ED1\u767D",Grayscale:"\u7070\u5EA6",Blur:"\u6A21\u7CCA",Vintage:"\u53E4\u5178",BlendColor:"\u6DF7\u8272",Brownie:"\u68D5\u4ED9",Kodachrome:"\u80F6\u7247",Pixelate:"\u50CF\u7D20",Polaroid:"\u5B9D\u4E3D\u6765",Technicolor:"\u5F69\u8272",Brightness:"\u589E\u4EAE",Noise:"\u566A\u70B9",Convolute:"\u6D6E\u96D5"},fontStyle={bold:"\u7C97\u4F53",italic:"\u659C\u4F53",underLine:"\u4E0B\u5212\u7EBF",lineThrough:"\u5220\u9664\u7EBF"},boardConfig={cacheTip:"\u5728\u5B58\u5728\u5927\u91CF\u7ED8\u5236\u5185\u5BB9\u7684\u60C5\u51B5\u4E0B\uFF0C\u542F\u7528\u7F13\u5B58\u5C06\u63D0\u9AD8\u7ED8\u5236\u6027\u80FD\uFF0C\u800C\u7981\u7528\u7F13\u5B58\u5219\u4F1A\u63D0\u5347\u753B\u5E03\u6E05\u6670\u5EA6"},request={tip:"\u70B9\u51FB\u6309\u94AE\u5B9E\u73B0\u521B\u610F",loading:"\u8BF7\u7A0D\u5019...",error:"\u51FA\u9519\u4E86\u3002\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002"},authorize={title:"\u5FAE\u4FE1\u626B\u7801\u5173\u6CE8\u516C\u4F17\u53F7\u83B7\u53D6\u6388\u6743\u7801"},zh={tool,title,canvasSize,drawType,style,operate,info,cleanModal,deleteFileModal,toast,filters,fontStyle,boardConfig,request,authorize},lang=useBoardStore.getState().language;instance.use(initReactI18next).init({resources:{en:{translation:en},zh:{translation:zh}},lng:lang});{const t=document.createElement("script");t.textContent=` +var _=Object.defineProperty;var P=(t,e,a)=>e in t?_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a;var l=(t,e,a)=>(P(t,typeof e!="symbol"?e+"":e,a),a);import{f as fabric,c as create,p as persist,v as v4,a as createJSONStorage,b as produce,g as get,s as set,d as del,l as lodash,e as diff,h as patch,u as unpatch,i as useTranslation,j as jsxs,k as jsx,r as react,F as Fragment,S as Swiper,P as Pagination,m as SwiperSlide,n as axios,R as React,o as instance,q as initReactI18next,t as client}from"./vendor.dfa0e071.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const n of o.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&r(n)}).observe(document,{childList:!0,subtree:!0});function a(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=a(s);fetch(s.href,o)}})();const getRandomInt=(t,e)=>Math.floor(Math.random()*(e-t+1))+t,formatPublicUrl=t=>t&&typeof t=="string"?`/paint-board/${t}`:"",getDistance=(t,e)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)),isMobile=()=>/phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|Mobi|Android|iPhone|iPad/i.test(navigator.userAgent);let isMouseDown=!1,isDisableDraw=isMobile();class BrushMouseMixin{constructor(){l(this,"canvas",null)}initCanvas(e){this.canvas=e,this._initBrushMouse()}_initBrushMouse(){fabric.fabric.util.object.extend(this.canvas,{_onMouseDownInDrawingMode:function(){},_onMouseMoveInDrawingMode:function(e){isDisableDraw||(isMouseDown?fabric.fabric.Canvas.prototype._onMouseMoveInDrawingMode.call(this,e):(isMouseDown=!0,fabric.fabric.Canvas.prototype._onMouseDownInDrawingMode.call(this,e)))},_onMouseUpInDrawingMode:function(e){isDisableDraw||(isMouseDown=!1,fabric.fabric.Canvas.prototype._onMouseUpInDrawingMode.call(this,e))}})}updateIsDisableDraw(e){isDisableDraw=e}}const brushMouseMixin=new BrushMouseMixin;class AlignGuideLine{constructor(){l(this,"openAlignGuideLine",!0)}updateOpenState(e){this.openAlignGuideLine=e}init(e,a){const r=e.getSelectionContext(),s=5,o=4,n=1,i="rgb(102, 204, 138)";let c,d=1;this.openAlignGuideLine=a;function h(g){f(g.x+.5,g.y1>g.y2?g.y2:g.y1,g.x+.5,g.y2>g.y1?g.y2:g.y1)}function p(g){f(g.x1>g.x2?g.x2:g.x1,g.y+.5,g.x2>g.x1?g.x2:g.x1,g.y+.5)}function f(g,S,b,k){c!=null&&(r.save(),r.lineWidth=n,r.strokeStyle=i,r.beginPath(),r.moveTo(g*d+c[4],S*d+c[5]),r.lineTo(b*d+c[4],k*d+c[5]),r.stroke(),r.restore())}function u(g,S){g=Math.round(g),S=Math.round(S);for(let b=g-o,k=g+o;b<=k;b++)if(b===S)return!0;return!1}const m=[],w=[];e.on("mouse:down",()=>{c=e.viewportTransform,d=e.getZoom()}),e.on("object:moving",g=>{if(c===void 0||g.target===void 0||!this.openAlignGuideLine)return;const S=g.target,b=e.getObjects(),k=S.getCenterPoint(),x=k.x,y=k.y,j=S.getBoundingRect(),M=j.height/c[3],T=j.width/c[0];let B=!1,I=!1;if(!!e._currentTransform){for(let D=b.length;D--;){if(b[D]===S)continue;const A=b[D].getCenterPoint(),C=A.x,v=A.y,R=b[D].getBoundingRect(),E=R.height/c[3],L=R.width/c[0];u(C,x)&&(I=!0,m.push({x:C,y1:vv?y+M/2+s:y-M/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(C,y),"center","center")),u(C-L/2,x-T/2)&&(I=!0,m.push({x:C-L/2,y1:vv?y+M/2+s:y-M/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(C-L/2+T/2,y),"center","center")),u(C+L/2,x+T/2)&&(I=!0,m.push({x:C+L/2,y1:vv?y+M/2+s:y-M/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(C+L/2-T/2,y),"center","center")),u(v,y)&&(B=!0,w.push({y:v,x1:CC?x+T/2+s:x-T/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(x,v),"center","center")),u(v-E/2,y-M/2)&&(B=!0,w.push({y:v-E/2,x1:CC?x+T/2+s:x-T/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(x,v-E/2+M/2),"center","center")),u(v+E/2,y+M/2)&&(B=!0,w.push({y:v+E/2,x1:CC?x+T/2+s:x-T/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(x,v+E/2-M/2),"center","center"))}B||(w.length=0),I||(m.length=0)}}),e.on("before:render",()=>{try{e.clearContext(e.contextTop)}catch(g){console.log(g)}}),e.on("after:render",()=>{for(let g=m.length;g--;)h(m[g]);for(let g=w.length;g--;)p(w[g]);m.length=0,w.length=0}),e.on("mouse:up",()=>{m.length=0,w.length=0,e.renderAll()})}}const alignGuideLine=new AlignGuideLine,ActionMode={DRAW:"draw",ERASE:"erase",SELECT:"select",Board:"board"},FREESTYLE_ELEMENT_CUSTOM_TYPE={IMAGE:"image",I_TEXT:"itext",RAINBOW:"rainbow",SHAPE:"shape",PIXELS:"pixels",DRAW_TEXT:"drawText",MULTI_LINE:"multiLine",RETICULATE:"reticulate",MULTI_POINT:"multiPoint",WIGGLE:"wiggle",THORN:"thorn"},SHAPE_ELEMENT_CUSTOM_TYPE={SHAPE_LINE:"shapeLine",SHAPE_RECT:"shapeRect",SHAPE_CIRCLE:"shapeCircle",SHAPE_ELLIPSE:"shapeEllipse",SHAPE_TRIANGLE:"shapeTriangle",SHAPE_ARROW_LINE:"shapeArrowLine",SHAPE_ARROW_OUTLINE:"shapeArrowOutline",SHAPE_CLOUD:"shapeCloud",SHAPE_TOOLTIPS:"shapeTooltips",SHAPE_LIGHTNING:"shapeLightning",SHAPE_CLOSE:"shapeClose",SHAPE_CHECK:"shapeCheck",SHAPE_INFO:"shapeInfo",SHAPE_BACKSPACE:"shapeBackspace",SHAPE_BLOCK:"shapeBlock",SHAPE_SPEAKER:"shapeSpeaker",SHAPE_SEARCH:"shapeSearch",SHAPE_INFO_OUTLINE:"shapeInfoOutline",SHAPE_HEART:"shapeHeart",SHAPE_ALERT:"shapeAlert"},ELEMENT_CUSTOM_TYPE={...FREESTYLE_ELEMENT_CUSTOM_TYPE,...SHAPE_ELEMENT_CUSTOM_TYPE},DrawType={FreeStyle:"freeStyle",Shape:"shape"},DrawStyle={Basic:"basic",Rainbow:"rainbow",Shape:"shape",Material:"material",Pixels:"pixels",MultiColor:"multiColor",Text:"text",MultiLine:"multiLine",Reticulate:"reticulate",MultiPoint:"multiPoint",Wiggle:"wiggle",Thorn:"thorn"},DrawShape={Bubble:"bubble",Star:"star",Love:"love",Butterfly:"butterfly",Snow:"snow",Music:"music",Sun:"sun",Moon:"moon",Leaf:"leaf",Flower:"flower"};function hexToRgba(t,e=1){const a=parseInt(t.slice(1),16),r=a>>16&255,s=a>>8&255,o=a&255;return`rgba(${r}, ${s}, ${o}, ${e})`}function getAlphaFromRgba(t){const e=t.match(/rgba?\((\d+),\s*(\d+),\s*(\d+),\s*([\d.]+)\)/);return e?parseFloat(e[4]):1}function changeAlpha(t,e){const a=t.match(/rgba?\((.*?)\)/);if(!a)return t;const r=a[1].split(",").map(o=>o.trim());return e=Math.min(1,Math.max(0,e)),`rgba(${r[0]}, ${r[1]}, ${r[2]}, ${e})`}function isHexColor(t){return/^#([0-9A-Fa-f]{3}){1,2}$/.test(t)}function isRgbaColor(t){return/^rgba?\((\d+,\s*){2}\d+,\s*(0(\.\d+)?|1(\.0)?)\)$/.test(t)}function getColorFormat(t){return isHexColor(t)?"hex":isRgbaColor(t)?"rgba":"unknown"}const initLanguage=["en","en-US","en-us"].includes(navigator.language)?"en":"zh",useBoardStore=create()(persist((t,e)=>({mode:ActionMode.DRAW,drawType:DrawType.FreeStyle,language:initLanguage,canvasWidth:1,canvasHeight:1,backgroundColor:"rgba(255, 255, 255, 1)",backgroundOpacity:1,isObjectCaching:!0,openGuideLine:!1,updateMode:a=>{e().mode!==a&&(paintBoard.handleMode(a),t({mode:a}))},updateDrawType:a=>{e().drawType!==a&&(t({drawType:a}),paintBoard.handleMode())},updateLanguage(a){t({language:a})},initBackground:()=>{var r;const a=(r=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:r.backgroundColor;if(a&&typeof a=="string"){const s=getColorFormat(a);if(s==="hex"){const o=hexToRgba(a),n=getAlphaFromRgba(o);t({backgroundColor:o,backgroundOpacity:n})}else if(s==="rgba"){const o=getAlphaFromRgba(a);t({backgroundColor:a,backgroundOpacity:o})}}else paintBoard!=null&&paintBoard.canvas&&(paintBoard.canvas.backgroundColor="rgba(255, 255, 255, 1)",t({backgroundColor:"rgba(255, 255, 255, 1)",backgroundOpacity:1}))},updateCanvasWidth:a=>{e().canvasWidth!==a&&(t({canvasWidth:a}),paintBoard.updateCanvasWidth(a))},updateCanvasHeight:a=>{e().canvasHeight!==a&&(t({canvasHeight:a}),paintBoard.updateCanvasHeight(a))},updateBackgroundColor:a=>{const r=paintBoard.canvas;r&&a!==(r==null?void 0:r.backgroundColor)&&t(s=>{const o=hexToRgba(a,s.backgroundOpacity);return r.backgroundColor=o,{backgroundColor:o}})},updateBackgroundOpacity:a=>{t(r=>{const s=paintBoard.canvas;if(s&&a!==r.backgroundOpacity){const o=changeAlpha(r.backgroundColor,a);return s.backgroundColor=o,{backgroundOpacity:a,backgroundColor:o}}return{}})},updateCacheState(){var r;const a=e().isObjectCaching;t({isObjectCaching:!a}),fabric.fabric.Object.prototype.set({objectCaching:useBoardStore.getState().isObjectCaching}),(r=paintBoard==null?void 0:paintBoard.canvas)==null||r.renderAll()},updateOpenGuideLine(){const a=!e().openGuideLine;t({openGuideLine:a}),alignGuideLine.updateOpenState(a)}}),{name:"PAINT-BOARD-STORE"})),storage={getItem:async t=>await get(t)||null,setItem:async(t,e)=>{await set(t,e)},removeItem:async t=>{await del(t)}},initId=v4(),BOARD_VERSION="1.3.1",useFileStore=create()(persist((t,e)=>({currentId:initId,files:[{id:initId,title:"paint-board",boardVersion:BOARD_VERSION,boardData:{},zoom:1,canvasWidth:.45,canvasHeight:.85}],updateCurrentFile(a){const r=e().currentId;a!==r&&t({currentId:a})},updateTitle(a,r){var n;const s=e().files,o=s==null?void 0:s.findIndex(i=>i.id===r);((n=s==null?void 0:s[o])==null?void 0:n.title)!==a&&t(produce(i=>{i.files[o].title=a}))},updateBoardData(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);t(produce(o=>{o.files[s].boardVersion=BOARD_VERSION,o.files[s].boardData=a}))},updateZoom(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);s>-1&&t(produce(o=>{o.files[s].zoom=a}))},updateTransform(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);s>-1&&t(produce(o=>{o.files[s].viewportTransform=a}))},updateCanvasWidth(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);s>-1&&t(produce(o=>{o.files[s].canvasWidth=a}))},updateCanvasHeight(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);s>-1&&t(produce(o=>{o.files[s].canvasHeight=a}))},addFile(){const a=v4();t(produce(r=>{r.files.unshift({id:a,title:"empty title",boardVersion:BOARD_VERSION,boardData:{},zoom:1,canvasWidth:useBoardStore.getState().canvasWidth,canvasHeight:useBoardStore.getState().canvasHeight})}))},deleteFile(){const a=e().files;if(a.length>1){const r=a==null?void 0:a.findIndex(s=>s.id===e().currentId);t(produce(s=>{s.files.splice(r,1),s.currentId=s.files[0].id}))}},saveJSON(){var r;const a=(r=e().files)==null?void 0:r.find(s=>s.id===e().currentId);if(a){const s=JSON.stringify(a),o=new Blob([s],{type:"application/json"}),n=document.createElement("a");n.href=URL.createObjectURL(o),n.download="paint-board.json",n.click(),URL.revokeObjectURL(n.href)}},uploadFile(a){return new Promise(r=>{if(a){const s=new FileReader;s.onload=o=>{var c;const n=(c=o.target)==null?void 0:c.result;let i=!1;if(n){const d=JSON.parse(n);if((d==null?void 0:d.boardData)&&(d==null?void 0:d.title)){const h=v4();t(produce(p=>{p.files.unshift({id:h,title:d==null?void 0:d.title,boardVersion:(d==null?void 0:d.boardVersion)||BOARD_VERSION,boardData:d==null?void 0:d.boardData,canvasWidth:(d==null?void 0:d.canvasWidth)||1,canvasHeight:(d==null?void 0:d.canvasHeight)||1}),p.currentId=p.files[0].id})),i=!0}}r(i)},s.onerror=o=>{console.log("reader fail",o),r(!1)},s.readAsText(a)}else r(!1)})}}),{name:"PAINT-BOARD-FILES",storage:createJSONStorage(()=>storage)}));function getObjectSizeWithStroke$1(t){const e=new fabric.fabric.Point(t.strokeUniform?1/t.scaleX:1,t.strokeUniform?1/t.scaleY:1).multiply(t.strokeWidth);return new fabric.fabric.Point(t.width+e.x,t.height+e.y)}const polygonPositionHandler=function(t,e,a){var n;const r=a.points,s=r[this.pointIndex].x-a.pathOffset.x,o=r[this.pointIndex].y-a.pathOffset.y;return fabric.fabric.util.transformPoint({x:s,y:o},fabric.fabric.util.multiplyTransformMatrices((n=a.canvas)==null?void 0:n.viewportTransform,a.calcTransformMatrix()))},actionHandler$1=function(t,e,a,r){const s=e.target,o=s.controls[s.__corner],n=s.toLocalPoint(new fabric.fabric.Point(a,r),"center","center"),i=getObjectSizeWithStroke$1(s),c=s._getTransformedDimensions(0,0),d={x:n.x*i.x/c.x+s.pathOffset.x,y:n.y*i.y/c.y+s.pathOffset.y},h=s.points;return h[o.pointIndex]=d,!0};function anchorWrapper$1(t,e){return function(a,r,s,o){const n=r.target,i=n.points,c=fabric.fabric.util.transformPoint({x:i[t].x-n.pathOffset.x,y:i[t].y-n.pathOffset.y},n.calcTransformMatrix()),d=e(a,r,s,o);n._setPositionDimensions({});const h=getObjectSizeWithStroke$1(n),p=(i[t].x-n.pathOffset.x)/h.x,f=(i[t].y-n.pathOffset.y)/h.y;return n.setPositionByOrigin(c,p+.5,f+.5),d}}function calculateArrowSlidePath(t,e,a,r,s){const o=Math.atan2(s-a,r-e),n=10,i=r-n*Math.cos(o-Math.PI/6),c=s-n*Math.sin(o-Math.PI/6),d=r-n*Math.cos(o+Math.PI/6),h=s-n*Math.sin(o+Math.PI/6);return t[t.length-4][1]=r,t[t.length-4][2]=s,t[t.length-3][1]=i,t[t.length-3][2]=c,t[t.length-2][1]=r,t[t.length-2][2]=s,t[t.length-1][1]=d,t[t.length-1][2]=h,t}function getObjectSizeWithStroke(t){const e=new fabric.fabric.Point(t.strokeUniform?1/t.scaleX:1,t.strokeUniform?1/t.scaleY:1).multiply(t.strokeWidth);return new fabric.fabric.Point(t.width+e.x,t.height+e.y)}const pathPositionHandler=function(t,e,a){var n;const r=a.path,s=r[this.pointIndex][1]-a.pathOffset.x,o=r[this.pointIndex][2]-a.pathOffset.y;return fabric.fabric.util.transformPoint({x:s,y:o},fabric.fabric.util.multiplyTransformMatrices((n=a.canvas)==null?void 0:n.viewportTransform,a.calcTransformMatrix()))},actionHandler=function(t,e,a,r){const s=e.target,o=s.controls[s.__corner],n=s.toLocalPoint(new fabric.fabric.Point(a,r),"center","center"),i=getObjectSizeWithStroke(s),c=s._getTransformedDimensions(0,0),d={x:n.x*i.x/c.x+s.pathOffset.x,y:n.y*i.y/c.y+s.pathOffset.y},h=s.path;if(h[o.pointIndex][1]=d.x,h[o.pointIndex][2]=d.y,o.pointIndex===(h==null?void 0:h.length)-5||o.pointIndex===(h==null?void 0:h.length)-6){const p=h[h.length-6],f=h[h.length-5],u=calculateArrowSlidePath(h,p[1],p[2],f[1],f[2]);s._setPath(u)}return!0};function anchorWrapper(t,e){return function(a,r,s,o){const n=r.target,i=n.path,c=fabric.fabric.util.transformPoint({x:i[t][1]-n.pathOffset.x,y:i[t][2]-n.pathOffset.y},n.calcTransformMatrix()),d=e(a,r,s,o);n._setPath(n.path);const h=getObjectSizeWithStroke(n),p=(i[t][1]-n.pathOffset.x)/h.x,f=(i[t][2]-n.pathOffset.y)/h.y;return n.setPositionByOrigin(c,p+.5,f+.5),d}}const getCanvasJSON=()=>{var e;const t=paintBoard==null?void 0:paintBoard.canvas;return t?(e=t.toDatalessJSON(["id","_customType","perPixelTargetFind","objectCaching"]))!=null?e:{}:{}},handleCanvasJSONLoaded=t=>{t.getObjects().forEach(e=>{if(e._customType===ELEMENT_CUSTOM_TYPE.SHAPE_LINE){const a=e.points,r=a.length-1;e.controls=a.reduce(function(s,o,n){return s["p"+n]=new fabric.fabric.Control({positionHandler:polygonPositionHandler,actionHandler:anchorWrapper$1(n>0?n-1:r,actionHandler$1),actionName:"polylineEndPoint",pointIndex:n}),s},{})}if(e._customType===ELEMENT_CUSTOM_TYPE.SHAPE_ARROW_LINE){const a=e.path;e.controls=a.slice(0,a.length-4).reduce(function(r,s,o){return r["p"+o]=new fabric.fabric.Control({positionHandler:pathPositionHandler,actionHandler:anchorWrapper(o>0?o-1:a.length-5,actionHandler),actionName:"pathEndPoint",pointIndex:o}),r},{})}})},initState={};class History{constructor(){l(this,"diffs",[]);l(this,"canvasData",{});l(this,"index",0);var a;if(paintBoard.canvas){const r=getCanvasJSON();this.canvasData={...lodash.exports.omit(r,"objects"),objects:lodash.exports.cloneDeep((a=r==null?void 0:r.objects)!=null?a:[])}}}saveState(){var a;if(paintBoard==null?void 0:paintBoard.canvas){this.diffs=this.diffs.slice(0,this.index);const r=getCanvasJSON(),s=diff(r,this.canvasData);this.diffs.push(s),this.diffs.length>50?this.diffs.shift():this.index++,this.canvasData={...lodash.exports.omit(r,"objects"),objects:lodash.exports.cloneDeep((a=r==null?void 0:r.objects)!=null?a:[])},useFileStore.getState().updateBoardData(r)}}undo(){const e=paintBoard==null?void 0:paintBoard.canvas;if(e&&this.index>0){const a=this.diffs[this.index-1];this.index--;const r=patch(this.canvasData,a);if(e.loadFromJSON(r,()=>{var s;handleCanvasJSONLoaded(e),e.requestRenderAll(),useFileStore.getState().updateBoardData(r),this.canvasData={...lodash.exports.omit(r,"objects"),objects:lodash.exports.cloneDeep((s=r==null?void 0:r.objects)!=null?s:[])},paintBoard.triggerHook()}),Object.keys(r).length==0){const s=paintBoard.canvas;s&&(s.backgroundColor="rgba(255, 255, 255, 1)")}}}redo(){const e=paintBoard==null?void 0:paintBoard.canvas;if(this.index{var s;handleCanvasJSONLoaded(e),e.requestRenderAll(),useFileStore.getState().updateBoardData(r),this.canvasData={...lodash.exports.omit(r,"objects"),objects:lodash.exports.cloneDeep((s=r==null?void 0:r.objects)!=null?s:[])},paintBoard.triggerHook()}),Object.keys(r).length==0){const s=paintBoard.canvas;s&&(s.backgroundColor="rgba(255, 255, 255, 1)")}}console.log("redo",this.diffs.length)}clean(){var a;(a=paintBoard==null?void 0:paintBoard.canvas)==null||a.clear(),this.index=0,this.diffs=[],this.canvasData={},useFileStore.getState().updateBoardData(initState);const e=paintBoard.canvas;e&&(e.backgroundColor="rgba(255, 255, 255, 1)")}initHistory(){if(paintBoard.canvas){const a=getCanvasJSON();this.canvasData=a,this.index=0,this.diffs=[]}}}const ShapeStyle={Line:"line",Rect:"rect",Circle:"cricle",Ellipse:"ellipse",Triangle:"triangle",ArrowLine:"arrowLine",ArrowOutline:"arrowOutline",Cloud:"cloud",Tooltips:"tooltips",Lightning:"lightning",Close:"close",Check:"check",Info:"info",Backspace:"backspace",Block:"block",Speaker:"speaker",Search:"search",InfoOutline:"infoOutline",Heart:"heart",Alert:"alert"},ShapeBorderType={Solid:"solid",Dashed:"dashed",Dotted:"dotted"},ShapeFillType={Transparent:"transparent",Full:"full"},getDrawWidth=t=>{var e,a;return(t!=null?t:useDrawStore.getState().drawWidth)/((a=(e=paintBoard.canvas)==null?void 0:e.getZoom())!=null?a:1)},getEraserWidth=t=>{var e,a;return(t!=null?t:useDrawStore.getState().eraserWidth)/((a=(e=paintBoard.canvas)==null?void 0:e.getZoom())!=null?a:1)},getShadowWidth=t=>{var e,a;return(t!=null?t:useDrawStore.getState().shadowWidth)/((a=(e=paintBoard.canvas)==null?void 0:e.getZoom())!=null?a:1)},setObjectAttr=(t,e)=>{const a=v4();t.set({id:a,_customType:e})},MATERIAL_TYPE={CRAYON:"crayon",CARBON:"carbon",CLOTH:"cloth",OIL:"oil",CRAYON_DARK:"crayonDark"};class Material{constructor(){l(this,"initPromise",null);l(this,"crayonImage",null);l(this,"carbonImage",null);l(this,"clothImage",null);l(this,"oilImage",null);l(this,"crayonDarkImage",null);this.initMaterial()}async initMaterial(){this.initPromise=Promise.all([this.loadImage(MATERIAL_TYPE.CRAYON),this.loadImage(MATERIAL_TYPE.CARBON),this.loadImage(MATERIAL_TYPE.CLOTH),this.loadImage(MATERIAL_TYPE.OIL),this.loadImage(MATERIAL_TYPE.CRAYON_DARK)])}render({materialType:e=useDrawStore.getState().materialType,color:a=useDrawStore.getState().drawColors[0]}){var r;(r=this.initPromise)==null||r.then(()=>{switch(e){case MATERIAL_TYPE.CRAYON:this.renderMaterial(this.crayonImage,a);break;case MATERIAL_TYPE.CARBON:this.renderMaterial(this.carbonImage,a);break;case MATERIAL_TYPE.CLOTH:this.renderMaterial(this.clothImage,a);break;case MATERIAL_TYPE.OIL:this.renderMaterial(this.oilImage,a);break;case MATERIAL_TYPE.CRAYON_DARK:this.renderMaterial(this.crayonDarkImage,a);break}})}renderMaterial(e,a,r=1){if(paintBoard.canvas){const s=new fabric.fabric.PatternBrush(paintBoard.canvas),o=document.createElement("canvas");o.width=o.height=100;const n=o.getContext("2d");n&&(n.fillStyle=a,n.fillRect(0,0,100,100),e&&(n.globalAlpha=r,n.drawImage(e,0,0,100,100))),s.getPatternSrc=()=>o,s.getPatternSrcFunction=()=>o,paintBoard.canvas.freeDrawingBrush=s,paintBoard.canvas.freeDrawingBrush.width=getDrawWidth(),paintBoard.canvas.freeDrawingBrush.shadow=new fabric.fabric.Shadow({blur:getShadowWidth(),offsetX:0,offsetY:0,color:useDrawStore.getState().shadowColor})}}loadImage(e){return new Promise(a=>{const r=new Image;r.src=formatPublicUrl(`pattern/${e}.png`),r.onload=()=>{switch(e){case MATERIAL_TYPE.CARBON:this.carbonImage=r;break;case MATERIAL_TYPE.CRAYON:this.crayonImage=r;break;case MATERIAL_TYPE.CLOTH:this.clothImage=r;break;case MATERIAL_TYPE.OIL:this.oilImage=r;break;case MATERIAL_TYPE.CRAYON_DARK:this.crayonDarkImage=r;break}a(!0)},r.onerror=()=>{a(!1)}})}}const material=new Material,COLOR_WIDTH=5,MultiColorType={COL:"col",ROW:"row",CIRCLE:"circle"},renderMultiColor=t=>{var i,c;const e=paintBoard.canvas;if(!e)return;const a=(i=t==null?void 0:t.colors)!=null?i:useDrawStore.getState().drawColors,r=(c=t==null?void 0:t.type)!=null?c:useDrawStore.getState().multiColorType,s=new fabric.fabric.PatternBrush(e),o=document.createElement("canvas"),n=o.getContext("2d");if(n){switch(r){case MultiColorType.COL:renderCol(o,n,a);break;case MultiColorType.ROW:renderRow(o,n,a);break;case MultiColorType.CIRCLE:renderCircle(o,n,a);break}s.getPatternSrc=()=>o,s.getPatternSrcFunction=()=>o,e.isDrawingMode=!0,e.freeDrawingBrush=s,e.freeDrawingBrush.width=getDrawWidth(),e.freeDrawingBrush.shadow=new fabric.fabric.Shadow({blur:getShadowWidth(),offsetX:0,offsetY:0,color:useDrawStore.getState().shadowColor})}};function renderCol(t,e,a){t.width=COLOR_WIDTH*a.length,t.height=20,a.forEach((r,s)=>{e.fillStyle=r,e.fillRect(COLOR_WIDTH*s,0,COLOR_WIDTH,20)})}function renderRow(t,e,a){t.width=20,t.height=COLOR_WIDTH*a.length,a.forEach((r,s)=>{e.fillStyle=r,e.fillRect(0,COLOR_WIDTH*s,20,COLOR_WIDTH)})}function renderCircle(t,e,a){const o=a.length,n=2*5+o*10*2+(o-1)*5;t.width=n,t.height=10*2+2*5;let i=5+10;const c=5+10;for(let d=0;d({drawWidth:10,drawColors:["#000000"],shadowWidth:0,shadowColor:"#000000",drawTextValue:"draw",drawStyle:DrawStyle.Basic,drawShapeCount:2,materialType:MATERIAL_TYPE.CRAYON,drawShape:DrawShape.Bubble,eraserWidth:20,multiColorType:MultiColorType.COL,textFontFamily:"Georgia",openAutoDraw:!1,fontStyles:[],updateDrawWidth(a){e().drawWidth!==a&&paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.width=getDrawWidth(a),t({drawWidth:a}))},updateDrawColors:a=>{t(r=>{switch(r.drawStyle){case DrawStyle.Basic:paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.color=a[0]);break;case DrawStyle.Material:r.drawColors[0]!==a[0]&&material.render({});break;case DrawStyle.MultiColor:renderMultiColor({colors:a});break}return{drawColors:a}})},updateShadowWidth:a=>{t(()=>(paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.shadow.blur=getShadowWidth(a)),{shadowWidth:a}))},updateShadowColor:a=>{t(()=>(paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.shadow.color=a),{shadowColor:a}))},updateDrawShape:a=>t({drawShape:a}),updateDrawStyle:a=>{t({drawStyle:a}),paintBoard.handleDrawStyle()},updateDrawShapeCount:a=>t({drawShapeCount:a}),updateDrawTextValue:a=>t({drawTextValue:a}),updateMaterialType(a){t(r=>(r.materialType!==a&&material.render({materialType:a}),{materialType:a}))},updateEraserWidth(a){t(r=>(r.drawWidth!==a&&paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.width=getEraserWidth(a)),{eraserWidth:a}))},updateMultiColorType(a){t(r=>(r.multiColorType!==a&&renderMultiColor({type:a}),{multiColorType:a}))},updateTextFontFamily(a){t({textFontFamily:a})},updateAutoDrawState(){const a=!e().openAutoDraw;t({openAutoDraw:a})},updateFontStyles(a){const r=[...e().fontStyles],s=r.findIndex(o=>o===a);s!==-1?r.splice(s,1):r.push(a),t({fontStyles:r})}}));class AutoDrawData{constructor(){l(this,"inks",[]);l(this,"paths",[]);l(this,"oldSVG",null);l(this,"curLeft",0);l(this,"curTop",0);l(this,"curSize",0)}addPath(e){this.paths.push(e)}clearPath(){this.paths=[]}addInk(e){this.inks.push(e)}clearInks(){this.inks=[]}resetLoadedSVG(){this.oldSVG=null,this.curLeft=0,this.curTop=0,this.curSize=0}clearDraw(){this.clearPath(),this.clearInks()}replaceSVGImg(e){var a;if(this.oldSVG&&paintBoard.canvas){paintBoard.canvas.remove(this.oldSVG),fabric.fabric.loadSVGFromURL(e,(r,s)=>{var i;const o=useDrawStore.getState().drawColors[0];r.forEach(c=>{c.set({fill:"transparent",stroke:o})});const n=fabric.fabric.util.groupSVGElements(r,{...s,minX:0,minY:0,left:this.curLeft,top:this.curTop,scaleX:this.curSize/s.width,scaleY:this.curSize/s.height,perPixelTargetFind:!0});this.oldSVG=n,(i=paintBoard.canvas)==null||i.add(n),paintBoard.render()});return}if(e&&((a=this.paths)==null?void 0:a.length)&&paintBoard.canvas){let r=Number.MAX_SAFE_INTEGER,s=Number.MAX_SAFE_INTEGER,o=0;this.paths.forEach(n=>{const{bl:i={x:0,y:0},tl:c={x:0,y:0},tr:d={x:0,y:0}}=(n==null?void 0:n.lineCoords)||{};r=Math.min(r,(n==null?void 0:n.left)||Number.MAX_SAFE_INTEGER),s=Math.min(s,(n==null?void 0:n.top)||Number.MAX_SAFE_INTEGER),o=Math.max(o,Math.abs(c.x-d.x),Math.abs(c.y-i.y))}),fabric.fabric.loadSVGFromURL(e,(n,i)=>{var h;const c=useDrawStore.getState().drawColors[0];n.forEach(p=>{p.set({fill:"transparent",stroke:c})});const d=fabric.fabric.util.groupSVGElements(n,{...i,minX:0,minY:0,left:r,top:s,scaleX:o/i.width,scaleY:o/i.height,perPixelTargetFind:!0});this.oldSVG=d,this.curLeft=r,this.curTop=s,this.curSize=o,(h=paintBoard.canvas)==null||h.add(d),paintBoard.render(),this.clearDraw()})}}}const autoDrawData=new AutoDrawData;class ReticulateElement{constructor(){l(this,"lastTime",0);l(this,"points",[]);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.RETICULATE)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);this.points.push(r),!(this.points.length<2)&&(this.group.addWithUpdate(drawReticulate(this.points)),(s=paintBoard.canvas)==null||s.requestRenderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawReticulate(t){var o,n,i,c;const e=useDrawStore.getState().drawColors[0],a=Math.ceil(useDrawStore.getState().drawWidth/3/((n=(o=paintBoard.canvas)==null?void 0:o.getZoom())!=null?n:1)),r=[];r.push(new fabric.fabric.Line([t[t.length-1].x,t[t.length-1].y,t[t.length-2].x,t[t.length-2].y],{stroke:e,strokeWidth:a}));const s=1e3/((c=(i=paintBoard.canvas)==null?void 0:i.getZoom())!=null?c:1);for(let d=0;d{const i=getRandomInt(e*.3,e),c=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n];return new fabric.fabric.Circle({left:o.x,top:o.y,radius:i,opacity:Math.random(),fill:c})});return new fabric.fabric.Group(r)}function drawStar(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawItemStar(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawItemStar(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawItemStar(t){const e=getRandomInt(t,t*2)*2,a=e*(9/10),r=a/2,s=e/2,o=Math.PI/5,n=[];for(let c=0;c<10;c++){const d=c%2===0?a/2:a/4,h=r+d*Math.cos(c*o),p=s+d*Math.sin(c*o);n.push({x:h,y:p})}return new fabric.fabric.Polygon(n,{opacity:Math.random()})}function drawLove(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawLoveItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawLoveItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawLoveItem(t){const e=getRandomInt(t*1.5,t*3),a="M20.808,11.079C19.829,16.132,12,20.5,12,20.5s-7.829-4.368-8.808-9.421C2.227,6.1,5.066,3.5,8,3.5a4.444,4.444,0,0,1,4,2,4.444,4.444,0,0,1,4-2C18.934,3.5,21.773,6.1,20.808,11.079Z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawButterfly(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawButterflyItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawButterflyItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawButterflyItem(t){const e=getRandomInt(t*1.5,t*3),a="M214.37 208H70.57c-31 0-57.37 14.9-67.26 45.33C1.57 258.71 0 265.54 0 272c0 48 96 128 144 128 28.95 0 53.24-10.67 75.72-33.14-8.58 11.05-13.81 23.47-15.72 37.28-6.98 49.25 1.73 83.2 27.23 91.48C255.99 503.66 288 512 304 512c48 0 53.35-109.18 26.33-144.39L214.37 208zm29.29-21.28L288.1 49.96C297.68 20.47 320 0 352 0c5.66 0 12.64.62 18.78 2.61 45.65 14.84 92.07 130.86 77.23 176.51-8.94 27.54-26.59 47.34-54.91 61.77 13.15-4.74 26.59-5.88 40.31-3.42 49 8.58 78.59 27.35 78.59 54.16 0 26.04-1.96 59.05-6.91 74.27-14.83 45.65-120.32 17.01-145.46-19.58l-115.97-159.6z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawSnow(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawSnowItem(e);return a.set({left:t.x-e,top:t.y-e,stroke:useDrawStore.getState().drawColors[0],strokeWidth:2}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawSnowItem(e);return c.set({left:o.x,top:o.y,stroke:i,strokeWidth:2}),c});return new fabric.fabric.Group(r)}}function drawSnowItem(t){const e=getRandomInt(t*1.5,t*3),a="M11.9994 3V7M11.9994 7V17M11.9994 7L8.99943 4M11.9994 7L14.9994 4M11.9994 17V21M11.9994 17L8.99943 20M11.9994 17L14.9994 20M4.20624 7.49999L7.67034 9.49999M7.67034 9.49999L16.3306 14.5M7.67034 9.49999L3.57227 10.5981M7.67034 9.49999L6.57227 5.40191M16.3306 14.5L19.7947 16.5M16.3306 14.5L17.4287 18.5981M16.3306 14.5L20.4287 13.4019M4.2067 16.5L7.6708 14.5M7.6708 14.5L16.3311 9.49999M7.6708 14.5L3.57273 13.4019M7.6708 14.5L6.57273 18.5981M16.3311 9.49999L19.7952 7.49999M16.3311 9.49999L17.4291 5.40192M16.3311 9.49999L20.4291 10.5981",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawMusic(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawMusicItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawMusicItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawMusicItem(t){const e=getRandomInt(t*1.5,t*3),a="M10.0909 11.9629L19.3636 8.63087V14.1707C18.8126 13.8538 18.1574 13.67 17.4545 13.67C15.4964 13.67 13.9091 15.096 13.9091 16.855C13.9091 18.614 15.4964 20.04 17.4545 20.04C19.4126 20.04 21 18.614 21 16.855C21 16.855 21 16.8551 21 16.855L21 7.49236C21 6.37238 21 5.4331 20.9123 4.68472C20.8999 4.57895 20.8852 4.4738 20.869 4.37569C20.7845 3.86441 20.6352 3.38745 20.347 2.98917C20.2028 2.79002 20.024 2.61055 19.8012 2.45628C19.7594 2.42736 19.716 2.39932 19.6711 2.3722L19.6621 2.36679C18.8906 1.90553 18.0233 1.93852 17.1298 2.14305C16.2657 2.34086 15.1944 2.74368 13.8808 3.23763L11.5963 4.09656C10.9806 4.32806 10.4589 4.52419 10.0494 4.72734C9.61376 4.94348 9.23849 5.1984 8.95707 5.57828C8.67564 5.95817 8.55876 6.36756 8.50501 6.81203C8.4545 7.22978 8.45452 7.7378 8.45455 8.33743V16.1307C7.90347 15.8138 7.24835 15.63 6.54545 15.63C4.58735 15.63 3 17.056 3 18.815C3 20.574 4.58735 22 6.54545 22C8.50355 22 10.0909 20.574 10.0909 18.815C10.0909 18.815 10.0909 18.8151 10.0909 18.815L10.0909 11.9629Z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawSun(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawSunItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawSunItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawSunItem(t){const e=getRandomInt(t*1.5,t*3),a="M23.395 14.106c2.958-1.383 2.828-6.068 5.758-5.884-4.125-2.74-4.019 3.106-9.089 1.235 1.107-3.068-2.292-6.286-0.091-8.227-4.855 0.979-0.645 5.039-5.555 7.301-1.384-2.958-6.068-2.828-5.884-5.758-2.74 4.125 3.106 4.019 1.235 9.089-3.068-1.107-6.286 2.292-8.227 0.091 0.979 4.855 5.039 0.645 7.301 5.555-2.958 1.384-2.828 6.068-5.758 5.884 4.125 2.74 4.019-3.106 9.089-1.235-1.107 3.068 2.292 6.286 0.091 8.227 4.855-0.979 0.645-5.039 5.555-7.301 1.384 2.958 6.068 2.828 5.884 5.758 2.74-4.125-3.106-4.019-1.235-9.089 3.068 1.107 6.286-2.292 8.226-0.091-0.979-4.855-5.039-0.645-7.301-5.555z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawMoon(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawMoonItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawMoonItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawMoonItem(t){const e=getRandomInt(t*1.5,t*3),a="M8.23129 2.24048C9.24338 1.78695 10.1202 2.81145 9.80357 3.70098C8.72924 6.71928 9.38932 10.1474 11.6193 12.3765C13.8606 14.617 17.3114 15.2755 20.3395 14.1819C21.2206 13.8637 22.2173 14.7319 21.7817 15.7199C21.7688 15.7491 21.7558 15.7782 21.7427 15.8074C20.9674 17.5266 19.7272 19.1434 18.1227 20.2274C16.4125 21.3828 14.3957 22.0001 12.3316 22.0001H12.3306C9.93035 21.9975 7.6057 21.1603 5.75517 19.6321C3.90463 18.1039 2.64345 15.9797 2.18793 13.6237C1.73241 11.2677 2.11094 8.82672 3.2586 6.71917C4.34658 4.72121 6.17608 3.16858 8.20153 2.25386L8.23129 2.24048Z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawLeaf(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawLeafItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawLeafItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawLeafItem(t){const e=getRandomInt(t*1.5,t*3),a="M15.362,9.69c0,0-0.75,1.108-1.068,0c-0.318-1.109-1.346-4.949-1.762-5.226 c-0.417-0.278-0.417-0.278-0.417-0.278s-0.078,1.506-0.594,1.307c-0.515-0.198-4.313-2.217-4.63-2.652L6.574,2.444 c0,0,0.355,3.328-0.515,2.615c0,0,1.113,2.771-2.573,3.048c0,0,1.186,3.087,4.552,4.75c0,0,1.148,1.783-0.949,1.503 c0,0-2.932-0.395-3.325-0.752c0,0-1.548,3.01-3.764,3.128c0,0,2.656,1.504,2.337,4.156c0,0,5.107,0.041,4.911,0.832 c-0.2,0.795-0.555,1.601-0.555,1.601s4.71-0.929,5.422-2.194c0,0,0.989,0.99,1.071,1.939c0,0,2.693-0.594,2.452-2.296 c0,0,1.269,0.948,1.427,2.551l0.554-0.375c0,0-0.319-1.661-1.464-2.967c0,0-0.517-1.308,0.789-0.633c0,0,3.085,1.029,5.7-0.833 c0,0-2.888-0.948-3.006-1.978c0,0,5.394-3.326,5.625-5.542c0,0-1.944,0.198-2.972-0.633c0,0-1.309-0.396,0.394-4.791 c0,0-1.227,0.724-1.62-3.636c0,0-3.051,4.665-4.518,3.082C16.548,5.018,15.165,8.066,15.362,9.69z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawFlower(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawFlowerItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawFlowerItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawFlowerItem(t){const e=getRandomInt(t*1.5,t*3),a="M512,224.438c0-63.766-51.703-115.469-115.484-115.469c-8.781,0-17.328,1-25.531,2.859 C365.656,52.984,316.219,6.875,256,6.875c-60.234,0-109.672,46.109-114.984,104.953c-8.219-1.859-16.766-2.859-25.531-2.859 C51.703,108.969,0,160.672,0,224.438c0,47.594,28.797,88.469,69.906,106.141c-10.297,17.281-16.234,37.484-16.234,59.063 c0,63.766,51.703,115.484,115.484,115.484c34.625,0,65.672-15.266,86.844-39.406c21.156,24.141,52.219,39.406,86.844,39.406 c63.781,0,115.484-51.719,115.484-115.484c0-21.578-5.938-41.781-16.25-59.063C483.203,312.906,512,272.031,512,224.438z M256,372.531c-53.563,0-97-43.406-97-97c0-53.563,43.438-96.984,97-96.984s96.984,43.422,96.984,96.984 C352.984,329.125,309.563,372.531,256,372.531z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}class ShapeElement{constructor(){l(this,"lastTime",0);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.SHAPE)}addPosition(e){var n,i,c;const a=Date.now();if(a-this.lastTime<30||!e)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y),s=useDrawStore.getState().drawWidth/((i=(n=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:n.getZoom())!=null?i:1);let o=null;switch(useDrawStore.getState().drawShape){case DrawShape.Bubble:o=drawBubble(r,s);break;case DrawShape.Star:o=drawStar(r,s);break;case DrawShape.Love:o=drawLove(r,s);break;case DrawShape.Butterfly:o=drawButterfly(r,s);break;case DrawShape.Snow:o=drawSnow(r,s);break;case DrawShape.Music:o=drawMusic(r,s);break;case DrawShape.Sun:o=drawSun(r,s);break;case DrawShape.Moon:o=drawMoon(r,s);break;case DrawShape.Leaf:o=drawLeaf(r,s);break;case DrawShape.Flower:o=drawFlower(r,s);break}o&&(this.group.addWithUpdate(o),(c=paintBoard.canvas)==null||c.requestRenderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}class PixelsElement{constructor(){l(this,"lastTime",0);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.PIXELS)}addPosition(e){var s;const a=Date.now();if(a-this.lastTime<30||!e)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);this.group.addWithUpdate(drawPixels(r.x,r.y)),(s=paintBoard.canvas)==null||s.requestRenderAll()}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawPixels(t,e){var o,n,i,c,d,h;const a=[],r=Number((useDrawStore.getState().drawWidth/((n=(o=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:o.getZoom())!=null?n:1)).toFixed(2)),s=Number((useDrawStore.getState().drawWidth/3/((c=(i=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:i.getZoom())!=null?c:1)).toFixed(2));for(let p=-r;p.5){const u=(h=(d=useDrawStore.getState().drawColors)==null?void 0:d[getRandomInt(0,useDrawStore.getState().drawColors.length-1)])!=null?h:useDrawStore.getState().drawColors[0],m=new fabric.fabric.Rect({left:t+p,top:e+f,width:s,height:s,fill:u});a.push(m)}return new fabric.fabric.Group(a)}const minFontSize=3;class DrawTextElement{constructor(){l(this,"lastTime",0);l(this,"points",[]);l(this,"group");l(this,"counter",0);l(this,"position",{x:0,y:window.innerHeight/2});var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.DRAW_TEXT)}addPosition(e){var s;if(!e)return;const a=new fabric.fabric.Point(e.x,e.y);if(this.points.push(a),this.points.length<2){this.position={x:a.x,y:a.y};return}const r=Date.now();r-this.lastTime<30||(this.lastTime=r,this.group.addWithUpdate(drawText(this)),(s=paintBoard.canvas)==null||s.requestRenderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawText(t){const e=t.points,a=e[e.length-1],r=getDistance(t.position,a),s=minFontSize+r/2,o=useDrawStore.getState().drawTextValue[t.counter%useDrawStore.getState().drawTextValue.length],n=textWidth(o,s);if(n&&r>n){const i=Math.atan2(a.y-t.position.y,a.x-t.position.x),c=new fabric.fabric.Text(o,{fontSize:s,top:t.position.y,left:t.position.x,fontFamily:useDrawStore.getState().textFontFamily,originX:"left",originY:"bottom",angle:fabric.fabric.util.radiansToDegrees(i),fill:useDrawStore.getState().drawColors[0]});return t.position={x:t.position.x+Math.cos(i)*n,y:t.position.y+Math.sin(i)*n},t.counter++,t.counter>useDrawStore.getState().drawTextValue.length-1&&(t.counter=0),c}}function textWidth(t,e){return new fabric.fabric.Text(t,{fontSize:e,fontFamily:useDrawStore.getState().textFontFamily}).width}class MultiLineElement{constructor(){l(this,"lastTime",0);l(this,"points",[]);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.MULTI_LINE)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);this.points.push(r),!(this.points.length<2)&&(this.group.addWithUpdate(drawMultiLine(this.points)),(s=paintBoard.canvas)==null||s.renderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawMultiLine(t){var s,o;const e=useDrawStore.getState().drawColors[0],a=Math.ceil(useDrawStore.getState().drawWidth/3/((o=(s=paintBoard.canvas)==null?void 0:s.getZoom())!=null?o:1)),r=[];if(r.push(new fabric.fabric.Line([t[t.length-1].x,t[t.length-1].y,t[t.length-2].x,t[t.length-2].y],{stroke:e,strokeWidth:a})),t.length%5===0)for(let n=t.length-5,i=0;n>=0&&i<3;n=n-5,i++)r.push(new fabric.fabric.Line([t[t.length-1].x,t[t.length-1].y,t[n].x,t[n].y],{stroke:e,strokeWidth:a/3}));return new fabric.fabric.Group(r)}let colorDeg=0;class RainbowElement{constructor(){l(this,"points",[]);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.RAINBOW)}addPosition(e){var r;if(!e)return;const a=new fabric.fabric.Point(e.x,e.y);this.points.push(a),!(this.points.length<2)&&(this.group.addWithUpdate(drawRainbow(this.points)),(r=paintBoard.canvas)==null||r.requestRenderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawRainbow(t){var i,c;const e=Math.ceil(useDrawStore.getState().drawWidth/((c=(i=paintBoard.canvas)==null?void 0:i.getZoom())!=null?c:1));colorDeg=colorDeg<360?colorDeg+1:0;const a=t[t.length-1].x,r=t[t.length-1].y,s=t[t.length-2].x,o=t[t.length-2].y;return new fabric.fabric.Line([s,o,a,r],{stroke:`hsl(${colorDeg}, 90%, 50%)`,strokeWidth:e,originX:"center",originY:"center"})}class ThornElement{constructor(){l(this,"lastTime",0);l(this,"lastPoint",null);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.THORN)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);if(!this.lastPoint){this.lastPoint=r;return}this.group.addWithUpdate(drawThorn(this,r)),(s=paintBoard.canvas)==null||s.renderAll()}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawThorn(t,e){var i,c;const a=t.lastPoint,r=getDistance(a,e),s=fabric.fabric.util.radiansToDegrees(Math.atan2(e.y-a.y,e.x-a.x)),o=3/((c=(i=paintBoard.canvas)==null?void 0:i.getZoom())!=null?c:1),n=new fabric.fabric.Ellipse({left:e.x,top:e.y,originX:"center",originY:"center",fill:useDrawStore.getState().drawColors[0],opacity:Math.random(),rx:r*5+o,ry:o});return n.rotate(s),t.lastPoint=e,n}class MultiPointElement{constructor(){l(this,"lastTime",0);l(this,"lastCoordinates",[]);l(this,"points",[]);l(this,"group");l(this,"shadow");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,this.shadow=new fabric.fabric.Shadow({blur:3,offsetX:0,offsetY:0,color:useDrawStore.getState().drawColors[0]}),setObjectAttr(e,ELEMENT_CUSTOM_TYPE.MULTI_POINT)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);this.points.push(r),!(this.points.length<2)&&(this.group.addWithUpdate(drawMultiPoint(this)),(s=paintBoard.canvas)==null||s.renderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawMultiPoint(t){var f,u;const{points:e,lastCoordinates:a}=t,r=(u=(f=paintBoard.canvas)==null?void 0:f.getZoom())!=null?u:1,s=Math.ceil(useDrawStore.getState().drawWidth*3/r),o=6/r,n=2/r,i=e[e.length-1].x,c=e[e.length-1].y,d=[],h=generateRandomCoordinates(i,c,s,useDrawStore.getState().drawShapeCount),p=h.map(m=>new fabric.fabric.Circle({left:m.x,top:m.y,radius:o,fill:useDrawStore.getState().drawColors[0]}));if(d.push(...p),a!=null&&a.length){const m=a.map((w,g)=>new fabric.fabric.Line([w.x+o,w.y+o,h[g].x+o,h[g].y+o],{stroke:useDrawStore.getState().drawColors[0],strokeWidth:n}));d.push(...m)}return t.lastCoordinates=h,new fabric.fabric.Group(d)}class WiggleElement{constructor(){l(this,"lastTime",0);l(this,"flip",1);l(this,"lastPoint",null);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.WIGGLE)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);if(!this.lastPoint){this.lastPoint=r;return}this.group.addWithUpdate(drawWiggle(this,r)),(s=paintBoard.canvas)==null||s.renderAll()}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawWiggle(t,e){var h,p;const a=t.lastPoint,r=getDistance(a,e),s=(a.x+e.x)/2,o=(a.y+e.y)/2,n=fabric.fabric.util.radiansToDegrees(Math.atan2(e.y-a.y,e.x-a.x)),i=fabric.fabric.util.radiansToDegrees(t.flip%2*Math.PI),c=3/((p=(h=paintBoard.canvas)==null?void 0:h.getZoom())!=null?p:1),d=new fabric.fabric.Circle({top:o,left:s,originX:"center",originY:"center",radius:r/2,startAngle:n+i,endAngle:n+i+fabric.fabric.util.radiansToDegrees(Math.PI),stroke:useDrawStore.getState().drawColors[0],strokeWidth:c,fill:"",strokeLineJoin:"round",strokeLineCap:"round"});return t.lastPoint=e,t.flip++,d}const useShapeStore=create()(persist((t,e)=>({shapeStyle:ShapeStyle.Rect,borderType:ShapeBorderType.Solid,borderColor:"#000000",borderWidth:3,fillColor:"#FFFFFF",fillType:ShapeFillType.Transparent,shapeLinePointCount:3,updateShapeStyle(a){e().shapeStyle!==a&&t({shapeStyle:a})},updateBorderType(a){e().borderType!==a&&t({borderType:a})},updateBorderColor:a=>{e().borderColor!==a&&t({borderColor:a})},updateBorderWidth:a=>{e().borderWidth!==a&&t({borderWidth:a})},updateFillColor:a=>{e().fillColor!==a&&t({fillColor:a})},updateFillType(a){e().fillType!==a&&t({fillType:a})},updateShapeLinePointCount(a){const r=e().shapeLinePointCount;a!==r&&t({shapeLinePointCount:a})}}),{name:"PAINT-BOARD-SHAPE-STORE"})),getShapeBorderWidth=()=>useShapeStore.getState().borderWidth,getShapeBorder=(t=5)=>{const e=useShapeStore.getState().borderType,a=Math.round(t);switch(e){case ShapeBorderType.Dashed:return[a*3,a*2];case ShapeBorderType.Dotted:return[a,a*3];default:return}},getFillStyle=()=>{const{fillType:t,fillColor:e}=useShapeStore.getState();switch(t){case ShapeFillType.Transparent:return"transparent";case ShapeFillType.Full:return e;default:return}};class RectShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var s;if(!e)return;const a=getShapeBorderWidth(),r=new fabric.fabric.Rect({left:e.x,top:e.y,width:0,height:0,rx:3,ry:3,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(s=paintBoard.canvas)==null||s.add(r),this.shapeInstance=r,this.startX=e.x,this.startY=e.y,setObjectAttr(r,ELEMENT_CUSTOM_TYPE.SHAPE_RECT)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({width:s,height:o,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class CircleShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var s;if(!e)return;const a=getShapeBorderWidth(),r=new fabric.fabric.Circle({left:e.x,top:e.y,radius:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(s=paintBoard.canvas)==null||s.add(r),this.shapeInstance=r,this.startX=e.x,this.startY=e.y,setObjectAttr(r,ELEMENT_CUSTOM_TYPE.SHAPE_CIRCLE)}addPosition(e){var d;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=Math.min(s,o)/2,i=a>this.startX?this.startX:this.startX-n*2,c=r>this.startY?this.startY:this.startY-n*2;this.shapeInstance.set({radius:n,left:i,top:c}),this.shapeInstance.setCoords(),(d=paintBoard.canvas)==null||d.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class LineShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;this.startX=e.x,this.startY=e.y;const a=getShapeBorderWidth(),r=[];for(let n=0;n0?o-1:a,actionHandler$1),actionName:"polylineEndPoint",pointIndex:o}),r},{}),this.shapeInstance._setPositionDimensions({}),this.shapeInstance.setCoords()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class EllipseShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var s;if(!e)return;const a=getShapeBorderWidth(),r=new fabric.fabric.Ellipse({left:e.x,top:e.y,rx:0,ry:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(s=paintBoard.canvas)==null||s.add(r),this.shapeInstance=r,this.startX=e.x,this.startY=e.y,setObjectAttr(r,ELEMENT_CUSTOM_TYPE.SHAPE_ELLIPSE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX)/2,o=Math.abs(r-this.startY)/2,n=a>this.startX?this.startX:this.startX-s*2,i=r>this.startY?this.startY:this.startY-o*2;this.shapeInstance.set({rx:s,ry:o,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class TriangleShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var s;if(!e)return;const a=getShapeBorderWidth(),r=new fabric.fabric.Triangle({left:e.x,top:e.y,width:0,height:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(s=paintBoard.canvas)==null||s.add(r),this.shapeInstance=r,this.startX=e.x,this.startY=e.y,setObjectAttr(r,ELEMENT_CUSTOM_TYPE.SHAPE_TRIANGLE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({width:s,height:o,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class ArrowOutlineShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m446.24196,887.47009l-175.7696,0c-27.01653,-0.68266 -50.176,-10.68373 -69.23946,-29.7472c-16.91307,-16.896 -26.88,-36.62506 -29.61067,-58.58986a99.1744,99.1744 0 0 1 -1.00693,-14.06294c0,-4.3008 0.29013,-8.89173 0.85333,-13.80693l0,-395.79307l-154.45333,0a17.1008,17.1008 0 0 1 -12.06614,-29.1328l341.33334,-341.33333a17.0496,17.0496 0 0 1 24.13226,0l340.3264,340.3264a17.06667,17.06667 0 0 1 -9.8816,30.99307l-153.94133,0l0,410.45333c-0.64853,27.46027 -10.5984,51.11467 -29.52533,70.74133c-19.98507,19.3536 -43.63947,29.2864 -70.74134,29.96907l-0.4096,-0.01707z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_ARROW_OUTLINE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/718,scaleY:o/887,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class CloudShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m853.33333,42.66667a192,192 0 0 1 -192,192l-512,0c-129.6,0 -234.66666,-105.06667 -234.66666,-234.66667c0,-126.03733 99.37066,-228.864 224.02133,-234.432a298.41067,298.41067 0 0 1 245.312,-128.23467c134.10133,0 249.45067,88.96 286.35733,213.54667a192,192 0 0 1 182.976,191.78667z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_CLOUD)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/939,scaleY:o/598,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class TooltipsShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m1020.60467,131.15818c0,-72.31603 -58.84215,-131.15818 -131.18785,-131.15818l-758.24124,0c-72.32933,0 -131.17558,58.84215 -131.17558,131.15818l0,493.79948c0,72.31602 58.84625,131.05994 131.17558,131.05994l125.70907,0l0,193.82749c0,20.83861 12.4127,39.45562 31.62528,47.46299c19.29136,8.0043 41.26994,3.59897 56.02703,-11.15915l230.14873,-230.13236l314.72908,0c72.3457,0 131.18786,-58.74391 131.18786,-131.05994l-0.00001,-493.79845l0.00205,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_TOOLTIPS)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/1020,scaleY:o/1002,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class LightningShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m-329.49334,256l271.25334,66.66667a5.33333,5.33333 0 0 1 4,5.97333l-51.04,335.68a5.33333,5.33333 0 0 0 9.22666,4.32l434.77334,-490.34667a5.33333,5.33333 0 0 0 -2.72,-8.69333l-271.25334,-66.66667a5.33333,5.33333 0 0 1 -4,-5.97333l51.04,-335.62667a5.33333,5.33333 0 0 0 -9.22666,-4.37333l-434.77334,490.34667a5.33333,5.33333 0 0 0 2.72,8.69333z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_LIGHTNING)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/674,scaleY:o/915,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class CloseShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m678.76571,546.23086q0,22.82057 -16.01829,38.83886l-77.67771,77.67771q-16.01829,16.01829 -38.83886,16.01829t-38.83885,-16.01829l-168.00915,-168.00914l-168.00914,168.00914q-16.01829,16.01829 -38.83886,16.01829t-38.83885,-16.01829l-77.67772,-77.67771q-16.01828,-16.01829 -16.01828,-38.83886t16.01828,-38.83886l168.00915,-168.00914l-168.00915,-168.00914q-16.01828,-16.01829 -16.01828,-38.83886t16.01828,-38.83886l77.67772,-77.67771q16.01828,-16.01829 38.83885,-16.01829t38.83886,16.01829l168.00914,168.00914l168.00915,-168.00914q16.01828,-16.01829 38.83885,-16.01829t38.83886,16.01829l77.67771,77.67771q16.01829,16.01829 16.01829,38.83886t-16.01829,38.83886l-168.00914,168.00914l168.00914,168.00914q16.01829,16.01829 16.01829,38.83886z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_CLOSE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/679,scaleY:o/679,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class CheckShap{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m855.08247,17.19428c-43.5,-30.3 -104,-19.5 -134.6,24.1l-425.8,606l-127,-135.7c-36.4,-38.9 -98.1,-41.1 -137,-4.8c-39,36.2 -41.1,97.7 -4.7,136.6l206.5,220.7c4.7,5 9.8,9.4 15.1,13.1c0.7,0.5 1.4,1 2.2,1.5c43.5,30.3 104,19.5 134.6,-24.1l494,-703.2c30.7,-43.5 20.1,-103.9 -23.3,-134.2z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_CHECK)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/896,scaleY:o/896,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class InfoShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m512,1024c282.771,0 512,-229.23 512,-512s-229.23,-512 -512,-512s-512,229.23 -512,512s229.23,512 512,512zm-80,-768c0,-44.183 35.817,-80 80,-80s80,35.817 80,80l0,31.999c0,44.183 -35.817,80 -80,80s-80,-35.817 -80,-80l0,-31.999zm-0.001,256c0,-44.183 35.817,-80 80,-80s80,35.817 80,80l0,256c0,44.183 -35.817,80 -80,80s-80,-35.817 -80,-80l0,-256z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_INFO)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/1024,scaleY:o/1024,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class BackspaceShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m714.52777,0a138.66667,138.66667 0 0 1 138.45333,130.816l0.21334,7.85066l0,405.33334a138.66667,138.66667 0 0 1 -130.816,138.45333l-7.85067,0.21333l-362.70933,0a138.66667,138.66667 0 0 1 -88.96,-32.256l-6.61334,-5.93066l-213.16266,-202.66667a138.66667,138.66667 0 0 1 -4.90667,-196.01067l4.90667,-4.94933l213.16266,-202.66667a138.66667,138.66667 0 0 1 86.69867,-37.888l8.87467,-0.29866l362.66666,0l0.04267,0zm0,64l-362.70933,0a74.66667,74.66667 0 0 0 -46.08,15.872l-5.376,4.69333l-213.16267,202.66667l-2.64533,2.64533a74.66667,74.66667 0 0 0 -2.34667,100.352l4.992,5.20533l213.16267,202.66667c12.11733,11.52 27.73333,18.64533 44.288,20.224l7.168,0.34133l362.66666,0a74.66667,74.66667 0 0 0 74.45334,-68.56533l0.256,-6.10133l0,-405.33334a74.66667,74.66667 0 0 0 -68.56534,-74.41066l-6.10133,-0.256zm-311.63733,123.60533l3.584,3.11467l105.38666,105.344l105.38667,-105.38667a32,32 0 0 1 48.34133,41.68533l-3.11466,3.584l-105.38667,105.38667l105.38667,105.38667a32,32 0 0 1 -41.64267,48.34133l-3.584,-3.11467l-105.38667,-105.344l-105.38666,105.38667a32,32 0 0 1 -48.34134,-41.68533l3.072,-3.584l105.42934,-105.38667l-105.38667,-105.38667a32,32 0 0 1 41.68533,-48.34133l-0.04266,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_BACKSPACE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/853,scaleY:o/682,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class BlockShap{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m426.66667,0c235.648,0 426.66667,191.06134 426.66667,426.66667c0,235.69067 -191.01867,426.66667 -426.66667,426.66667c-235.60533,0 -426.66667,-190.976 -426.66667,-426.66667c0,-235.56267 191.06134,-426.66667 426.66667,-426.66667zm0,64a362.66667,362.66667 0 1 0 0,725.33334a362.66667,362.66667 0 0 0 0,-725.33334zm-181.33333,330.66667l362.66666,0a32,32 0 0 1 4.352,63.70133l-4.352,0.29867l-362.66666,0a32,32 0 0 1 -4.352,-63.70133l4.352,-0.29867l362.66666,0l-362.66666,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_BLOCK)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/853,scaleY:o/853,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class SpeakerShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m489.01486,786.432c29.14743,0 50.13943,-21.43086 50.13943,-50.13943l0,-683.57486c0,-28.70857 -20.992,-52.71771 -50.99886,-52.71771c-20.992,0 -34.70628,10.29486 -57.856,30.86629l-201.43543,178.70628c-2.56,2.56 -6.41828,3.85829 -10.69714,3.85829l-127.28686,0c-60.87314,0 -90.88,30.42743 -90.88,95.14057l0,170.58743c0,64.73143 30.00686,95.14057 90.88,95.14057l127.26858,0c4.29714,0 8.15542,1.28 10.71542,3.85828l201.45372,180.40686c20.992,18.87086 37.72343,27.86743 58.71543,27.86743l-0.01829,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_SPEAKER)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/539,scaleY:o/786,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class SearchShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m309.28596,0a309.33333,309.33333 0 0 1 240.21333,504.27734l209.06667,209.06666a32,32 0 0 1 -41.64267,48.384l-3.584,-3.11466l-209.10933,-209.06667a309.33333,309.33333 0 1 1 -194.944,-549.54667zm0,64a245.33333,245.33333 0 1 0 0,490.66667a245.33333,245.33333 0 0 0 0,-490.66667z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_SEARCH)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/768,scaleY:o/768,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class InfoOutlineShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m89.68,0c16.93,12.78 35.09,21 56.38,20.55c2.3,0 4.59,-0.06 6.88,0.07a64.3,64.3 0 0 0 35.55,-7.85c4.37,-2.42 8.6,-2.67 13.2,-1.85a8.08,8.08 0 0 1 5.09,2.86c12,14.42 27.73,20.48 46.19,20.6c8.12,0 16,-0.64 23.46,-4.15a13.82,13.82 0 0 1 5.81,-1c2.25,0 4.13,2.72 3.63,4.92a26.24,26.24 0 0 1 -1.32,3.12c-4.65,12.17 -1.88,23.2 5.92,33c2.17,2.71 6.09,4.07 9.32,5.86c2.49,1.38 5.26,2.26 7.68,3.74a3.54,3.54 0 0 1 0.19,5.87a20.31,20.31 0 0 1 -2.87,1.84c-14.12,7.91 -20.69,21 -23.88,36c-1.13,5.36 0.93,10.75 2.65,15.94a57.2,57.2 0 0 1 2.28,7.35c0.63,3.33 -1.25,5.55 -4.74,5.64a33.64,33.64 0 0 1 -6.76,-0.74c-19,-3.33 -36.39,0.36 -51.73,12.4c-2.24,1.76 -4.26,3.83 -6.44,5.67c-2.93,2.47 -5.43,2.7 -8.59,0.86a15.43,15.43 0 0 1 -2.1,-1.5c-6.69,-5.62 -14.73,-7.23 -23.14,-8c-13.19,-1.23 -25.78,1.36 -37.68,6.62c-6.7,3 -11.49,0.84 -16.33,-3.12c-2.65,-2.18 -5.15,-4.55 -7.64,-6.91a24.73,24.73 0 0 0 -12.93,-6.4c-15.06,-2.69 -30.13,-3.61 -45.11,0.76c-4.93,1.44 -10,2.46 -14.87,4.11s-8.33,-0.65 -11.48,-3.67c-0.87,-0.83 -1,-2.56 -1.19,-3.92c-0.87,-5.65 -1.52,-11.33 -2.46,-17a24.82,24.82 0 0 0 -12.9,-18.3c-4.95,-2.78 -9.12,-7.08 -15.62,-7.77l-4.13,-7.6c3.06,-2.94 5.88,-5.71 8.77,-8.4c10.63,-9.91 14.4,-22.38 13.5,-36.5a10.73,10.73 0 0 0 -2.27,-5.31c-2.75,-3.66 -2.57,-7.3 -0.65,-11.71c6.28,0.84 12.44,1.81 18.63,2.47c10.02,1.06 19.28,-1.55 28.27,-5.63a36.86,36.86 0 0 0 14.36,-11.82c1.8,-2.39 3.17,-5 3.15,-7.8c0,-4.54 2.41,-8.06 4,-11.93c0.24,-0.44 0.94,-0.67 1.92,-1.37z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_INFO_OUTLINE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/309,scaleY:o/172,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class HeartShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m760.384,0.00803c47.808,0 91.968,11.968 132.352,35.84a264.32,264.32 0 0 1 95.872,97.152a263.68,263.68 0 0 1 35.392,133.888c0,34.752 -6.592,68.544 -19.712,101.312a262.4,262.4 0 0 1 -57.536,87.424l-434.752,440.384l-434.752,-440.32a268.8,268.8 0 0 1 -77.248,-188.8c0,-48.384 11.776,-93.056 35.392,-133.952a264.32,264.32 0 0 1 95.808,-97.088a255.296,255.296 0 0 1 132.48,-35.84a260.736,260.736 0 0 1 186.24,78.208l62.08,62.912l62.144,-62.912a258.944,258.944 0 0 1 86.336,-58.24a259.584,259.584 0 0 1 100.032,-19.968l-0.128,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_HEART)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/1024,scaleY:o/896,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class AlertShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="M 300 0 C 204.92302 0 120 65.17035 120 155 A 40 40 0 0 0 120.72852 160.5332 A 40 40 0 0 0 119.83984 165 C 119.83984 285.43738 70.949871 389.48179 19.386719 420.81836 A 40 40 0 0 0 0.33984375 456.98438 A 40 40 0 0 0 0 460 A 40 40 0 0 0 40 500 L 164.75586 500 C 173.8133 535.3936 198.4031 565.81344 231.86914 583.36328 C 274.50045 605.71947 325.49955 605.71947 368.13086 583.36328 C 401.5969 565.81344 426.1867 535.3936 435.24414 500 L 560 500 A 40 40 0 0 0 600 460 A 40 40 0 0 0 599.49023 453.71094 A 40 40 0 0 0 580.45312 415.81836 C 528.88999 384.48179 480 280.43738 480 160 A 40 40 0 0 0 479.78125 156.66016 A 40 40 0 0 0 480 155 C 480 65.17035 395.07698 0 300 0 z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_ALERT)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/600,scaleY:o/600,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class ArrowLineShape{constructor(e){l(this,"shapeLine");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;this.startX=e.x,this.startY=e.y;const a=getShapeBorderWidth();let r=`M ${this.startX} ${this.startY}`;for(let n=0;n0?s-1:e.length-5,actionHandler),actionName:"pathEndPoint",pointIndex:s}),a},{}),this.shapeLine.setCoords()}destroy(){var e;this.shapeLine&&((e=paintBoard.canvas)==null||e.remove(this.shapeLine))}}let updateInkHook=null;class CanvasClickEvent{constructor(){l(this,"isMouseDown",!1);l(this,"isSpaceKeyDown",!1);l(this,"startPoint");l(this,"currentElement",null);l(this,"mouseDownTime",0);l(this,"autoDrawInk",[[],[],[]]);this.initClickEvent()}initClickEvent(){const e=paintBoard.canvas;e==null||e.on("mouse:down",a=>{if(this.isMouseDown=!0,this.isSpaceKeyDown)return;this.startPoint=a.absolutePointer;let r=null;if(useBoardStore.getState().mode===ActionMode.DRAW){if(useBoardStore.getState().drawType===DrawType.Shape)switch(useShapeStore.getState().shapeStyle){case ShapeStyle.Rect:r=new RectShape(a.absolutePointer);break;case ShapeStyle.Circle:r=new CircleShape(a.absolutePointer);break;case ShapeStyle.Line:r=new LineShape(a.absolutePointer);break;case ShapeStyle.Ellipse:r=new EllipseShape(a.absolutePointer);break;case ShapeStyle.Triangle:r=new TriangleShape(a.absolutePointer);break;case ShapeStyle.ArrowLine:r=new ArrowLineShape(a.absolutePointer);break;case ShapeStyle.ArrowOutline:r=new ArrowOutlineShape(a.absolutePointer);break;case ShapeStyle.Cloud:r=new CloudShape(a.absolutePointer);break;case ShapeStyle.Tooltips:r=new TooltipsShape(a.absolutePointer);break;case ShapeStyle.Lightning:r=new LightningShape(a.absolutePointer);break;case ShapeStyle.Close:r=new CloseShape(a.absolutePointer);break;case ShapeStyle.Check:r=new CheckShap(a.absolutePointer);break;case ShapeStyle.Info:r=new InfoShape(a.absolutePointer);break;case ShapeStyle.Backspace:r=new BackspaceShape(a.absolutePointer);break;case ShapeStyle.Block:r=new BlockShap(a.absolutePointer);break;case ShapeStyle.Speaker:r=new SpeakerShape(a.absolutePointer);break;case ShapeStyle.Search:r=new SearchShape(a.absolutePointer);break;case ShapeStyle.InfoOutline:r=new InfoOutlineShape(a.absolutePointer);break;case ShapeStyle.Heart:r=new HeartShape(a.absolutePointer);break;case ShapeStyle.Alert:r=new AlertShape(a.absolutePointer);break}else if(useBoardStore.getState().drawType===DrawType.FreeStyle)switch(useDrawStore.getState().drawStyle){case DrawStyle.Shape:r=new ShapeElement;break;case DrawStyle.Pixels:r=new PixelsElement;break;case DrawStyle.Text:r=new DrawTextElement;break;case DrawStyle.MultiLine:r=new MultiLineElement;break;case DrawStyle.Reticulate:r=new ReticulateElement;break;case DrawStyle.Rainbow:r=new RainbowElement;break;case DrawStyle.Thorn:r=new ThornElement;break;case DrawStyle.MultiPoint:r=new MultiPointElement;break;case DrawStyle.Wiggle:r=new WiggleElement;break;case DrawStyle.Basic:useDrawStore.getState().openAutoDraw&&(autoDrawData.resetLoadedSVG(),this.mouseDownTime=new Date().getTime());break}}this.currentElement=r}),e==null||e.on("mouse:move",a=>{var r,s,o,n,i;if(this.isMouseDown){if(this.isSpaceKeyDown){e.relativePan(new fabric.fabric.Point(a.e.movementX,a.e.movementY));return}if((r=paintBoard.evnet)!=null&&r.touchEvent.isTwoTouch)return;this.mouseDownTime&&((s=a.absolutePointer)==null?void 0:s.x)&&((o=a.absolutePointer)==null?void 0:o.y)&&(this.autoDrawInk[0].push((n=a.absolutePointer)==null?void 0:n.x),this.autoDrawInk[1].push((i=a.absolutePointer)==null?void 0:i.y),this.autoDrawInk[2].push(new Date().getTime()-this.mouseDownTime)),useBoardStore.getState().mode===ActionMode.DRAW&&this.currentElement&&this.currentElement.addPosition(a.absolutePointer)}}),e==null||e.on("mouse:up",a=>{var r,s,o,n;if(this.isMouseDown=!1,updateInkHook==null||updateInkHook(e.toDataURL()),((s=(r=this.autoDrawInk)==null?void 0:r[0])==null?void 0:s.length)>3&&(autoDrawData.addInk([...this.autoDrawInk]),this.autoDrawInk=[[],[],[]],this.mouseDownTime=0),this.currentElement){let i=!1;if(this.startPoint&&a.absolutePointer){const{x:c,y:d}=this.startPoint,{x:h,y:p}=a.absolutePointer;c===h&&d===p&&(this.currentElement.destroy(),i=!0)}i||((this.currentElement instanceof LineShape||this.currentElement instanceof ArrowLineShape)&&((o=this.currentElement)==null||o.mouseUp()),(n=paintBoard.history)==null||n.saveState()),this.currentElement=null}}),e==null||e.on("mouse:dblclick",a=>{var r;if(a!=null&&a.absolutePointer){const{x:s,y:o}=a.absolutePointer;(r=paintBoard.textElement)==null||r.loadText(s,o)}})}setSpaceKeyDownState(e){this.isSpaceKeyDown=e}changeInkHookFn(e){updateInkHook=e}}class ObjectEvent{constructor(){this.initObjectEvent(),this.initTextEvent()}initObjectEvent(){const e=paintBoard==null?void 0:paintBoard.canvas;e==null||e.on("selection:created",()=>{paintBoard.triggerHook()}),e==null||e.on("selection:updated",()=>{paintBoard.triggerHook()}),e==null||e.on("selection:cleared",()=>{paintBoard.triggerHook()}),e==null||e.on("path:created",a=>{var o;const{mode:r,drawType:s}=useBoardStore.getState();if([ActionMode.DRAW,ActionMode.ERASE].includes(r)){if(r===ActionMode.DRAW){const n=v4();a.path.set({id:n,perPixelTargetFind:!0});const{openAutoDraw:i,drawStyle:c}=useDrawStore.getState();i&&s===DrawType.FreeStyle&&c===DrawStyle.Basic&&autoDrawData.addPath(a.path)}(o=paintBoard.history)==null||o.saveState()}}),e==null||e.on("object:modified",a=>{var r,s;if(((r=a.target)==null?void 0:r.type)==="i-text"){const o=a.target;if(o._textBeforeEdit===o.text)return}a.action&&a.target&&((s=paintBoard.history)==null||s.saveState())})}initTextEvent(){const e=paintBoard==null?void 0:paintBoard.canvas;e==null||e.on("text:editing:entered",()=>{paintBoard.textElement.isTextEditing=!0}),e==null||e.on("text:editing:exited",a=>{const r=a==null?void 0:a.target;r&&(paintBoard.textElement.isTextEditing=!1,r!=null&&r._customType||setObjectAttr(r,ELEMENT_CUSTOM_TYPE.I_TEXT),(r==null?void 0:r._textBeforeEdit)!==(r==null?void 0:r.text)&&(e.discardActiveObject(),paintBoard.render()))})}}class CanvasTouchEvent{constructor(){l(this,"isTwoTouch",!1);l(this,"isDragging",!1);l(this,"startDistance",1);l(this,"startX",0);l(this,"startY",0);l(this,"startScale",1);l(this,"lastPan");l(this,"touchStartFn",e=>{e.preventDefault();const a=paintBoard.canvas;if(!a)return;const r=e.touches;if(brushMouseMixin.updateIsDisableDraw(r.length>=2),r.length===2){this.isTwoTouch=!0;const s=r[0],o=r[1];this.startDistance=Math.hypot(o.pageX-s.pageX,o.pageY-s.pageY),this.startX=(s.pageX+o.pageX)/2,this.startY=(s.pageY+o.pageY)/2,this.startScale=a.getZoom()}});l(this,"touchMoveFn",e=>{e.preventDefault()});l(this,"touchEndFn",e=>{this.isDragging=!1,this.isTwoTouch&&e.touches.length===0&&(this.isTwoTouch=!1)});l(this,"saveTransform",lodash.exports.debounce(()=>{var a,r;const e=(a=paintBoard.canvas)==null?void 0:a.viewportTransform;e&&(useFileStore.getState().updateTransform(e),useBoardStore.getState().isObjectCaching||fabric.fabric.Object.prototype.set({objectCaching:!1}),(r=paintBoard.canvas)==null||r.requestRenderAll())},500));this.initTouchEvent()}initTouchEvent(){var a;const e=(a=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:a.upperCanvasEl;e&&(e.addEventListener("touchstart",this.touchStartFn,{passive:!1}),e.addEventListener("touchmove",this.touchMoveFn,{passive:!1}),e.addEventListener("touchend",this.touchEndFn,{passive:!1}))}removeTouchEvent(){var a;const e=(a=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:a.upperCanvasEl;e&&(e.removeEventListener("touchstart",this.touchStartFn),e.removeEventListener("touchmove",this.touchMoveFn),e.removeEventListener("touchend",this.touchEndFn))}}let zoomHook;const MIN_ZOOM=.3,MAX_ZOOM=5;class CanvasZoomEvent{constructor(){l(this,"updateZoomPercentage",lodash.exports.debounce((e=!0,a)=>{var s;const r=this.handleZoomPercentage(e);return useFileStore.getState().updateZoom(a),useBoardStore.getState().isObjectCaching||fabric.fabric.Object.prototype.set({objectCaching:!1}),(s=paintBoard.canvas)==null||s.requestRenderAll(),r},500));this.initWheelEvent()}initWheelEvent(){}initZoom(){const e=paintBoard.canvas;if(e){const a=((e==null?void 0:e.width)||1)/2,r=((e==null?void 0:e.height)||1)/2;e.zoomToPoint(new fabric.fabric.Point(a,r),1),this.updateZoomPercentage(!0,1)}}handleZoomPercentage(e=!0){const a=paintBoard.canvas;let r=1;if(a){const s=a.getZoom();r=Math.round((s-MIN_ZOOM)/(MAX_ZOOM-MIN_ZOOM)*100),handleWidth()}return e&&zoomHook&&(zoomHook==null||zoomHook(r)),r}setZoomHook(e){zoomHook=e}}const handleWidth=()=>{var e;const t=(e=paintBoard.canvas)==null?void 0:e.freeDrawingBrush;if(!!t)switch(useBoardStore.getState().mode){case ActionMode.ERASE:t.width=getEraserWidth();break;case ActionMode.DRAW:[DrawStyle.Basic,DrawStyle.Material,DrawStyle.MultiColor].includes(useDrawStore.getState().drawStyle)&&(t.width=getDrawWidth(),useDrawStore.getState().drawStyle===DrawStyle.Basic&&t.shadow&&(t.shadow.blur=getShadowWidth()));break}};var KeyCode=(t=>(t.SPACE="Space",t.BACKSPACE="Backspace",t))(KeyCode||{});class ImageElement{constructor(){l(this,"image",null)}addImage(e){const a=paintBoard.canvas;!a||fabric.fabric.Image.fromURL(e,r=>{const s=a.getVpCenter(),o=a.getWidth()/2/((r==null?void 0:r.width)||1),n=a.getHeight()/2/((r==null?void 0:r.height)||1),i=Math.min(o,n,1);r.scale(i),r.set({left:s.x-r.getScaledWidth()/2,top:s.y-r.getScaledHeight()/2}),setObjectAttr(r,ELEMENT_CUSTOM_TYPE.IMAGE),a.add(r),paintBoard.render()},{crossOrigin:"anonymous"})}addBackgroundImage(e){const a=paintBoard.canvas;!a||fabric.fabric.Image.fromURL(e,r=>{const s=a.getVpCenter();a.setBackgroundImage(r,a.renderAll.bind(a),{scaleX:s.x*2/r.width,scaleY:s.y*2/r.height})},{crossOrigin:"anonymous"})}addTileImage(e){const a=paintBoard.canvas;!a||fabric.fabric.Image.fromURL(e,r=>{const s=a.getVpCenter();console.log(s),r.scaleToWidth(s.x*2),r.scaleToHeight(s.y*2),r.set({left:0,top:0}),setObjectAttr(r,ELEMENT_CUSTOM_TYPE.IMAGE),a.add(r),paintBoard.render()},{crossOrigin:"anonymous"})}}class WindowEvent{constructor(){this.initWindowEvent()}initWindowEvent(){window.addEventListener("keydown",this.keydownFn),window.addEventListener("keyup",this.keyupFn),window.addEventListener("paste",this.pasteFn),window.addEventListener("resize",this.resizeFn),window.addEventListener("orientationchange",this.resizeFn)}removeWindowEvent(){window.removeEventListener("keydown",this.keydownFn),window.removeEventListener("keyup",this.keyupFn),window.removeEventListener("paste",this.pasteFn),window.removeEventListener("resize",this.resizeFn),window.removeEventListener("orientationchange",this.resizeFn)}keydownFn(e){var r;const a=paintBoard==null?void 0:paintBoard.canvas;switch(e.code){case KeyCode.SPACE:(r=paintBoard==null?void 0:paintBoard.evnet)==null||r.clickEvent.setSpaceKeyDownState(!0),a&&(useBoardStore.getState().isObjectCaching||fabric.fabric.Object.prototype.set({objectCaching:!0}),a.defaultCursor="pointer",a.isDrawingMode=!1,a.selection=!1,fabric.fabric.Object.prototype.set({selectable:!1,hoverCursor:"pointer"}));break;case KeyCode.BACKSPACE:paintBoard.deleteObject();break}}keyupFn(e){var a,r;if(e.code===KeyCode.SPACE){(a=paintBoard.evnet)==null||a.clickEvent.setSpaceKeyDownState(!1),paintBoard.canvas&&(paintBoard.canvas.defaultCursor="default");const s=(r=paintBoard.canvas)==null?void 0:r.viewportTransform;s&&(useFileStore.getState().updateTransform(s),useBoardStore.getState().isObjectCaching||fabric.fabric.Object.prototype.set({objectCaching:!1}),paintBoard.handleMode())}}pasteFn(e){if(e.clipboardData&&e.clipboardData.items){const a=e.clipboardData.items,r=Array.from(a).find(s=>s.kind==="file"&&s.type.indexOf("image")!==-1);if(r){const s=r.getAsFile();if(s){const o=new FileReader;o.onload=n=>{var c;const i=(c=n.target)==null?void 0:c.result;i&&typeof i=="string"&&new ImageElement().addImage(i)},o.readAsDataURL(s)}}}}resizeFn(){const e=paintBoard.canvas;e&&(e.setWidth(window.innerWidth*useBoardStore.getState().canvasWidth),e.setHeight(window.innerHeight*useBoardStore.getState().canvasHeight))}}class CanvasEvent{constructor(){l(this,"clickEvent");l(this,"zoomEvent");l(this,"objectEvent");l(this,"windowEvent");l(this,"touchEvent");const e=new CanvasClickEvent;this.clickEvent=e;const a=new CanvasZoomEvent;this.zoomEvent=a;const r=new ObjectEvent;this.objectEvent=r;const s=new WindowEvent;this.windowEvent=s;const o=new CanvasTouchEvent;this.touchEvent=o}removeEvent(){this.windowEvent.removeWindowEvent(),this.touchEvent.removeTouchEvent()}}const FontStyle={BOLD:"bold",ITALIC:"italic",UNDER_LINE:"underline",LINE_THROUGH:"linethrough"};class TextElement{constructor(){l(this,"text",null);l(this,"isTextEditing",!1)}loadText(e,a){var s;const r=paintBoard==null?void 0:paintBoard.canvas;if(r){const o=r.getVpCenter(),{fontStyles:n,drawColors:i,textFontFamily:c}=useDrawStore.getState(),d=lodash.exports.isUndefined(e)&&lodash.exports.isUndefined(a),h=new fabric.fabric.IText("Type here...",{originX:d?"center":"left",originY:d?"center":"top",left:d?o.x:e,top:d?o.y:a,fill:i[0],fontSize:25/((s=r==null?void 0:r.getZoom())!=null?s:1),fontFamily:c,fontWeight:n.includes(FontStyle.BOLD)?"bold":"normal",fontStyle:n.includes(FontStyle.ITALIC)?"italic":"normal",underline:n.includes(FontStyle.UNDER_LINE),linethrough:n.includes(FontStyle.LINE_THROUGH)});this.text=h,r.add(h),r.setActiveObject(h),h.enterEditing(),h.selectAll()}}resetText(){this!=null&&this.text&&(this.text.exitEditing(),this.text=null)}}const renderPencilBrush=()=>{const t=paintBoard.canvas;if(!t)return;const e=new fabric.fabric.PencilBrush(t);t.isDrawingMode=!0,t.freeDrawingBrush=e,t.freeDrawingBrush.width=getDrawWidth(),t.freeDrawingBrush.color=useDrawStore.getState().drawColors[0],t.freeDrawingBrush.shadow=new fabric.fabric.Shadow({blur:getShadowWidth(),offsetX:0,offsetY:0,color:useDrawStore.getState().shadowColor})};class PaintBoard{constructor(){l(this,"canvas",null);l(this,"evnet",null);l(this,"history",null);l(this,"textElement");l(this,"hookFn",[]);l(this,"updateCanvasWidth",lodash.exports.debounce(e=>{this.canvas&&(this.canvas.setWidth(window.innerWidth*e),useFileStore.getState().updateCanvasWidth(e))},500));l(this,"updateCanvasHeight",lodash.exports.debounce(e=>{this.canvas&&(this.canvas.setHeight(window.innerHeight*e),useFileStore.getState().updateCanvasHeight(e))},500));this.textElement=new TextElement}initCanvas(e){return new Promise(async a=>{this.canvas=new fabric.fabric.Canvas(e,{selectionColor:"rgba(101, 204, 138, 0.3)",preserveObjectStacking:!0,enableRetinaScaling:!0}),fabric.fabric.Object.prototype.set({borderColor:"#65CC8A",cornerColor:"#65CC8A",cornerStyle:"circle",borderDashArray:[3,3],transparentCorners:!1}),fabric.fabric.Line.prototype.strokeLineJoin="round",fabric.fabric.Line.prototype.strokeLineCap="round",isMobile()&&brushMouseMixin.initCanvas(this.canvas),alignGuideLine.init(this.canvas,useBoardStore.getState().openGuideLine),this.evnet=new CanvasEvent,this.handleMode(),await this.initCanvasStorage(),a(!0)})}removeCanvas(){var e,a;this.canvas&&((e=this==null?void 0:this.canvas)==null||e.dispose(),(a=this.evnet)==null||a.removeEvent(),this.canvas=null)}initCanvasStorage(){return new Promise(e=>{setTimeout(()=>{const{files:a,currentId:r}=useFileStore.getState(),s=a==null?void 0:a.find(o=>(o==null?void 0:o.id)===r);s&&this.canvas?this.canvas.loadFromJSON(s.boardData,()=>{this.canvas&&(s.viewportTransform&&this.canvas.setViewportTransform(s.viewportTransform),this.canvas.setWidth(window.innerWidth*.45),useBoardStore.getState().updateCanvasWidth(.45),this.canvas.setHeight(window.innerHeight*.85),useBoardStore.getState().initBackground(),useBoardStore.getState().updateCanvasHeight(.85),handleCanvasJSONLoaded(this.canvas),fabric.fabric.Object.prototype.set({objectCaching:useBoardStore.getState().isObjectCaching}),this.canvas.renderAll(),this.triggerHook(),this.history=new History),e(!0)}):e(!0)},300)})}handleMode(e=useBoardStore.getState().mode){if(!this.canvas)return;let a=!1,r=!1;const s={selectable:!1,hoverCursor:"default"};switch(e){case ActionMode.DRAW:useBoardStore.getState().drawType===DrawType.FreeStyle&&[DrawStyle.Basic,DrawStyle.Material,DrawStyle.MultiColor].includes(useDrawStore.getState().drawStyle)&&(a=!0,this.handleDrawStyle()),this.canvas.discardActiveObject();break;case ActionMode.ERASE:a=!0,this.canvas.freeDrawingBrush=new fabric.fabric.EraserBrush(this.canvas),this.canvas.freeDrawingBrush.width=getEraserWidth(),this.canvas.freeDrawingBrush.color="#FFF",this.canvas.discardActiveObject();break;case ActionMode.Board:case ActionMode.SELECT:s.selectable=!0,s.hoverCursor=void 0,r=!0;break}this.canvas.isDrawingMode=a,this.canvas.selection=r,fabric.fabric.Object.prototype.set(s),this.canvas.forEachObject(o=>{o._customType===ELEMENT_CUSTOM_TYPE.I_TEXT&&(o.selectable=s.selectable,o.hoverCursor=s.hoverCursor)}),this.handleAutoDrawData(),this.canvas.requestRenderAll()}handleDrawStyle(){if(!this.canvas)return;switch(useDrawStore.getState().drawStyle){case DrawStyle.Basic:renderPencilBrush();break;case DrawStyle.Material:this.canvas.isDrawingMode=!0,material.render({});break;case DrawStyle.MultiColor:renderMultiColor({});break;default:this.canvas.isDrawingMode=!1;break}this.handleAutoDrawData()}handleAutoDrawData(){useBoardStore.getState().mode===ActionMode.DRAW&&useBoardStore.getState().drawType===DrawType.FreeStyle&&useDrawStore.getState().drawStyle===DrawStyle.Basic&&useDrawStore.getState().openAutoDraw||(autoDrawData.clearDraw(),autoDrawData.resetLoadedSVG())}deleteObject(){if(!this.textElement.isTextEditing&&this.canvas){const e=this.canvas.getActiveObjects();e!=null&&e.length&&(this.canvas.discardActiveObject(),e==null||e.forEach(a=>{var r;(r=this.canvas)==null||r.remove(a)}),this.render())}}render(){var e,a;this.canvas&&((e=this.canvas)==null||e.requestRenderAll(),(a=this.history)==null||a.saveState())}saveImage(){if(this.canvas){const e=document.createElement("a");e.href=this.canvas.toDataURL(),e.download="paint-board.png",e.click()}}getImage(){return this.canvas?this.canvas.toDataURL().substring(22):""}copyObject(){const e=this.canvas;if(!e)return;const a=e.getActiveObjects();if(a.length<=0)return;e.discardActiveObject();const r=a.map(s=>new Promise(o=>{s==null||s.clone(n=>{const i=v4();n.set({left:((n==null?void 0:n.left)||0)+10,top:((n==null?void 0:n.top)||0)+10,evented:!0,id:i,perPixelTargetFind:!0}),o(n),e.add(n)})}));Promise.all(r).then(s=>{const o=new fabric.fabric.ActiveSelection(s,{canvas:e});e.setActiveObject(o),this.render()})}bringForWard(){const e=this.canvas;if(e){const a=e.getActiveObject();a&&(e.bringForward(a,!0),this.render())}}seendBackWard(){const e=this.canvas;if(e){const a=e.getActiveObject();a&&(e.sendBackwards(a,!0),this.render())}}bringToFront(){const e=this.canvas;if(e){const a=e.getActiveObject();a&&(e.bringToFront(a),this.render())}}sendToBack(){const e=this.canvas;if(e){const a=e.getActiveObject();a&&(e.sendToBack(a),this.render())}}addHookFn(e){this.hookFn.push(e)}removeHookFn(e){const a=this.hookFn.findIndex(r=>r===e);a>-1&&this.hookFn.splice(a,1)}triggerHook(){this.hookFn.map(e=>{e==null||e()})}}const paintBoard=new PaintBoard,modeSwitch=[{type:ActionMode.DRAW,text:"tool.draw"},{type:ActionMode.ERASE,text:"tool.eraser"},{type:ActionMode.SELECT,text:"tool.select"}],ShapeConfig=()=>{const{drawShapeCount:t,updateDrawShapeCount:e}=useDrawStore(),{t:a}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.shapeCount")}),jsx("input",{type:"range",min:"1",max:"5",value:t,className:"range range-primary range-xs",step:"1",onChange:r=>e(Number(r.target.value))}),jsxs("div",{className:"w-full flex justify-between text-xs px-2 font-fredokaOne",children:[jsx("span",{children:"1"}),jsx("span",{children:"2"}),jsx("span",{children:"3"}),jsx("span",{children:"4"}),jsx("span",{children:"5"})]})]})},SvgBubble=t=>react.exports.createElement("svg",{height:"18px",width:"18px",id:"_x32_",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512",xmlSpace:"preserve",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",null,react.exports.createElement("path",{fill:"currentColor",d:"M133.048,121.218c-1.663,0-3.296,0.337-4.841,0.996c-20.036,8.606-36.119,24.218-45.306,43.973 c-1.381,2.966-1.522,6.3-0.4,9.375c1.122,3.083,3.382,5.546,6.371,6.936c1.64,0.761,3.373,1.146,5.17,1.146 c4.762,0,9.14-2.794,11.14-7.116c6.646-14.27,18.256-25.544,32.715-31.726c3.013-1.294,5.342-3.68,6.567-6.732 c1.216-3.044,1.177-6.386-0.118-9.398C142.408,124.144,137.967,121.218,133.048,121.218z"}),react.exports.createElement("path",{fill:"currentColor",d:"M325.854,203.342c-0.016-89.821-73.11-162.915-162.932-162.931C73.102,40.427,0.015,113.521,0,203.342 c0.015,89.821,73.102,162.908,162.923,162.924C252.744,366.25,325.838,293.163,325.854,203.342z M162.923,334.344 c-34.974-0.008-67.869-13.636-92.629-38.372c-24.736-24.768-38.364-57.664-38.372-92.63c0.008-34.982,13.635-67.877,38.372-92.63 c24.775-24.743,57.671-38.371,92.629-38.379c34.967,0.008,67.862,13.636,92.63,38.379c24.744,24.768,38.372,57.664,38.38,92.63 c-0.008,34.959-13.635,67.854-38.38,92.63C230.793,320.708,197.898,334.336,162.923,334.344z"}),react.exports.createElement("path",{fill:"currentColor",d:"M427.458,69.815c-46.6,0.008-84.532,37.932-84.549,84.541c0.016,46.601,37.948,84.525,84.549,84.541 c46.601-0.016,84.526-37.94,84.542-84.541C511.984,107.747,474.06,69.823,427.458,69.815z M464.661,191.575 c-9.963,9.924-23.175,15.392-37.203,15.4c-14.035-0.008-27.247-5.476-37.218-15.408c-9.924-9.963-15.392-23.175-15.4-37.21 c0.008-14.035,5.476-27.246,15.408-37.219c9.963-9.924,23.175-15.392,37.21-15.4c14.028,0.008,27.24,5.477,37.211,15.408 c9.924,9.964,15.4,23.184,15.408,37.211C480.07,168.383,474.593,181.603,464.661,191.575z"}),react.exports.createElement("path",{fill:"currentColor",d:"M349.076,251.325c-2.683,10.434-6.261,20.664-10.654,30.487c16.146,2.808,30.761,10.379,42.428,22.03 c15.024,15.047,23.292,35.029,23.301,56.258c-0.008,21.23-8.277,41.212-23.301,56.258c-15.048,15.024-35.03,23.301-56.258,23.309 c-21.23-0.008-41.212-8.284-56.266-23.309c-11.015-11.03-18.421-24.822-21.559-40.042c-9.666,4.691-19.746,8.574-30.056,11.572 c12.655,49.386,56.699,83.686,107.882,83.701c61.46-0.015,111.473-50.029,111.489-111.489 C436.065,308.038,399.608,262.661,349.076,251.325z"})))),SvgStar=t=>react.exports.createElement("svg",{fill:"#ffffff",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:"16px",height:"16px",viewBox:"0 0 940.688 940.688",xmlSpace:"preserve",stroke:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",null,react.exports.createElement("path",{fill:"currentColor",d:"M885.344,319.071l-258-3.8l-102.7-264.399c-19.8-48.801-88.899-48.801-108.6,0l-102.7,264.399l-258,3.8 c-53.4,3.101-75.1,70.2-33.7,103.9l209.2,181.4l-71.3,247.7c-14,50.899,41.1,92.899,86.5,65.899l224.3-122.7l224.3,122.601 c45.4,27,100.5-15,86.5-65.9l-71.3-247.7l209.2-181.399C960.443,389.172,938.744,322.071,885.344,319.071z"})))),SvgLove=t=>react.exports.createElement("svg",{fill:"currentColor",width:"20px",height:"20px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M20.808,11.079C19.829,16.132,12,20.5,12,20.5s-7.829-4.368-8.808-9.421C2.227,6.1,5.066,3.5,8,3.5a4.444,4.444,0,0,1,4,2,4.444,4.444,0,0,1,4-2C18.934,3.5,21.773,6.1,20.808,11.079Z"}))),SvgButterfly=t=>react.exports.createElement("svg",{fill:"currentColor",width:"16px",height:"16px",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M214.37 208H70.57c-31 0-57.37 14.9-67.26 45.33C1.57 258.71 0 265.54 0 272c0 48 96 128 144 128 28.95 0 53.24-10.67 75.72-33.14-8.58 11.05-13.81 23.47-15.72 37.28-6.98 49.25 1.73 83.2 27.23 91.48C255.99 503.66 288 512 304 512c48 0 53.35-109.18 26.33-144.39L214.37 208zm29.29-21.28L288.1 49.96C297.68 20.47 320 0 352 0c5.66 0 12.64.62 18.78 2.61 45.65 14.84 92.07 130.86 77.23 176.51-8.94 27.54-26.59 47.34-54.91 61.77 13.15-4.74 26.59-5.88 40.31-3.42 49 8.58 78.59 27.35 78.59 54.16 0 26.04-1.96 59.05-6.91 74.27-14.83 45.65-120.32 17.01-145.46-19.58l-115.97-159.6z"}))),SvgSnow=t=>react.exports.createElement("svg",{width:"18px",height:"18px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M11.9994 3V7M11.9994 7V17M11.9994 7L8.99943 4M11.9994 7L14.9994 4M11.9994 17V21M11.9994 17L8.99943 20M11.9994 17L14.9994 20M4.20624 7.49999L7.67034 9.49999M7.67034 9.49999L16.3306 14.5M7.67034 9.49999L3.57227 10.5981M7.67034 9.49999L6.57227 5.40191M16.3306 14.5L19.7947 16.5M16.3306 14.5L17.4287 18.5981M16.3306 14.5L20.4287 13.4019M4.2067 16.5L7.6708 14.5M7.6708 14.5L16.3311 9.49999M7.6708 14.5L3.57273 13.4019M7.6708 14.5L6.57273 18.5981M16.3311 9.49999L19.7952 7.49999M16.3311 9.49999L17.4291 5.40192M16.3311 9.49999L20.4291 10.5981",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgMusic=t=>react.exports.createElement("svg",{width:"18px",height:"18px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M10.0909 11.9629L19.3636 8.63087V14.1707C18.8126 13.8538 18.1574 13.67 17.4545 13.67C15.4964 13.67 13.9091 15.096 13.9091 16.855C13.9091 18.614 15.4964 20.04 17.4545 20.04C19.4126 20.04 21 18.614 21 16.855C21 16.855 21 16.8551 21 16.855L21 7.49236C21 6.37238 21 5.4331 20.9123 4.68472C20.8999 4.57895 20.8852 4.4738 20.869 4.37569C20.7845 3.86441 20.6352 3.38745 20.347 2.98917C20.2028 2.79002 20.024 2.61055 19.8012 2.45628C19.7594 2.42736 19.716 2.39932 19.6711 2.3722L19.6621 2.36679C18.8906 1.90553 18.0233 1.93852 17.1298 2.14305C16.2657 2.34086 15.1944 2.74368 13.8808 3.23763L11.5963 4.09656C10.9806 4.32806 10.4589 4.52419 10.0494 4.72734C9.61376 4.94348 9.23849 5.1984 8.95707 5.57828C8.67564 5.95817 8.55876 6.36756 8.50501 6.81203C8.4545 7.22978 8.45452 7.7378 8.45455 8.33743V16.1307C7.90347 15.8138 7.24835 15.63 6.54545 15.63C4.58735 15.63 3 17.056 3 18.815C3 20.574 4.58735 22 6.54545 22C8.50355 22 10.0909 20.574 10.0909 18.815C10.0909 18.815 10.0909 18.8151 10.0909 18.815L10.0909 11.9629Z",fill:"currentColor"}))),SvgSun=t=>react.exports.createElement("svg",{fill:"currentColor",width:"20px",height:"20px",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("title",null,"sun"),react.exports.createElement("path",{d:"M23.395 14.106c2.958-1.383 2.828-6.068 5.758-5.884-4.125-2.74-4.019 3.106-9.089 1.235 1.107-3.068-2.292-6.286-0.091-8.227-4.855 0.979-0.645 5.039-5.555 7.301-1.384-2.958-6.068-2.828-5.884-5.758-2.74 4.125 3.106 4.019 1.235 9.089-3.068-1.107-6.286 2.292-8.227 0.091 0.979 4.855 5.039 0.645 7.301 5.555-2.958 1.384-2.828 6.068-5.758 5.884 4.125 2.74 4.019-3.106 9.089-1.235-1.107 3.068 2.292 6.286 0.091 8.227 4.855-0.979 0.645-5.039 5.555-7.301 1.384 2.958 6.068 2.828 5.884 5.758 2.74-4.125-3.106-4.019-1.235-9.089 3.068 1.107 6.286-2.292 8.226-0.091-0.979-4.855-5.039-0.645-7.301-5.555z"}))),SvgMoon=t=>react.exports.createElement("svg",{width:"18px",height:"18px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M12 22C17.5228 22 22 17.5228 22 12C22 11.5373 21.3065 11.4608 21.0672 11.8568C19.9289 13.7406 17.8615 15 15.5 15C11.9101 15 9 12.0899 9 8.5C9 6.13845 10.2594 4.07105 12.1432 2.93276C12.5392 2.69347 12.4627 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z",fill:"currentColor"}))),SvgLeaf=t=>react.exports.createElement("svg",{height:"16px",width:"16px",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 25.263 25.263",xmlSpace:"preserve",fill:"currentColor",stroke:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",null,react.exports.createElement("path",{d:"M15.362,9.69c0,0-0.75,1.108-1.068,0c-0.318-1.109-1.346-4.949-1.762-5.226 c-0.417-0.278-0.417-0.278-0.417-0.278s-0.078,1.506-0.594,1.307c-0.515-0.198-4.313-2.217-4.63-2.652L6.574,2.444 c0,0,0.355,3.328-0.515,2.615c0,0,1.113,2.771-2.573,3.048c0,0,1.186,3.087,4.552,4.75c0,0,1.148,1.783-0.949,1.503 c0,0-2.932-0.395-3.325-0.752c0,0-1.548,3.01-3.764,3.128c0,0,2.656,1.504,2.337,4.156c0,0,5.107,0.041,4.911,0.832 c-0.2,0.795-0.555,1.601-0.555,1.601s4.71-0.929,5.422-2.194c0,0,0.989,0.99,1.071,1.939c0,0,2.693-0.594,2.452-2.296 c0,0,1.269,0.948,1.427,2.551l0.554-0.375c0,0-0.319-1.661-1.464-2.967c0,0-0.517-1.308,0.789-0.633c0,0,3.085,1.029,5.7-0.833 c0,0-2.888-0.948-3.006-1.978c0,0,5.394-3.326,5.625-5.542c0,0-1.944,0.198-2.972-0.633c0,0-1.309-0.396,0.394-4.791 c0,0-1.227,0.724-1.62-3.636c0,0-3.051,4.665-4.518,3.082C16.548,5.018,15.165,8.066,15.362,9.69z"})))),SvgFlower=t=>react.exports.createElement("svg",{id:"_x32_",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:"16px",height:"16px",viewBox:"0 0 512 512",xmlSpace:"preserve",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",null,react.exports.createElement("path",{d:"M512,224.438c0-63.766-51.703-115.469-115.484-115.469c-8.781,0-17.328,1-25.531,2.859 C365.656,52.984,316.219,6.875,256,6.875c-60.234,0-109.672,46.109-114.984,104.953c-8.219-1.859-16.766-2.859-25.531-2.859 C51.703,108.969,0,160.672,0,224.438c0,47.594,28.797,88.469,69.906,106.141c-10.297,17.281-16.234,37.484-16.234,59.063 c0,63.766,51.703,115.484,115.484,115.484c34.625,0,65.672-15.266,86.844-39.406c21.156,24.141,52.219,39.406,86.844,39.406 c63.781,0,115.484-51.719,115.484-115.484c0-21.578-5.938-41.781-16.25-59.063C483.203,312.906,512,272.031,512,224.438z M256,372.531c-53.563,0-97-43.406-97-97c0-53.563,43.438-96.984,97-96.984s96.984,43.422,96.984,96.984 C352.984,329.125,309.563,372.531,256,372.531z"})))),shapeSwitch={line_1:[{type:DrawShape.Bubble,icon:SvgBubble},{type:DrawShape.Star,icon:SvgStar},{type:DrawShape.Love,icon:SvgLove},{type:DrawShape.Butterfly,icon:SvgButterfly},{type:DrawShape.Snow,icon:SvgSnow}],line_2:[{type:DrawShape.Music,icon:SvgMusic},{type:DrawShape.Sun,icon:SvgSun},{type:DrawShape.Moon,icon:SvgMoon},{type:DrawShape.Leaf,icon:SvgLeaf},{type:DrawShape.Flower,icon:SvgFlower}]},shapeTypeConfig=()=>{const{drawShape:t,updateDrawShape:e}=useDrawStore(),{t:a}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.shapeType")}),Object.keys(shapeSwitch).map(r=>jsx("div",{className:"btn-group mt-1 flex",children:shapeSwitch[r].map(({type:s,icon:o})=>jsx("button",{className:`btn btn-xs flex-grow text-white ${t===s?"btn-active":""}`,onClick:()=>{e(s)},children:o({})},s))},r))]})},fontFamilyRadio={georgia:"Georgia",fredokaOne:"Fredoka One",hanaleiFill:"Hanalei Fill",ruslanDisplay:"Ruslan Display",lobster:"Lobster",pacifico:"Pacifico",gloriaHallelujah:"Gloria Hallelujah"},FontFamilyConfg=({fontFamily:t,updateFontFamily:e})=>{const{textFontFamily:a,updateTextFontFamily:r}=useDrawStore(),{t:s}=useTranslation();return jsxs(Fragment,{children:[jsx("div",{className:"font-bold text-sm font-fredokaOne mt-3",children:s("title.fontFamily")}),jsx("div",{children:Object.keys(fontFamilyRadio).map(o=>jsxs("label",{className:"flex justify-between items-center mt-2 w-full cursor-pointer",children:[jsx("div",{style:{fontFamily:`${fontFamilyRadio[o]}`},className:"text-xs",children:fontFamilyRadio[o]}),jsx("input",{type:"radio",name:"radio-5",className:"radio radio-success radio-sm",checked:(t||a)===fontFamilyRadio[o],onChange:()=>{r(fontFamilyRadio[o]),e==null||e(fontFamilyRadio[o])}})]},o))})]})},DrawTextConfig=()=>{const{t}=useTranslation(),{drawTextValue:e,updateDrawTextValue:a}=useDrawStore();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:t("title.drawText")}),jsx("div",{className:"flex mt-1 justify-between px-3 py-1.5 rounded-lg bg-primary cursor-pointer",children:jsx("input",{value:e,className:"px-2 rounded-lg flex-1",onInput:r=>a(r.target.value)})}),jsx(FontFamilyConfg,{})]})},MaterialSwitch=[{type:MATERIAL_TYPE.CARBON,image:formatPublicUrl("pattern/carbon.png")},{type:MATERIAL_TYPE.CLOTH,image:formatPublicUrl("pattern/cloth.png")},{type:MATERIAL_TYPE.CRAYON,image:formatPublicUrl("pattern/crayon.png")},{type:MATERIAL_TYPE.OIL,image:formatPublicUrl("pattern/oil.png")},{type:MATERIAL_TYPE.CRAYON_DARK,image:formatPublicUrl("pattern/crayonDark.png")}],MaterialConfig=()=>{const{materialType:t,updateMaterialType:e,drawColors:a}=useDrawStore(),{t:r}=useTranslation();return jsx(Fragment,{children:jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:r("title.materialType")}),jsx("div",{className:"btn-group mt-1 flex",children:MaterialSwitch.map(({type:s,image:o},n)=>jsx("button",{className:`btn btn-xs flex-grow ${t===s?"btn-active":""}`,onClick:()=>{e(s)},children:jsx("img",{src:o,alt:"",className:"w-5 h-3 opacity-60 rounded-sm",style:{backgroundColor:a[0]}})},n))})]})})},MultiColorSwitch=[MultiColorType.COL,MultiColorType.ROW,MultiColorType.CIRCLE],MultiColorConfig=()=>{const{multiColorType:t,updateMultiColorType:e,drawColors:a}=useDrawStore(),{t:r}=useTranslation();return jsx(Fragment,{children:jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:r("title.multiColorType")}),jsx("div",{className:"btn-group mt-1 flex",children:MultiColorSwitch.map((s,o)=>jsxs("button",{className:`btn btn-xs flex-grow ${t===s?"btn-active":""}`,onClick:()=>{e(s)},children:[s===MultiColorType.COL&&jsx("div",{className:"flex w-4/6 h-4/6 rounded-lg overflow-hidden ",children:a.map((n,i)=>jsx("div",{className:"h-full flex-1",style:{backgroundColor:n}},i))}),s===MultiColorType.ROW&&jsx("div",{className:"flex flex-col w-4/6 h-4/6 rounded-lg overflow-hidden ",children:a.map((n,i)=>jsx("div",{className:"h-full flex-1",style:{backgroundColor:n}},i))}),s===MultiColorType.CIRCLE&&jsx("div",{className:"w-4/6 h-4/6 relative",children:a.map((n,i)=>jsx("div",{className:"h-4 w-4 rounded-full absolute top-0",style:{backgroundColor:n,left:`${i*5}px`}},i))})]},o))})]})})},DrawColorConfig=()=>{const{drawColors:t,updateDrawColors:e}=useDrawStore(),{t:a}=useTranslation(),r=(o,n)=>{const i=[...t];i[n]=o,e(i)},s=["#000000","#C0C0C0","#FFFAF0","#FFFF00","#FF8000","#FF4500","#DA70D6","#9933FA","#1E90FF","#191970","#00C78C","#7FFFD4","#7CFC00"];return jsxs("div",{className:"form-control mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.drawColor")}),jsxs("div",{className:"mt-2 flex items-center w-full",style:{display:"inline-grid"},children:[jsx("div",{className:"w-7 h-7 mr-2 indicator",style:{margin:"0.5rem 1rem"},children:jsx("input",{type:"color",value:t[0],onChange:o=>{r(o.target.value,0)},className:"colorInput"})}),s.map((o,n)=>jsx("div",{className:"w-7 h-7 mr-2 indicator",style:{margin:"0.5rem 1rem"},children:jsx("div",{style:{backgroundColor:o},onClick:()=>{r(o,0)},className:"colorInput"})},n))]})]})},FreeDrawConfig=()=>{const{drawStyle:t}=useDrawStore();return useBoardStore(),jsxs(Fragment,{children:[t===DrawStyle.Shape&&jsx(shapeTypeConfig,{}),(t===DrawStyle.Shape||t===DrawStyle.MultiPoint)&&jsx(ShapeConfig,{}),t===DrawStyle.Material&&jsx(MaterialConfig,{}),t===DrawStyle.MultiColor&&jsx(MultiColorConfig,{}),![DrawStyle.Text,DrawStyle.Wiggle,DrawStyle.Thorn].includes(t),t!==DrawStyle.Rainbow&&jsx(DrawColorConfig,{}),t===DrawStyle.Text&&jsx(DrawTextConfig,{})]})},BorderStyleConfig=t=>{var n,i,c;const{t:e}=useTranslation(),{borderColor:a,updateBorderColor:r,borderWidth:s,updateBorderWidth:o}=useShapeStore();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:e("title.borderStyle")}),jsxs("div",{className:"flex mt-1 items-center",children:[jsx("div",{className:"w-7 h-7 cursor-pointer",children:jsx("input",{type:"color",value:(n=t==null?void 0:t.borderColor)!=null?n:a,onChange:d=>{var h;r(d.target.value),(h=t==null?void 0:t.updateBorderColor)==null||h.call(t,d.target.value)},className:"colorInput"})}),jsx("div",{className:"divider divider-horizontal mx-2"}),jsx("div",{className:"text-lg font-fredokaOne mr-2 text-primary-focus",children:(i=t==null?void 0:t.borderWidth)!=null?i:s}),jsx("input",{type:"range",min:"1",max:"20",step:"1",value:(c=t==null?void 0:t.borderWidth)!=null?c:s,className:"range range-primary range-xs cursor-pointer",onChange:d=>{var h;o(Number(d.target.value)),(h=t==null?void 0:t.updateBorderWidth)==null||h.call(t,Number(d.target.value))}})]})]})},SvgSolid=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M4 12L20 12",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgDashed=t=>react.exports.createElement("svg",{t:1705739078408,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":5340,xmlnsXlink:"http://www.w3.org/1999/xlink",width:20,height:20,...t},react.exports.createElement("path",{fill:"currentColor",d:"M0 480h160v64H0zM288 480H448v64H288zM576 480h160v64H576zM864 480H1024v64h-160z","p-id":5341})),SvgDotted=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M3 13H1v-2h2zm4-2H5v2h2zm12 0h-2v2h2zm4 0h-2v2h2zm-12 0H9v2h2zm4 0h-2v2h2z"}),react.exports.createElement("path",{fill:"none",d:"M0 0h24v24H0z"}))),borderTypeSwitch={line_1:[{type:ShapeBorderType.Solid,icon:SvgSolid},{type:ShapeBorderType.Dashed,icon:SvgDashed},{type:ShapeBorderType.Dotted,icon:SvgDotted}]},BorderTypeConfig=t=>{const{borderType:e,updateBorderType:a}=useShapeStore(),{t:r}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:r("title.borderType")}),Object.keys(borderTypeSwitch).map(s=>jsx("div",{className:"btn-group mt-1 flex",children:borderTypeSwitch[s].map(({type:o,icon:n})=>jsx("button",{className:`btn btn-xs flex-grow ${(t.borderType||e)===o?"btn-active":""}`,onClick:()=>{var i;a(o),(i=t==null?void 0:t.updateBorderType)==null||i.call(t,o)},children:n({})},o))},s))]})},SvgTransparent=t=>react.exports.createElement("svg",{t:1702136520403,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":1624,xmlnsXlink:"http://www.w3.org/1999/xlink",width:15,height:15,...t},react.exports.createElement("path",{d:"M0 0h192v192H0z","p-id":1625,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M192 192h192v192H192z",opacity:.6,"p-id":1626,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M384 0h192v192H384z",opacity:.8,"p-id":1627,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M576 192h192v192H576z",opacity:.4,"p-id":1628,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M768 0h192v192h-192z",opacity:.6,"p-id":1629,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M0 384h192v192H0z",opacity:.8,"p-id":1630,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M192 576h192v192H192zM384 384h192v192H384z",opacity:.4,"p-id":1631,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M576 576h192v192H576zM768 384h192v192h-192z",opacity:.2,"p-id":1632,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M0 768h192v192H0z",opacity:.4,"p-id":1633,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M384 768h192v192H384z",opacity:.2,"p-id":1634,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M768 768h192v192h-192z",opacity:.1,"p-id":1635,fill:"CURRENTCOLOR"})),SvgFillFull=t=>react.exports.createElement("svg",{fill:"currentColor",width:"20px",height:"20px",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",xmlSpace:"preserve","xmlns:serif":"http://www.serif.com/",style:{fillRule:"evenodd",clipRule:"evenodd",strokeLinejoin:"round",strokeMiterlimit:2},...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M4,29.987l24,0c0.828,0 1.5,-0.672 1.5,-1.5c0,-0.827 -0.672,-1.5 -1.5,-1.5l-24,0c-0.828,0 -1.5,0.673 -1.5,1.5c0,0.828 0.672,1.5 1.5,1.5Z"}),react.exports.createElement("path",{d:"M9.138,22.244c1.323,0.328 2.775,0.118 3.995,-0.702l9.873,-6.712c0.458,-0.308 0.58,-0.929 0.273,-1.388l-6.717,-10c-0.308,-0.458 -0.929,-0.58 -1.388,-0.272c0,-0 -6.027,4.048 -9.961,6.691c-2.293,1.539 -2.903,4.646 -1.363,6.938c0.725,1.08 1.53,2.279 2.256,3.359c0.738,1.099 1.836,1.812 3.032,2.086Zm11.448,-9.223l-15.418,0c0.207,-0.591 0.599,-1.124 1.16,-1.5c-0,-0 9.131,-6.133 9.131,-6.133l5.127,7.633Z"}),react.exports.createElement("path",{d:"M26.339,15.455c-0.185,-0.284 -0.5,-0.455 -0.839,-0.455c-0.339,-0 -0.654,0.171 -0.839,0.455c0,0 -1.274,1.965 -2.039,3.732c-0.379,0.876 -0.622,1.717 -0.622,2.313c-0,1.932 1.568,3.5 3.5,3.5c1.932,0 3.5,-1.568 3.5,-3.5c-0,-0.596 -0.243,-1.437 -0.622,-2.313c-0.765,-1.767 -2.039,-3.732 -2.039,-3.732Z"}))),FillTypeSwitch=[{type:ShapeFillType.Transparent,icon:SvgTransparent},{type:ShapeFillType.Full,icon:SvgFillFull}],FillStyleConfig=t=>{const{t:e}=useTranslation(),{fillColor:a,updateFillColor:r,fillType:s,updateFillType:o}=useShapeStore();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:e("title.fillStyle")}),jsxs("div",{className:"flex mt-1 items-center",children:[jsx("div",{className:"w-7 h-7 cursor-pointer",children:jsx("input",{type:"color",value:(t==null?void 0:t.fillColor)||a,onChange:n=>{var i;r(n.target.value),(i=t==null?void 0:t.updateFillColor)==null||i.call(t,n.target.value)},className:"colorInput"})}),jsx("div",{className:"divider divider-horizontal mx-2"}),jsx("div",{className:"tabs tabs-boxed bg-[#333C4D] flex",children:FillTypeSwitch.map(({type:n,icon:i})=>jsx("button",{className:`tab tab-xs flex-grow text-[#eef1ff] ${((t==null?void 0:t.fillType)||s)===n?"tab-active":""}`,onClick:()=>{var c;o(n),(c=t==null?void 0:t.updateFillType)==null||c.call(t,n)},children:i({})},n))})]})]})},PointCountConfig=()=>{const{shapeLinePointCount:t,updateShapeLinePointCount:e}=useShapeStore(),{t:a}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.shapeLinePointCount")}),jsx("input",{type:"range",min:"2",max:"5",value:t,className:"range range-primary range-xs mt-1",step:"1",onChange:r=>e(Number(r.target.value))}),jsxs("div",{className:"w-full flex justify-between text-xs px-2 font-fredokaOne",children:[jsx("span",{children:"2"}),jsx("span",{children:"3"}),jsx("span",{children:"4"}),jsx("span",{children:"5"})]})]})},SvgLine=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18 5C17.4477 5 17 5.44772 17 6C17 6.27642 17.1108 6.52505 17.2929 6.70711C17.475 6.88917 17.7236 7 18 7C18.5523 7 19 6.55228 19 6C19 5.44772 18.5523 5 18 5ZM15 6C15 4.34315 16.3431 3 18 3C19.6569 3 21 4.34315 21 6C21 7.65685 19.6569 9 18 9C17.5372 9 17.0984 8.8948 16.7068 8.70744L8.70744 16.7068C8.8948 17.0984 9 17.5372 9 18C9 19.6569 7.65685 21 6 21C4.34315 21 3 19.6569 3 18C3 16.3431 4.34315 15 6 15C6.46278 15 6.90157 15.1052 7.29323 15.2926L15.2926 7.29323C15.1052 6.90157 15 6.46278 15 6ZM6 17C5.44772 17 5 17.4477 5 18C5 18.5523 5.44772 19 6 19C6.55228 19 7 18.5523 7 18C7 17.7236 6.88917 17.475 6.70711 17.2929C6.52505 17.1108 6.27642 17 6 17Z",fill:"currentColor"}))),SvgRect=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M3 6.6C3 6.03995 3 5.75992 3.10899 5.54601C3.20487 5.35785 3.35785 5.20487 3.54601 5.10899C3.75992 5 4.03995 5 4.6 5H10.4C10.9601 5 11.2401 5 11.454 5.10899C11.6422 5.20487 11.7951 5.35785 11.891 5.54601C12 5.75992 12 6.03995 12 6.6V8.4C12 8.96005 12 9.24008 11.891 9.45399C11.7951 9.64215 11.6422 9.79513 11.454 9.89101C11.2401 10 10.9601 10 10.4 10H4.6C4.03995 10 3.75992 10 3.54601 9.89101C3.35785 9.79513 3.20487 9.64215 3.10899 9.45399C3 9.24008 3 8.96005 3 8.4V6.6Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M5 15.6C5 15.0399 5 14.7599 5.10899 14.546C5.20487 14.3578 5.35785 14.2049 5.54601 14.109C5.75992 14 6.03995 14 6.6 14H10.4C10.9601 14 11.2401 14 11.454 14.109C11.6422 14.2049 11.7951 14.3578 11.891 14.546C12 14.7599 12 15.0399 12 15.6V17.4C12 17.9601 12 18.2401 11.891 18.454C11.7951 18.6422 11.6422 18.7951 11.454 18.891C11.2401 19 10.9601 19 10.4 19H6.6C6.03995 19 5.75992 19 5.54601 18.891C5.35785 18.7951 5.20487 18.6422 5.10899 18.454C5 18.2401 5 17.9601 5 17.4V15.6Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M16 6.6C16 6.03995 16 5.75992 16.109 5.54601C16.2049 5.35785 16.3578 5.20487 16.546 5.10899C16.7599 5 17.0399 5 17.6 5H19.4C19.9601 5 20.2401 5 20.454 5.10899C20.6422 5.20487 20.7951 5.35785 20.891 5.54601C21 5.75992 21 6.03995 21 6.6V14.4C21 14.9601 21 15.2401 20.891 15.454C20.7951 15.6422 20.6422 15.7951 20.454 15.891C20.2401 16 19.9601 16 19.4 16H17.6C17.0399 16 16.7599 16 16.546 15.891C16.3578 15.7951 16.2049 15.6422 16.109 15.454C16 15.2401 16 14.9601 16 14.4V6.6Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgCircle=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z",stroke:"currentColor",strokeWidth:2}))),SvgEllipse=t=>react.exports.createElement("svg",{t:1705756373807,className:"icon",viewBox:"0 0 1066 1024",xmlns:"http://www.w3.org/2000/svg","p-id":15154,xmlnsXlink:"http://www.w3.org/1999/xlink",width:25,height:20,...t},react.exports.createElement("path",{d:"M298.24 366.506667C236.373333 407.68 204.8 459.946667 204.8 512c0 52.010667 31.573333 104.277333 93.44 145.493333 61.610667 41.045333 149.12 67.84 247.893333 67.84 98.773333 0 186.282667-26.794667 247.893334-67.84 61.866667-41.216 93.44-93.482667 93.44-145.493333 0-52.010667-31.573333-104.277333-93.44-145.493333C732.373333 325.376 644.864 298.666667 546.133333 298.666667c-98.773333 0-186.282667 26.752-247.893333 67.84zM250.965333 295.424C328.362667 243.84 432.853333 213.333333 546.133333 213.333333c113.28 0 217.770667 30.549333 295.210667 82.133334C918.442667 346.88 972.8 422.613333 972.8 512s-54.357333 165.12-131.456 216.533333C763.904 780.16 659.413333 810.666667 546.133333 810.666667c-113.28 0-217.770667-30.549333-295.210666-82.133334C173.824 677.12 119.466667 601.386667 119.466667 512s54.357333-165.12 131.456-216.533333z",fill:"currentColor","p-id":15155})),SvgTriangle=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"Shape / Triangle"},react.exports.createElement("path",{id:"Vector",d:"M4.37891 15.1999C3.46947 16.775 3.01489 17.5634 3.08281 18.2097C3.14206 18.7734 3.43792 19.2851 3.89648 19.6182C4.42204 20.0001 5.3309 20.0001 7.14853 20.0001H16.8515C18.6691 20.0001 19.5778 20.0001 20.1034 19.6182C20.5619 19.2851 20.8579 18.7734 20.9172 18.2097C20.9851 17.5634 20.5307 16.775 19.6212 15.1999L14.7715 6.79986C13.8621 5.22468 13.4071 4.43722 12.8135 4.17291C12.2957 3.94236 11.704 3.94236 11.1862 4.17291C10.5928 4.43711 10.1381 5.22458 9.22946 6.79845L4.37891 15.1999Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgArrowLine=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"Arrow / Arrow_Down_Up"},react.exports.createElement("path",{id:"Vector",d:"M11 16L8 19M8 19L5 16M8 19V5M13 8L16 5M16 5L19 8M16 5V19",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgArrowOutline=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"-11.98 -11.98 143.74 143.74",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("defs",null),react.exports.createElement("g",{id:"Layer_2","data-name":"Layer 2"},react.exports.createElement("g",{id:"Layer_1-2","data-name":"Layer 1"},react.exports.createElement("path",{d:"M60.3,78.46c-.31,5-.39,9-.82,12.91-.86,7.85-7.86,11.57-14.92,7.85A63.53,63.53,0,0,1,34.4,92.84Q19.67,81,5.29,68.78C-.35,64-1.3,58.65,1.58,51.82a30.86,30.86,0,0,1,2.19-4.65A302.23,302.23,0,0,1,31.91,9.31a48.7,48.7,0,0,1,7.64-6.84C46-2.3,51.84,0,53.52,7.92a65.45,65.45,0,0,1,.78,7.69c.14,1.66.24,3.33.4,5.53a32.54,32.54,0,0,0,4.39.14c7.11-.83,14.18-2.09,21.3-2.57a246.17,246.17,0,0,1,24.89-.54c7.68.26,11.38,3.91,12.77,11.46a112.58,112.58,0,0,1,1.63,24.8c-.05,1.42-.31,2.84-.49,4.25-1,8.35-5.08,13.81-14,14.64a17.63,17.63,0,0,0-4.09,1.24A65.73,65.73,0,0,1,78.3,78.24C72.6,78.16,66.9,78.37,60.3,78.46ZM43.47,14c-9,5.63-27.46,31.38-32.4,44.91,10.7,9.07,21.55,18.33,32.52,27.45,1.38,1.15,3.39,1.55,5.33,2.4,1.38-4.27.25-8,.35-11.62.13-4.81.95-6.57,5.41-7.27,5-.8,10.21-.76,15.33-1,7.4-.41,14.84-.49,22.2-1.28a39.24,39.24,0,0,0,16.08-5c2.55-12.13,1.56-25-2.65-33.79-4.31-1.14-8.87-1.08-13.42-.95-10.86.31-21.7.61-32.42,2.73-5.51,1.09-10.8.41-15.4-3.89C44.12,22.77,43.83,18.81,43.47,14Z"}))))),SvgCloud=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M3 13.6493C3 16.6044 5.41766 19 8.4 19L16.5 19C18.9853 19 21 16.9839 21 14.4969C21 12.6503 19.8893 10.9449 18.3 10.25C18.1317 7.32251 15.684 5 12.6893 5C10.3514 5 8.34694 6.48637 7.5 8.5C4.8 8.9375 3 11.2001 3 13.6493Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgTooltips=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",fill:"none",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20 10h-8a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h.93a2 2 0 0 1 1.664.89l.574.862a1 1 0 0 0 1.664 0l.574-.861A2 2 0 0 1 19.07 20H20a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2zm-6-3V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h.93a2 2 0 0 1 1.664.89L7 13.5"}))),SvgLightning=t=>react.exports.createElement("svg",{t:1705816188032,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":11440,xmlnsXlink:"http://www.w3.org/1999/xlink",width:18,height:18,...t},react.exports.createElement("path",{d:"M508.746667 299.2L485.333333 452.373333a5.333333 5.333333 0 0 0 4 5.973334l217.386667 53.333333a5.333333 5.333333 0 0 1 2.72 8.693333l-184.906667 208.8a5.333333 5.333333 0 0 1-9.28-4.32l23.413334-153.226666a5.333333 5.333333 0 0 0-4-5.973334L317.173333 512a5.333333 5.333333 0 0 1-2.506666-8.48l184.8-208.693333a5.333333 5.333333 0 0 1 9.28 4.373333z m-329.493334 256l271.253334 66.666667a5.333333 5.333333 0 0 1 4 5.973333l-51.04 335.68a5.333333 5.333333 0 0 0 9.226666 4.32l434.773334-490.346667a5.333333 5.333333 0 0 0-2.72-8.693333l-271.253334-66.666667a5.333333 5.333333 0 0 1-4-5.973333l51.04-335.626667a5.333333 5.333333 0 0 0-9.226666-4.373333L176.533333 546.506667a5.333333 5.333333 0 0 0 2.72 8.693333z","p-id":11441,fill:"currentColor"})),SvgClose$1=t=>react.exports.createElement("svg",{t:1705817265217,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":12421,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M851.456 755.419429q0 22.820571-16.018286 38.838857l-77.677714 77.677714q-16.018286 16.018286-38.838857 16.018286t-38.838857-16.018286l-168.009143-168.009143-168.009143 168.009143q-16.018286 16.018286-38.838857 16.018286t-38.838857-16.018286l-77.677714-77.677714q-16.018286-16.018286-16.018286-38.838857t16.018286-38.838857l168.009143-168.009143-168.009143-168.009143q-16.018286-16.018286-16.018286-38.838857t16.018286-38.838857l77.677714-77.677714q16.018286-16.018286 38.838857-16.018286t38.838857 16.018286l168.009143 168.009143 168.009143-168.009143q16.018286-16.018286 38.838857-16.018286t38.838857 16.018286l77.677714 77.677714q16.018286 16.018286 16.018286 38.838857t-16.018286 38.838857l-168.009143 168.009143 168.009143 168.009143q16.018286 16.018286 16.018286 38.838857z",fill:"currentColor","p-id":12422})),SvgCheck=t=>react.exports.createElement("svg",{t:1705817679376,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":15379,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M918.8 83.7c-43.5-30.3-104-19.5-134.6 24.1l-425.8 606-127-135.7c-36.4-38.9-98.1-41.1-137-4.8-39 36.2-41.1 97.7-4.7 136.6l206.5 220.7c4.7 5 9.8 9.4 15.1 13.1 0.7 0.5 1.4 1 2.2 1.5 43.5 30.3 104 19.5 134.6-24.1l494-703.2c30.7-43.5 20.1-103.9-23.3-134.2z",fill:"currentColor","p-id":15380})),SvgInfo$1=t=>react.exports.createElement("svg",{t:1705818171661,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":16367,width:16,height:16,xmlnsXlink:"http://www.w3.org/1999/xlink",...t},react.exports.createElement("path",{d:"M512 1024c282.771 0 512-229.23 512-512s-229.23-512-512-512-512 229.23-512 512 229.23 512 512 512zM432 256c0-44.183 35.817-80 80-80s80 35.817 80 80v31.999c0 44.183-35.817 80-80 80s-80-35.817-80-80v-31.999zM431.999 512c0-44.183 35.817-80 80-80s80 35.817 80 80v256c0 44.183-35.817 80-80 80s-80-35.817-80-80v-256z","p-id":16368,fill:"currentColor"})),SvgBackspace=t=>react.exports.createElement("svg",{t:1705818590143,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":15111,xmlnsXlink:"http://www.w3.org/1999/xlink",width:18,height:18,...t},react.exports.createElement("path",{d:"M800 170.666667a138.666667 138.666667 0 0 1 138.453333 130.816L938.666667 309.333333v405.333334a138.666667 138.666667 0 0 1-130.816 138.453333L800 853.333333h-362.709333a138.666667 138.666667 0 0 1-88.96-32.256l-6.613334-5.930666-213.162666-202.666667a138.666667 138.666667 0 0 1-4.906667-196.010667l4.906667-4.949333 213.162666-202.666667a138.666667 138.666667 0 0 1 86.698667-37.888L437.290667 170.666667h362.666666z m0 64h-362.709333a74.666667 74.666667 0 0 0-46.08 15.872l-5.376 4.693333-213.162667 202.666667-2.645333 2.645333a74.666667 74.666667 0 0 0-2.346667 100.352l4.992 5.205333 213.162667 202.666667c12.117333 11.52 27.733333 18.645333 44.288 20.224l7.168 0.341333h362.666666a74.666667 74.666667 0 0 0 74.453334-68.565333l0.256-6.101333v-405.333334a74.666667 74.666667 0 0 0-68.565334-74.410666L800 234.666667z m-311.637333 123.605333l3.584 3.114667L597.333333 466.730667l105.386667-105.386667a32 32 0 0 1 48.341333 41.685333l-3.114666 3.584L642.56 512l105.386667 105.386667a32 32 0 0 1-41.642667 48.341333l-3.584-3.114667L597.333333 557.269333l-105.386666 105.386667a32 32 0 0 1-48.341334-41.685333l3.072-3.584L552.106667 512l-105.386667-105.386667a32 32 0 0 1 41.685333-48.341333z",fill:"currentColor","p-id":15112})),SvgBlock=t=>react.exports.createElement("svg",{t:1705819045470,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":15265,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M512 85.333333c235.648 0 426.666667 191.061333 426.666667 426.666667 0 235.690667-191.018667 426.666667-426.666667 426.666667-235.605333 0-426.666667-190.976-426.666667-426.666667C85.333333 276.437333 276.394667 85.333333 512 85.333333z m0 64a362.666667 362.666667 0 1 0 0 725.333334 362.666667 362.666667 0 0 0 0-725.333334z m-181.333333 330.666667h362.666666a32 32 0 0 1 4.352 63.701333l-4.352 0.298667h-362.666666a32 32 0 0 1-4.352-63.701333l4.352-0.298667h362.666666-362.666666z",fill:"currentColor","p-id":15266})),SvgSpeaker=t=>react.exports.createElement("svg",{t:1705819674136,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":16477,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M731.428571 905.216c29.147429 0 50.139429-21.430857 50.139429-50.139429V171.501714c0-28.708571-20.992-52.717714-50.998857-52.717714-20.992 0-34.706286 10.294857-57.856 30.866286l-201.435429 178.706285c-2.56 2.56-6.418286 3.858286-10.697143 3.858286h-127.286857c-60.873143 0-90.88 30.427429-90.88 95.140572V597.942857c0 64.731429 30.006857 95.140571 90.88 95.140572h127.268572c4.297143 0 8.155429 1.28 10.715428 3.858285L672.731429 877.348571c20.992 18.870857 37.723429 27.867429 58.715428 27.867429z m-24.868571-90.422857c-2.139429 0-4.699429-1.28-7.277714-3.858286L509.44 639.926857c-10.276571-9.435429-18.834286-11.574857-30.427429-11.574857h-142.701714c-16.713143 0-24.868571-7.716571-24.868571-24.868571v-181.705143c0-16.713143 8.155429-24.850286 24.868571-24.850286h142.701714c11.574857 0 19.712-1.718857 30.427429-11.574857l189.860571-172.288c2.139429-1.700571 4.717714-3.419429 7.296-3.419429 3.84 0 5.997714 2.56 5.997715 5.997715v592.713142c0 3.858286-2.139429 6.436571-5.997715 6.436572z","p-id":16478,fill:"currentColor"})),SvgSearch=t=>react.exports.createElement("svg",{t:1705820436292,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":1989,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M426.666667 117.333333a309.333333 309.333333 0 0 1 240.213333 504.277334l209.066667 209.066666a32 32 0 0 1-41.642667 48.384l-3.584-3.114666-209.109333-209.066667A309.333333 309.333333 0 1 1 426.666667 117.333333z m0 64a245.333333 245.333333 0 1 0 0 490.666667 245.333333 245.333333 0 0 0 0-490.666667z",fill:"currentColor","p-id":1990})),SvgInfoOutline=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 -68.62 309.13 309.13",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("defs",null),react.exports.createElement("g",{id:"Layer_2","data-name":"Layer 2"},react.exports.createElement("g",{id:"Layer_1-2","data-name":"Layer 1"},react.exports.createElement("path",{d:"M89.68,0c16.93,12.78,35.09,21,56.38,20.55,2.3,0,4.59-.06,6.88.07a64.3,64.3,0,0,0,35.55-7.85c4.37-2.42,8.6-2.67,13.2-1.85a8.08,8.08,0,0,1,5.09,2.86c12,14.42,27.73,20.48,46.19,20.6,8.12,0,16-.64,23.46-4.15a13.82,13.82,0,0,1,5.81-1c2.25,0,4.13,2.72,3.63,4.92a26.24,26.24,0,0,1-1.32,3.12c-4.65,12.17-1.88,23.2,5.92,33,2.17,2.71,6.09,4.07,9.32,5.86,2.49,1.38,5.26,2.26,7.68,3.74a3.54,3.54,0,0,1,.19,5.87,20.31,20.31,0,0,1-2.87,1.84c-14.12,7.91-20.69,21-23.88,36-1.13,5.36.93,10.75,2.65,15.94a57.2,57.2,0,0,1,2.28,7.35c.63,3.33-1.25,5.55-4.74,5.64a33.64,33.64,0,0,1-6.76-.74c-19-3.33-36.39.36-51.73,12.4-2.24,1.76-4.26,3.83-6.44,5.67-2.93,2.47-5.43,2.7-8.59.86a15.43,15.43,0,0,1-2.1-1.5c-6.69-5.62-14.73-7.23-23.14-8-13.19-1.23-25.78,1.36-37.68,6.62-6.7,3-11.49.84-16.33-3.12-2.65-2.18-5.15-4.55-7.64-6.91a24.73,24.73,0,0,0-12.93-6.4c-15.06-2.69-30.13-3.61-45.11.76-4.93,1.44-10,2.46-14.87,4.11s-8.33-.65-11.48-3.67c-.87-.83-1-2.56-1.19-3.92-.87-5.65-1.52-11.33-2.46-17a24.82,24.82,0,0,0-12.9-18.3c-4.95-2.78-9.12-7.08-15.62-7.77L0,98c3.06-2.94,5.88-5.71,8.77-8.4,10.63-9.91,14.4-22.38,13.5-36.5A10.73,10.73,0,0,0,20,47.79c-2.75-3.66-2.57-7.3-.65-11.71,6.28.84,12.44,1.81,18.63,2.47C48,39.61,57.26,37,66.25,32.92A36.86,36.86,0,0,0,80.61,21.1c1.8-2.39,3.17-5,3.15-7.8,0-4.54,2.41-8.06,4-11.93C88,.93,88.7.7,89.68,0ZM194.84,20.36c-15.43,9.11-32.61,10.91-50.33,10.35s-34.57-4-49.91-13.77c-1.85,2.88-3.4,5.25-4.9,7.64a45.12,45.12,0,0,1-19,17c-9.12,4.34-18.77,7-29,6.82-2.49,0-5,.21-7.58.33-1.24,4.16-.63,7.9-.72,11.56A44.6,44.6,0,0,1,17.54,94.14c-1,.85-2.52,1.5-1.94,3.56,4.17,2.69,8.46,5.52,12.8,8.24a34.44,34.44,0,0,1,15,20.23c1,3.26,1.18,6.74,1.75,10.11.47,2.76,0,5.82,2.82,8.21a20.18,20.18,0,0,0,3.86-.54,90.34,90.34,0,0,1,31.26-4.72c8,.32,16,.8,24,1.71,10.57,1.22,19.9,5.19,26.92,13.63a33.67,33.67,0,0,0,4.06,3.5c24-8,48-11.37,71.22-.21,5.26-3,9.8-6,14.66-8.33a99.28,99.28,0,0,1,15.19-5.81,104.18,104.18,0,0,1,16-3.1c5.26-.64,10.6-.6,16.3-.87a55.92,55.92,0,0,0-1.45-7.14c-1.8-5.13-1-10.05.25-15.17a66,66,0,0,1,16.47-29.69c1.3-1.39,2.5-2.86,3.56-4.08-3.62-3.09-7.22-5.55-10-8.71a37.14,37.14,0,0,1-9.39-25.18c0-2.21.67-4.61-1.41-6.57a126.89,126.89,0,0,1-31.51-.33,59.93,59.93,0,0,1-29.87-12C203.69,27.6,199.53,24.12,194.84,20.36Z"}),react.exports.createElement("path",{d:"M194.84,20.36c4.69,3.76,8.85,7.24,13.15,10.53a59.93,59.93,0,0,0,29.87,12,126.89,126.89,0,0,0,31.51.33c2.08,2,1.39,4.36,1.41,6.57A37.14,37.14,0,0,0,280.17,75c2.81,3.16,6.41,5.62,10,8.71-1.06,1.22-2.26,2.69-3.56,4.08a66,66,0,0,0-16.47,29.69c-1.28,5.12-2.05,10-.25,15.17a55.92,55.92,0,0,1,1.45,7.14c-5.7.27-11,.23-16.3.87a104.18,104.18,0,0,0-16,3.1,99.28,99.28,0,0,0-15.19,5.81c-4.86,2.32-9.4,5.31-14.66,8.33C186,146.7,162,150.06,138,158.07a33.67,33.67,0,0,1-4.06-3.5c-7-8.44-16.35-12.41-26.92-13.63-7.94-.91-16-1.39-24-1.71A90.34,90.34,0,0,0,51.83,144a20.18,20.18,0,0,1-3.86.54c-2.84-2.39-2.35-5.45-2.82-8.21-.57-3.37-.79-6.85-1.75-10.11a34.44,34.44,0,0,0-15-20.23c-4.34-2.72-8.63-5.55-12.8-8.24-.58-2.06,1-2.71,1.94-3.56A44.6,44.6,0,0,0,33.4,60.26c.09-3.66-.52-7.4.72-11.56,2.6-.12,5.09-.37,7.58-.33,10.26.16,19.91-2.48,29-6.82a45.12,45.12,0,0,0,19-17c1.5-2.39,3-4.76,4.9-7.64,15.34,9.79,32.21,13.21,49.91,13.77S179.41,29.47,194.84,20.36Z"}))))),SvgHeart=t=>react.exports.createElement("svg",{t:1705821505982,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":2318,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M760.384 64c47.808 0 91.968 11.968 132.352 35.84a264.32 264.32 0 0 1 95.872 97.152A263.68 263.68 0 0 1 1024 330.88c0 34.752-6.592 68.544-19.712 101.312a262.4 262.4 0 0 1-57.536 87.424L512 960 77.248 519.68A268.8 268.8 0 0 1 0 330.88c0-48.384 11.776-93.056 35.392-133.952A264.32 264.32 0 0 1 131.2 99.84 255.296 255.296 0 0 1 263.68 64 260.736 260.736 0 0 1 449.92 142.208l62.08 62.912 62.144-62.912a258.944 258.944 0 0 1 86.336-58.24A259.584 259.584 0 0 1 760.512 64h-0.128z",fill:"currentColor","p-id":2319})),SvgAlert=t=>react.exports.createElement("svg",{t:1705823230352,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":3291,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M877.714286 658.285714 877.714286 365.714286C877.714286 163.766857 713.947429 0 512 0 310.052571 0 146.285714 163.766857 146.285714 365.714286L146.285714 658.285714 0 950.857143 409.014857 950.857143C424.118857 993.389714 464.274286 1024 512 1024 559.725714 1024 599.881143 993.389714 614.985143 950.857143L1024 950.857143 877.714286 658.285714",fill:"currentColor","p-id":3292})),shapeStyleSwitch={line_1:[{type:ShapeStyle.Line,icon:SvgLine},{type:ShapeStyle.Rect,icon:SvgRect},{type:ShapeStyle.Circle,icon:SvgCircle},{type:ShapeStyle.Ellipse,icon:SvgEllipse},{type:ShapeStyle.Triangle,icon:SvgTriangle}],line_2:[{type:ShapeStyle.ArrowLine,icon:SvgArrowLine},{type:ShapeStyle.ArrowOutline,icon:SvgArrowOutline},{type:ShapeStyle.Cloud,icon:SvgCloud},{type:ShapeStyle.Tooltips,icon:SvgTooltips},{type:ShapeStyle.Lightning,icon:SvgLightning}],line_3:[{type:ShapeStyle.Close,icon:SvgClose$1},{type:ShapeStyle.Check,icon:SvgCheck},{type:ShapeStyle.Info,icon:SvgInfo$1},{type:ShapeStyle.Backspace,icon:SvgBackspace},{type:ShapeStyle.Block,icon:SvgBlock}],line_4:[{type:ShapeStyle.Speaker,icon:SvgSpeaker},{type:ShapeStyle.Search,icon:SvgSearch},{type:ShapeStyle.InfoOutline,icon:SvgInfoOutline},{type:ShapeStyle.Heart,icon:SvgHeart},{type:ShapeStyle.Alert,icon:SvgAlert}]},ShapeStyleConfig=()=>{const{shapeStyle:t,updateShapeStyle:e}=useShapeStore(),{t:a}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.shapeType")}),Object.keys(shapeStyleSwitch).map(r=>jsx("div",{className:"btn-group mt-1 flex",children:shapeStyleSwitch[r].map(({type:s,icon:o})=>jsx("button",{className:`btn btn-xs flex-grow text-[#eef1ff] ${t===s?"btn-active":""}`,onClick:()=>{e(s)},children:o({})},s))},r))]})},ShapeDrawConfig=()=>{const{shapeStyle:t}=useShapeStore(),e=react.exports.useMemo(()=>[ShapeStyle.Line,ShapeStyle.ArrowLine].includes(t),[t]);return jsxs(Fragment,{children:[jsx(ShapeStyleConfig,{}),e&&jsx(PointCountConfig,{}),jsx(BorderTypeConfig,{}),jsx(BorderStyleConfig,{}),!e&&jsx(FillStyleConfig,{})]})},DrawConfig=()=>{useTranslation();const{drawType:t,updateDrawType:e}=useBoardStore();return jsxs(Fragment,{children:[t===DrawType.FreeStyle&&jsx(FreeDrawConfig,{}),t===DrawType.Shape&&jsx(ShapeDrawConfig,{})]})},SvgBringforward=t=>react.exports.createElement("svg",{width:"36px",height:"36px",viewBox:"0 0 76 76",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",baseProfile:"full",enableBackground:"new 0 0 76.00 76.00",xmlSpace:"preserve",fill:"#66CC89",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fill:"#66CC89",fillOpacity:1,strokeWidth:.2,strokeLinejoin:"round",d:"M 58.5835,58.5836L 53.0417,58.5836L 58.5835,53.0418L 58.5835,58.5836 Z M 34.0418,52.2504L 30.0836,56.2086L 30.0836,52.2503L 34.0418,52.2504 Z M 41.9584,52.2504L 35.6253,58.5835L 30.0836,58.5835L 30.0833,57.7918L 35.6249,52.2504L 41.9584,52.2504 Z M 49.8746,52.2504L 43.5419,58.5835L 37.2085,58.5835L 43.5415,52.2504L 49.8746,52.2504 Z M 58.5835,45.1241L 58.5835,51.4587L 51.4586,58.5835L 45.125,58.5835L 58.5835,45.1241 Z M 52.2504,34.0418L 52.2503,30.0835L 56.2087,30.0836L 52.2504,34.0418 Z M 58.5835,35.6253L 52.2504,41.9584L 52.2504,35.6249L 57.7918,30.0833L 58.5835,30.0836L 58.5835,35.6253 Z M 58.5835,43.541L 52.2504,49.8745L 52.2504,43.5415L 58.5835,37.2084L 58.5835,43.541 Z M 19,50.6667L 19,19L 50.6667,19L 50.6671,50.6661L 19,50.6667 Z "}))),SvgSendbackward=t=>react.exports.createElement("svg",{width:"36px",height:"36px",viewBox:"0 0 76 76",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",baseProfile:"full",enableBackground:"new 0 0 76.00 76.00",xmlSpace:"preserve",fill:"#66CC89",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fill:"#66CC89",fillOpacity:1,strokeWidth:.2,strokeLinejoin:"round",d:"M 19,50.6667L 19,19L 50.6667,19L 50.6668,28.5003L 28.5,28.5002L 28.5,50.6667L 19,50.6667 Z M 58.5835,58.5836L 53.0415,58.5833L 58.5833,53.0416L 58.5835,58.5836 Z M 58.5833,45.1249L 58.5833,51.4585L 51.4584,58.5833L 45.1249,58.5833L 58.5833,45.1249 Z M 58.5833,35.6251L 35.6251,58.5834L 30.0833,58.5834L 30.0833,57.7918L 57.7918,30.0834L 58.5835,30.0836L 58.5833,35.6251 Z M 58.5833,43.5418L 43.5418,58.5833L 37.2082,58.5833L 58.5833,37.2082L 58.5833,43.5418 Z M 56.2084,30.0833L 30.0833,56.2085L 30.0833,49.8749L 49.8749,30.0834L 56.2084,30.0833 Z M 48.2918,30.0834L 30.0833,48.2918L 30.0833,41.9582L 41.9582,30.0834L 48.2918,30.0834 Z M 40.3751,30.0833L 30.0833,40.3751L 30.0833,34.0416L 34.0415,30.0833L 40.3751,30.0833 Z "}))),SvgBringtofront=t=>react.exports.createElement("svg",{width:"36px",height:"36px",viewBox:"0 0 76 76",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",baseProfile:"full",enableBackground:"new 0 0 76.00 76.00",xmlSpace:"preserve",fill:"#66CC89",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fill:"#66CC89",fillOpacity:1,strokeWidth:.2,strokeLinejoin:"round",d:"M 50.6667,25.3333L 50.6667,50.6667L 25.3333,50.6667L 25.3333,25.3333L 50.6667,25.3333 Z M 17.4169,17.417L 19.7919,17.417L 17.4169,19.7921L 17.4169,17.417 Z M 27.7088,17.417L 17.4168,27.709L 17.4168,21.3752L 21.3751,17.417L 27.7088,17.417 Z M 36.417,18.6045L 36.4168,23.7503L 30.8754,23.7503L 36.0213,18.6045L 36.417,18.6045 Z M 18.6043,36.4173L 18.6043,36.0216L 23.7502,30.8755L 23.7502,36.417L 18.6043,36.4173 Z M 17.4168,29.2924L 29.2919,17.417L 35.6255,17.417L 29.2922,23.7503L 23.7502,23.7503L 23.7502,29.2923L 17.4168,35.6257L 17.4168,29.2924 Z M 58.5833,58.5833L 56.2082,58.5833L 58.5833,56.2082L 58.5833,58.5833 Z M 48.2914,58.5833L 58.5833,48.2913L 58.5833,54.6251L 54.6251,58.5833L 48.2914,58.5833 Z M 39.5832,57.3958L 39.5833,52.25L 45.1248,52.25L 39.9788,57.3958L 39.5832,57.3958 Z M 57.3959,39.583L 57.3959,39.9787L 52.25,45.1248L 52.25,39.5833L 57.3959,39.583 Z M 58.5833,46.708L 46.7082,58.5833L 40.3747,58.5833L 46.708,52.25L 52.25,52.25L 52.25,46.708L 58.5833,40.3746L 58.5833,46.708 Z "}))),SvgSendtoback=t=>react.exports.createElement("svg",{width:"36px",height:"36px",viewBox:"0 0 76 76",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",baseProfile:"full",enableBackground:"new 0 0 76.00 76.00",xmlSpace:"preserve",fill:"#66CC89",stroke:"#66CC89",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fill:"#66CC89",fillOpacity:1,strokeWidth:.2,strokeLinejoin:"round",d:"M 50.6667,25.3333L 50.6667,41.1667L 41.1667,41.1667L 41.1667,50.6667L 25.3333,50.6667L 25.3333,34.8333L 34.8333,34.8333L 34.8333,25.3333L 50.6667,25.3333 Z M 14.25,14.25L 16.6251,14.25L 14.25,16.6251L 14.25,14.25 Z M 24.542,14.2501L 14.25,24.5421L 14.25,18.2083L 18.2082,14.25L 24.542,14.2501 Z M 15.0415,33.2503L 33.25,15.0419L 33.2499,21.3759L 21.3751,33.2503L 15.0415,33.2503 Z M 14.25,26.1254L 26.1251,14.25L 32.4586,14.25L 14.25,32.4587L 14.25,26.1254 Z M 22.9584,33.2503L 33.25,22.9585L 33.25,29.2918L 29.2922,33.2503L 22.9584,33.2503 Z M 61.75,61.75L 59.3749,61.75L 61.75,59.3749L 61.75,61.75 Z M 51.458,61.75L 61.75,51.458L 61.75,57.7918L 57.7918,61.75L 51.458,61.75 Z M 60.9584,42.7497L 42.75,60.9581L 42.75,54.6241L 54.6249,42.7497L 60.9584,42.7497 Z M 61.75,49.8746L 49.8749,61.75L 43.5414,61.75L 61.75,43.5413L 61.75,49.8746 Z M 53.0415,42.7497L 42.75,53.0415L 42.75,46.7082L 46.7078,42.7497L 53.0415,42.7497 Z "}))),LayerConfig=()=>{const{t}=useTranslation();return jsxs(Fragment,{children:[jsx("div",{className:"font-bold font-fredokaOne mt-3 text-sm",children:t("title.layer")}),jsxs("ul",{className:"menu menu-vertical lg:menu-horizontal bg-base-100 rounded-box mt-1 w-max",style:{display:"inline-grid"},children:[jsx("li",{children:jsx("a",{className:"px-1.5 py-1",onClick:()=>paintBoard.bringForWard(),children:jsx(SvgBringforward,{})})}),jsx("li",{children:jsx("a",{className:"px-1.5 py-1",onClick:()=>paintBoard.seendBackWard(),children:jsx(SvgSendbackward,{})})}),jsx("li",{children:jsx("a",{className:"px-1.5 py-1",onClick:()=>paintBoard.bringToFront(),children:jsx(SvgBringtofront,{})})}),jsx("li",{children:jsx("a",{className:"px-1.5 py-1",onClick:()=>paintBoard.sendToBack(),children:jsx(SvgSendtoback,{})})})]})]})},SelectConfig=()=>{var a;const[t,e]=react.exports.useState(0);return react.exports.useEffect(()=>{const r=()=>e(s=>s+1);return paintBoard.addHookFn(r),()=>{paintBoard.removeHookFn(r)}},[e]),jsx("div",{className:"form-control",children:((a=paintBoard.canvas)==null?void 0:a.getActiveObject())&&jsx(LayerConfig,{})})},Slider=t=>{const e=react.exports.useRef(null),a=react.exports.useRef({slSize:0,slHeight:100}),{value:r,min:s,max:o,updateValue:n,height:i}=t,[c,d]=react.exports.useState(r?r/(o||(100-s?s:0))*100:0),[h,p]=react.exports.useState(200);return react.exports.useEffect(()=>{a.slSize=c;let f=o||(100-s?s:0);f=Math.round(f/100*c),f=f<(s||0)?s||0:f,n(f)},[c]),react.exports.useEffect(()=>{a.slHeight=h},[h]),react.exports.useEffect(()=>{var m;const f=w=>{const g=w.clientY+a.slSize/100*a.slHeight,S=k=>{let x=g-k.clientY;x=x/a.slHeight*100,x=x<0?0:x,x=x>100?100:x,d(x)},b=()=>{document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",b)};document.addEventListener("mousemove",S),document.addEventListener("mouseup",b)};(m=e.current)==null||m.addEventListener("mousedown",f);let u=o||(100-s?s:0);return d(r?r/u*100:0),i&&p(i),()=>{var w;(w=e.current)==null||w.removeEventListener("mousedown",f)}},[]),jsxs("div",{className:"el-slider__runway",style:{height:h+"px",width:"6px"},children:[jsx("div",{className:"el-slider__bar",style:{height:c+"%",bottom:"0%",width:"6px"}}),jsx("div",{ref:e,tabIndex:0,className:"el-slider__button-wrapper",style:{bottom:c+"%"},children:jsx("div",{className:"el-tooltip el-slider__button","aria-describedby":"el-tooltip-6541",tabIndex:0})})]})},CanvasSizeConfig=()=>{const{canvasWidth:t,canvasHeight:e,updateCanvasWidth:a,updateCanvasHeight:r}=useBoardStore(),{t:s}=useTranslation(),o=i=>{a(i/100)},n=i=>{r(i/100)};return jsxs("div",{className:"form-control mt-3",children:[jsx("div",{className:"font-bold font-fredokaOne text-sm",children:s("title.canvasSize")}),jsxs("div",{className:"mt-1 flex items-center w-full",style:{display:"inline-grid"},children:[jsx("div",{className:"text-sm font-fredokaOne w-12 mr-2 shrink-0",children:s("canvasSize.width")}),jsx("div",{className:"text-sm font-fredokaOne mr-2 text-primary-focus w-9 shrink-0",children:(t*100).toFixed(0)+"%"}),jsx(Slider,{min:1,max:45,height:150,value:t*100,updateValue:o})]}),jsxs("div",{className:"mt-1 flex items-center w-full",style:{display:"inline-grid"},children:[jsx("div",{className:"text-sm font-fredokaOne w-12 mr-2 shrink-0",children:s("canvasSize.height")}),jsx("div",{className:"text-sm font-fredokaOne mr-2 text-primary-focus w-9 shrink-0",children:(e*100).toFixed(0)+"%"}),jsx(Slider,{min:1,max:100,height:150,value:e*100,updateValue:n})]})]})},boardConfig$2=()=>jsx(Fragment,{children:jsx(CanvasSizeConfig,{})}),DrawAIConfig=()=>{const{openAutoDraw:t,updateAutoDrawState:e}=useDrawStore(),{t:a}=useTranslation();return jsx("div",{className:"form-control mt-3",children:jsxs("div",{className:"mt-1 flex items-start w-full",children:[jsx("div",{className:"font-fredokaOne text-sm",children:a("title.AI")}),jsx("input",{style:{marginLeft:"10px"},type:"checkbox",className:"toggle toggle-success toggle-sm",checked:t,onChange:e})]})})},SvgClose=t=>react.exports.createElement("svg",{className:"{className} ",xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 512 512",...t},react.exports.createElement("path",{d:"M64,384H448V341.33H64Zm0-106.67H448V234.67H64ZM64,128v42.67H448V128Z"})),SvgMenu=t=>react.exports.createElement("svg",{className:"{className} ",xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 512 512",...t},react.exports.createElement("polygon",{points:"400 145.49 366.51 112 256 222.51 145.49 112 112 145.49 222.51 256 112 366.51 145.49 400 256 289.49 366.51 400 400 366.51 289.49 256 400 145.49"})),ToolPanel=()=>{const{t}=useTranslation(),{mode:e,updateMode:a}=useBoardStore(),[r,s]=react.exports.useState(!0);return jsxs("div",{className:`fixed top-8 left-4 flex flex-col card shadow-xl overflow-visible z-3 bg-[#eef1ff] max-h-[90%] max-w-[10%] ${r?"p-1":""}`,style:{width:"5rem"},children:[jsxs("label",{className:"btn btn-circle swap swap-rotate absolute -top-7 left-2 h-8 w-8 min-h-0",children:[jsx("input",{type:"checkbox",onChange:()=>s(o=>!o)}),jsx(SvgClose,{className:"swap-on fill-current"}),jsx(SvgMenu,{className:"swap-off fill-current"})]}),r&&jsxs("div",{className:"max-h-[100%] overflow-y-auto noScrollbar",children:[jsx("div",{className:"tabs tabs-boxed bg-[#333C4D]",style:{display:"inline-grid"},children:modeSwitch.map(({type:o,text:n})=>jsx("a",{className:`tab tab-sm flex-grow font-fredokaOne text-white font-medium ${e===o?"tab-active":""}`,onClick:()=>{a(o)},children:t(n)},o))}),jsx(DrawAIConfig,{}),e===ActionMode.DRAW&&jsx(DrawConfig,{}),e===ActionMode.SELECT&&jsx(SelectConfig,{}),e===ActionMode.Board&&jsx(boardConfig$2,{})]})]})},SvgInfo=t=>react.exports.createElement("svg",{fill:"#65CC8A",width:"28px",height:"28px",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("title",null,"info1"),react.exports.createElement("path",{d:"M16 3c-7.18 0-13 5.82-13 13s5.82 13 13 13 13-5.82 13-13-5.82-13-13-13zM18.039 20.783c-0.981 1.473-1.979 2.608-3.658 2.608-1.146-0.187-1.617-1.008-1.369-1.845l2.16-7.154c0.053-0.175-0.035-0.362-0.195-0.419-0.159-0.056-0.471 0.151-0.741 0.447l-1.306 1.571c-0.035-0.264-0.004-0.7-0.004-0.876 0.981-1.473 2.593-2.635 3.686-2.635 1.039 0.106 1.531 0.937 1.35 1.85l-2.175 7.189c-0.029 0.162 0.057 0.327 0.204 0.379 0.16 0.056 0.496-0.151 0.767-0.447l1.305-1.57c0.035 0.264-0.024 0.726-0.024 0.902zM17.748 11.439c-0.826 0-1.496-0.602-1.496-1.488s0.67-1.487 1.496-1.487 1.496 0.602 1.496 1.487c0 0.887-0.67 1.488-1.496 1.488z"}))),SvgZh=t=>react.exports.createElement("svg",{className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":2917,width:30,height:30,...t},react.exports.createElement("path",{d:"M329.696785 539.274769H487.038091v-144.6129h-157.341306zM555.2065 539.274769H713.167338v-144.6129h-157.960838z",fill:"#231815","p-id":2918}),react.exports.createElement("path",{d:"M512 0C229.240454 0 0.000903 229.225101 0.000903 511.999097c0 282.761352 229.239551 512.000903 511.999097 512.000903 282.773995 0 511.997291-229.239551 511.997291-512.000903C1023.999097 229.225101 794.773995 0 512 0zM779.455475 603.700697H555.22998v210.967868h-68.193695V603.700697H263.435741V330.237747h223.60235V222.200726H555.231787v107.997284h224.223688v273.502687z",fill:"#231815","p-id":2919})),SvgEn=t=>react.exports.createElement("svg",{className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":2771,width:30,height:30,...t},react.exports.createElement("path",{d:"M511.998194 0C229.227811 0 0.000903 229.228714 0.000903 511.999097 0.000903 794.767674 229.227811 1023.998194 511.998194 1023.998194c282.772189 0 511.999097-229.23052 511.999097-511.999097C1023.999097 229.228714 794.772189 0 511.998194 0z m4.576952 727.549335H197.680437V308.279575h310.873302v70.908439H282.319732v92.982208H492.808952v70.657374H282.319732v114.062558h234.255414v70.659181z m310.871496 0h-80.351338v-155.002256c0-32.799081-1.726743-54.027541-5.129654-63.654674a44.564774 44.564774 0 0 0-16.761687-22.435012 47.702172 47.702172 0 0 0-27.891592-8.021407c-13.91509 0-26.35992 3.803891-37.450088 11.458636-11.057656 7.613202-18.670858 17.715369-22.731232 30.308309-4.10553 12.594746-6.153779 35.880486-6.153779 69.783166v137.565044h-80.353143V423.819618h74.641887v44.620767c26.506224-34.336171 59.852589-51.469939 100.080638-51.469939 17.756912 0 33.935191 3.184359 48.610699 9.547659 14.688151 6.413874 25.812637 14.536429 33.321078 24.457975 7.542759 9.921546 12.811492 21.159824 15.73395 33.75457 2.933295 12.594746 4.436067 30.602722 4.436067 54.074503l-0.001806 188.744182z",fill:"#231815","p-id":2772})),Mask=({show:t,clickMask:e,children:a})=>jsx("div",{className:`fixed top-0 left-0 right-0 bottom-0 bg-black z-10 bg-opacity-75 ${t?"block":"hidden"}`,onClick:e,children:jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-2/4 -translate-y-2/4",onClick:r=>r.stopPropagation(),children:a})}),swiper="",pagination="",guideInfoList=[{imageList:["/lam/getImage?type=file-store&&name=drawMode_freeStyle_1.3.0.png"],title:"FreeStyle",textList:["line1","line2","line3","line4","line5"]},{imageList:["/lam/getImage?type=file-store&&name=drawMode_shape_1.3.0.png"],title:"ShapeDraw",textList:["line1"]},{imageList:["/lam/getImage?type=file-store&&name=eraserMode_1.3.0.png"],title:"EraserMode",textList:["line1","line2"]},{imageList:["/lam/getImage?type=file-store&&name=selectMode_1.3.0.png"],title:"SelectMode",textList:["line1","line2","line3","line4","line5","line6"]},{imageList:["/lam/getImage?type=file-store&&name=boardMode_1.3.0.png"],title:"BoardMode",textList:["line1","line2","line3","line4"]},{imageList:["/lam/getImage?type=file-store&&name=borderConfig.png"],title:"BorderConfig",textList:["line1","line2","line3","line4"]},{imageList:["/lam/getImage?type=file-store&&name=files.png"],title:"FileConfig",textList:["line1"]}],GuideInfoSwiper=()=>{const{t}=useTranslation();return jsx(Swiper,{slidesPerView:1,spaceBetween:20,modules:[Pagination],pagination:{dynamicBullets:!0,clickable:!0},autoHeight:!0,grabCursor:!0,className:"max-w-[500px] xs:max-w-[80vw]",children:guideInfoList.map((e,a)=>jsx(SwiperSlide,{children:jsx("div",{className:"max-h-[50vh] overflow-y-auto",children:jsxs("div",{className:"flex w-full rounded-2xl p-3 bg-[#66CC8920] box-border justify-between",children:[jsx("div",{className:"shrink-0 w-[49%] flex flex-col items-center justify-start",children:e.imageList.map((r,s)=>jsx("img",{className:"max-w-full max-h-full rounded-2xl mt-5 first:mt-0",src:r},s))}),jsxs("div",{className:"w-[48%] shrink-0 p-3 rounded-2xl bg-[#eef1ff] box-border h-max",children:[jsx("div",{className:"text-lg font-fredokaOne",children:e.title}),e.textList.map((r,s)=>jsxs("div",{className:"text-sm mt-3",children:[s+1,". ",t(`info.${e.title}.${r}`)]},s))]})]})})},a))})},GuideInfo=()=>{const{t,i18n:e}=useTranslation(),{language:a,updateLanguage:r}=useBoardStore(),[s,o]=react.exports.useState(!1),n=()=>{const i=a==="en"?"zh":"en";e.changeLanguage(i),r(i)};return jsxs(Fragment,{children:[jsx("div",{className:"fixed bottom-5 left-5 flex flex-row justify-center items-center px-2.5 py-1.5 rounded-full bg-[#eef1ff]",children:jsx(SvgInfo,{className:"bg-white rounded-full cursor-pointer",onClick:()=>o(!0)})}),jsx(Mask,{show:s,clickMask:()=>{o(!1)},children:jsxs("div",{className:"flex flex-col bg-white rounded-2xl overflow-hidden p-3 max-h-[80vh]",children:[jsxs("div",{className:"flex items-center justify-between font-bold mb-4 ",children:[jsx("div",{className:"text-sm",style:{textAlign:"center",width:"100%"},children:t("info.welecome")}),jsx("span",{className:"ml-5 cursor-pointer border-solid border-4 border-[#7b8fa1] rounded-full hover:border-[#567189] flex items-center justify-center",onClick:n,children:a==="en"?jsx(SvgEn,{}):jsx(SvgZh,{})})]}),jsx(GuideInfoSwiper,{})]})})]})},userStore=create((t,e)=>({userId:"",outputImages:[],autoTask:!1,updateUserId(a){e().userId!=a&&t({userId:a,outputImages:[]})},updateoutputImages(a){const r=[...e().outputImages],s=r.findIndex(o=>o===a);console.log(r[0],a),r[0]==a||(s!==-1?r.splice(s,1):r.unshift(a)),t({outputImages:r})},clearOutputImages(){t({outputImages:[]})},updateAutoTask(a){t({autoTask:a})}})),COMFY_UI_LOCALHOST=window.location.host,COMFY_UI_BASE_URL="http://"+COMFY_UI_LOCALHOST,COMFY_UI_GET_COMMANDS=COMFY_UI_BASE_URL+"/wechatauth/getCommands",COMFY_UI_ADD_TASK=COMFY_UI_BASE_URL+"/wechatauth/addTask",COMFY_UI_GET_HISTORYS=COMFY_UI_BASE_URL+"/wechatauth/getHistorys",COMFY_UI_GET_HISTORY=COMFY_UI_BASE_URL+"/history/",COMFY_UI_UPLOAD=COMFY_UI_BASE_URL+"/upload/image",COMFY_UI_IMAGE_URL=COMFY_UI_BASE_URL+"/view?",COMFY_UI_GET_USER_ID=COMFY_UI_BASE_URL+"/wechatauth/getUserOpenId",COMFY_UI_GET_QR_CODE_URL=COMFY_UI_BASE_URL+"/wechatauth/getQrCodeUrl",COMFY_UI_SOCKET_URL="ws://"+COMFY_UI_LOCALHOST+"/ws?clientId=",getCommands=async()=>{const t=await axios.get(COMFY_UI_GET_COMMANDS+"?type=paint-board");return t==null?void 0:t.data},getQrCodeUrl=async()=>{const t=await axios.get(COMFY_UI_GET_QR_CODE_URL);return t==null?void 0:t.data},getHistorys=async t=>{const e=await axios.get(COMFY_UI_GET_HISTORYS+"?openId="+t+"&type=paint-board");return e==null?void 0:e.data},getHistory=async t=>{const e=await axios.get(COMFY_UI_GET_HISTORY+t);return e==null?void 0:e.data},uploadImage=async t=>{try{let e=new FormData;e.append("image",t,t.name),e.append("overwrite","true"),e.append("type","input");const a=await axios.post(COMFY_UI_UPLOAD,e);return a==null?void 0:a.data}catch(e){return console.log(e),null}},addTask=async t=>{try{let e=new FormData;for(const r in t)if(Object.hasOwnProperty.call(t,r)){const s=t[r];s&&e.append(r,s)}const a=await axios.post(COMFY_UI_ADD_TASK,e);return a==null?void 0:a.data}catch(e){return console.log(e),null}},getUserOpenId=async t=>{try{let e=new FormData;for(const r in t)if(Object.hasOwnProperty.call(t,r)){const s=t[r];s&&e.append(r,s)}const a=await axios.post(COMFY_UI_GET_USER_ID,e);return a==null?void 0:a.data}catch(e){return console.log(e),null}},Authorize=()=>{const{t,i18n:e}=useTranslation(),{userId:a,updateUserId:r}=userStore(),[s,o]=react.exports.useState(t("authorize.title")),[n,i]=react.exports.useState(""),[c,d]=react.exports.useState(""),h=async()=>{let u=await getUserOpenId({code:n});u.success?(r(u.openId),"pywebview"in window&&pywebview.api.setOpenId(u.openId)):o("\u6388\u6743\u7801\u6821\u9A8C\u5931\u8D25\uFF0C\u8BF7\u5148\u626B\u7801\u5173\u6CE8\u83B7\u53D6\u6388\u6743\u7801\uFF01")},p=async()=>{let u=await getQrCodeUrl();u.success&&d(u.qrcodeUrl)};return react.exports.useEffect(()=>{a||p()},[]),jsx(Fragment,{children:jsx(Mask,{show:!a,clickMask:()=>{},children:jsxs("div",{className:"flex flex-col bg-white rounded-2xl overflow-hidden p-3 max-h-[80vh]",children:[jsx("div",{className:"flex items-center justify-between font-bold mb-4 ",children:jsx("div",{className:"text-sm",style:{textAlign:"center",width:"100%"},children:s})}),jsx("img",{src:c}),jsx("input",{placeholder:"\u8F93\u5165\u6388\u6743\u7801",value:n,name:"code",onChange:u=>{const{name:m,value:w}=u.target;m=="code"&&i(w)}}),jsx("button",{style:{color:"red"},onClick:h,children:"\u786E\u5B9A"})]})})})},CleanModal=()=>{const{t}=useTranslation(),e=()=>{var a;(a=paintBoard.history)==null||a.clean()};return jsxs(Fragment,{children:[jsx("input",{type:"checkbox",id:"clean-modal",className:"modal-toggle"}),jsx("label",{htmlFor:"clean-modal",className:"modal cursor-pointer",children:jsxs("label",{className:"modal-box relative flex flex-col justify-center items-center",htmlFor:"",children:[jsx("h3",{className:"text-lg font-bold text-center",children:t("cleanModal.title")}),jsxs("div",{className:"w-64 flex justify-between mt-10",children:[jsx("label",{htmlFor:"clean-modal",className:"btn btn-active btn-primary btn-md w-2/5",onClick:e,children:t("cleanModal.confirm")}),jsx("label",{htmlFor:"clean-modal",className:"btn btn-active btn-ghost btn-md w-2/5",children:t("cleanModal.cancel")})]})]})})]})},SvgUndo=t=>react.exports.createElement("svg",{className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":6082,width:26,height:26,...t},react.exports.createElement("path",{d:"M553.510259 201.860177c-312.055513 53.779187-655.249802 337.402216-45.768564 793.695176C283.646139 771.440335 83.62989 414.41051 555.277559 433.448208l1.201715 162.84822 297.307743-261.013025L552.261108 30.273979 553.510259 201.860177 553.510259 201.860177zM553.510259 201.860177","p-id":6083,fill:"#65CC8A"})),SvgRedo=t=>react.exports.createElement("svg",{className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":6082,width:26,height:26,...t},react.exports.createElement("path",{d:"M553.510259 201.860177c-312.055513 53.779187-655.249802 337.402216-45.768564 793.695176C283.646139 771.440335 83.62989 414.41051 555.277559 433.448208l1.201715 162.84822 297.307743-261.013025L552.261108 30.273979 553.510259 201.860177 553.510259 201.860177zM553.510259 201.860177","p-id":6083,fill:"#65CC8A"})),SvgSave=t=>react.exports.createElement("svg",{width:"28px",height:"28px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"System / Save"},react.exports.createElement("path",{id:"Vector",d:"M17 21.0002L7 21M17 21.0002L17.8031 21C18.921 21 19.48 21 19.9074 20.7822C20.2837 20.5905 20.5905 20.2843 20.7822 19.908C21 19.4806 21 18.921 21 17.8031V9.21955C21 8.77072 21 8.54521 20.9521 8.33105C20.9095 8.14 20.8393 7.95652 20.7432 7.78595C20.6366 7.59674 20.487 7.43055 20.1929 7.10378L17.4377 4.04241C17.0969 3.66374 16.9242 3.47181 16.7168 3.33398C16.5303 3.21 16.3242 3.11858 16.1073 3.06287C15.8625 3 15.5998 3 15.075 3H6.2002C5.08009 3 4.51962 3 4.0918 3.21799C3.71547 3.40973 3.40973 3.71547 3.21799 4.0918C3 4.51962 3 5.08009 3 6.2002V17.8002C3 18.9203 3 19.4796 3.21799 19.9074C3.40973 20.2837 3.71547 20.5905 4.0918 20.7822C4.5192 21 5.07899 21 6.19691 21H7M17 21.0002V17.1969C17 16.079 17 15.5192 16.7822 15.0918C16.5905 14.7155 16.2837 14.4097 15.9074 14.218C15.4796 14 14.9203 14 13.8002 14H10.2002C9.08009 14 8.51962 14 8.0918 14.218C7.71547 14.4097 7.40973 14.7155 7.21799 15.0918C7 15.5196 7 16.0801 7 17.2002V21M15 7H9",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgClean=t=>react.exports.createElement("svg",{t:1702137196077,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":4092,xmlnsXlink:"http://www.w3.org/1999/xlink",width:26,height:26,...t},react.exports.createElement("path",{d:"M512 0a170.666667 170.666667 0 0 1 170.569143 164.815238L682.666667 170.666667v146.285714h146.285714a146.285714 146.285714 0 0 1 146.18819 140.8L975.238095 463.238095v24.380953a146.334476 146.334476 0 0 1-97.523809 137.947428V877.714286a146.285714 146.285714 0 0 1-140.8 146.18819L731.428571 1024H292.571429a146.285714 146.285714 0 0 1-146.188191-140.8L146.285714 877.714286V625.590857a146.358857 146.358857 0 0 1-97.426285-132.486095L48.761905 487.619048v-24.380953a146.285714 146.285714 0 0 1 140.8-146.18819L195.047619 316.952381h146.285714V170.666667A170.666667 170.666667 0 0 1 506.148571 0.097524L512 0z m268.190476 633.904762H243.809524v243.809524a48.761905 48.761905 0 0 0 41.374476 48.201143l3.754667 0.438857L292.571429 926.47619h24.380952v-46.567619a48.761905 48.761905 0 1 1 97.523809 0V926.47619l48.761905 0.024381v-133.022476a48.761905 48.761905 0 1 1 97.52381 0V926.47619h48.761905v-219.428571a48.761905 48.761905 0 1 1 97.523809 0v219.428571h24.380952a48.761905 48.761905 0 0 0 48.64-45.104761L780.190476 877.714286V633.904762z m48.761905-219.428572H195.047619a48.761905 48.761905 0 0 0-48.64 45.104762L146.285714 463.238095v24.380953a48.761905 48.761905 0 0 0 45.104762 48.64L195.047619 536.380952h633.904762a48.761905 48.761905 0 0 0 48.64-45.104762L877.714286 487.619048v-24.380953a48.761905 48.761905 0 0 0-48.761905-48.761905zM512 97.52381a73.142857 73.142857 0 0 0-73.020952 68.851809L438.857143 170.666667v146.285714h146.285714V170.666667a73.142857 73.142857 0 0 0-64.609524-72.655238l-4.242285-0.365715L512 97.52381z",fill:"#65CC8A","p-id":4093})),SvgUpload=t=>react.exports.createElement("svg",{width:"28px",height:"28px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M13 4H8.8C7.11984 4 6.27976 4 5.63803 4.32698C5.07354 4.6146 4.6146 5.07354 4.32698 5.63803C4 6.27976 4 7.11984 4 8.8V15.2C4 16.8802 4 17.7202 4.32698 18.362C4.6146 18.9265 5.07354 19.3854 5.63803 19.673C6.27976 20 7.11984 20 8.8 20H15.2C16.8802 20 17.7202 20 18.362 19.673C18.9265 19.3854 19.3854 18.9265 19.673 18.362C20 17.7202 20 16.8802 20 15.2V11",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M4 16L8.29289 11.7071C8.68342 11.3166 9.31658 11.3166 9.70711 11.7071L13 15M13 15L15.7929 12.2071C16.1834 11.8166 16.8166 11.8166 17.2071 12.2071L20 15M13 15L15.25 17.25",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M18 8V3M18 3L16 5M18 3L20 5",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgCopy=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M10.5 2.0028C9.82495 2.01194 9.4197 2.05103 9.09202 2.21799C8.71569 2.40973 8.40973 2.71569 8.21799 3.09202C8.05103 3.4197 8.01194 3.82495 8.0028 4.5M19.5 2.0028C20.1751 2.01194 20.5803 2.05103 20.908 2.21799C21.2843 2.40973 21.5903 2.71569 21.782 3.09202C21.949 3.4197 21.9881 3.82494 21.9972 4.49999M21.9972 13.5C21.9881 14.175 21.949 14.5803 21.782 14.908C21.5903 15.2843 21.2843 15.5903 20.908 15.782C20.5803 15.949 20.1751 15.9881 19.5 15.9972M22 7.99999V9.99999M14.0001 2H16M5.2 22H12.8C13.9201 22 14.4802 22 14.908 21.782C15.2843 21.5903 15.5903 21.2843 15.782 20.908C16 20.4802 16 19.9201 16 18.8V11.2C16 10.0799 16 9.51984 15.782 9.09202C15.5903 8.71569 15.2843 8.40973 14.908 8.21799C14.4802 8 13.9201 8 12.8 8H5.2C4.0799 8 3.51984 8 3.09202 8.21799C2.71569 8.40973 2.40973 8.71569 2.21799 9.09202C2 9.51984 2 10.0799 2 11.2V18.8C2 19.9201 2 20.4802 2.21799 20.908C2.40973 21.2843 2.71569 21.5903 3.09202 21.782C3.51984 22 4.07989 22 5.2 22Z",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgText=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M3.5 3.5C3.5 2.94772 3.94772 2.5 4.5 2.5H19.5C20.0523 2.5 20.5 2.94772 20.5 3.5V6.5C20.5 7.05228 20.0523 7.5 19.5 7.5H18.5C17.9477 7.5 17.5 7.05228 17.5 6.5V5.5H13.5V18.5H15.5C16.0523 18.5 16.5 18.9477 16.5 19.5V20.5C16.5 21.0523 16.0523 21.5 15.5 21.5H8.5C7.94772 21.5 7.5 21.0523 7.5 20.5V19.5C7.5 18.9477 7.94772 18.5 8.5 18.5H10.5V5.5H6.5V6.5C6.5 7.05228 6.05228 7.5 5.5 7.5H4.5C3.94772 7.5 3.5 7.05228 3.5 6.5V3.5Z",fill:"#65CC8A"}))),SvgDelete=t=>react.exports.createElement("svg",{width:"28px",height:"28px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M10 11V17",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M14 11V17",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M4 7H20",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M6 7H12H18V18C18 19.6569 16.6569 21 15 21H9C7.34315 21 6 19.6569 6 18V7Z",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M9 5C9 3.89543 9.89543 3 11 3H13C14.1046 3 15 3.89543 15 5V7H9V5Z",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgFileList=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("rect",{x:4,y:4,width:16,height:18,rx:3,stroke:"#65CC8A",strokeWidth:2}),react.exports.createElement("path",{d:"M16 10L8 10",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round"}),react.exports.createElement("path",{d:"M16 13L8 13",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round"}),react.exports.createElement("path",{d:"M16 16L8 16",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round"}))),SvgAddFile=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"Edit / Add_Plus_Square"},react.exports.createElement("path",{id:"Vector",d:"M8 12H12M12 12H16M12 12V16M12 12V8M4 16.8002V7.2002C4 6.08009 4 5.51962 4.21799 5.0918C4.40973 4.71547 4.71547 4.40973 5.0918 4.21799C5.51962 4 6.08009 4 7.2002 4H16.8002C17.9203 4 18.4801 4 18.9079 4.21799C19.2842 4.40973 19.5905 4.71547 19.7822 5.0918C20.0002 5.51962 20.0002 6.07967 20.0002 7.19978V16.7998C20.0002 17.9199 20.0002 18.48 19.7822 18.9078C19.5905 19.2841 19.2842 19.5905 18.9079 19.7822C18.4805 20 17.9215 20 16.8036 20H7.19691C6.07899 20 5.5192 20 5.0918 19.7822C4.71547 19.5905 4.40973 19.2842 4.21799 18.9079C4 18.4801 4 17.9203 4 16.8002Z",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgRemoveFile=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"Edit / Add_Minus_Square"},react.exports.createElement("path",{id:"Vector",d:"M8 12H16M4 16.8002V7.2002C4 6.08009 4 5.51962 4.21799 5.0918C4.40973 4.71547 4.71547 4.40973 5.0918 4.21799C5.51962 4 6.08009 4 7.2002 4H16.8002C17.9203 4 18.4801 4 18.9079 4.21799C19.2842 4.40973 19.5905 4.71547 19.7822 5.0918C20.0002 5.51962 20.0002 6.07967 20.0002 7.19978V16.7998C20.0002 17.9199 20.0002 18.48 19.7822 18.9078C19.5905 19.2841 19.2842 19.5905 18.9079 19.7822C18.4805 20 17.9215 20 16.8036 20H7.19691C6.07899 20 5.5192 20 5.0918 19.7822C4.71547 19.5905 4.40973 19.2842 4.21799 18.9079C4 18.4801 4 17.9203 4 16.8002Z",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgExportFile=t=>react.exports.createElement("svg",{fill:"#65CC8A",width:"64px",height:"64px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M11 16h2V7h3l-4-5-4 5h3z"}),react.exports.createElement("path",{d:"M5 22h14c1.103 0 2-.897 2-2v-9c0-1.103-.897-2-2-2h-4v2h4v9H5v-9h4V9H5c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2z"}))),SvgImportFile=t=>react.exports.createElement("svg",{fill:"#65CC8A",width:"64px",height:"64px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"m12 18 4-5h-3V2h-2v11H8z"}),react.exports.createElement("path",{d:"M19 9h-4v2h4v9H5v-9h4V9H5c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-9c0-1.103-.897-2-2-2z"}))),Toast=({message:t})=>{const{t:e}=useTranslation();return jsx("div",{className:"toast toast-top toast-center",children:jsx("div",{className:"alert alert-success",children:jsx("div",{children:jsx("span",{className:"whitespace-nowrap",children:e(t)})})})})},FileList=({updateShow:t})=>{const{files:e,currentId:a,updateCurrentFile:r,updateTitle:s,addFile:o,saveJSON:n,uploadFile:i}=useFileStore(),{updateMode:c}=useBoardStore(),[d,h]=react.exports.useState(!1),p=u=>{r(u),paintBoard.initCanvasStorage(),c(ActionMode.DRAW)},f=u=>{i(u).then(m=>{m?(paintBoard.initCanvasStorage(),c(ActionMode.DRAW)):(h(!0),setTimeout(()=>{h(!1)},1500))})};return jsxs("div",{className:"drawer drawer-end fixed top-0 z-[1]",children:[jsx("input",{id:"my-drawer-4",type:"checkbox",className:"drawer-toggle"}),jsxs("div",{className:"drawer-side",children:[jsx("label",{htmlFor:"my-drawer-4",className:"drawer-overlay",onClick:()=>t(!1)}),jsxs("div",{className:"h-screen bg-white px-5 py-7 overflow-hidden max-w-[80%]",children:[jsx("div",{className:"font-fredokaOne text-2xl text-center",children:"PAINT-BOARD FILES"}),jsxs("div",{className:"bg-[#eef1ff] rounded-2xl mt-5 py-2 w-max max-w-full",children:[jsxs("div",{className:"flex justify-end items-center px-4 pb-2",children:[jsx(SvgAddFile,{className:"hover:bg-slate-200 cursor-pointer p-1 rounded-lg w-9 h-9",onClick:o}),jsx("label",{htmlFor:"delete-file-modal",children:jsx(SvgRemoveFile,{className:"hover:bg-slate-200 cursor-pointer p-1 rounded-lg w-9 h-9"})}),jsx(SvgExportFile,{className:"hover:bg-slate-200 cursor-pointer p-1 rounded-lg w-9 h-9",onClick:n}),jsx("label",{htmlFor:"file-upload",className:"cursor-pointer",children:jsx(SvgImportFile,{className:"hover:bg-slate-200 cursor-pointer p-1 rounded-lg w-9 h-9"})}),jsx("input",{type:"file",accept:"application/json",id:"file-upload",className:"hidden",onChange:u=>{var m;return f((m=u.target.files)==null?void 0:m[0])}})]}),jsx("ul",{className:"menu text-base-content my-2 mx-4 py-3 px-2 rounded-xl bg-white max-h-[70vh] xs:max-h-[40vh] overflow-y-auto noScrollbar flex-nowrap max-w-full",children:e.map(u=>jsx("li",{className:"my-1 block rounded-lg overflow-hidden",onClick:()=>p(u.id),children:jsx("a",{className:`${u.id===a?"active":""}`,children:jsx("input",{value:u.title,className:"px-2 max-w-full",onChange:m=>s(m.target.value,u.id)})})},u.id))})]})]})]}),d&&jsx(Toast,{message:"toast.uploadFileFail"})]})},DrawWidthConfig=()=>{useTranslation();const{drawWidth:t,updateDrawWidth:e}=useDrawStore(),{drawColors:a}=useDrawStore();return jsx("div",{children:jsxs("div",{className:"flex items-center",style:{margin:"0 1rem"},children:[jsx("div",{className:"text-lg font-fredokaOne mr-2 text-primary-focus",style:{color:a[0],width:"2rem"},children:t}),jsx("input",{type:"range",min:"5",max:"300",step:"1",value:t,className:"range range-primary range-xs",onChange:r=>e(Number(r.target.value))})]})})},EraserConfig=()=>{useTranslation();const{eraserWidth:t,updateEraserWidth:e}=useDrawStore();return jsx(Fragment,{children:jsx("div",{className:"",children:jsxs("div",{className:"flex items-center",style:{margin:"0 1rem"},children:[jsx("div",{className:"text-lg font-fredokaOne mr-2 text-primary-focus",style:{width:"2rem"},children:t}),jsx("input",{type:"range",min:"5",max:"300",step:"1",value:t,className:"range range-primary range-xs",onChange:a=>e(Number(a.target.value))})]})})})},BoardOperation=()=>{const{t}=useTranslation(),{mode:e}=useBoardStore(),[a,r]=react.exports.useState(!1),[s,o]=react.exports.useState(!0),n=()=>{paintBoard.copyObject()},i=()=>{paintBoard.deleteObject()},c=()=>{var u;(u=paintBoard.history)==null||u.undo()},d=()=>{var u;(u=paintBoard.history)==null||u.redo()},h=()=>{var u;(u=paintBoard.textElement)==null||u.loadText()},p=u=>{var g;const m=(g=u.target.files)==null?void 0:g[0];if(!m)return;const w=new FileReader;w.onload=S=>{var k;const b=(k=S.target)==null?void 0:k.result;b&&(console.log(b),b&&typeof b=="string"&&new ImageElement().addImage(b)),u.target.value=""},w.readAsDataURL(m)},f=()=>{paintBoard.saveImage()};return jsxs(Fragment,{children:[jsxs("div",{className:"fixed bottom-2 left-2/4 -translate-x-2/4 flex items-center bg-[#eef1ff] rounded-full xs:flex-col xs:right-5 xs:left-auto xs:translate-x-0 xs:justify-normal xs:max-h-[70vh] xs:overflow-y-auto xs:noScrollbar",children:[ActionMode.DRAW==e&&jsx(DrawWidthConfig,{}),e===ActionMode.ERASE&&jsx(EraserConfig,{}),s&&jsxs(Fragment,{children:[jsx("div",{onClick:c,className:"min-xs:tooltip cursor-pointer py-1.5 pl-3 pr-2 rounded-l-full hover:bg-slate-200 xs:pl-2 xs:rounded-l-none xs:rounded-t-full","data-tip":t("operate.undo"),children:jsx(SvgUndo,{className:"transform scale-x-[-1] scale-y-[1]"})}),jsx("div",{onClick:d,className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.redo"),children:jsx(SvgRedo,{})}),[ActionMode.SELECT,ActionMode.Board].includes(e)&&jsxs(Fragment,{children:[jsx("div",{onClick:n,className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.copy"),children:jsx(SvgCopy,{})}),jsx("div",{onClick:i,className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.delete"),children:jsx(SvgDelete,{})})]}),jsx("div",{"data-tip":t("operate.text"),className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200",onClick:h,children:jsx(SvgText,{})}),jsxs("div",{className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.image"),children:[jsx("label",{htmlFor:"image-upload",className:"cursor-pointer",children:jsx(SvgUpload,{})}),jsx("input",{type:"file",id:"image-upload",className:"hidden",onChange:p})]}),jsx("label",{htmlFor:"clean-modal",className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.clean"),children:jsx(SvgClean,{})}),jsx("div",{onClick:f,className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.save"),children:jsx(SvgSave,{})}),jsx("label",{htmlFor:"my-drawer-4",className:"min-xs:tooltip cursor-pointer py-1.5 pl-2 pr-3 rounded-r-full hover:bg-slate-200 xs:pr-2 xs:rounded-r-none xs:rounded-b-full","data-tip":t("operate.fileList"),onClick:()=>r(!0),children:jsx(SvgFileList,{})})]}),jsxs("label",{className:"btn btn-circle swap swap-rotate w-7 h-7 min-h-0 my-1.5 mx-2 min-xs:hidden",children:[jsx("input",{type:"checkbox",onChange:()=>o(u=>!u)}),jsx(SvgClose,{className:"swap-on fill-current"}),jsx(SvgMenu,{className:"swap-off fill-current"})]})]}),a&&jsx(FileList,{updateShow:r})]})},DeleteFileModal=()=>{const{t}=useTranslation(),{files:e,deleteFile:a}=useFileStore(),{updateMode:r}=useBoardStore(),s=()=>{e.length>1&&(a(),paintBoard.initCanvasStorage(),r(ActionMode.DRAW))};return jsxs(Fragment,{children:[jsx("input",{type:"checkbox",id:"delete-file-modal",className:"modal-toggle"}),jsx("label",{htmlFor:"delete-file-modal",className:"modal cursor-pointer",children:jsxs("label",{className:"modal-box relative flex flex-col justify-center items-center",htmlFor:"",children:[jsx("h3",{className:"text-lg font-bold text-center",children:t("deleteFileModal.title")}),jsxs("div",{className:"w-64 flex justify-between mt-10",children:[jsx("label",{htmlFor:"delete-file-modal",className:"btn btn-active btn-primary btn-md w-2/5",onClick:s,children:t("deleteFileModal.confirm")}),jsx("label",{htmlFor:"delete-file-modal",className:"btn btn-active btn-ghost btn-md w-2/5",children:t("deleteFileModal.cancel")})]})]})})]})},WebSocketContext=React.createContext(null),WebSocketProvider=({children:t})=>{const[e,a]=React.useState(null),{userId:r}=userStore();let s=react.exports.useRef(!1);React.useEffect(()=>{!s.current&&r&&o(COMFY_UI_SOCKET_URL+r)},[r]);const o=i=>{const c=new WebSocket(i);return a(c),c.onopen=()=>{console.log("WebSocket \u8FDE\u63A5\u6210\u529F"),s.current=!0},c.onerror=d=>{console.log("WebSocket \u8FDE\u63A5\u9519\u8BEF:",d)},c.onclose=()=>{console.log("WebSocket \u8FDE\u63A5\u65AD\u5F00"),s.current=!1,n(i)},()=>c.close()},n=i=>{console.log("WebSocket \u91CD\u8FDE",s.current),!s.current&&setTimeout(function(){o(i)},4e3)};return jsx(WebSocketContext.Provider,{value:e,children:t})},AutoDrawPanel=()=>{useTranslation();const[url,updateUrl]=react.exports.useState(""),[loading,updateLoading]=react.exports.useState(!1),[error,updateError]=react.exports.useState(!1),[sockError,updateSocketError]=react.exports.useState(!1),[queueRemaining,updateQueueRemaining]=react.exports.useState(0),[errorMsg,updateErrorMsg]=react.exports.useState(""),[commands,updateCommands]=react.exports.useState({}),[params,updateParams]=react.exports.useState([]),[userCommand,setUserCommand]=react.exports.useState({command:""}),{outputImages,updateoutputImages,clearOutputImages}=userStore(),{userId,updateUserId}=userStore(),{autoTask,updateAutoTask}=userStore(),[comLoading,updateComLoading]=react.exports.useState(!1),[hisLoading,updateHisLoading]=react.exports.useState(!1),{drawStyle,openAutoDraw}=useDrawStore(),[drawKey,updateDrawKey]=react.exports.useState(""),socket=react.exports.useContext(WebSocketContext);react.exports.useEffect(()=>{var t;(t=paintBoard.evnet)==null||t.clickEvent.changeInkHookFn(updateUrl)},[updateUrl]),react.exports.useEffect(()=>{autoTask&&url&&!loading&&addTaskClick()},[url]),react.exports.useEffect(()=>{if(socket){socket.onmessage=message=>{var t,e,a,r,s;if(message.data instanceof Blob)return;const messageJson=eval("("+message.data+")");if(messageJson.type!="crystools.monitor"){if(messageJson.type=="execution_error"){console.log(messageJson),updateErrorMsg("\u56FE\u7247\u751F\u6210\u5F02\u5E38\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458"),updateError(!0),updateLoading(!1),setTimeout(function(){updateError(!1)},3e3);return}else messageJson.type=="status"&&(e=(t=messageJson.data)==null?void 0:t.status)!=null&&e.exec_info&&updateQueueRemaining((s=(r=(a=messageJson.data)==null?void 0:a.status)==null?void 0:r.exec_info)==null?void 0:s.queue_remaining);console.log(messageJson),messageJson.type=="executing"&&!messageJson.data.node&&(getHistoryFun(messageJson.data.prompt_id),updateLoading(!1))}};const onopenFun=socket.onopen;socket.onopen=()=>{onopenFun(),getCommandsFun(),updateSocketError(!1)};const closeFun=socket.onclose;socket.onclose=()=>{closeFun(),updateErrorMsg("\u670D\u52A1\u5668\u8FDE\u63A5\u5F02\u5E38\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458"),updateSocketError(!0)}}},[socket]),react.exports.useEffect(()=>{Object.keys(commands).length===0&&!comLoading&&(updateComLoading(!0),getCommandsFun(),updateComLoading(!1))},[]);const getHistorysFun=async()=>{let t=userId;clearOutputImages(),updateHisLoading(!0);let e=await getHistorys(t);e=e.reverse();for(let n=0;n{const e=await getHistory(t);for(var a of Object.keys(e[t].outputs)){var r=e[t].outputs[a];if("images"in r)for(let s=0;s{try{const t=await getCommands();console.log(t),updateCommands(t),setUserParams(t[Object.keys(t)[0]].params,Object.keys(t)[0])}catch(t){console.log(t)}},setUserParams=async(t,e)=>{const a={};e&&(a.command=e);for(var r of Object.keys(t)){if("default"in t[r])if("type"in t[r]&&t[r].type=="number"&&"original"in t[r]){let s=t[r].original,o=t[r].max;s!=o?a[r+"_show"]=t[r].default/s*o:a[r+"_show"]=t[r].default,a[r]=t[r].default}else a[r]=t[r].default;else"options"in t[r]?a[r]=t[r].options[Object.keys(t[r].options)[0]]:a[r]="";t[r].type=="base64img"&&updateDrawKey(r)}setUserCommand(Object.assign(userCommand,a)),updateParams(t)},addTaskClick=async()=>{try{updateLoading(!0);const t=url?url.substring(22):paintBoard.getImage();let e=Object.assign({openId:userId},userCommand);drawKey?e[drawKey]=t:e.image=t;const a=await addTask(e);a.success||(updateErrorMsg(a.msg),updateError(!0),updateLoading(!1),setTimeout(function(){updateError(!1)},3e3))}catch(t){updateErrorMsg(t),updateError(!0),updateLoading(!1),setTimeout(function(){updateError(!1)},3e3)}},handleChange=t=>{const{name:e,value:a}=t.target;e=="command"&&setUserParams(commands[a].params);let r=parseFloat(t.target.getAttribute("original")),s=t.target.getAttribute("yname"),o=parseFloat(t.target.getAttribute("max")),n={};if(a>1&&r&&s&&o)if(r==o)n[s]=a;else{let i=Math.round(parseFloat(a)/o*r*100)/100;n[s]=i}else n[s]=a;setUserCommand({...Object.assign(userCommand,n),[e]:a})},delPanamsVal=t=>{setUserCommand({...userCommand,[t]:""})},uploadUIImage=async t=>{var o;const e=(o=t.target.files)==null?void 0:o[0];if(!e)return;const a=t.currentTarget.getAttribute("pname"),r=await uploadImage(e);console.log("\u4E0A\u4F20\u6587\u4EF6\uFF1A",r);const s=COMFY_UI_IMAGE_URL+"filename="+r.name+"&type="+r.type+"&subfolder="+r.subfolder;setUserCommand({...userCommand,[a]:s})};return jsx("div",{className:"fixed top-3 right-3 flex h-screen ",style:{display:openAutoDraw?"":"none",backgroundColor:"rgb(251 245 245 / 61%)"},children:jsxs("div",{className:"items-center text-center overflow-x-auto py-2 px-1 box-border rounded-2xl border border-solid border-[rgb(238 241 255)] bg-[#EEF1FF80]",style:{width:"10rem"},children:[(error||sockError)&&jsxs("div",{role:"alert",className:"alert alert-error",children:[jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"stroke-current shrink-0 h-6 w-6",fill:"none",viewBox:"0 0 24 24",children:jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"})}),jsxs("span",{children:["\u9519\u8BEF\uFF1A",errorMsg]})]}),loading&&jsxs("div",{role:"alert",className:"alert alert-success",children:[jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"stroke-current shrink-0 h-6 w-6",fill:"none",viewBox:"0 0 24 24",children:jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})}),jsx("span",{children:"\u63D0\u4EA4\u6210\u529F\u8BF7\u7B49\u5F85"})]}),jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:["\u4EFB\u52A1\u6570\u91CF\uFF1A",queueRemaining]})}),jsx("div",{className:"label",children:jsx("span",{className:"label-text",children:"\u81EA\u52A8\u7ED8\u753B\uFF1A"})}),jsx("div",{children:jsx("input",{type:"checkbox",className:"toggle toggle-success",onChange:()=>updateAutoTask(!autoTask),checked:autoTask})}),jsx("div",{className:"label",children:jsx("span",{className:"label-text",children:"\u7ED8\u753B\u6A21\u5F0F\uFF1A"})}),jsx("select",{className:"select select-success select-sm w-full max-w-xs",name:"command",value:userCommand.command,onChange:handleChange,children:Object.keys(commands).map((t,e)=>jsx("option",{children:t},e))}),Object.keys(params).map((t,e)=>"options"in params[t]?jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:[params[t].zhName,"\uFF1A"]})}),jsx("select",{className:"select select-success select-sm w-full max-w-xs",name:t,value:userCommand[t],onChange:handleChange,children:Object.keys(params[t].options).map((a,r)=>jsx("option",{value:params[t].options[a],children:a},r))})]},e):params[t].type=="customtext"||t=="prompt"||t=="negative"?jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:[params[t].zhName,"\uFF1A"]})}),jsx("textarea",{className:"textarea textarea-success textarea-sm h-45 ",style:{width:"100%",height:"9rem"},placeholder:params[t].zhName,name:t,value:userCommand[t],onChange:handleChange})]},e):"type"in params[t]&&(params[t].type=="number"||params[t].type=="slider")?jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:[params[t].zhName,"\uFF1A"]})}),jsx("div",{className:"text-lg font-fredokaOne mr-2 text-primary-focus",children:userCommand[t]}),jsx("input",{type:"range",min:params[t].min,max:params[t].max,step:params[t].step,name:t+"_show",yname:t,original:params[t].original,value:userCommand[t+"_show"],onChange:handleChange,className:"range range-primary range-xs cursor-pointer"})]},e):"type"in params[t]&&(params[t].type=="text"||params[t].type=="seed")?jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:[params[t].zhName,"\uFF1A"]})}),jsx("input",{type:"text",placeholder:params[t].zhName,name:t,value:userCommand[t],onChange:handleChange,className:"input input-bordered input-success input-sm w-full max-w-xs"})]},e):"type"in params[t]&¶ms[t].type=="image"?jsxs("div",{children:[jsx("div",{className:"label",children:jsx("span",{className:"label-text",children:"\u4EBA\u7269\u5934\u50CF\uFF1A"})}),jsxs("div",{className:"avatar",children:[userCommand[t]?jsx("div",{className:"w-24 rounded",children:jsx("img",{src:userCommand[t]})}):jsxs("div",{className:"bg-neutral text-neutral-content w-24",children:[jsx("label",{htmlFor:"image-upload-comfy"+t,className:"cursor-pointer ",children:jsx(SvgUpload,{style:{margin:"35%"}})}),jsx("input",{type:"file",id:"image-upload-comfy"+t,pname:t,className:"hidden",onChange:uploadUIImage})]}),userCommand[t]?jsx(SvgMenu,{className:"swap-on fill-current",onClick:()=>{delPanamsVal(t)}}):""]})]}):""),jsx("div",{className:"label"}),!autoTask&&jsx("button",{className:"btn btn-outline btn-success btn-sm",onClick:addTaskClick,disabled:loading,children:"AI\u521B\u610F\u5B9E\u73B0"}),!autoTask&&jsx("button",{className:"btn btn-outline btn-success btn-sm",onClick:getHistorysFun,disabled:loading,children:"\u67E5\u8BE2\u5386\u53F2"})]})]})})},SvgArrowLeft=t=>react.exports.createElement("svg",{fill:"#000000",width:"30px",height:"30px",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg",id:"memory-arrow-left-circle",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M12 16H10V15H9V14H8V13H7V12H6V10H7V9H8V8H9V7H10V6H12V8H11V9H10V10H16V12H10V13H11V14H12V16M15 21H7V20H5V19H4V18H3V17H2V15H1V7H2V5H3V4H4V3H5V2H7V1H15V2H17V3H18V4H19V5H20V7H21V15H20V17H19V18H18V19H17V20H15V21M16 17H17V16H18V14H19V8H18V6H17V5H16V4H14V3H8V4H6V5H5V6H4V8H3V14H4V16H5V17H6V18H8V19H14V18H16V17Z"}))),SvgArrowRight=t=>react.exports.createElement("svg",{fill:"#000000",width:"30px",height:"30px",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg",id:"memory-arrow-right-circle",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M7 1H15V2H17V3H18V4H19V5H20V7H21V15H20V17H19V18H18V19H17V20H15V21H7V20H5V19H4V18H3V17H2V15H1V7H2V5H3V4H4V3H5V2H7V1M6 5H5V6H4V8H3V14H4V16H5V17H6V18H8V19H14V18H16V17H17V16H18V14H19V8H18V6H17V5H16V4H14V3H8V4H6V5M10 6H12V7H13V8H14V9H15V10H16V12H15V13H14V14H13V15H12V16H10V14H11V13H12V12H6V10H12V9H11V8H10V6Z"}))),arrowLeft="_arrowLeft_1wio0_1",arrowRight="_arrowRight_1wio0_5",styles={arrowLeft,arrowRight},ViewImage=()=>{const{t}=useTranslation(),{outputImages:e,autoTask:a}=userStore(),[r,s]=react.exports.useState({url:"",status:0}),{mode:o,updateMode:n}=useBoardStore(),i=()=>{const p=document.getElementById("autodraw-scroll-container");p==null||p.scrollBy({left:-300,behavior:"smooth"})},c=()=>{const p=document.getElementById("autodraw-scroll-container");p==null||p.scrollBy({left:300,behavior:"smooth"})},d=(p,f)=>{f==1?s({url:p,status:f}):r.status==1&&r.url==p&&f==2&&(h(r.url,!1),s({url:"",status:0}),n(ActionMode.SELECT))},h=(p,f=!0)=>{var u=new XMLHttpRequest;u.open("GET",p,!0),u.responseType="blob",u.onload=function(){if(console.log(u),u.status===200){var m=u.response,w=new FileReader;w.onloadend=function(){var g=w.result;if(g&&typeof g=="string"){const S=new ImageElement;f?S.addTileImage(g):S.addImage(g)}},w.readAsDataURL(m)}},u.send()};return jsxs("div",{className:"fixed top-3 flex",style:{right:"24vw"},children:[jsx("div",{className:`absolute top-0 bottom-0 left-0 z-10 flex items-center w-16 h-full pl-[15px] cursor-pointer rounded-2xl ${styles.arrowLeft}`,children:jsx(SvgArrowLeft,{onClick:i})}),jsx("div",{className:"flex items-center text-center w-[50vw] overflow-x-auto py-2 px-16 h-18 noScrollbar box-border rounded-2xl border border-solid border-[rgb(238 241 255)] bg-[#EEF1FF80]",id:"autodraw-scroll-container",children:e.length?e.map((p,f)=>jsx("img",{src:p,className:"w-auto h-16 p-1 mr-4 hover:cursor-pointer hover:bg-[rgba(203,213,225,0.3)] rounded-lg",onClick:()=>h(p),onMouseDown:()=>d(p,1),onDragEnd:()=>d(p,2)},f)):t("request.tip")}),jsx("div",{className:`absolute top-0 bottom-0 right-0 z-10 flex items-center justify-end w-16 h-full pr-[15px] cursor-pointer rounded-2xl ${styles.arrowRight}`,children:jsx(SvgArrowRight,{onClick:c})})]})},Board=()=>{useBoardStore();const{canvasWidth:t}=useBoardStore(),{canvasHeight:e}=useBoardStore(),{outputImages:a,autoTask:r}=userStore();useDrawStore();const s=react.exports.useRef(null),[o,n]=react.exports.useState(!1),{userId:i,updateUserId:c}=userStore(),h=new URLSearchParams(window.location.search).get("openId");if(h){const f=atob(h);f&&c(f)}react.exports.useEffect(()=>(s.current&&paintBoard.initCanvas(s.current).then(f=>{n(f)}),()=>{paintBoard.removeCanvas()}),[]);const p=f=>{var u=new XMLHttpRequest;u.open("GET",f,!0),u.responseType="blob",u.onload=function(){if(console.log(u),u.status===200){var m=u.response,w=new FileReader;w.onloadend=function(){var g=w.result;g&&typeof g=="string"&&new ImageElement().addTileImage(g)},w.readAsDataURL(m)}},u.send()};return jsxs("div",{children:[jsx(Authorize,{}),jsxs("div",{className:"h-screen flex justify-center items-center bg-slate-100",children:[jsx("canvas",{className:"w-full h-full block",ref:s}),r&&jsx("div",{style:{width:t*100+"vw",height:e*100+"vh",backgroundColor:"#ffffff",marginLeft:"20px"},children:a.length>0&&jsx("img",{style:{width:"100%",height:"100%",padding:"0"},src:a[0],onClick:()=>p(a[0]),className:"w-auto h-16 p-1 mr-4 hover:cursor-pointer hover:bg-[rgba(203,213,225,0.3)] rounded-lg"})})]}),o&&jsxs(Fragment,{children:[jsx(ToolPanel,{}),jsx(GuideInfo,{}),jsx(CleanModal,{}),jsx(DeleteFileModal,{}),jsx(BoardOperation,{}),!r&&jsx(ViewImage,{}),jsx(AutoDrawPanel,{})]})]})};function App(){return jsx("div",{children:jsx(Board,{})})}const index="",tool$1={draw:"Draw",eraser:"Eraser",select:"Select",board:"Board"},title$1={drawType:"Draw Type",drawStyle:"Draw Style",drawWidth:"Draw Width",drawColor:"Draw Color",shadow:"Shadow",AI:"AI",shapeType:"Shape Type",shapeCount:"Shape Count",materialType:"Material Type",multiColorType:"MultiColor Type",drawText:"Draw Text",fontFamily:"Font Family",shapeLinePointCount:"Point Count",borderType:"Border Type",borderStyle:"Border Style",fillStyle:"Fill Style",eraserWidth:"Eraser Width",opacity:"Opacity",layer:"Layer",imageFilters:"Image Filters",fontStyle:"Font Style",canvasBackground:"Canvas Background",canvasSize:"Canvas Size",drawCache:"Draw Cache",guideLine:"GuideLine"},canvasSize$1={width:"Width",height:"Height"},drawType$1={freeStyle:"FreeStyle",shape:"Shape"},style$1={basic:"Basic",rainbow:"Rainbow",shape:"Shape",material:"Material",pixels:"Pixels",multiColor:"MultiColor",text:"Text",multiLine:"MultiLine",reticulate:"Reticulate",multiPoint:"MultiPoint",wiggle:"Wiggle",thorn:"Thorn"},operate$1={undo:"undo",redo:"redo",copy:"copy",delete:"delete",text:"add text",image:"upload image",clean:"clean",save:"Save as image",fileList:"File List"},info$1={welecome:"Welcome to star",FreeStyle:{line1:"Provides 12 different styles of brushes, including Basic Brush, Rainbow Brush, Multi-Shape Brush, Multi-Material Brush, Pixel Brush, Multi-Color Brush, Text Brush, Multi-Line Connection Brush, Reticulate Brush, Multi-Point Connection Brush, Wiggle Brush, Thorn Brush. Satisfy the diversified drawing",line2:"All brushes support color and brush width configurations",line3:"MultiShape allows flexible configuration of shape types and quantities",line4:"Material and MultiColor allows you to adjust the material type of the brush",line5:"Text drawing support for cyclic text and font configuration"},ShapeDraw:{line1:"A variety of common shapes are provided for drawing, with support for multi-point segments and arrows. The shapes support border and fill styles."},EraserMode:{line1:"Eraser mode linearly erases all content",line2:"Supports linear width configurations"},SelectMode:{line1:"In selection mode, you can click on the content of the drawing to select it",line2:"Click handle supports drag and drop, zoom and rotate operations, providing flexible editing options",line3:"Selecting images supports multiple filter configurations",line4:"Support for font configuration when selecting text",line5:"Layer settings are supported for all drawings, including Move Layer Up, Move Layer Down, Move to Top, and Move to Bottom",line6:"All drawings support transparency configurations"},BoardMode:{line1:"Drawing board support for configuring background color and transparency configurations",line2:"The drawing board supports customized width and height configurations",line3:"Support for drawing cache enable. Enabling caching will improve drawing performance in the presence of large amounts of drawing content, while disabling caching will improve canvas clarity.",line4:"Supports guide line on and off"},BorderConfig:{line1:"The bottom left button shows the current zoom ratio in real time, click it to reset the zoom ratio",line2:"The list of buttons in the center, in order from left to right, are: Undo, Redo, Copy Current Selection, Delete Current Selection, Draw Text, Upload Image, Clear Drawing, Save as Image, and Open File List",line3:"PC: Hold down the Space key and click the left mouse button to move the canvas, scroll the mouse wheel to realize the canvas zoom, hold down the Backspace key to delete the selected content, and hold down the Ctrl + V keys to paste the clipboard image at the same time",line4:"Mobile: support for dragging and zooming the canvas after a two-finger press"},FileConfig:{line1:"Multi-file configuration: support multiple canvas switching, each canvas can be customized title, add, delete, and provide upload and download"}},cleanModal$1={title:"Confirm clearing content?",confirm:"Confirmed",cancel:"Cancel"},deleteFileModal$1={title:"Confirm deleting the current file?",confirm:"Confirmed",cancel:"Cancel"},toast$1={uploadFileFail:"Upload failed, please try again"},filters$1={Sepia:"Sepia",Invert:"Invert",BlackWhite:"BlackWhite",Grayscale:"Grayscale",Blur:"Blur",Vintage:"Vintage",BlendColor:"BlendColor",Brownie:"Brownie",Kodachrome:"Kodachrome",Pixelate:"Pixelate",Polaroid:"Polaroid",Technicolor:"Technicolor",Brightness:"Brightness",Noise:"Noise",Convolute:"Emboss"},fontStyle$1={bold:"Bold",italic:"Italic",underLine:"UnderLine",lineThrough:"LineThrough"},boardConfig$1={cacheTip:"In the presence of a large amount of drawing content, enabling caching will improve drawing performance, while disabling caching will improve canvas sharpness"},request$1={tip:"Please feel free to draw...",loading:"Loading data, please wait...",error:"Something went wrong. Please try again later."},en={tool:tool$1,title:title$1,canvasSize:canvasSize$1,drawType:drawType$1,style:style$1,operate:operate$1,info:info$1,cleanModal:cleanModal$1,deleteFileModal:deleteFileModal$1,toast:toast$1,filters:filters$1,fontStyle:fontStyle$1,boardConfig:boardConfig$1,request:request$1},tool={draw:"\u7ED8\u753B",eraser:"\u6A61\u76AE",select:"\u9009\u62E9",board:"\u753B\u677F"},title={drawType:"\u7ED8\u753B\u7C7B\u578B",drawStyle:"\u7ED8\u753B\u98CE\u683C",drawWidth:"\u753B\u7B14\u5BBD\u5EA6",drawColor:"\u753B\u7B14\u989C\u8272",shadow:"\u9634\u5F71",AI:"AI",shapeType:"\u5F62\u72B6\u7C7B\u578B",shapeCount:"\u5F62\u72B6\u6570\u91CF",materialType:"\u7D20\u6750\u7C7B\u578B",multiColorType:"\u591A\u8272\u7C7B\u578B",drawText:"\u6587\u5B57\u5185\u5BB9",fontFamily:"\u5B57\u4F53",shapeLinePointCount:"\u7EBF\u6BB5\u7AEF\u70B9",borderType:"\u8FB9\u6846\u7C7B\u578B",borderStyle:"\u8FB9\u6846\u6837\u5F0F",fillStyle:"\u586B\u5145\u6837\u5F0F",eraserWidth:"\u6A61\u76AE\u5BBD\u5EA6",opacity:"\u900F\u660E\u5EA6",layer:"\u56FE\u5C42",imageFilters:"\u56FE\u50CF\u6EE4\u955C",fontStyle:"\u5B57\u4F53\u6837\u5F0F",canvasBackground:"\u753B\u677F\u80CC\u666F",canvasSize:"\u753B\u677F\u5C3A\u5BF8",drawCache:"\u7ED8\u5236\u7F13\u5B58",guideLine:"\u8F85\u52A9\u7EBF"},canvasSize={width:"\u5BBD\u5EA6",height:"\u9AD8\u5EA6"},drawType={freeStyle:"\u81EA\u7531\u7ED8\u753B",shape:"\u5F62\u72B6\u7ED8\u753B"},style={basic:"\u57FA\u7840",rainbow:"\u5F69\u8679 ",shape:"\u591A\u5F62\u72B6",material:"\u7D20\u6750",pixels:"\u50CF\u7D20",multiColor:"\u591A\u8272",text:"\u6587\u5B57",multiLine:"\u591A\u7EBF\u8FDE\u63A5",reticulate:"\u7F51\u72B6",multiPoint:"\u591A\u70B9\u8FDE\u63A5",wiggle:"\u6CE2\u6D6A\u66F2\u7EBF",thorn:"\u8346\u68D8"},operate={undo:"\u64A4\u9500",redo:"\u91CD\u505A",copy:"\u590D\u5236",delete:"\u5220\u9664",text:"\u6DFB\u52A0\u6587\u5B57",image:"\u4E0A\u4F20\u56FE\u7247",clean:"\u6E05\u9664\u753B\u677F",save:"\u4FDD\u5B58\u4E3A\u56FE\u7247",fileList:"\u6587\u4EF6\u5217\u8868"},info={welecome:"\u6B22\u8FCE\u4F7F\u7528\u8DA3\u5473\u7ED8\u672C",FreeStyle:{line1:"\u63D0\u4F9B\u4E86 12 \u79CD\u4E0D\u540C\u98CE\u683C\u7684\u753B\u7B14\uFF0C\u5305\u62EC\u57FA\u672C\u753B\u7B14\uFF0C\u5F69\u8679\u753B\u7B14\uFF0C\u591A\u5F62\u72B6\u753B\u7B14\uFF0C\u591A\u7D20\u6750\u753B\u7B14\uFF0C\u50CF\u7D20\u753B\u7B14\uFF0C\u591A\u8272\u753B\u7B14\uFF0C\u6587\u5B57\u753B\u7B14\uFF0C\u591A\u7EBF\u8FDE\u63A5\u753B\u7B14\uFF0C\u7F51\u72B6\u753B\u7B14\uFF0C\u591A\u70B9\u8FDE\u63A5\u753B\u7B14\uFF0C\u6CE2\u6D6A\u66F2\u7EBF\u753B\u7B14\uFF0C\u8346\u68D8\u753B\u7B14\u3002\u6EE1\u8DB3\u591A\u6837\u5316\u7684\u7ED8\u753B",line2:"\u6240\u6709\u753B\u7B14\u5747\u652F\u6301\u989C\u8272\u548C\u753B\u7B14\u5BBD\u5EA6\u7684\u914D\u7F6E",line3:"\u591A\u5F62\u72B6\u53EF\u4EE5\u7075\u6D3B\u914D\u7F6E\u5F62\u72B6\u7C7B\u578B\u548C\u6570\u91CF",line4:"\u7D20\u6750\u548C\u591A\u8272\u53EF\u4EE5\u8C03\u6574\u753B\u7B14\u7684\u7D20\u6750\u7C7B\u578B",line5:"\u6587\u5B57\u7ED8\u5236\u652F\u6301\u5FAA\u73AF\u6587\u6848\u914D\u7F6E\u548C\u5B57\u4F53\u4FEE\u6539"},ShapeDraw:{line1:"\u63D0\u4F9B\u4E86\u591A\u79CD\u5E38\u89C1\u5F62\u72B6\u7684\u7ED8\u5236, \u5E76\u652F\u6301\u591A\u7AEF\u70B9\u7EBF\u6BB5\u4EE5\u53CA\u7BAD\u5934. \u5E76\u4E14\u8FD9\u4E9B\u5F62\u72B6\u5747\u652F\u6301\u8FB9\u6846\u548C\u586B\u5145\u7684\u6837\u5F0F\u914D\u7F6E"},EraserMode:{line1:"\u6A61\u76AE\u64E6\u6A21\u5F0F\u53EF\u4EE5\u7EBF\u6027\u64E6\u9664\u6240\u6709\u5185\u5BB9",line2:"\u652F\u6301\u7EBF\u6027\u5BBD\u5EA6\u914D\u7F6E"},SelectMode:{line1:"\u5728\u9009\u62E9\u6A21\u5F0F\u4E0B\uFF0C\u53EF\u4EE5\u901A\u8FC7\u70B9\u51FB\u7ED8\u753B\u5185\u5BB9\u8FDB\u884C\u6846\u9009",line2:"\u70B9\u51FB\u624B\u67C4\u652F\u6301\u62D6\u62FD\u3001\u7F29\u653E\u548C\u65CB\u8F6C\u64CD\u4F5C\uFF0C\u63D0\u4F9B\u7075\u6D3B\u7684\u7F16\u8F91\u65B9\u5F0F",line3:"\u9009\u62E9\u56FE\u7247\u652F\u6301\u591A\u79CD\u6EE4\u955C\u914D\u7F6E",line4:"\u9009\u62E9\u6587\u5B57\u65F6\uFF0C\u652F\u6301\u5B57\u4F53\u8BBE\u7F6E",line5:"\u6240\u6709\u7ED8\u5236\u5185\u5BB9\u5747\u652F\u6301\u56FE\u5C42\u8BBE\u7F6E\uFF0C\u5305\u62EC\u5411\u4E0A\u79FB\u52A8\u5C42\u7EA7\u3001\u5411\u4E0B\u79FB\u52A8\u5C42\u7EA7\u3001\u79FB\u52A8\u81F3\u9876\u5C42\u548C\u79FB\u52A8\u81F3\u5E95\u5C42",line6:"\u6240\u6709\u7ED8\u5236\u5185\u5BB9\u652F\u6301\u900F\u660E\u5EA6\u914D\u7F6E"},BoardMode:{line1:"\u753B\u677F\u652F\u6301\u914D\u7F6E\u80CC\u666F\u989C\u8272\u548C\u900F\u660E\u5EA6\u914D\u7F6E",line2:"\u753B\u677F\u652F\u6301\u81EA\u5B9A\u4E49\u5BBD\u9AD8\u914D\u7F6E",line3:"\u652F\u6301\u7ED8\u5236\u7F13\u5B58\u5F00\u542F. \u5728\u5B58\u5728\u5927\u91CF\u7ED8\u5236\u5185\u5BB9\u7684\u60C5\u51B5\u4E0B\uFF0C\u542F\u7528\u7F13\u5B58\u5C06\u63D0\u9AD8\u7ED8\u5236\u6027\u80FD\uFF0C\u800C\u7981\u7528\u7F13\u5B58\u5219\u4F1A\u63D0\u5347\u753B\u5E03\u6E05\u6670\u5EA6",line4:"\u652F\u6301\u8F85\u52A9\u7EBF\u7684\u5F00\u542F\u4E0E\u5173\u95ED"},BorderConfig:{line1:"\u5DE6\u4E0B\u89D2\u6309\u94AE\u5B9E\u65F6\u663E\u793A\u5F53\u524D\u7F29\u653E\u6BD4\u4F8B\uFF0C\u70B9\u51FB\u5373\u53EF\u91CD\u7F6E\u7F29\u653E\u6BD4\u4F8B",line2:"\u4E2D\u95F4\u6309\u94AE\u5217\u8868\u6309\u4ECE\u5DE6\u5230\u53F3\u7684\u987A\u5E8F\u5206\u522B\u4E3A\uFF1A\u64A4\u9500\u3001\u53CD\u64A4\u9500\u3001\u590D\u5236\u5F53\u524D\u9009\u62E9\u5185\u5BB9\u3001\u5220\u9664\u5F53\u524D\u9009\u62E9\u5185\u5BB9\u3001\u7ED8\u5236\u6587\u5B57\u3001\u4E0A\u4F20\u56FE\u7247\u3001\u6E05\u9664\u7ED8\u5236\u5185\u5BB9\u3001\u4FDD\u5B58\u4E3A\u56FE\u7247\u3001\u6253\u5F00\u6587\u4EF6\u5217\u8868",line3:"\u7535\u8111\u7AEF\uFF1A\u6309\u4F4F Space \u952E\u5E76\u70B9\u51FB\u9F20\u6807\u5DE6\u952E\u53EF\u79FB\u52A8\u753B\u5E03\uFF0C\u6EDA\u52A8\u9F20\u6807\u6EDA\u8F6E\u5B9E\u73B0\u753B\u5E03\u7F29\u653E\uFF0C\u6309\u4F4F Backspace \u952E\u53EF\u5220\u9664\u5DF2\u9009\u5185\u5BB9\uFF0C\u540C\u65F6\u6309\u4F4F Ctrl \u952E + V \u952E\u53EF\u7C98\u8D34\u526A\u8D34\u677F\u56FE\u7247",line4:"\u79FB\u52A8\u7AEF\uFF1A\u652F\u6301\u53CC\u6307\u6309\u538B\u540E\u62D6\u62FD\u548C\u7F29\u653E\u753B\u5E03"},FileConfig:{line1:"\u591A\u6587\u4EF6\u914D\u7F6E\uFF1A\u652F\u6301\u591A\u4E2A\u753B\u5E03\u5207\u6362\uFF0C\u6BCF\u4E2A\u753B\u5E03\u53EF\u81EA\u5B9A\u4E49\u6807\u9898\u3001\u589E\u52A0\u3001\u5220\u9664\uFF0C\u5E76\u63D0\u4F9B\u4E0A\u4F20\u548C\u4E0B\u8F7D\u529F\u80FD"}},cleanModal={title:"\u786E\u8BA4\u6E05\u9664\u5185\u5BB9\uFF1F",confirm:"\u786E\u8BA4",cancel:"\u53D6\u6D88"},deleteFileModal={title:"\u786E\u8BA4\u5220\u9664\u5F53\u524D\u6587\u4EF6\u5417\uFF1F",confirm:"\u786E\u8BA4",cancel:"\u53D6\u6D88"},toast={uploadFileFail:"\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5"},filters={Sepia:"\u590D\u53E4",Invert:"\u5E95\u7247",BlackWhite:"\u9ED1\u767D",Grayscale:"\u7070\u5EA6",Blur:"\u6A21\u7CCA",Vintage:"\u53E4\u5178",BlendColor:"\u6DF7\u8272",Brownie:"\u68D5\u4ED9",Kodachrome:"\u80F6\u7247",Pixelate:"\u50CF\u7D20",Polaroid:"\u5B9D\u4E3D\u6765",Technicolor:"\u5F69\u8272",Brightness:"\u589E\u4EAE",Noise:"\u566A\u70B9",Convolute:"\u6D6E\u96D5"},fontStyle={bold:"\u7C97\u4F53",italic:"\u659C\u4F53",underLine:"\u4E0B\u5212\u7EBF",lineThrough:"\u5220\u9664\u7EBF"},boardConfig={cacheTip:"\u5728\u5B58\u5728\u5927\u91CF\u7ED8\u5236\u5185\u5BB9\u7684\u60C5\u51B5\u4E0B\uFF0C\u542F\u7528\u7F13\u5B58\u5C06\u63D0\u9AD8\u7ED8\u5236\u6027\u80FD\uFF0C\u800C\u7981\u7528\u7F13\u5B58\u5219\u4F1A\u63D0\u5347\u753B\u5E03\u6E05\u6670\u5EA6"},request={tip:"\u70B9\u51FB\u6309\u94AE\u5B9E\u73B0\u521B\u610F",loading:"\u8BF7\u7A0D\u5019...",error:"\u51FA\u9519\u4E86\u3002\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002"},authorize={title:"\u5FAE\u4FE1\u626B\u7801\u5173\u6CE8\u516C\u4F17\u53F7\u83B7\u53D6\u6388\u6743\u7801"},zh={tool,title,canvasSize,drawType,style,operate,info,cleanModal,deleteFileModal,toast,filters,fontStyle,boardConfig,request,authorize},lang=useBoardStore.getState().language;instance.use(initReactI18next).init({resources:{en:{translation:en},zh:{translation:zh}},lng:lang});{const t=document.createElement("script");t.textContent=` (function(c,l,a,r,i,t,y){ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; diff --git a/pages/paint-board/assets/index.9eb32cc8.js b/pages/paint-board/assets/index.9eb32cc8.js index e382423..c8a4b65 100644 --- a/pages/paint-board/assets/index.9eb32cc8.js +++ b/pages/paint-board/assets/index.9eb32cc8.js @@ -1,4 +1,4 @@ -var _=Object.defineProperty;var P=(t,e,a)=>e in t?_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a;var l=(t,e,a)=>(P(t,typeof e!="symbol"?e+"":e,a),a);import{f as fabric,c as create,p as persist,v as v4,a as createJSONStorage,b as produce,g as get,s as set,d as del,l as lodash,e as diff,h as patch,u as unpatch,i as useTranslation,j as jsxs,k as jsx,r as react,F as Fragment,S as Swiper,P as Pagination,m as SwiperSlide,n as axios,R as React,o as instance,q as initReactI18next,t as client}from"./vendor.dfa0e071.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const n of o.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&r(n)}).observe(document,{childList:!0,subtree:!0});function a(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=a(s);fetch(s.href,o)}})();const getRandomInt=(t,e)=>Math.floor(Math.random()*(e-t+1))+t,formatPublicUrl=t=>t&&typeof t=="string"?`/paint-board/${t}`:"",getDistance=(t,e)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)),isMobile=()=>/phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|Mobi|Android|iPhone|iPad/i.test(navigator.userAgent);let isMouseDown=!1,isDisableDraw=isMobile();class BrushMouseMixin{constructor(){l(this,"canvas",null)}initCanvas(e){this.canvas=e,this._initBrushMouse()}_initBrushMouse(){fabric.fabric.util.object.extend(this.canvas,{_onMouseDownInDrawingMode:function(){},_onMouseMoveInDrawingMode:function(e){isDisableDraw||(isMouseDown?fabric.fabric.Canvas.prototype._onMouseMoveInDrawingMode.call(this,e):(isMouseDown=!0,fabric.fabric.Canvas.prototype._onMouseDownInDrawingMode.call(this,e)))},_onMouseUpInDrawingMode:function(e){isDisableDraw||(isMouseDown=!1,fabric.fabric.Canvas.prototype._onMouseUpInDrawingMode.call(this,e))}})}updateIsDisableDraw(e){isDisableDraw=e}}const brushMouseMixin=new BrushMouseMixin;class AlignGuideLine{constructor(){l(this,"openAlignGuideLine",!0)}updateOpenState(e){this.openAlignGuideLine=e}init(e,a){const r=e.getSelectionContext(),s=5,o=4,n=1,i="rgb(102, 204, 138)";let c,d=1;this.openAlignGuideLine=a;function h(g){f(g.x+.5,g.y1>g.y2?g.y2:g.y1,g.x+.5,g.y2>g.y1?g.y2:g.y1)}function p(g){f(g.x1>g.x2?g.x2:g.x1,g.y+.5,g.x2>g.x1?g.x2:g.x1,g.y+.5)}function f(g,S,b,k){c!=null&&(r.save(),r.lineWidth=n,r.strokeStyle=i,r.beginPath(),r.moveTo(g*d+c[4],S*d+c[5]),r.lineTo(b*d+c[4],k*d+c[5]),r.stroke(),r.restore())}function u(g,S){g=Math.round(g),S=Math.round(S);for(let b=g-o,k=g+o;b<=k;b++)if(b===S)return!0;return!1}const m=[],w=[];e.on("mouse:down",()=>{c=e.viewportTransform,d=e.getZoom()}),e.on("object:moving",g=>{if(c===void 0||g.target===void 0||!this.openAlignGuideLine)return;const S=g.target,b=e.getObjects(),k=S.getCenterPoint(),x=k.x,y=k.y,j=S.getBoundingRect(),M=j.height/c[3],T=j.width/c[0];let B=!1,I=!1;if(!!e._currentTransform){for(let D=b.length;D--;){if(b[D]===S)continue;const A=b[D].getCenterPoint(),C=A.x,v=A.y,R=b[D].getBoundingRect(),E=R.height/c[3],L=R.width/c[0];u(C,x)&&(I=!0,m.push({x:C,y1:vv?y+M/2+s:y-M/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(C,y),"center","center")),u(C-L/2,x-T/2)&&(I=!0,m.push({x:C-L/2,y1:vv?y+M/2+s:y-M/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(C-L/2+T/2,y),"center","center")),u(C+L/2,x+T/2)&&(I=!0,m.push({x:C+L/2,y1:vv?y+M/2+s:y-M/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(C+L/2-T/2,y),"center","center")),u(v,y)&&(B=!0,w.push({y:v,x1:CC?x+T/2+s:x-T/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(x,v),"center","center")),u(v-E/2,y-M/2)&&(B=!0,w.push({y:v-E/2,x1:CC?x+T/2+s:x-T/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(x,v-E/2+M/2),"center","center")),u(v+E/2,y+M/2)&&(B=!0,w.push({y:v+E/2,x1:CC?x+T/2+s:x-T/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(x,v+E/2-M/2),"center","center"))}B||(w.length=0),I||(m.length=0)}}),e.on("before:render",()=>{try{e.clearContext(e.contextTop)}catch(g){console.log(g)}}),e.on("after:render",()=>{for(let g=m.length;g--;)h(m[g]);for(let g=w.length;g--;)p(w[g]);m.length=0,w.length=0}),e.on("mouse:up",()=>{m.length=0,w.length=0,e.renderAll()})}}const alignGuideLine=new AlignGuideLine,ActionMode={DRAW:"draw",ERASE:"erase",SELECT:"select",Board:"board"},FREESTYLE_ELEMENT_CUSTOM_TYPE={IMAGE:"image",I_TEXT:"itext",RAINBOW:"rainbow",SHAPE:"shape",PIXELS:"pixels",DRAW_TEXT:"drawText",MULTI_LINE:"multiLine",RETICULATE:"reticulate",MULTI_POINT:"multiPoint",WIGGLE:"wiggle",THORN:"thorn"},SHAPE_ELEMENT_CUSTOM_TYPE={SHAPE_LINE:"shapeLine",SHAPE_RECT:"shapeRect",SHAPE_CIRCLE:"shapeCircle",SHAPE_ELLIPSE:"shapeEllipse",SHAPE_TRIANGLE:"shapeTriangle",SHAPE_ARROW_LINE:"shapeArrowLine",SHAPE_ARROW_OUTLINE:"shapeArrowOutline",SHAPE_CLOUD:"shapeCloud",SHAPE_TOOLTIPS:"shapeTooltips",SHAPE_LIGHTNING:"shapeLightning",SHAPE_CLOSE:"shapeClose",SHAPE_CHECK:"shapeCheck",SHAPE_INFO:"shapeInfo",SHAPE_BACKSPACE:"shapeBackspace",SHAPE_BLOCK:"shapeBlock",SHAPE_SPEAKER:"shapeSpeaker",SHAPE_SEARCH:"shapeSearch",SHAPE_INFO_OUTLINE:"shapeInfoOutline",SHAPE_HEART:"shapeHeart",SHAPE_ALERT:"shapeAlert"},ELEMENT_CUSTOM_TYPE={...FREESTYLE_ELEMENT_CUSTOM_TYPE,...SHAPE_ELEMENT_CUSTOM_TYPE},DrawType={FreeStyle:"freeStyle",Shape:"shape"},DrawStyle={Basic:"basic",Rainbow:"rainbow",Shape:"shape",Material:"material",Pixels:"pixels",MultiColor:"multiColor",Text:"text",MultiLine:"multiLine",Reticulate:"reticulate",MultiPoint:"multiPoint",Wiggle:"wiggle",Thorn:"thorn"},DrawShape={Bubble:"bubble",Star:"star",Love:"love",Butterfly:"butterfly",Snow:"snow",Music:"music",Sun:"sun",Moon:"moon",Leaf:"leaf",Flower:"flower"};function hexToRgba(t,e=1){const a=parseInt(t.slice(1),16),r=a>>16&255,s=a>>8&255,o=a&255;return`rgba(${r}, ${s}, ${o}, ${e})`}function getAlphaFromRgba(t){const e=t.match(/rgba?\((\d+),\s*(\d+),\s*(\d+),\s*([\d.]+)\)/);return e?parseFloat(e[4]):1}function changeAlpha(t,e){const a=t.match(/rgba?\((.*?)\)/);if(!a)return t;const r=a[1].split(",").map(o=>o.trim());return e=Math.min(1,Math.max(0,e)),`rgba(${r[0]}, ${r[1]}, ${r[2]}, ${e})`}function isHexColor(t){return/^#([0-9A-Fa-f]{3}){1,2}$/.test(t)}function isRgbaColor(t){return/^rgba?\((\d+,\s*){2}\d+,\s*(0(\.\d+)?|1(\.0)?)\)$/.test(t)}function getColorFormat(t){return isHexColor(t)?"hex":isRgbaColor(t)?"rgba":"unknown"}const initLanguage=["en","en-US","en-us"].includes(navigator.language)?"en":"zh",useBoardStore=create()(persist((t,e)=>({mode:ActionMode.DRAW,drawType:DrawType.FreeStyle,language:initLanguage,canvasWidth:1,canvasHeight:1,backgroundColor:"rgba(255, 255, 255, 1)",backgroundOpacity:1,isObjectCaching:!0,openGuideLine:!1,updateMode:a=>{e().mode!==a&&(paintBoard.handleMode(a),t({mode:a}))},updateDrawType:a=>{e().drawType!==a&&(t({drawType:a}),paintBoard.handleMode())},updateLanguage(a){t({language:a})},initBackground:()=>{var r;const a=(r=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:r.backgroundColor;if(a&&typeof a=="string"){const s=getColorFormat(a);if(s==="hex"){const o=hexToRgba(a),n=getAlphaFromRgba(o);t({backgroundColor:o,backgroundOpacity:n})}else if(s==="rgba"){const o=getAlphaFromRgba(a);t({backgroundColor:a,backgroundOpacity:o})}}else paintBoard!=null&&paintBoard.canvas&&(paintBoard.canvas.backgroundColor="rgba(255, 255, 255, 1)",t({backgroundColor:"rgba(255, 255, 255, 1)",backgroundOpacity:1}))},updateCanvasWidth:a=>{e().canvasWidth!==a&&(t({canvasWidth:a}),paintBoard.updateCanvasWidth(a))},updateCanvasHeight:a=>{e().canvasHeight!==a&&(t({canvasHeight:a}),paintBoard.updateCanvasHeight(a))},updateBackgroundColor:a=>{const r=paintBoard.canvas;r&&a!==(r==null?void 0:r.backgroundColor)&&t(s=>{const o=hexToRgba(a,s.backgroundOpacity);return r.backgroundColor=o,{backgroundColor:o}})},updateBackgroundOpacity:a=>{t(r=>{const s=paintBoard.canvas;if(s&&a!==r.backgroundOpacity){const o=changeAlpha(r.backgroundColor,a);return s.backgroundColor=o,{backgroundOpacity:a,backgroundColor:o}}return{}})},updateCacheState(){var r;const a=e().isObjectCaching;t({isObjectCaching:!a}),fabric.fabric.Object.prototype.set({objectCaching:useBoardStore.getState().isObjectCaching}),(r=paintBoard==null?void 0:paintBoard.canvas)==null||r.renderAll()},updateOpenGuideLine(){const a=!e().openGuideLine;t({openGuideLine:a}),alignGuideLine.updateOpenState(a)}}),{name:"PAINT-BOARD-STORE"})),storage={getItem:async t=>await get(t)||null,setItem:async(t,e)=>{await set(t,e)},removeItem:async t=>{await del(t)}},initId=v4(),BOARD_VERSION="1.3.1",useFileStore=create()(persist((t,e)=>({currentId:initId,files:[{id:initId,title:"paint-board",boardVersion:BOARD_VERSION,boardData:{},zoom:1,canvasWidth:.45,canvasHeight:.85}],updateCurrentFile(a){const r=e().currentId;a!==r&&t({currentId:a})},updateTitle(a,r){var n;const s=e().files,o=s==null?void 0:s.findIndex(i=>i.id===r);((n=s==null?void 0:s[o])==null?void 0:n.title)!==a&&t(produce(i=>{i.files[o].title=a}))},updateBoardData(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);t(produce(o=>{o.files[s].boardVersion=BOARD_VERSION,o.files[s].boardData=a}))},updateZoom(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);s>-1&&t(produce(o=>{o.files[s].zoom=a}))},updateTransform(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);s>-1&&t(produce(o=>{o.files[s].viewportTransform=a}))},updateCanvasWidth(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);s>-1&&t(produce(o=>{o.files[s].canvasWidth=a}))},updateCanvasHeight(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);s>-1&&t(produce(o=>{o.files[s].canvasHeight=a}))},addFile(){const a=v4();t(produce(r=>{r.files.unshift({id:a,title:"empty title",boardVersion:BOARD_VERSION,boardData:{},zoom:1,canvasWidth:useBoardStore.getState().canvasWidth,canvasHeight:useBoardStore.getState().canvasHeight})}))},deleteFile(){const a=e().files;if(a.length>1){const r=a==null?void 0:a.findIndex(s=>s.id===e().currentId);t(produce(s=>{s.files.splice(r,1),s.currentId=s.files[0].id}))}},saveJSON(){var r;const a=(r=e().files)==null?void 0:r.find(s=>s.id===e().currentId);if(a){const s=JSON.stringify(a),o=new Blob([s],{type:"application/json"}),n=document.createElement("a");n.href=URL.createObjectURL(o),n.download="paint-board.json",n.click(),URL.revokeObjectURL(n.href)}},uploadFile(a){return new Promise(r=>{if(a){const s=new FileReader;s.onload=o=>{var c;const n=(c=o.target)==null?void 0:c.result;let i=!1;if(n){const d=JSON.parse(n);if((d==null?void 0:d.boardData)&&(d==null?void 0:d.title)){const h=v4();t(produce(p=>{p.files.unshift({id:h,title:d==null?void 0:d.title,boardVersion:(d==null?void 0:d.boardVersion)||BOARD_VERSION,boardData:d==null?void 0:d.boardData,canvasWidth:(d==null?void 0:d.canvasWidth)||1,canvasHeight:(d==null?void 0:d.canvasHeight)||1}),p.currentId=p.files[0].id})),i=!0}}r(i)},s.onerror=o=>{console.log("reader fail",o),r(!1)},s.readAsText(a)}else r(!1)})}}),{name:"PAINT-BOARD-FILES",storage:createJSONStorage(()=>storage)}));function getObjectSizeWithStroke$1(t){const e=new fabric.fabric.Point(t.strokeUniform?1/t.scaleX:1,t.strokeUniform?1/t.scaleY:1).multiply(t.strokeWidth);return new fabric.fabric.Point(t.width+e.x,t.height+e.y)}const polygonPositionHandler=function(t,e,a){var n;const r=a.points,s=r[this.pointIndex].x-a.pathOffset.x,o=r[this.pointIndex].y-a.pathOffset.y;return fabric.fabric.util.transformPoint({x:s,y:o},fabric.fabric.util.multiplyTransformMatrices((n=a.canvas)==null?void 0:n.viewportTransform,a.calcTransformMatrix()))},actionHandler$1=function(t,e,a,r){const s=e.target,o=s.controls[s.__corner],n=s.toLocalPoint(new fabric.fabric.Point(a,r),"center","center"),i=getObjectSizeWithStroke$1(s),c=s._getTransformedDimensions(0,0),d={x:n.x*i.x/c.x+s.pathOffset.x,y:n.y*i.y/c.y+s.pathOffset.y},h=s.points;return h[o.pointIndex]=d,!0};function anchorWrapper$1(t,e){return function(a,r,s,o){const n=r.target,i=n.points,c=fabric.fabric.util.transformPoint({x:i[t].x-n.pathOffset.x,y:i[t].y-n.pathOffset.y},n.calcTransformMatrix()),d=e(a,r,s,o);n._setPositionDimensions({});const h=getObjectSizeWithStroke$1(n),p=(i[t].x-n.pathOffset.x)/h.x,f=(i[t].y-n.pathOffset.y)/h.y;return n.setPositionByOrigin(c,p+.5,f+.5),d}}function calculateArrowSlidePath(t,e,a,r,s){const o=Math.atan2(s-a,r-e),n=10,i=r-n*Math.cos(o-Math.PI/6),c=s-n*Math.sin(o-Math.PI/6),d=r-n*Math.cos(o+Math.PI/6),h=s-n*Math.sin(o+Math.PI/6);return t[t.length-4][1]=r,t[t.length-4][2]=s,t[t.length-3][1]=i,t[t.length-3][2]=c,t[t.length-2][1]=r,t[t.length-2][2]=s,t[t.length-1][1]=d,t[t.length-1][2]=h,t}function getObjectSizeWithStroke(t){const e=new fabric.fabric.Point(t.strokeUniform?1/t.scaleX:1,t.strokeUniform?1/t.scaleY:1).multiply(t.strokeWidth);return new fabric.fabric.Point(t.width+e.x,t.height+e.y)}const pathPositionHandler=function(t,e,a){var n;const r=a.path,s=r[this.pointIndex][1]-a.pathOffset.x,o=r[this.pointIndex][2]-a.pathOffset.y;return fabric.fabric.util.transformPoint({x:s,y:o},fabric.fabric.util.multiplyTransformMatrices((n=a.canvas)==null?void 0:n.viewportTransform,a.calcTransformMatrix()))},actionHandler=function(t,e,a,r){const s=e.target,o=s.controls[s.__corner],n=s.toLocalPoint(new fabric.fabric.Point(a,r),"center","center"),i=getObjectSizeWithStroke(s),c=s._getTransformedDimensions(0,0),d={x:n.x*i.x/c.x+s.pathOffset.x,y:n.y*i.y/c.y+s.pathOffset.y},h=s.path;if(h[o.pointIndex][1]=d.x,h[o.pointIndex][2]=d.y,o.pointIndex===(h==null?void 0:h.length)-5||o.pointIndex===(h==null?void 0:h.length)-6){const p=h[h.length-6],f=h[h.length-5],u=calculateArrowSlidePath(h,p[1],p[2],f[1],f[2]);s._setPath(u)}return!0};function anchorWrapper(t,e){return function(a,r,s,o){const n=r.target,i=n.path,c=fabric.fabric.util.transformPoint({x:i[t][1]-n.pathOffset.x,y:i[t][2]-n.pathOffset.y},n.calcTransformMatrix()),d=e(a,r,s,o);n._setPath(n.path);const h=getObjectSizeWithStroke(n),p=(i[t][1]-n.pathOffset.x)/h.x,f=(i[t][2]-n.pathOffset.y)/h.y;return n.setPositionByOrigin(c,p+.5,f+.5),d}}const getCanvasJSON=()=>{var e;const t=paintBoard==null?void 0:paintBoard.canvas;return t?(e=t.toDatalessJSON(["id","_customType","perPixelTargetFind","objectCaching"]))!=null?e:{}:{}},handleCanvasJSONLoaded=t=>{t.getObjects().forEach(e=>{if(e._customType===ELEMENT_CUSTOM_TYPE.SHAPE_LINE){const a=e.points,r=a.length-1;e.controls=a.reduce(function(s,o,n){return s["p"+n]=new fabric.fabric.Control({positionHandler:polygonPositionHandler,actionHandler:anchorWrapper$1(n>0?n-1:r,actionHandler$1),actionName:"polylineEndPoint",pointIndex:n}),s},{})}if(e._customType===ELEMENT_CUSTOM_TYPE.SHAPE_ARROW_LINE){const a=e.path;e.controls=a.slice(0,a.length-4).reduce(function(r,s,o){return r["p"+o]=new fabric.fabric.Control({positionHandler:pathPositionHandler,actionHandler:anchorWrapper(o>0?o-1:a.length-5,actionHandler),actionName:"pathEndPoint",pointIndex:o}),r},{})}})},initState={};class History{constructor(){l(this,"diffs",[]);l(this,"canvasData",{});l(this,"index",0);var a;if(paintBoard.canvas){const r=getCanvasJSON();this.canvasData={...lodash.exports.omit(r,"objects"),objects:lodash.exports.cloneDeep((a=r==null?void 0:r.objects)!=null?a:[])}}}saveState(){var a;if(paintBoard==null?void 0:paintBoard.canvas){this.diffs=this.diffs.slice(0,this.index);const r=getCanvasJSON(),s=diff(r,this.canvasData);this.diffs.push(s),this.diffs.length>50?this.diffs.shift():this.index++,this.canvasData={...lodash.exports.omit(r,"objects"),objects:lodash.exports.cloneDeep((a=r==null?void 0:r.objects)!=null?a:[])},useFileStore.getState().updateBoardData(r)}}undo(){const e=paintBoard==null?void 0:paintBoard.canvas;if(e&&this.index>0){const a=this.diffs[this.index-1];this.index--;const r=patch(this.canvasData,a);if(e.loadFromJSON(r,()=>{var s;handleCanvasJSONLoaded(e),e.requestRenderAll(),useFileStore.getState().updateBoardData(r),this.canvasData={...lodash.exports.omit(r,"objects"),objects:lodash.exports.cloneDeep((s=r==null?void 0:r.objects)!=null?s:[])},paintBoard.triggerHook()}),Object.keys(r).length==0){const s=paintBoard.canvas;s&&(s.backgroundColor="rgba(255, 255, 255, 1)")}}}redo(){const e=paintBoard==null?void 0:paintBoard.canvas;if(this.index{var s;handleCanvasJSONLoaded(e),e.requestRenderAll(),useFileStore.getState().updateBoardData(r),this.canvasData={...lodash.exports.omit(r,"objects"),objects:lodash.exports.cloneDeep((s=r==null?void 0:r.objects)!=null?s:[])},paintBoard.triggerHook()}),Object.keys(r).length==0){const s=paintBoard.canvas;s&&(s.backgroundColor="rgba(255, 255, 255, 1)")}}console.log("redo",this.diffs.length)}clean(){var a;(a=paintBoard==null?void 0:paintBoard.canvas)==null||a.clear(),this.index=0,this.diffs=[],this.canvasData={},useFileStore.getState().updateBoardData(initState);const e=paintBoard.canvas;e&&(e.backgroundColor="rgba(255, 255, 255, 1)")}initHistory(){if(paintBoard.canvas){const a=getCanvasJSON();this.canvasData=a,this.index=0,this.diffs=[]}}}const ShapeStyle={Line:"line",Rect:"rect",Circle:"cricle",Ellipse:"ellipse",Triangle:"triangle",ArrowLine:"arrowLine",ArrowOutline:"arrowOutline",Cloud:"cloud",Tooltips:"tooltips",Lightning:"lightning",Close:"close",Check:"check",Info:"info",Backspace:"backspace",Block:"block",Speaker:"speaker",Search:"search",InfoOutline:"infoOutline",Heart:"heart",Alert:"alert"},ShapeBorderType={Solid:"solid",Dashed:"dashed",Dotted:"dotted"},ShapeFillType={Transparent:"transparent",Full:"full"},getDrawWidth=t=>{var e,a;return(t!=null?t:useDrawStore.getState().drawWidth)/((a=(e=paintBoard.canvas)==null?void 0:e.getZoom())!=null?a:1)},getEraserWidth=t=>{var e,a;return(t!=null?t:useDrawStore.getState().eraserWidth)/((a=(e=paintBoard.canvas)==null?void 0:e.getZoom())!=null?a:1)},getShadowWidth=t=>{var e,a;return(t!=null?t:useDrawStore.getState().shadowWidth)/((a=(e=paintBoard.canvas)==null?void 0:e.getZoom())!=null?a:1)},setObjectAttr=(t,e)=>{const a=v4();t.set({id:a,_customType:e})},MATERIAL_TYPE={CRAYON:"crayon",CARBON:"carbon",CLOTH:"cloth",OIL:"oil",CRAYON_DARK:"crayonDark"};class Material{constructor(){l(this,"initPromise",null);l(this,"crayonImage",null);l(this,"carbonImage",null);l(this,"clothImage",null);l(this,"oilImage",null);l(this,"crayonDarkImage",null);this.initMaterial()}async initMaterial(){this.initPromise=Promise.all([this.loadImage(MATERIAL_TYPE.CRAYON),this.loadImage(MATERIAL_TYPE.CARBON),this.loadImage(MATERIAL_TYPE.CLOTH),this.loadImage(MATERIAL_TYPE.OIL),this.loadImage(MATERIAL_TYPE.CRAYON_DARK)])}render({materialType:e=useDrawStore.getState().materialType,color:a=useDrawStore.getState().drawColors[0]}){var r;(r=this.initPromise)==null||r.then(()=>{switch(e){case MATERIAL_TYPE.CRAYON:this.renderMaterial(this.crayonImage,a);break;case MATERIAL_TYPE.CARBON:this.renderMaterial(this.carbonImage,a);break;case MATERIAL_TYPE.CLOTH:this.renderMaterial(this.clothImage,a);break;case MATERIAL_TYPE.OIL:this.renderMaterial(this.oilImage,a);break;case MATERIAL_TYPE.CRAYON_DARK:this.renderMaterial(this.crayonDarkImage,a);break}})}renderMaterial(e,a,r=1){if(paintBoard.canvas){const s=new fabric.fabric.PatternBrush(paintBoard.canvas),o=document.createElement("canvas");o.width=o.height=100;const n=o.getContext("2d");n&&(n.fillStyle=a,n.fillRect(0,0,100,100),e&&(n.globalAlpha=r,n.drawImage(e,0,0,100,100))),s.getPatternSrc=()=>o,s.getPatternSrcFunction=()=>o,paintBoard.canvas.freeDrawingBrush=s,paintBoard.canvas.freeDrawingBrush.width=getDrawWidth(),paintBoard.canvas.freeDrawingBrush.shadow=new fabric.fabric.Shadow({blur:getShadowWidth(),offsetX:0,offsetY:0,color:useDrawStore.getState().shadowColor})}}loadImage(e){return new Promise(a=>{const r=new Image;r.src=formatPublicUrl(`pattern/${e}.png`),r.onload=()=>{switch(e){case MATERIAL_TYPE.CARBON:this.carbonImage=r;break;case MATERIAL_TYPE.CRAYON:this.crayonImage=r;break;case MATERIAL_TYPE.CLOTH:this.clothImage=r;break;case MATERIAL_TYPE.OIL:this.oilImage=r;break;case MATERIAL_TYPE.CRAYON_DARK:this.crayonDarkImage=r;break}a(!0)},r.onerror=()=>{a(!1)}})}}const material=new Material,COLOR_WIDTH=5,MultiColorType={COL:"col",ROW:"row",CIRCLE:"circle"},renderMultiColor=t=>{var i,c;const e=paintBoard.canvas;if(!e)return;const a=(i=t==null?void 0:t.colors)!=null?i:useDrawStore.getState().drawColors,r=(c=t==null?void 0:t.type)!=null?c:useDrawStore.getState().multiColorType,s=new fabric.fabric.PatternBrush(e),o=document.createElement("canvas"),n=o.getContext("2d");if(n){switch(r){case MultiColorType.COL:renderCol(o,n,a);break;case MultiColorType.ROW:renderRow(o,n,a);break;case MultiColorType.CIRCLE:renderCircle(o,n,a);break}s.getPatternSrc=()=>o,s.getPatternSrcFunction=()=>o,e.isDrawingMode=!0,e.freeDrawingBrush=s,e.freeDrawingBrush.width=getDrawWidth(),e.freeDrawingBrush.shadow=new fabric.fabric.Shadow({blur:getShadowWidth(),offsetX:0,offsetY:0,color:useDrawStore.getState().shadowColor})}};function renderCol(t,e,a){t.width=COLOR_WIDTH*a.length,t.height=20,a.forEach((r,s)=>{e.fillStyle=r,e.fillRect(COLOR_WIDTH*s,0,COLOR_WIDTH,20)})}function renderRow(t,e,a){t.width=20,t.height=COLOR_WIDTH*a.length,a.forEach((r,s)=>{e.fillStyle=r,e.fillRect(0,COLOR_WIDTH*s,20,COLOR_WIDTH)})}function renderCircle(t,e,a){const o=a.length,n=2*5+o*10*2+(o-1)*5;t.width=n,t.height=10*2+2*5;let i=5+10;const c=5+10;for(let d=0;d({drawWidth:10,drawColors:["#000000"],shadowWidth:0,shadowColor:"#000000",drawTextValue:"draw",drawStyle:DrawStyle.Basic,drawShapeCount:2,materialType:MATERIAL_TYPE.CRAYON,drawShape:DrawShape.Bubble,eraserWidth:20,multiColorType:MultiColorType.COL,textFontFamily:"Georgia",openAutoDraw:!1,fontStyles:[],updateDrawWidth(a){e().drawWidth!==a&&paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.width=getDrawWidth(a),t({drawWidth:a}))},updateDrawColors:a=>{t(r=>{switch(r.drawStyle){case DrawStyle.Basic:paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.color=a[0]);break;case DrawStyle.Material:r.drawColors[0]!==a[0]&&material.render({});break;case DrawStyle.MultiColor:renderMultiColor({colors:a});break}return{drawColors:a}})},updateShadowWidth:a=>{t(()=>(paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.shadow.blur=getShadowWidth(a)),{shadowWidth:a}))},updateShadowColor:a=>{t(()=>(paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.shadow.color=a),{shadowColor:a}))},updateDrawShape:a=>t({drawShape:a}),updateDrawStyle:a=>{t({drawStyle:a}),paintBoard.handleDrawStyle()},updateDrawShapeCount:a=>t({drawShapeCount:a}),updateDrawTextValue:a=>t({drawTextValue:a}),updateMaterialType(a){t(r=>(r.materialType!==a&&material.render({materialType:a}),{materialType:a}))},updateEraserWidth(a){t(r=>(r.drawWidth!==a&&paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.width=getEraserWidth(a)),{eraserWidth:a}))},updateMultiColorType(a){t(r=>(r.multiColorType!==a&&renderMultiColor({type:a}),{multiColorType:a}))},updateTextFontFamily(a){t({textFontFamily:a})},updateAutoDrawState(){const a=!e().openAutoDraw;t({openAutoDraw:a})},updateFontStyles(a){const r=[...e().fontStyles],s=r.findIndex(o=>o===a);s!==-1?r.splice(s,1):r.push(a),t({fontStyles:r})}}));class AutoDrawData{constructor(){l(this,"inks",[]);l(this,"paths",[]);l(this,"oldSVG",null);l(this,"curLeft",0);l(this,"curTop",0);l(this,"curSize",0)}addPath(e){this.paths.push(e)}clearPath(){this.paths=[]}addInk(e){this.inks.push(e)}clearInks(){this.inks=[]}resetLoadedSVG(){this.oldSVG=null,this.curLeft=0,this.curTop=0,this.curSize=0}clearDraw(){this.clearPath(),this.clearInks()}replaceSVGImg(e){var a;if(this.oldSVG&&paintBoard.canvas){paintBoard.canvas.remove(this.oldSVG),fabric.fabric.loadSVGFromURL(e,(r,s)=>{var i;const o=useDrawStore.getState().drawColors[0];r.forEach(c=>{c.set({fill:"transparent",stroke:o})});const n=fabric.fabric.util.groupSVGElements(r,{...s,minX:0,minY:0,left:this.curLeft,top:this.curTop,scaleX:this.curSize/s.width,scaleY:this.curSize/s.height,perPixelTargetFind:!0});this.oldSVG=n,(i=paintBoard.canvas)==null||i.add(n),paintBoard.render()});return}if(e&&((a=this.paths)==null?void 0:a.length)&&paintBoard.canvas){let r=Number.MAX_SAFE_INTEGER,s=Number.MAX_SAFE_INTEGER,o=0;this.paths.forEach(n=>{const{bl:i={x:0,y:0},tl:c={x:0,y:0},tr:d={x:0,y:0}}=(n==null?void 0:n.lineCoords)||{};r=Math.min(r,(n==null?void 0:n.left)||Number.MAX_SAFE_INTEGER),s=Math.min(s,(n==null?void 0:n.top)||Number.MAX_SAFE_INTEGER),o=Math.max(o,Math.abs(c.x-d.x),Math.abs(c.y-i.y))}),fabric.fabric.loadSVGFromURL(e,(n,i)=>{var h;const c=useDrawStore.getState().drawColors[0];n.forEach(p=>{p.set({fill:"transparent",stroke:c})});const d=fabric.fabric.util.groupSVGElements(n,{...i,minX:0,minY:0,left:r,top:s,scaleX:o/i.width,scaleY:o/i.height,perPixelTargetFind:!0});this.oldSVG=d,this.curLeft=r,this.curTop=s,this.curSize=o,(h=paintBoard.canvas)==null||h.add(d),paintBoard.render(),this.clearDraw()})}}}const autoDrawData=new AutoDrawData;class ReticulateElement{constructor(){l(this,"lastTime",0);l(this,"points",[]);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.RETICULATE)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);this.points.push(r),!(this.points.length<2)&&(this.group.addWithUpdate(drawReticulate(this.points)),(s=paintBoard.canvas)==null||s.requestRenderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawReticulate(t){var o,n,i,c;const e=useDrawStore.getState().drawColors[0],a=Math.ceil(useDrawStore.getState().drawWidth/3/((n=(o=paintBoard.canvas)==null?void 0:o.getZoom())!=null?n:1)),r=[];r.push(new fabric.fabric.Line([t[t.length-1].x,t[t.length-1].y,t[t.length-2].x,t[t.length-2].y],{stroke:e,strokeWidth:a}));const s=1e3/((c=(i=paintBoard.canvas)==null?void 0:i.getZoom())!=null?c:1);for(let d=0;d{const i=getRandomInt(e*.3,e),c=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n];return new fabric.fabric.Circle({left:o.x,top:o.y,radius:i,opacity:Math.random(),fill:c})});return new fabric.fabric.Group(r)}function drawStar(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawItemStar(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawItemStar(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawItemStar(t){const e=getRandomInt(t,t*2)*2,a=e*(9/10),r=a/2,s=e/2,o=Math.PI/5,n=[];for(let c=0;c<10;c++){const d=c%2===0?a/2:a/4,h=r+d*Math.cos(c*o),p=s+d*Math.sin(c*o);n.push({x:h,y:p})}return new fabric.fabric.Polygon(n,{opacity:Math.random()})}function drawLove(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawLoveItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawLoveItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawLoveItem(t){const e=getRandomInt(t*1.5,t*3),a="M20.808,11.079C19.829,16.132,12,20.5,12,20.5s-7.829-4.368-8.808-9.421C2.227,6.1,5.066,3.5,8,3.5a4.444,4.444,0,0,1,4,2,4.444,4.444,0,0,1,4-2C18.934,3.5,21.773,6.1,20.808,11.079Z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawButterfly(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawButterflyItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawButterflyItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawButterflyItem(t){const e=getRandomInt(t*1.5,t*3),a="M214.37 208H70.57c-31 0-57.37 14.9-67.26 45.33C1.57 258.71 0 265.54 0 272c0 48 96 128 144 128 28.95 0 53.24-10.67 75.72-33.14-8.58 11.05-13.81 23.47-15.72 37.28-6.98 49.25 1.73 83.2 27.23 91.48C255.99 503.66 288 512 304 512c48 0 53.35-109.18 26.33-144.39L214.37 208zm29.29-21.28L288.1 49.96C297.68 20.47 320 0 352 0c5.66 0 12.64.62 18.78 2.61 45.65 14.84 92.07 130.86 77.23 176.51-8.94 27.54-26.59 47.34-54.91 61.77 13.15-4.74 26.59-5.88 40.31-3.42 49 8.58 78.59 27.35 78.59 54.16 0 26.04-1.96 59.05-6.91 74.27-14.83 45.65-120.32 17.01-145.46-19.58l-115.97-159.6z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawSnow(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawSnowItem(e);return a.set({left:t.x-e,top:t.y-e,stroke:useDrawStore.getState().drawColors[0],strokeWidth:2}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawSnowItem(e);return c.set({left:o.x,top:o.y,stroke:i,strokeWidth:2}),c});return new fabric.fabric.Group(r)}}function drawSnowItem(t){const e=getRandomInt(t*1.5,t*3),a="M11.9994 3V7M11.9994 7V17M11.9994 7L8.99943 4M11.9994 7L14.9994 4M11.9994 17V21M11.9994 17L8.99943 20M11.9994 17L14.9994 20M4.20624 7.49999L7.67034 9.49999M7.67034 9.49999L16.3306 14.5M7.67034 9.49999L3.57227 10.5981M7.67034 9.49999L6.57227 5.40191M16.3306 14.5L19.7947 16.5M16.3306 14.5L17.4287 18.5981M16.3306 14.5L20.4287 13.4019M4.2067 16.5L7.6708 14.5M7.6708 14.5L16.3311 9.49999M7.6708 14.5L3.57273 13.4019M7.6708 14.5L6.57273 18.5981M16.3311 9.49999L19.7952 7.49999M16.3311 9.49999L17.4291 5.40192M16.3311 9.49999L20.4291 10.5981",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawMusic(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawMusicItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawMusicItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawMusicItem(t){const e=getRandomInt(t*1.5,t*3),a="M10.0909 11.9629L19.3636 8.63087V14.1707C18.8126 13.8538 18.1574 13.67 17.4545 13.67C15.4964 13.67 13.9091 15.096 13.9091 16.855C13.9091 18.614 15.4964 20.04 17.4545 20.04C19.4126 20.04 21 18.614 21 16.855C21 16.855 21 16.8551 21 16.855L21 7.49236C21 6.37238 21 5.4331 20.9123 4.68472C20.8999 4.57895 20.8852 4.4738 20.869 4.37569C20.7845 3.86441 20.6352 3.38745 20.347 2.98917C20.2028 2.79002 20.024 2.61055 19.8012 2.45628C19.7594 2.42736 19.716 2.39932 19.6711 2.3722L19.6621 2.36679C18.8906 1.90553 18.0233 1.93852 17.1298 2.14305C16.2657 2.34086 15.1944 2.74368 13.8808 3.23763L11.5963 4.09656C10.9806 4.32806 10.4589 4.52419 10.0494 4.72734C9.61376 4.94348 9.23849 5.1984 8.95707 5.57828C8.67564 5.95817 8.55876 6.36756 8.50501 6.81203C8.4545 7.22978 8.45452 7.7378 8.45455 8.33743V16.1307C7.90347 15.8138 7.24835 15.63 6.54545 15.63C4.58735 15.63 3 17.056 3 18.815C3 20.574 4.58735 22 6.54545 22C8.50355 22 10.0909 20.574 10.0909 18.815C10.0909 18.815 10.0909 18.8151 10.0909 18.815L10.0909 11.9629Z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawSun(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawSunItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawSunItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawSunItem(t){const e=getRandomInt(t*1.5,t*3),a="M23.395 14.106c2.958-1.383 2.828-6.068 5.758-5.884-4.125-2.74-4.019 3.106-9.089 1.235 1.107-3.068-2.292-6.286-0.091-8.227-4.855 0.979-0.645 5.039-5.555 7.301-1.384-2.958-6.068-2.828-5.884-5.758-2.74 4.125 3.106 4.019 1.235 9.089-3.068-1.107-6.286 2.292-8.227 0.091 0.979 4.855 5.039 0.645 7.301 5.555-2.958 1.384-2.828 6.068-5.758 5.884 4.125 2.74 4.019-3.106 9.089-1.235-1.107 3.068 2.292 6.286 0.091 8.227 4.855-0.979 0.645-5.039 5.555-7.301 1.384 2.958 6.068 2.828 5.884 5.758 2.74-4.125-3.106-4.019-1.235-9.089 3.068 1.107 6.286-2.292 8.226-0.091-0.979-4.855-5.039-0.645-7.301-5.555z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawMoon(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawMoonItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawMoonItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawMoonItem(t){const e=getRandomInt(t*1.5,t*3),a="M8.23129 2.24048C9.24338 1.78695 10.1202 2.81145 9.80357 3.70098C8.72924 6.71928 9.38932 10.1474 11.6193 12.3765C13.8606 14.617 17.3114 15.2755 20.3395 14.1819C21.2206 13.8637 22.2173 14.7319 21.7817 15.7199C21.7688 15.7491 21.7558 15.7782 21.7427 15.8074C20.9674 17.5266 19.7272 19.1434 18.1227 20.2274C16.4125 21.3828 14.3957 22.0001 12.3316 22.0001H12.3306C9.93035 21.9975 7.6057 21.1603 5.75517 19.6321C3.90463 18.1039 2.64345 15.9797 2.18793 13.6237C1.73241 11.2677 2.11094 8.82672 3.2586 6.71917C4.34658 4.72121 6.17608 3.16858 8.20153 2.25386L8.23129 2.24048Z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawLeaf(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawLeafItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawLeafItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawLeafItem(t){const e=getRandomInt(t*1.5,t*3),a="M15.362,9.69c0,0-0.75,1.108-1.068,0c-0.318-1.109-1.346-4.949-1.762-5.226 c-0.417-0.278-0.417-0.278-0.417-0.278s-0.078,1.506-0.594,1.307c-0.515-0.198-4.313-2.217-4.63-2.652L6.574,2.444 c0,0,0.355,3.328-0.515,2.615c0,0,1.113,2.771-2.573,3.048c0,0,1.186,3.087,4.552,4.75c0,0,1.148,1.783-0.949,1.503 c0,0-2.932-0.395-3.325-0.752c0,0-1.548,3.01-3.764,3.128c0,0,2.656,1.504,2.337,4.156c0,0,5.107,0.041,4.911,0.832 c-0.2,0.795-0.555,1.601-0.555,1.601s4.71-0.929,5.422-2.194c0,0,0.989,0.99,1.071,1.939c0,0,2.693-0.594,2.452-2.296 c0,0,1.269,0.948,1.427,2.551l0.554-0.375c0,0-0.319-1.661-1.464-2.967c0,0-0.517-1.308,0.789-0.633c0,0,3.085,1.029,5.7-0.833 c0,0-2.888-0.948-3.006-1.978c0,0,5.394-3.326,5.625-5.542c0,0-1.944,0.198-2.972-0.633c0,0-1.309-0.396,0.394-4.791 c0,0-1.227,0.724-1.62-3.636c0,0-3.051,4.665-4.518,3.082C16.548,5.018,15.165,8.066,15.362,9.69z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawFlower(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawFlowerItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawFlowerItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawFlowerItem(t){const e=getRandomInt(t*1.5,t*3),a="M512,224.438c0-63.766-51.703-115.469-115.484-115.469c-8.781,0-17.328,1-25.531,2.859 C365.656,52.984,316.219,6.875,256,6.875c-60.234,0-109.672,46.109-114.984,104.953c-8.219-1.859-16.766-2.859-25.531-2.859 C51.703,108.969,0,160.672,0,224.438c0,47.594,28.797,88.469,69.906,106.141c-10.297,17.281-16.234,37.484-16.234,59.063 c0,63.766,51.703,115.484,115.484,115.484c34.625,0,65.672-15.266,86.844-39.406c21.156,24.141,52.219,39.406,86.844,39.406 c63.781,0,115.484-51.719,115.484-115.484c0-21.578-5.938-41.781-16.25-59.063C483.203,312.906,512,272.031,512,224.438z M256,372.531c-53.563,0-97-43.406-97-97c0-53.563,43.438-96.984,97-96.984s96.984,43.422,96.984,96.984 C352.984,329.125,309.563,372.531,256,372.531z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}class ShapeElement{constructor(){l(this,"lastTime",0);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.SHAPE)}addPosition(e){var n,i,c;const a=Date.now();if(a-this.lastTime<30||!e)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y),s=useDrawStore.getState().drawWidth/((i=(n=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:n.getZoom())!=null?i:1);let o=null;switch(useDrawStore.getState().drawShape){case DrawShape.Bubble:o=drawBubble(r,s);break;case DrawShape.Star:o=drawStar(r,s);break;case DrawShape.Love:o=drawLove(r,s);break;case DrawShape.Butterfly:o=drawButterfly(r,s);break;case DrawShape.Snow:o=drawSnow(r,s);break;case DrawShape.Music:o=drawMusic(r,s);break;case DrawShape.Sun:o=drawSun(r,s);break;case DrawShape.Moon:o=drawMoon(r,s);break;case DrawShape.Leaf:o=drawLeaf(r,s);break;case DrawShape.Flower:o=drawFlower(r,s);break}o&&(this.group.addWithUpdate(o),(c=paintBoard.canvas)==null||c.requestRenderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}class PixelsElement{constructor(){l(this,"lastTime",0);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.PIXELS)}addPosition(e){var s;const a=Date.now();if(a-this.lastTime<30||!e)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);this.group.addWithUpdate(drawPixels(r.x,r.y)),(s=paintBoard.canvas)==null||s.requestRenderAll()}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawPixels(t,e){var o,n,i,c,d,h;const a=[],r=Number((useDrawStore.getState().drawWidth/((n=(o=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:o.getZoom())!=null?n:1)).toFixed(2)),s=Number((useDrawStore.getState().drawWidth/3/((c=(i=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:i.getZoom())!=null?c:1)).toFixed(2));for(let p=-r;p.5){const u=(h=(d=useDrawStore.getState().drawColors)==null?void 0:d[getRandomInt(0,useDrawStore.getState().drawColors.length-1)])!=null?h:useDrawStore.getState().drawColors[0],m=new fabric.fabric.Rect({left:t+p,top:e+f,width:s,height:s,fill:u});a.push(m)}return new fabric.fabric.Group(a)}const minFontSize=3;class DrawTextElement{constructor(){l(this,"lastTime",0);l(this,"points",[]);l(this,"group");l(this,"counter",0);l(this,"position",{x:0,y:window.innerHeight/2});var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.DRAW_TEXT)}addPosition(e){var s;if(!e)return;const a=new fabric.fabric.Point(e.x,e.y);if(this.points.push(a),this.points.length<2){this.position={x:a.x,y:a.y};return}const r=Date.now();r-this.lastTime<30||(this.lastTime=r,this.group.addWithUpdate(drawText(this)),(s=paintBoard.canvas)==null||s.requestRenderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawText(t){const e=t.points,a=e[e.length-1],r=getDistance(t.position,a),s=minFontSize+r/2,o=useDrawStore.getState().drawTextValue[t.counter%useDrawStore.getState().drawTextValue.length],n=textWidth(o,s);if(n&&r>n){const i=Math.atan2(a.y-t.position.y,a.x-t.position.x),c=new fabric.fabric.Text(o,{fontSize:s,top:t.position.y,left:t.position.x,fontFamily:useDrawStore.getState().textFontFamily,originX:"left",originY:"bottom",angle:fabric.fabric.util.radiansToDegrees(i),fill:useDrawStore.getState().drawColors[0]});return t.position={x:t.position.x+Math.cos(i)*n,y:t.position.y+Math.sin(i)*n},t.counter++,t.counter>useDrawStore.getState().drawTextValue.length-1&&(t.counter=0),c}}function textWidth(t,e){return new fabric.fabric.Text(t,{fontSize:e,fontFamily:useDrawStore.getState().textFontFamily}).width}class MultiLineElement{constructor(){l(this,"lastTime",0);l(this,"points",[]);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.MULTI_LINE)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);this.points.push(r),!(this.points.length<2)&&(this.group.addWithUpdate(drawMultiLine(this.points)),(s=paintBoard.canvas)==null||s.renderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawMultiLine(t){var s,o;const e=useDrawStore.getState().drawColors[0],a=Math.ceil(useDrawStore.getState().drawWidth/3/((o=(s=paintBoard.canvas)==null?void 0:s.getZoom())!=null?o:1)),r=[];if(r.push(new fabric.fabric.Line([t[t.length-1].x,t[t.length-1].y,t[t.length-2].x,t[t.length-2].y],{stroke:e,strokeWidth:a})),t.length%5===0)for(let n=t.length-5,i=0;n>=0&&i<3;n=n-5,i++)r.push(new fabric.fabric.Line([t[t.length-1].x,t[t.length-1].y,t[n].x,t[n].y],{stroke:e,strokeWidth:a/3}));return new fabric.fabric.Group(r)}let colorDeg=0;class RainbowElement{constructor(){l(this,"points",[]);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.RAINBOW)}addPosition(e){var r;if(!e)return;const a=new fabric.fabric.Point(e.x,e.y);this.points.push(a),!(this.points.length<2)&&(this.group.addWithUpdate(drawRainbow(this.points)),(r=paintBoard.canvas)==null||r.requestRenderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawRainbow(t){var i,c;const e=Math.ceil(useDrawStore.getState().drawWidth/((c=(i=paintBoard.canvas)==null?void 0:i.getZoom())!=null?c:1));colorDeg=colorDeg<360?colorDeg+1:0;const a=t[t.length-1].x,r=t[t.length-1].y,s=t[t.length-2].x,o=t[t.length-2].y;return new fabric.fabric.Line([s,o,a,r],{stroke:`hsl(${colorDeg}, 90%, 50%)`,strokeWidth:e,originX:"center",originY:"center"})}class ThornElement{constructor(){l(this,"lastTime",0);l(this,"lastPoint",null);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.THORN)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);if(!this.lastPoint){this.lastPoint=r;return}this.group.addWithUpdate(drawThorn(this,r)),(s=paintBoard.canvas)==null||s.renderAll()}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawThorn(t,e){var i,c;const a=t.lastPoint,r=getDistance(a,e),s=fabric.fabric.util.radiansToDegrees(Math.atan2(e.y-a.y,e.x-a.x)),o=3/((c=(i=paintBoard.canvas)==null?void 0:i.getZoom())!=null?c:1),n=new fabric.fabric.Ellipse({left:e.x,top:e.y,originX:"center",originY:"center",fill:useDrawStore.getState().drawColors[0],opacity:Math.random(),rx:r*5+o,ry:o});return n.rotate(s),t.lastPoint=e,n}class MultiPointElement{constructor(){l(this,"lastTime",0);l(this,"lastCoordinates",[]);l(this,"points",[]);l(this,"group");l(this,"shadow");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,this.shadow=new fabric.fabric.Shadow({blur:3,offsetX:0,offsetY:0,color:useDrawStore.getState().drawColors[0]}),setObjectAttr(e,ELEMENT_CUSTOM_TYPE.MULTI_POINT)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);this.points.push(r),!(this.points.length<2)&&(this.group.addWithUpdate(drawMultiPoint(this)),(s=paintBoard.canvas)==null||s.renderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawMultiPoint(t){var f,u;const{points:e,lastCoordinates:a}=t,r=(u=(f=paintBoard.canvas)==null?void 0:f.getZoom())!=null?u:1,s=Math.ceil(useDrawStore.getState().drawWidth*3/r),o=6/r,n=2/r,i=e[e.length-1].x,c=e[e.length-1].y,d=[],h=generateRandomCoordinates(i,c,s,useDrawStore.getState().drawShapeCount),p=h.map(m=>new fabric.fabric.Circle({left:m.x,top:m.y,radius:o,fill:useDrawStore.getState().drawColors[0]}));if(d.push(...p),a!=null&&a.length){const m=a.map((w,g)=>new fabric.fabric.Line([w.x+o,w.y+o,h[g].x+o,h[g].y+o],{stroke:useDrawStore.getState().drawColors[0],strokeWidth:n}));d.push(...m)}return t.lastCoordinates=h,new fabric.fabric.Group(d)}class WiggleElement{constructor(){l(this,"lastTime",0);l(this,"flip",1);l(this,"lastPoint",null);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.WIGGLE)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);if(!this.lastPoint){this.lastPoint=r;return}this.group.addWithUpdate(drawWiggle(this,r)),(s=paintBoard.canvas)==null||s.renderAll()}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawWiggle(t,e){var h,p;const a=t.lastPoint,r=getDistance(a,e),s=(a.x+e.x)/2,o=(a.y+e.y)/2,n=fabric.fabric.util.radiansToDegrees(Math.atan2(e.y-a.y,e.x-a.x)),i=fabric.fabric.util.radiansToDegrees(t.flip%2*Math.PI),c=3/((p=(h=paintBoard.canvas)==null?void 0:h.getZoom())!=null?p:1),d=new fabric.fabric.Circle({top:o,left:s,originX:"center",originY:"center",radius:r/2,startAngle:n+i,endAngle:n+i+fabric.fabric.util.radiansToDegrees(Math.PI),stroke:useDrawStore.getState().drawColors[0],strokeWidth:c,fill:"",strokeLineJoin:"round",strokeLineCap:"round"});return t.lastPoint=e,t.flip++,d}const useShapeStore=create()(persist((t,e)=>({shapeStyle:ShapeStyle.Rect,borderType:ShapeBorderType.Solid,borderColor:"#000000",borderWidth:3,fillColor:"#FFFFFF",fillType:ShapeFillType.Transparent,shapeLinePointCount:3,updateShapeStyle(a){e().shapeStyle!==a&&t({shapeStyle:a})},updateBorderType(a){e().borderType!==a&&t({borderType:a})},updateBorderColor:a=>{e().borderColor!==a&&t({borderColor:a})},updateBorderWidth:a=>{e().borderWidth!==a&&t({borderWidth:a})},updateFillColor:a=>{e().fillColor!==a&&t({fillColor:a})},updateFillType(a){e().fillType!==a&&t({fillType:a})},updateShapeLinePointCount(a){const r=e().shapeLinePointCount;a!==r&&t({shapeLinePointCount:a})}}),{name:"PAINT-BOARD-SHAPE-STORE"})),getShapeBorderWidth=()=>useShapeStore.getState().borderWidth,getShapeBorder=(t=5)=>{const e=useShapeStore.getState().borderType,a=Math.round(t);switch(e){case ShapeBorderType.Dashed:return[a*3,a*2];case ShapeBorderType.Dotted:return[a,a*3];default:return}},getFillStyle=()=>{const{fillType:t,fillColor:e}=useShapeStore.getState();switch(t){case ShapeFillType.Transparent:return"transparent";case ShapeFillType.Full:return e;default:return}};class RectShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var s;if(!e)return;const a=getShapeBorderWidth(),r=new fabric.fabric.Rect({left:e.x,top:e.y,width:0,height:0,rx:3,ry:3,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(s=paintBoard.canvas)==null||s.add(r),this.shapeInstance=r,this.startX=e.x,this.startY=e.y,setObjectAttr(r,ELEMENT_CUSTOM_TYPE.SHAPE_RECT)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({width:s,height:o,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class CircleShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var s;if(!e)return;const a=getShapeBorderWidth(),r=new fabric.fabric.Circle({left:e.x,top:e.y,radius:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(s=paintBoard.canvas)==null||s.add(r),this.shapeInstance=r,this.startX=e.x,this.startY=e.y,setObjectAttr(r,ELEMENT_CUSTOM_TYPE.SHAPE_CIRCLE)}addPosition(e){var d;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=Math.min(s,o)/2,i=a>this.startX?this.startX:this.startX-n*2,c=r>this.startY?this.startY:this.startY-n*2;this.shapeInstance.set({radius:n,left:i,top:c}),this.shapeInstance.setCoords(),(d=paintBoard.canvas)==null||d.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class LineShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;this.startX=e.x,this.startY=e.y;const a=getShapeBorderWidth(),r=[];for(let n=0;n0?o-1:a,actionHandler$1),actionName:"polylineEndPoint",pointIndex:o}),r},{}),this.shapeInstance._setPositionDimensions({}),this.shapeInstance.setCoords()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class EllipseShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var s;if(!e)return;const a=getShapeBorderWidth(),r=new fabric.fabric.Ellipse({left:e.x,top:e.y,rx:0,ry:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(s=paintBoard.canvas)==null||s.add(r),this.shapeInstance=r,this.startX=e.x,this.startY=e.y,setObjectAttr(r,ELEMENT_CUSTOM_TYPE.SHAPE_ELLIPSE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX)/2,o=Math.abs(r-this.startY)/2,n=a>this.startX?this.startX:this.startX-s*2,i=r>this.startY?this.startY:this.startY-o*2;this.shapeInstance.set({rx:s,ry:o,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class TriangleShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var s;if(!e)return;const a=getShapeBorderWidth(),r=new fabric.fabric.Triangle({left:e.x,top:e.y,width:0,height:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(s=paintBoard.canvas)==null||s.add(r),this.shapeInstance=r,this.startX=e.x,this.startY=e.y,setObjectAttr(r,ELEMENT_CUSTOM_TYPE.SHAPE_TRIANGLE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({width:s,height:o,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class ArrowOutlineShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m446.24196,887.47009l-175.7696,0c-27.01653,-0.68266 -50.176,-10.68373 -69.23946,-29.7472c-16.91307,-16.896 -26.88,-36.62506 -29.61067,-58.58986a99.1744,99.1744 0 0 1 -1.00693,-14.06294c0,-4.3008 0.29013,-8.89173 0.85333,-13.80693l0,-395.79307l-154.45333,0a17.1008,17.1008 0 0 1 -12.06614,-29.1328l341.33334,-341.33333a17.0496,17.0496 0 0 1 24.13226,0l340.3264,340.3264a17.06667,17.06667 0 0 1 -9.8816,30.99307l-153.94133,0l0,410.45333c-0.64853,27.46027 -10.5984,51.11467 -29.52533,70.74133c-19.98507,19.3536 -43.63947,29.2864 -70.74134,29.96907l-0.4096,-0.01707z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_ARROW_OUTLINE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/718,scaleY:o/887,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class CloudShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m853.33333,42.66667a192,192 0 0 1 -192,192l-512,0c-129.6,0 -234.66666,-105.06667 -234.66666,-234.66667c0,-126.03733 99.37066,-228.864 224.02133,-234.432a298.41067,298.41067 0 0 1 245.312,-128.23467c134.10133,0 249.45067,88.96 286.35733,213.54667a192,192 0 0 1 182.976,191.78667z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_CLOUD)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/939,scaleY:o/598,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class TooltipsShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m1020.60467,131.15818c0,-72.31603 -58.84215,-131.15818 -131.18785,-131.15818l-758.24124,0c-72.32933,0 -131.17558,58.84215 -131.17558,131.15818l0,493.79948c0,72.31602 58.84625,131.05994 131.17558,131.05994l125.70907,0l0,193.82749c0,20.83861 12.4127,39.45562 31.62528,47.46299c19.29136,8.0043 41.26994,3.59897 56.02703,-11.15915l230.14873,-230.13236l314.72908,0c72.3457,0 131.18786,-58.74391 131.18786,-131.05994l-0.00001,-493.79845l0.00205,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_TOOLTIPS)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/1020,scaleY:o/1002,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class LightningShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m-329.49334,256l271.25334,66.66667a5.33333,5.33333 0 0 1 4,5.97333l-51.04,335.68a5.33333,5.33333 0 0 0 9.22666,4.32l434.77334,-490.34667a5.33333,5.33333 0 0 0 -2.72,-8.69333l-271.25334,-66.66667a5.33333,5.33333 0 0 1 -4,-5.97333l51.04,-335.62667a5.33333,5.33333 0 0 0 -9.22666,-4.37333l-434.77334,490.34667a5.33333,5.33333 0 0 0 2.72,8.69333z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_LIGHTNING)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/674,scaleY:o/915,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class CloseShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m678.76571,546.23086q0,22.82057 -16.01829,38.83886l-77.67771,77.67771q-16.01829,16.01829 -38.83886,16.01829t-38.83885,-16.01829l-168.00915,-168.00914l-168.00914,168.00914q-16.01829,16.01829 -38.83886,16.01829t-38.83885,-16.01829l-77.67772,-77.67771q-16.01828,-16.01829 -16.01828,-38.83886t16.01828,-38.83886l168.00915,-168.00914l-168.00915,-168.00914q-16.01828,-16.01829 -16.01828,-38.83886t16.01828,-38.83886l77.67772,-77.67771q16.01828,-16.01829 38.83885,-16.01829t38.83886,16.01829l168.00914,168.00914l168.00915,-168.00914q16.01828,-16.01829 38.83885,-16.01829t38.83886,16.01829l77.67771,77.67771q16.01829,16.01829 16.01829,38.83886t-16.01829,38.83886l-168.00914,168.00914l168.00914,168.00914q16.01829,16.01829 16.01829,38.83886z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_CLOSE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/679,scaleY:o/679,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class CheckShap{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m855.08247,17.19428c-43.5,-30.3 -104,-19.5 -134.6,24.1l-425.8,606l-127,-135.7c-36.4,-38.9 -98.1,-41.1 -137,-4.8c-39,36.2 -41.1,97.7 -4.7,136.6l206.5,220.7c4.7,5 9.8,9.4 15.1,13.1c0.7,0.5 1.4,1 2.2,1.5c43.5,30.3 104,19.5 134.6,-24.1l494,-703.2c30.7,-43.5 20.1,-103.9 -23.3,-134.2z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_CHECK)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/896,scaleY:o/896,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class InfoShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m512,1024c282.771,0 512,-229.23 512,-512s-229.23,-512 -512,-512s-512,229.23 -512,512s229.23,512 512,512zm-80,-768c0,-44.183 35.817,-80 80,-80s80,35.817 80,80l0,31.999c0,44.183 -35.817,80 -80,80s-80,-35.817 -80,-80l0,-31.999zm-0.001,256c0,-44.183 35.817,-80 80,-80s80,35.817 80,80l0,256c0,44.183 -35.817,80 -80,80s-80,-35.817 -80,-80l0,-256z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_INFO)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/1024,scaleY:o/1024,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class BackspaceShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m714.52777,0a138.66667,138.66667 0 0 1 138.45333,130.816l0.21334,7.85066l0,405.33334a138.66667,138.66667 0 0 1 -130.816,138.45333l-7.85067,0.21333l-362.70933,0a138.66667,138.66667 0 0 1 -88.96,-32.256l-6.61334,-5.93066l-213.16266,-202.66667a138.66667,138.66667 0 0 1 -4.90667,-196.01067l4.90667,-4.94933l213.16266,-202.66667a138.66667,138.66667 0 0 1 86.69867,-37.888l8.87467,-0.29866l362.66666,0l0.04267,0zm0,64l-362.70933,0a74.66667,74.66667 0 0 0 -46.08,15.872l-5.376,4.69333l-213.16267,202.66667l-2.64533,2.64533a74.66667,74.66667 0 0 0 -2.34667,100.352l4.992,5.20533l213.16267,202.66667c12.11733,11.52 27.73333,18.64533 44.288,20.224l7.168,0.34133l362.66666,0a74.66667,74.66667 0 0 0 74.45334,-68.56533l0.256,-6.10133l0,-405.33334a74.66667,74.66667 0 0 0 -68.56534,-74.41066l-6.10133,-0.256zm-311.63733,123.60533l3.584,3.11467l105.38666,105.344l105.38667,-105.38667a32,32 0 0 1 48.34133,41.68533l-3.11466,3.584l-105.38667,105.38667l105.38667,105.38667a32,32 0 0 1 -41.64267,48.34133l-3.584,-3.11467l-105.38667,-105.344l-105.38666,105.38667a32,32 0 0 1 -48.34134,-41.68533l3.072,-3.584l105.42934,-105.38667l-105.38667,-105.38667a32,32 0 0 1 41.68533,-48.34133l-0.04266,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_BACKSPACE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/853,scaleY:o/682,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class BlockShap{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m426.66667,0c235.648,0 426.66667,191.06134 426.66667,426.66667c0,235.69067 -191.01867,426.66667 -426.66667,426.66667c-235.60533,0 -426.66667,-190.976 -426.66667,-426.66667c0,-235.56267 191.06134,-426.66667 426.66667,-426.66667zm0,64a362.66667,362.66667 0 1 0 0,725.33334a362.66667,362.66667 0 0 0 0,-725.33334zm-181.33333,330.66667l362.66666,0a32,32 0 0 1 4.352,63.70133l-4.352,0.29867l-362.66666,0a32,32 0 0 1 -4.352,-63.70133l4.352,-0.29867l362.66666,0l-362.66666,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_BLOCK)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/853,scaleY:o/853,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class SpeakerShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m489.01486,786.432c29.14743,0 50.13943,-21.43086 50.13943,-50.13943l0,-683.57486c0,-28.70857 -20.992,-52.71771 -50.99886,-52.71771c-20.992,0 -34.70628,10.29486 -57.856,30.86629l-201.43543,178.70628c-2.56,2.56 -6.41828,3.85829 -10.69714,3.85829l-127.28686,0c-60.87314,0 -90.88,30.42743 -90.88,95.14057l0,170.58743c0,64.73143 30.00686,95.14057 90.88,95.14057l127.26858,0c4.29714,0 8.15542,1.28 10.71542,3.85828l201.45372,180.40686c20.992,18.87086 37.72343,27.86743 58.71543,27.86743l-0.01829,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_SPEAKER)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/539,scaleY:o/786,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class SearchShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m309.28596,0a309.33333,309.33333 0 0 1 240.21333,504.27734l209.06667,209.06666a32,32 0 0 1 -41.64267,48.384l-3.584,-3.11466l-209.10933,-209.06667a309.33333,309.33333 0 1 1 -194.944,-549.54667zm0,64a245.33333,245.33333 0 1 0 0,490.66667a245.33333,245.33333 0 0 0 0,-490.66667z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_SEARCH)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/768,scaleY:o/768,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class InfoOutlineShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m89.68,0c16.93,12.78 35.09,21 56.38,20.55c2.3,0 4.59,-0.06 6.88,0.07a64.3,64.3 0 0 0 35.55,-7.85c4.37,-2.42 8.6,-2.67 13.2,-1.85a8.08,8.08 0 0 1 5.09,2.86c12,14.42 27.73,20.48 46.19,20.6c8.12,0 16,-0.64 23.46,-4.15a13.82,13.82 0 0 1 5.81,-1c2.25,0 4.13,2.72 3.63,4.92a26.24,26.24 0 0 1 -1.32,3.12c-4.65,12.17 -1.88,23.2 5.92,33c2.17,2.71 6.09,4.07 9.32,5.86c2.49,1.38 5.26,2.26 7.68,3.74a3.54,3.54 0 0 1 0.19,5.87a20.31,20.31 0 0 1 -2.87,1.84c-14.12,7.91 -20.69,21 -23.88,36c-1.13,5.36 0.93,10.75 2.65,15.94a57.2,57.2 0 0 1 2.28,7.35c0.63,3.33 -1.25,5.55 -4.74,5.64a33.64,33.64 0 0 1 -6.76,-0.74c-19,-3.33 -36.39,0.36 -51.73,12.4c-2.24,1.76 -4.26,3.83 -6.44,5.67c-2.93,2.47 -5.43,2.7 -8.59,0.86a15.43,15.43 0 0 1 -2.1,-1.5c-6.69,-5.62 -14.73,-7.23 -23.14,-8c-13.19,-1.23 -25.78,1.36 -37.68,6.62c-6.7,3 -11.49,0.84 -16.33,-3.12c-2.65,-2.18 -5.15,-4.55 -7.64,-6.91a24.73,24.73 0 0 0 -12.93,-6.4c-15.06,-2.69 -30.13,-3.61 -45.11,0.76c-4.93,1.44 -10,2.46 -14.87,4.11s-8.33,-0.65 -11.48,-3.67c-0.87,-0.83 -1,-2.56 -1.19,-3.92c-0.87,-5.65 -1.52,-11.33 -2.46,-17a24.82,24.82 0 0 0 -12.9,-18.3c-4.95,-2.78 -9.12,-7.08 -15.62,-7.77l-4.13,-7.6c3.06,-2.94 5.88,-5.71 8.77,-8.4c10.63,-9.91 14.4,-22.38 13.5,-36.5a10.73,10.73 0 0 0 -2.27,-5.31c-2.75,-3.66 -2.57,-7.3 -0.65,-11.71c6.28,0.84 12.44,1.81 18.63,2.47c10.02,1.06 19.28,-1.55 28.27,-5.63a36.86,36.86 0 0 0 14.36,-11.82c1.8,-2.39 3.17,-5 3.15,-7.8c0,-4.54 2.41,-8.06 4,-11.93c0.24,-0.44 0.94,-0.67 1.92,-1.37z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_INFO_OUTLINE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/309,scaleY:o/172,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class HeartShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m760.384,0.00803c47.808,0 91.968,11.968 132.352,35.84a264.32,264.32 0 0 1 95.872,97.152a263.68,263.68 0 0 1 35.392,133.888c0,34.752 -6.592,68.544 -19.712,101.312a262.4,262.4 0 0 1 -57.536,87.424l-434.752,440.384l-434.752,-440.32a268.8,268.8 0 0 1 -77.248,-188.8c0,-48.384 11.776,-93.056 35.392,-133.952a264.32,264.32 0 0 1 95.808,-97.088a255.296,255.296 0 0 1 132.48,-35.84a260.736,260.736 0 0 1 186.24,78.208l62.08,62.912l62.144,-62.912a258.944,258.944 0 0 1 86.336,-58.24a259.584,259.584 0 0 1 100.032,-19.968l-0.128,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_HEART)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/1024,scaleY:o/896,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class AlertShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="M 300 0 C 204.92302 0 120 65.17035 120 155 A 40 40 0 0 0 120.72852 160.5332 A 40 40 0 0 0 119.83984 165 C 119.83984 285.43738 70.949871 389.48179 19.386719 420.81836 A 40 40 0 0 0 0.33984375 456.98438 A 40 40 0 0 0 0 460 A 40 40 0 0 0 40 500 L 164.75586 500 C 173.8133 535.3936 198.4031 565.81344 231.86914 583.36328 C 274.50045 605.71947 325.49955 605.71947 368.13086 583.36328 C 401.5969 565.81344 426.1867 535.3936 435.24414 500 L 560 500 A 40 40 0 0 0 600 460 A 40 40 0 0 0 599.49023 453.71094 A 40 40 0 0 0 580.45312 415.81836 C 528.88999 384.48179 480 280.43738 480 160 A 40 40 0 0 0 479.78125 156.66016 A 40 40 0 0 0 480 155 C 480 65.17035 395.07698 0 300 0 z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_ALERT)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/600,scaleY:o/600,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class ArrowLineShape{constructor(e){l(this,"shapeLine");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;this.startX=e.x,this.startY=e.y;const a=getShapeBorderWidth();let r=`M ${this.startX} ${this.startY}`;for(let n=0;n0?s-1:e.length-5,actionHandler),actionName:"pathEndPoint",pointIndex:s}),a},{}),this.shapeLine.setCoords()}destroy(){var e;this.shapeLine&&((e=paintBoard.canvas)==null||e.remove(this.shapeLine))}}let updateInkHook=null;class CanvasClickEvent{constructor(){l(this,"isMouseDown",!1);l(this,"isSpaceKeyDown",!1);l(this,"startPoint");l(this,"currentElement",null);l(this,"mouseDownTime",0);l(this,"autoDrawInk",[[],[],[]]);this.initClickEvent()}initClickEvent(){const e=paintBoard.canvas;e==null||e.on("mouse:down",a=>{if(this.isMouseDown=!0,this.isSpaceKeyDown)return;this.startPoint=a.absolutePointer;let r=null;if(useBoardStore.getState().mode===ActionMode.DRAW){if(useBoardStore.getState().drawType===DrawType.Shape)switch(useShapeStore.getState().shapeStyle){case ShapeStyle.Rect:r=new RectShape(a.absolutePointer);break;case ShapeStyle.Circle:r=new CircleShape(a.absolutePointer);break;case ShapeStyle.Line:r=new LineShape(a.absolutePointer);break;case ShapeStyle.Ellipse:r=new EllipseShape(a.absolutePointer);break;case ShapeStyle.Triangle:r=new TriangleShape(a.absolutePointer);break;case ShapeStyle.ArrowLine:r=new ArrowLineShape(a.absolutePointer);break;case ShapeStyle.ArrowOutline:r=new ArrowOutlineShape(a.absolutePointer);break;case ShapeStyle.Cloud:r=new CloudShape(a.absolutePointer);break;case ShapeStyle.Tooltips:r=new TooltipsShape(a.absolutePointer);break;case ShapeStyle.Lightning:r=new LightningShape(a.absolutePointer);break;case ShapeStyle.Close:r=new CloseShape(a.absolutePointer);break;case ShapeStyle.Check:r=new CheckShap(a.absolutePointer);break;case ShapeStyle.Info:r=new InfoShape(a.absolutePointer);break;case ShapeStyle.Backspace:r=new BackspaceShape(a.absolutePointer);break;case ShapeStyle.Block:r=new BlockShap(a.absolutePointer);break;case ShapeStyle.Speaker:r=new SpeakerShape(a.absolutePointer);break;case ShapeStyle.Search:r=new SearchShape(a.absolutePointer);break;case ShapeStyle.InfoOutline:r=new InfoOutlineShape(a.absolutePointer);break;case ShapeStyle.Heart:r=new HeartShape(a.absolutePointer);break;case ShapeStyle.Alert:r=new AlertShape(a.absolutePointer);break}else if(useBoardStore.getState().drawType===DrawType.FreeStyle)switch(useDrawStore.getState().drawStyle){case DrawStyle.Shape:r=new ShapeElement;break;case DrawStyle.Pixels:r=new PixelsElement;break;case DrawStyle.Text:r=new DrawTextElement;break;case DrawStyle.MultiLine:r=new MultiLineElement;break;case DrawStyle.Reticulate:r=new ReticulateElement;break;case DrawStyle.Rainbow:r=new RainbowElement;break;case DrawStyle.Thorn:r=new ThornElement;break;case DrawStyle.MultiPoint:r=new MultiPointElement;break;case DrawStyle.Wiggle:r=new WiggleElement;break;case DrawStyle.Basic:useDrawStore.getState().openAutoDraw&&(autoDrawData.resetLoadedSVG(),this.mouseDownTime=new Date().getTime());break}}this.currentElement=r}),e==null||e.on("mouse:move",a=>{var r,s,o,n,i;if(this.isMouseDown){if(this.isSpaceKeyDown){e.relativePan(new fabric.fabric.Point(a.e.movementX,a.e.movementY));return}if((r=paintBoard.evnet)!=null&&r.touchEvent.isTwoTouch)return;this.mouseDownTime&&((s=a.absolutePointer)==null?void 0:s.x)&&((o=a.absolutePointer)==null?void 0:o.y)&&(this.autoDrawInk[0].push((n=a.absolutePointer)==null?void 0:n.x),this.autoDrawInk[1].push((i=a.absolutePointer)==null?void 0:i.y),this.autoDrawInk[2].push(new Date().getTime()-this.mouseDownTime)),useBoardStore.getState().mode===ActionMode.DRAW&&this.currentElement&&this.currentElement.addPosition(a.absolutePointer)}}),e==null||e.on("mouse:up",a=>{var r,s,o,n;if(this.isMouseDown=!1,updateInkHook==null||updateInkHook(e.toDataURL()),((s=(r=this.autoDrawInk)==null?void 0:r[0])==null?void 0:s.length)>3&&(autoDrawData.addInk([...this.autoDrawInk]),this.autoDrawInk=[[],[],[]],this.mouseDownTime=0),this.currentElement){let i=!1;if(this.startPoint&&a.absolutePointer){const{x:c,y:d}=this.startPoint,{x:h,y:p}=a.absolutePointer;c===h&&d===p&&(this.currentElement.destroy(),i=!0)}i||((this.currentElement instanceof LineShape||this.currentElement instanceof ArrowLineShape)&&((o=this.currentElement)==null||o.mouseUp()),(n=paintBoard.history)==null||n.saveState()),this.currentElement=null}}),e==null||e.on("mouse:dblclick",a=>{var r;if(a!=null&&a.absolutePointer){const{x:s,y:o}=a.absolutePointer;(r=paintBoard.textElement)==null||r.loadText(s,o)}})}setSpaceKeyDownState(e){this.isSpaceKeyDown=e}changeInkHookFn(e){updateInkHook=e}}class ObjectEvent{constructor(){this.initObjectEvent(),this.initTextEvent()}initObjectEvent(){const e=paintBoard==null?void 0:paintBoard.canvas;e==null||e.on("selection:created",()=>{paintBoard.triggerHook()}),e==null||e.on("selection:updated",()=>{paintBoard.triggerHook()}),e==null||e.on("selection:cleared",()=>{paintBoard.triggerHook()}),e==null||e.on("path:created",a=>{var o;const{mode:r,drawType:s}=useBoardStore.getState();if([ActionMode.DRAW,ActionMode.ERASE].includes(r)){if(r===ActionMode.DRAW){const n=v4();a.path.set({id:n,perPixelTargetFind:!0});const{openAutoDraw:i,drawStyle:c}=useDrawStore.getState();i&&s===DrawType.FreeStyle&&c===DrawStyle.Basic&&autoDrawData.addPath(a.path)}(o=paintBoard.history)==null||o.saveState()}}),e==null||e.on("object:modified",a=>{var r,s;if(((r=a.target)==null?void 0:r.type)==="i-text"){const o=a.target;if(o._textBeforeEdit===o.text)return}a.action&&a.target&&((s=paintBoard.history)==null||s.saveState())})}initTextEvent(){const e=paintBoard==null?void 0:paintBoard.canvas;e==null||e.on("text:editing:entered",()=>{paintBoard.textElement.isTextEditing=!0}),e==null||e.on("text:editing:exited",a=>{const r=a==null?void 0:a.target;r&&(paintBoard.textElement.isTextEditing=!1,r!=null&&r._customType||setObjectAttr(r,ELEMENT_CUSTOM_TYPE.I_TEXT),(r==null?void 0:r._textBeforeEdit)!==(r==null?void 0:r.text)&&(e.discardActiveObject(),paintBoard.render()))})}}class CanvasTouchEvent{constructor(){l(this,"isTwoTouch",!1);l(this,"isDragging",!1);l(this,"startDistance",1);l(this,"startX",0);l(this,"startY",0);l(this,"startScale",1);l(this,"lastPan");l(this,"touchStartFn",e=>{e.preventDefault();const a=paintBoard.canvas;if(!a)return;const r=e.touches;if(brushMouseMixin.updateIsDisableDraw(r.length>=2),r.length===2){this.isTwoTouch=!0;const s=r[0],o=r[1];this.startDistance=Math.hypot(o.pageX-s.pageX,o.pageY-s.pageY),this.startX=(s.pageX+o.pageX)/2,this.startY=(s.pageY+o.pageY)/2,this.startScale=a.getZoom()}});l(this,"touchMoveFn",e=>{e.preventDefault()});l(this,"touchEndFn",e=>{this.isDragging=!1,this.isTwoTouch&&e.touches.length===0&&(this.isTwoTouch=!1)});l(this,"saveTransform",lodash.exports.debounce(()=>{var a,r;const e=(a=paintBoard.canvas)==null?void 0:a.viewportTransform;e&&(useFileStore.getState().updateTransform(e),useBoardStore.getState().isObjectCaching||fabric.fabric.Object.prototype.set({objectCaching:!1}),(r=paintBoard.canvas)==null||r.requestRenderAll())},500));this.initTouchEvent()}initTouchEvent(){var a;const e=(a=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:a.upperCanvasEl;e&&(e.addEventListener("touchstart",this.touchStartFn,{passive:!1}),e.addEventListener("touchmove",this.touchMoveFn,{passive:!1}),e.addEventListener("touchend",this.touchEndFn,{passive:!1}))}removeTouchEvent(){var a;const e=(a=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:a.upperCanvasEl;e&&(e.removeEventListener("touchstart",this.touchStartFn),e.removeEventListener("touchmove",this.touchMoveFn),e.removeEventListener("touchend",this.touchEndFn))}}let zoomHook;const MIN_ZOOM=.3,MAX_ZOOM=5;class CanvasZoomEvent{constructor(){l(this,"updateZoomPercentage",lodash.exports.debounce((e=!0,a)=>{var s;const r=this.handleZoomPercentage(e);return useFileStore.getState().updateZoom(a),useBoardStore.getState().isObjectCaching||fabric.fabric.Object.prototype.set({objectCaching:!1}),(s=paintBoard.canvas)==null||s.requestRenderAll(),r},500));this.initWheelEvent()}initWheelEvent(){}initZoom(){const e=paintBoard.canvas;if(e){const a=((e==null?void 0:e.width)||1)/2,r=((e==null?void 0:e.height)||1)/2;e.zoomToPoint(new fabric.fabric.Point(a,r),1),this.updateZoomPercentage(!0,1)}}handleZoomPercentage(e=!0){const a=paintBoard.canvas;let r=1;if(a){const s=a.getZoom();r=Math.round((s-MIN_ZOOM)/(MAX_ZOOM-MIN_ZOOM)*100),handleWidth()}return e&&zoomHook&&(zoomHook==null||zoomHook(r)),r}setZoomHook(e){zoomHook=e}}const handleWidth=()=>{var e;const t=(e=paintBoard.canvas)==null?void 0:e.freeDrawingBrush;if(!!t)switch(useBoardStore.getState().mode){case ActionMode.ERASE:t.width=getEraserWidth();break;case ActionMode.DRAW:[DrawStyle.Basic,DrawStyle.Material,DrawStyle.MultiColor].includes(useDrawStore.getState().drawStyle)&&(t.width=getDrawWidth(),useDrawStore.getState().drawStyle===DrawStyle.Basic&&t.shadow&&(t.shadow.blur=getShadowWidth()));break}};var KeyCode=(t=>(t.SPACE="Space",t.BACKSPACE="Backspace",t))(KeyCode||{});class ImageElement{constructor(){l(this,"image",null)}addImage(e){const a=paintBoard.canvas;!a||fabric.fabric.Image.fromURL(e,r=>{const s=a.getVpCenter(),o=a.getWidth()/2/((r==null?void 0:r.width)||1),n=a.getHeight()/2/((r==null?void 0:r.height)||1),i=Math.min(o,n,1);r.scale(i),r.set({left:s.x-r.getScaledWidth()/2,top:s.y-r.getScaledHeight()/2}),setObjectAttr(r,ELEMENT_CUSTOM_TYPE.IMAGE),a.add(r),paintBoard.render()},{crossOrigin:"anonymous"})}addBackgroundImage(e){const a=paintBoard.canvas;!a||fabric.fabric.Image.fromURL(e,r=>{const s=a.getVpCenter();a.setBackgroundImage(r,a.renderAll.bind(a),{scaleX:s.x*2/r.width,scaleY:s.y*2/r.height})},{crossOrigin:"anonymous"})}addTileImage(e){const a=paintBoard.canvas;!a||fabric.fabric.Image.fromURL(e,r=>{const s=a.getVpCenter();console.log(s),r.scaleToWidth(s.x*2),r.scaleToHeight(s.y*2),r.set({left:0,top:0}),setObjectAttr(r,ELEMENT_CUSTOM_TYPE.IMAGE),a.add(r),paintBoard.render()},{crossOrigin:"anonymous"})}}class WindowEvent{constructor(){this.initWindowEvent()}initWindowEvent(){window.addEventListener("keydown",this.keydownFn),window.addEventListener("keyup",this.keyupFn),window.addEventListener("paste",this.pasteFn),window.addEventListener("resize",this.resizeFn),window.addEventListener("orientationchange",this.resizeFn)}removeWindowEvent(){window.removeEventListener("keydown",this.keydownFn),window.removeEventListener("keyup",this.keyupFn),window.removeEventListener("paste",this.pasteFn),window.removeEventListener("resize",this.resizeFn),window.removeEventListener("orientationchange",this.resizeFn)}keydownFn(e){var r;const a=paintBoard==null?void 0:paintBoard.canvas;switch(e.code){case KeyCode.SPACE:(r=paintBoard==null?void 0:paintBoard.evnet)==null||r.clickEvent.setSpaceKeyDownState(!0),a&&(useBoardStore.getState().isObjectCaching||fabric.fabric.Object.prototype.set({objectCaching:!0}),a.defaultCursor="pointer",a.isDrawingMode=!1,a.selection=!1,fabric.fabric.Object.prototype.set({selectable:!1,hoverCursor:"pointer"}));break;case KeyCode.BACKSPACE:paintBoard.deleteObject();break}}keyupFn(e){var a,r;if(e.code===KeyCode.SPACE){(a=paintBoard.evnet)==null||a.clickEvent.setSpaceKeyDownState(!1),paintBoard.canvas&&(paintBoard.canvas.defaultCursor="default");const s=(r=paintBoard.canvas)==null?void 0:r.viewportTransform;s&&(useFileStore.getState().updateTransform(s),useBoardStore.getState().isObjectCaching||fabric.fabric.Object.prototype.set({objectCaching:!1}),paintBoard.handleMode())}}pasteFn(e){if(e.clipboardData&&e.clipboardData.items){const a=e.clipboardData.items,r=Array.from(a).find(s=>s.kind==="file"&&s.type.indexOf("image")!==-1);if(r){const s=r.getAsFile();if(s){const o=new FileReader;o.onload=n=>{var c;const i=(c=n.target)==null?void 0:c.result;i&&typeof i=="string"&&new ImageElement().addImage(i)},o.readAsDataURL(s)}}}}resizeFn(){const e=paintBoard.canvas;e&&(e.setWidth(window.innerWidth*useBoardStore.getState().canvasWidth),e.setHeight(window.innerHeight*useBoardStore.getState().canvasHeight))}}class CanvasEvent{constructor(){l(this,"clickEvent");l(this,"zoomEvent");l(this,"objectEvent");l(this,"windowEvent");l(this,"touchEvent");const e=new CanvasClickEvent;this.clickEvent=e;const a=new CanvasZoomEvent;this.zoomEvent=a;const r=new ObjectEvent;this.objectEvent=r;const s=new WindowEvent;this.windowEvent=s;const o=new CanvasTouchEvent;this.touchEvent=o}removeEvent(){this.windowEvent.removeWindowEvent(),this.touchEvent.removeTouchEvent()}}const FontStyle={BOLD:"bold",ITALIC:"italic",UNDER_LINE:"underline",LINE_THROUGH:"linethrough"};class TextElement{constructor(){l(this,"text",null);l(this,"isTextEditing",!1)}loadText(e,a){var s;const r=paintBoard==null?void 0:paintBoard.canvas;if(r){const o=r.getVpCenter(),{fontStyles:n,drawColors:i,textFontFamily:c}=useDrawStore.getState(),d=lodash.exports.isUndefined(e)&&lodash.exports.isUndefined(a),h=new fabric.fabric.IText("Type here...",{originX:d?"center":"left",originY:d?"center":"top",left:d?o.x:e,top:d?o.y:a,fill:i[0],fontSize:25/((s=r==null?void 0:r.getZoom())!=null?s:1),fontFamily:c,fontWeight:n.includes(FontStyle.BOLD)?"bold":"normal",fontStyle:n.includes(FontStyle.ITALIC)?"italic":"normal",underline:n.includes(FontStyle.UNDER_LINE),linethrough:n.includes(FontStyle.LINE_THROUGH)});this.text=h,r.add(h),r.setActiveObject(h),h.enterEditing(),h.selectAll()}}resetText(){this!=null&&this.text&&(this.text.exitEditing(),this.text=null)}}const renderPencilBrush=()=>{const t=paintBoard.canvas;if(!t)return;const e=new fabric.fabric.PencilBrush(t);t.isDrawingMode=!0,t.freeDrawingBrush=e,t.freeDrawingBrush.width=getDrawWidth(),t.freeDrawingBrush.color=useDrawStore.getState().drawColors[0],t.freeDrawingBrush.shadow=new fabric.fabric.Shadow({blur:getShadowWidth(),offsetX:0,offsetY:0,color:useDrawStore.getState().shadowColor})};class PaintBoard{constructor(){l(this,"canvas",null);l(this,"evnet",null);l(this,"history",null);l(this,"textElement");l(this,"hookFn",[]);l(this,"updateCanvasWidth",lodash.exports.debounce(e=>{this.canvas&&(this.canvas.setWidth(window.innerWidth*e),useFileStore.getState().updateCanvasWidth(e))},500));l(this,"updateCanvasHeight",lodash.exports.debounce(e=>{this.canvas&&(this.canvas.setHeight(window.innerHeight*e),useFileStore.getState().updateCanvasHeight(e))},500));this.textElement=new TextElement}initCanvas(e){return new Promise(async a=>{this.canvas=new fabric.fabric.Canvas(e,{selectionColor:"rgba(101, 204, 138, 0.3)",preserveObjectStacking:!0,enableRetinaScaling:!0}),fabric.fabric.Object.prototype.set({borderColor:"#65CC8A",cornerColor:"#65CC8A",cornerStyle:"circle",borderDashArray:[3,3],transparentCorners:!1}),fabric.fabric.Line.prototype.strokeLineJoin="round",fabric.fabric.Line.prototype.strokeLineCap="round",isMobile()&&brushMouseMixin.initCanvas(this.canvas),alignGuideLine.init(this.canvas,useBoardStore.getState().openGuideLine),this.evnet=new CanvasEvent,this.handleMode(),await this.initCanvasStorage(),a(!0)})}removeCanvas(){var e,a;this.canvas&&((e=this==null?void 0:this.canvas)==null||e.dispose(),(a=this.evnet)==null||a.removeEvent(),this.canvas=null)}initCanvasStorage(){return new Promise(e=>{setTimeout(()=>{const{files:a,currentId:r}=useFileStore.getState(),s=a==null?void 0:a.find(o=>(o==null?void 0:o.id)===r);s&&this.canvas?this.canvas.loadFromJSON(s.boardData,()=>{this.canvas&&(s.viewportTransform&&this.canvas.setViewportTransform(s.viewportTransform),this.canvas.setWidth(window.innerWidth*.45),useBoardStore.getState().updateCanvasWidth(.45),this.canvas.setHeight(window.innerHeight*.85),useBoardStore.getState().initBackground(),useBoardStore.getState().updateCanvasHeight(.85),handleCanvasJSONLoaded(this.canvas),fabric.fabric.Object.prototype.set({objectCaching:useBoardStore.getState().isObjectCaching}),this.canvas.renderAll(),this.triggerHook(),this.history=new History),e(!0)}):e(!0)},300)})}handleMode(e=useBoardStore.getState().mode){if(!this.canvas)return;let a=!1,r=!1;const s={selectable:!1,hoverCursor:"default"};switch(e){case ActionMode.DRAW:useBoardStore.getState().drawType===DrawType.FreeStyle&&[DrawStyle.Basic,DrawStyle.Material,DrawStyle.MultiColor].includes(useDrawStore.getState().drawStyle)&&(a=!0,this.handleDrawStyle()),this.canvas.discardActiveObject();break;case ActionMode.ERASE:a=!0,this.canvas.freeDrawingBrush=new fabric.fabric.EraserBrush(this.canvas),this.canvas.freeDrawingBrush.width=getEraserWidth(),this.canvas.freeDrawingBrush.color="#FFF",this.canvas.discardActiveObject();break;case ActionMode.Board:case ActionMode.SELECT:s.selectable=!0,s.hoverCursor=void 0,r=!0;break}this.canvas.isDrawingMode=a,this.canvas.selection=r,fabric.fabric.Object.prototype.set(s),this.canvas.forEachObject(o=>{o._customType===ELEMENT_CUSTOM_TYPE.I_TEXT&&(o.selectable=s.selectable,o.hoverCursor=s.hoverCursor)}),this.handleAutoDrawData(),this.canvas.requestRenderAll()}handleDrawStyle(){if(!this.canvas)return;switch(useDrawStore.getState().drawStyle){case DrawStyle.Basic:renderPencilBrush();break;case DrawStyle.Material:this.canvas.isDrawingMode=!0,material.render({});break;case DrawStyle.MultiColor:renderMultiColor({});break;default:this.canvas.isDrawingMode=!1;break}this.handleAutoDrawData()}handleAutoDrawData(){useBoardStore.getState().mode===ActionMode.DRAW&&useBoardStore.getState().drawType===DrawType.FreeStyle&&useDrawStore.getState().drawStyle===DrawStyle.Basic&&useDrawStore.getState().openAutoDraw||(autoDrawData.clearDraw(),autoDrawData.resetLoadedSVG())}deleteObject(){if(!this.textElement.isTextEditing&&this.canvas){const e=this.canvas.getActiveObjects();e!=null&&e.length&&(this.canvas.discardActiveObject(),e==null||e.forEach(a=>{var r;(r=this.canvas)==null||r.remove(a)}),this.render())}}render(){var e,a;this.canvas&&((e=this.canvas)==null||e.requestRenderAll(),(a=this.history)==null||a.saveState())}saveImage(){if(this.canvas){const e=document.createElement("a");e.href=this.canvas.toDataURL(),e.download="paint-board.png",e.click()}}getImage(){return this.canvas?this.canvas.toDataURL().substring(22):""}copyObject(){const e=this.canvas;if(!e)return;const a=e.getActiveObjects();if(a.length<=0)return;e.discardActiveObject();const r=a.map(s=>new Promise(o=>{s==null||s.clone(n=>{const i=v4();n.set({left:((n==null?void 0:n.left)||0)+10,top:((n==null?void 0:n.top)||0)+10,evented:!0,id:i,perPixelTargetFind:!0}),o(n),e.add(n)})}));Promise.all(r).then(s=>{const o=new fabric.fabric.ActiveSelection(s,{canvas:e});e.setActiveObject(o),this.render()})}bringForWard(){const e=this.canvas;if(e){const a=e.getActiveObject();a&&(e.bringForward(a,!0),this.render())}}seendBackWard(){const e=this.canvas;if(e){const a=e.getActiveObject();a&&(e.sendBackwards(a,!0),this.render())}}bringToFront(){const e=this.canvas;if(e){const a=e.getActiveObject();a&&(e.bringToFront(a),this.render())}}sendToBack(){const e=this.canvas;if(e){const a=e.getActiveObject();a&&(e.sendToBack(a),this.render())}}addHookFn(e){this.hookFn.push(e)}removeHookFn(e){const a=this.hookFn.findIndex(r=>r===e);a>-1&&this.hookFn.splice(a,1)}triggerHook(){this.hookFn.map(e=>{e==null||e()})}}const paintBoard=new PaintBoard,modeSwitch=[{type:ActionMode.DRAW,text:"tool.draw"},{type:ActionMode.ERASE,text:"tool.eraser"},{type:ActionMode.SELECT,text:"tool.select"}],ShapeConfig=()=>{const{drawShapeCount:t,updateDrawShapeCount:e}=useDrawStore(),{t:a}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.shapeCount")}),jsx("input",{type:"range",min:"1",max:"5",value:t,className:"range range-primary range-xs",step:"1",onChange:r=>e(Number(r.target.value))}),jsxs("div",{className:"w-full flex justify-between text-xs px-2 font-fredokaOne",children:[jsx("span",{children:"1"}),jsx("span",{children:"2"}),jsx("span",{children:"3"}),jsx("span",{children:"4"}),jsx("span",{children:"5"})]})]})},SvgBubble=t=>react.exports.createElement("svg",{height:"18px",width:"18px",id:"_x32_",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512",xmlSpace:"preserve",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",null,react.exports.createElement("path",{fill:"currentColor",d:"M133.048,121.218c-1.663,0-3.296,0.337-4.841,0.996c-20.036,8.606-36.119,24.218-45.306,43.973 c-1.381,2.966-1.522,6.3-0.4,9.375c1.122,3.083,3.382,5.546,6.371,6.936c1.64,0.761,3.373,1.146,5.17,1.146 c4.762,0,9.14-2.794,11.14-7.116c6.646-14.27,18.256-25.544,32.715-31.726c3.013-1.294,5.342-3.68,6.567-6.732 c1.216-3.044,1.177-6.386-0.118-9.398C142.408,124.144,137.967,121.218,133.048,121.218z"}),react.exports.createElement("path",{fill:"currentColor",d:"M325.854,203.342c-0.016-89.821-73.11-162.915-162.932-162.931C73.102,40.427,0.015,113.521,0,203.342 c0.015,89.821,73.102,162.908,162.923,162.924C252.744,366.25,325.838,293.163,325.854,203.342z M162.923,334.344 c-34.974-0.008-67.869-13.636-92.629-38.372c-24.736-24.768-38.364-57.664-38.372-92.63c0.008-34.982,13.635-67.877,38.372-92.63 c24.775-24.743,57.671-38.371,92.629-38.379c34.967,0.008,67.862,13.636,92.63,38.379c24.744,24.768,38.372,57.664,38.38,92.63 c-0.008,34.959-13.635,67.854-38.38,92.63C230.793,320.708,197.898,334.336,162.923,334.344z"}),react.exports.createElement("path",{fill:"currentColor",d:"M427.458,69.815c-46.6,0.008-84.532,37.932-84.549,84.541c0.016,46.601,37.948,84.525,84.549,84.541 c46.601-0.016,84.526-37.94,84.542-84.541C511.984,107.747,474.06,69.823,427.458,69.815z M464.661,191.575 c-9.963,9.924-23.175,15.392-37.203,15.4c-14.035-0.008-27.247-5.476-37.218-15.408c-9.924-9.963-15.392-23.175-15.4-37.21 c0.008-14.035,5.476-27.246,15.408-37.219c9.963-9.924,23.175-15.392,37.21-15.4c14.028,0.008,27.24,5.477,37.211,15.408 c9.924,9.964,15.4,23.184,15.408,37.211C480.07,168.383,474.593,181.603,464.661,191.575z"}),react.exports.createElement("path",{fill:"currentColor",d:"M349.076,251.325c-2.683,10.434-6.261,20.664-10.654,30.487c16.146,2.808,30.761,10.379,42.428,22.03 c15.024,15.047,23.292,35.029,23.301,56.258c-0.008,21.23-8.277,41.212-23.301,56.258c-15.048,15.024-35.03,23.301-56.258,23.309 c-21.23-0.008-41.212-8.284-56.266-23.309c-11.015-11.03-18.421-24.822-21.559-40.042c-9.666,4.691-19.746,8.574-30.056,11.572 c12.655,49.386,56.699,83.686,107.882,83.701c61.46-0.015,111.473-50.029,111.489-111.489 C436.065,308.038,399.608,262.661,349.076,251.325z"})))),SvgStar=t=>react.exports.createElement("svg",{fill:"#ffffff",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:"16px",height:"16px",viewBox:"0 0 940.688 940.688",xmlSpace:"preserve",stroke:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",null,react.exports.createElement("path",{fill:"currentColor",d:"M885.344,319.071l-258-3.8l-102.7-264.399c-19.8-48.801-88.899-48.801-108.6,0l-102.7,264.399l-258,3.8 c-53.4,3.101-75.1,70.2-33.7,103.9l209.2,181.4l-71.3,247.7c-14,50.899,41.1,92.899,86.5,65.899l224.3-122.7l224.3,122.601 c45.4,27,100.5-15,86.5-65.9l-71.3-247.7l209.2-181.399C960.443,389.172,938.744,322.071,885.344,319.071z"})))),SvgLove=t=>react.exports.createElement("svg",{fill:"currentColor",width:"20px",height:"20px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M20.808,11.079C19.829,16.132,12,20.5,12,20.5s-7.829-4.368-8.808-9.421C2.227,6.1,5.066,3.5,8,3.5a4.444,4.444,0,0,1,4,2,4.444,4.444,0,0,1,4-2C18.934,3.5,21.773,6.1,20.808,11.079Z"}))),SvgButterfly=t=>react.exports.createElement("svg",{fill:"currentColor",width:"16px",height:"16px",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M214.37 208H70.57c-31 0-57.37 14.9-67.26 45.33C1.57 258.71 0 265.54 0 272c0 48 96 128 144 128 28.95 0 53.24-10.67 75.72-33.14-8.58 11.05-13.81 23.47-15.72 37.28-6.98 49.25 1.73 83.2 27.23 91.48C255.99 503.66 288 512 304 512c48 0 53.35-109.18 26.33-144.39L214.37 208zm29.29-21.28L288.1 49.96C297.68 20.47 320 0 352 0c5.66 0 12.64.62 18.78 2.61 45.65 14.84 92.07 130.86 77.23 176.51-8.94 27.54-26.59 47.34-54.91 61.77 13.15-4.74 26.59-5.88 40.31-3.42 49 8.58 78.59 27.35 78.59 54.16 0 26.04-1.96 59.05-6.91 74.27-14.83 45.65-120.32 17.01-145.46-19.58l-115.97-159.6z"}))),SvgSnow=t=>react.exports.createElement("svg",{width:"18px",height:"18px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M11.9994 3V7M11.9994 7V17M11.9994 7L8.99943 4M11.9994 7L14.9994 4M11.9994 17V21M11.9994 17L8.99943 20M11.9994 17L14.9994 20M4.20624 7.49999L7.67034 9.49999M7.67034 9.49999L16.3306 14.5M7.67034 9.49999L3.57227 10.5981M7.67034 9.49999L6.57227 5.40191M16.3306 14.5L19.7947 16.5M16.3306 14.5L17.4287 18.5981M16.3306 14.5L20.4287 13.4019M4.2067 16.5L7.6708 14.5M7.6708 14.5L16.3311 9.49999M7.6708 14.5L3.57273 13.4019M7.6708 14.5L6.57273 18.5981M16.3311 9.49999L19.7952 7.49999M16.3311 9.49999L17.4291 5.40192M16.3311 9.49999L20.4291 10.5981",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgMusic=t=>react.exports.createElement("svg",{width:"18px",height:"18px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M10.0909 11.9629L19.3636 8.63087V14.1707C18.8126 13.8538 18.1574 13.67 17.4545 13.67C15.4964 13.67 13.9091 15.096 13.9091 16.855C13.9091 18.614 15.4964 20.04 17.4545 20.04C19.4126 20.04 21 18.614 21 16.855C21 16.855 21 16.8551 21 16.855L21 7.49236C21 6.37238 21 5.4331 20.9123 4.68472C20.8999 4.57895 20.8852 4.4738 20.869 4.37569C20.7845 3.86441 20.6352 3.38745 20.347 2.98917C20.2028 2.79002 20.024 2.61055 19.8012 2.45628C19.7594 2.42736 19.716 2.39932 19.6711 2.3722L19.6621 2.36679C18.8906 1.90553 18.0233 1.93852 17.1298 2.14305C16.2657 2.34086 15.1944 2.74368 13.8808 3.23763L11.5963 4.09656C10.9806 4.32806 10.4589 4.52419 10.0494 4.72734C9.61376 4.94348 9.23849 5.1984 8.95707 5.57828C8.67564 5.95817 8.55876 6.36756 8.50501 6.81203C8.4545 7.22978 8.45452 7.7378 8.45455 8.33743V16.1307C7.90347 15.8138 7.24835 15.63 6.54545 15.63C4.58735 15.63 3 17.056 3 18.815C3 20.574 4.58735 22 6.54545 22C8.50355 22 10.0909 20.574 10.0909 18.815C10.0909 18.815 10.0909 18.8151 10.0909 18.815L10.0909 11.9629Z",fill:"currentColor"}))),SvgSun=t=>react.exports.createElement("svg",{fill:"currentColor",width:"20px",height:"20px",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("title",null,"sun"),react.exports.createElement("path",{d:"M23.395 14.106c2.958-1.383 2.828-6.068 5.758-5.884-4.125-2.74-4.019 3.106-9.089 1.235 1.107-3.068-2.292-6.286-0.091-8.227-4.855 0.979-0.645 5.039-5.555 7.301-1.384-2.958-6.068-2.828-5.884-5.758-2.74 4.125 3.106 4.019 1.235 9.089-3.068-1.107-6.286 2.292-8.227 0.091 0.979 4.855 5.039 0.645 7.301 5.555-2.958 1.384-2.828 6.068-5.758 5.884 4.125 2.74 4.019-3.106 9.089-1.235-1.107 3.068 2.292 6.286 0.091 8.227 4.855-0.979 0.645-5.039 5.555-7.301 1.384 2.958 6.068 2.828 5.884 5.758 2.74-4.125-3.106-4.019-1.235-9.089 3.068 1.107 6.286-2.292 8.226-0.091-0.979-4.855-5.039-0.645-7.301-5.555z"}))),SvgMoon=t=>react.exports.createElement("svg",{width:"18px",height:"18px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M12 22C17.5228 22 22 17.5228 22 12C22 11.5373 21.3065 11.4608 21.0672 11.8568C19.9289 13.7406 17.8615 15 15.5 15C11.9101 15 9 12.0899 9 8.5C9 6.13845 10.2594 4.07105 12.1432 2.93276C12.5392 2.69347 12.4627 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z",fill:"currentColor"}))),SvgLeaf=t=>react.exports.createElement("svg",{height:"16px",width:"16px",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 25.263 25.263",xmlSpace:"preserve",fill:"currentColor",stroke:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",null,react.exports.createElement("path",{d:"M15.362,9.69c0,0-0.75,1.108-1.068,0c-0.318-1.109-1.346-4.949-1.762-5.226 c-0.417-0.278-0.417-0.278-0.417-0.278s-0.078,1.506-0.594,1.307c-0.515-0.198-4.313-2.217-4.63-2.652L6.574,2.444 c0,0,0.355,3.328-0.515,2.615c0,0,1.113,2.771-2.573,3.048c0,0,1.186,3.087,4.552,4.75c0,0,1.148,1.783-0.949,1.503 c0,0-2.932-0.395-3.325-0.752c0,0-1.548,3.01-3.764,3.128c0,0,2.656,1.504,2.337,4.156c0,0,5.107,0.041,4.911,0.832 c-0.2,0.795-0.555,1.601-0.555,1.601s4.71-0.929,5.422-2.194c0,0,0.989,0.99,1.071,1.939c0,0,2.693-0.594,2.452-2.296 c0,0,1.269,0.948,1.427,2.551l0.554-0.375c0,0-0.319-1.661-1.464-2.967c0,0-0.517-1.308,0.789-0.633c0,0,3.085,1.029,5.7-0.833 c0,0-2.888-0.948-3.006-1.978c0,0,5.394-3.326,5.625-5.542c0,0-1.944,0.198-2.972-0.633c0,0-1.309-0.396,0.394-4.791 c0,0-1.227,0.724-1.62-3.636c0,0-3.051,4.665-4.518,3.082C16.548,5.018,15.165,8.066,15.362,9.69z"})))),SvgFlower=t=>react.exports.createElement("svg",{id:"_x32_",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:"16px",height:"16px",viewBox:"0 0 512 512",xmlSpace:"preserve",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",null,react.exports.createElement("path",{d:"M512,224.438c0-63.766-51.703-115.469-115.484-115.469c-8.781,0-17.328,1-25.531,2.859 C365.656,52.984,316.219,6.875,256,6.875c-60.234,0-109.672,46.109-114.984,104.953c-8.219-1.859-16.766-2.859-25.531-2.859 C51.703,108.969,0,160.672,0,224.438c0,47.594,28.797,88.469,69.906,106.141c-10.297,17.281-16.234,37.484-16.234,59.063 c0,63.766,51.703,115.484,115.484,115.484c34.625,0,65.672-15.266,86.844-39.406c21.156,24.141,52.219,39.406,86.844,39.406 c63.781,0,115.484-51.719,115.484-115.484c0-21.578-5.938-41.781-16.25-59.063C483.203,312.906,512,272.031,512,224.438z M256,372.531c-53.563,0-97-43.406-97-97c0-53.563,43.438-96.984,97-96.984s96.984,43.422,96.984,96.984 C352.984,329.125,309.563,372.531,256,372.531z"})))),shapeSwitch={line_1:[{type:DrawShape.Bubble,icon:SvgBubble},{type:DrawShape.Star,icon:SvgStar},{type:DrawShape.Love,icon:SvgLove},{type:DrawShape.Butterfly,icon:SvgButterfly},{type:DrawShape.Snow,icon:SvgSnow}],line_2:[{type:DrawShape.Music,icon:SvgMusic},{type:DrawShape.Sun,icon:SvgSun},{type:DrawShape.Moon,icon:SvgMoon},{type:DrawShape.Leaf,icon:SvgLeaf},{type:DrawShape.Flower,icon:SvgFlower}]},shapeTypeConfig=()=>{const{drawShape:t,updateDrawShape:e}=useDrawStore(),{t:a}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.shapeType")}),Object.keys(shapeSwitch).map(r=>jsx("div",{className:"btn-group mt-1 flex",children:shapeSwitch[r].map(({type:s,icon:o})=>jsx("button",{className:`btn btn-xs flex-grow text-white ${t===s?"btn-active":""}`,onClick:()=>{e(s)},children:o({})},s))},r))]})},fontFamilyRadio={georgia:"Georgia",fredokaOne:"Fredoka One",hanaleiFill:"Hanalei Fill",ruslanDisplay:"Ruslan Display",lobster:"Lobster",pacifico:"Pacifico",gloriaHallelujah:"Gloria Hallelujah"},FontFamilyConfg=({fontFamily:t,updateFontFamily:e})=>{const{textFontFamily:a,updateTextFontFamily:r}=useDrawStore(),{t:s}=useTranslation();return jsxs(Fragment,{children:[jsx("div",{className:"font-bold text-sm font-fredokaOne mt-3",children:s("title.fontFamily")}),jsx("div",{children:Object.keys(fontFamilyRadio).map(o=>jsxs("label",{className:"flex justify-between items-center mt-2 w-full cursor-pointer",children:[jsx("div",{style:{fontFamily:`${fontFamilyRadio[o]}`},className:"text-xs",children:fontFamilyRadio[o]}),jsx("input",{type:"radio",name:"radio-5",className:"radio radio-success radio-sm",checked:(t||a)===fontFamilyRadio[o],onChange:()=>{r(fontFamilyRadio[o]),e==null||e(fontFamilyRadio[o])}})]},o))})]})},DrawTextConfig=()=>{const{t}=useTranslation(),{drawTextValue:e,updateDrawTextValue:a}=useDrawStore();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:t("title.drawText")}),jsx("div",{className:"flex mt-1 justify-between px-3 py-1.5 rounded-lg bg-primary cursor-pointer",children:jsx("input",{value:e,className:"px-2 rounded-lg flex-1",onInput:r=>a(r.target.value)})}),jsx(FontFamilyConfg,{})]})},MaterialSwitch=[{type:MATERIAL_TYPE.CARBON,image:formatPublicUrl("pattern/carbon.png")},{type:MATERIAL_TYPE.CLOTH,image:formatPublicUrl("pattern/cloth.png")},{type:MATERIAL_TYPE.CRAYON,image:formatPublicUrl("pattern/crayon.png")},{type:MATERIAL_TYPE.OIL,image:formatPublicUrl("pattern/oil.png")},{type:MATERIAL_TYPE.CRAYON_DARK,image:formatPublicUrl("pattern/crayonDark.png")}],MaterialConfig=()=>{const{materialType:t,updateMaterialType:e,drawColors:a}=useDrawStore(),{t:r}=useTranslation();return jsx(Fragment,{children:jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:r("title.materialType")}),jsx("div",{className:"btn-group mt-1 flex",children:MaterialSwitch.map(({type:s,image:o},n)=>jsx("button",{className:`btn btn-xs flex-grow ${t===s?"btn-active":""}`,onClick:()=>{e(s)},children:jsx("img",{src:o,alt:"",className:"w-5 h-3 opacity-60 rounded-sm",style:{backgroundColor:a[0]}})},n))})]})})},MultiColorSwitch=[MultiColorType.COL,MultiColorType.ROW,MultiColorType.CIRCLE],MultiColorConfig=()=>{const{multiColorType:t,updateMultiColorType:e,drawColors:a}=useDrawStore(),{t:r}=useTranslation();return jsx(Fragment,{children:jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:r("title.multiColorType")}),jsx("div",{className:"btn-group mt-1 flex",children:MultiColorSwitch.map((s,o)=>jsxs("button",{className:`btn btn-xs flex-grow ${t===s?"btn-active":""}`,onClick:()=>{e(s)},children:[s===MultiColorType.COL&&jsx("div",{className:"flex w-4/6 h-4/6 rounded-lg overflow-hidden ",children:a.map((n,i)=>jsx("div",{className:"h-full flex-1",style:{backgroundColor:n}},i))}),s===MultiColorType.ROW&&jsx("div",{className:"flex flex-col w-4/6 h-4/6 rounded-lg overflow-hidden ",children:a.map((n,i)=>jsx("div",{className:"h-full flex-1",style:{backgroundColor:n}},i))}),s===MultiColorType.CIRCLE&&jsx("div",{className:"w-4/6 h-4/6 relative",children:a.map((n,i)=>jsx("div",{className:"h-4 w-4 rounded-full absolute top-0",style:{backgroundColor:n,left:`${i*5}px`}},i))})]},o))})]})})},DrawColorConfig=()=>{const{drawColors:t,updateDrawColors:e}=useDrawStore(),{t:a}=useTranslation(),r=(o,n)=>{const i=[...t];i[n]=o,e(i)},s=["#000000","#C0C0C0","#FFFAF0","#FFFF00","#FF8000","#FF4500","#DA70D6","#9933FA","#1E90FF","#191970","#00C78C","#7FFFD4","#7CFC00"];return jsxs("div",{className:"form-control mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.drawColor")}),jsxs("div",{className:"mt-2 flex items-center w-full",style:{display:"inline-grid"},children:[jsx("div",{className:"w-7 h-7 mr-2 indicator",style:{margin:"0.5rem 1rem"},children:jsx("input",{type:"color",value:t[0],onChange:o=>{r(o.target.value,0)},className:"colorInput"})}),s.map((o,n)=>jsx("div",{className:"w-7 h-7 mr-2 indicator",style:{margin:"0.5rem 1rem"},children:jsx("div",{style:{backgroundColor:o},onClick:()=>{r(o,0)},className:"colorInput"})},n))]})]})},FreeDrawConfig=()=>{const{drawStyle:t}=useDrawStore();return useBoardStore(),jsxs(Fragment,{children:[t===DrawStyle.Shape&&jsx(shapeTypeConfig,{}),(t===DrawStyle.Shape||t===DrawStyle.MultiPoint)&&jsx(ShapeConfig,{}),t===DrawStyle.Material&&jsx(MaterialConfig,{}),t===DrawStyle.MultiColor&&jsx(MultiColorConfig,{}),![DrawStyle.Text,DrawStyle.Wiggle,DrawStyle.Thorn].includes(t),t!==DrawStyle.Rainbow&&jsx(DrawColorConfig,{}),t===DrawStyle.Text&&jsx(DrawTextConfig,{})]})},BorderStyleConfig=t=>{var n,i,c;const{t:e}=useTranslation(),{borderColor:a,updateBorderColor:r,borderWidth:s,updateBorderWidth:o}=useShapeStore();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:e("title.borderStyle")}),jsxs("div",{className:"flex mt-1 items-center",children:[jsx("div",{className:"w-7 h-7 cursor-pointer",children:jsx("input",{type:"color",value:(n=t==null?void 0:t.borderColor)!=null?n:a,onChange:d=>{var h;r(d.target.value),(h=t==null?void 0:t.updateBorderColor)==null||h.call(t,d.target.value)},className:"colorInput"})}),jsx("div",{className:"divider divider-horizontal mx-2"}),jsx("div",{className:"text-lg font-fredokaOne mr-2 text-primary-focus",children:(i=t==null?void 0:t.borderWidth)!=null?i:s}),jsx("input",{type:"range",min:"1",max:"20",step:"1",value:(c=t==null?void 0:t.borderWidth)!=null?c:s,className:"range range-primary range-xs cursor-pointer",onChange:d=>{var h;o(Number(d.target.value)),(h=t==null?void 0:t.updateBorderWidth)==null||h.call(t,Number(d.target.value))}})]})]})},SvgSolid=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M4 12L20 12",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgDashed=t=>react.exports.createElement("svg",{t:1705739078408,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":5340,xmlnsXlink:"http://www.w3.org/1999/xlink",width:20,height:20,...t},react.exports.createElement("path",{fill:"currentColor",d:"M0 480h160v64H0zM288 480H448v64H288zM576 480h160v64H576zM864 480H1024v64h-160z","p-id":5341})),SvgDotted=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M3 13H1v-2h2zm4-2H5v2h2zm12 0h-2v2h2zm4 0h-2v2h2zm-12 0H9v2h2zm4 0h-2v2h2z"}),react.exports.createElement("path",{fill:"none",d:"M0 0h24v24H0z"}))),borderTypeSwitch={line_1:[{type:ShapeBorderType.Solid,icon:SvgSolid},{type:ShapeBorderType.Dashed,icon:SvgDashed},{type:ShapeBorderType.Dotted,icon:SvgDotted}]},BorderTypeConfig=t=>{const{borderType:e,updateBorderType:a}=useShapeStore(),{t:r}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:r("title.borderType")}),Object.keys(borderTypeSwitch).map(s=>jsx("div",{className:"btn-group mt-1 flex",children:borderTypeSwitch[s].map(({type:o,icon:n})=>jsx("button",{className:`btn btn-xs flex-grow ${(t.borderType||e)===o?"btn-active":""}`,onClick:()=>{var i;a(o),(i=t==null?void 0:t.updateBorderType)==null||i.call(t,o)},children:n({})},o))},s))]})},SvgTransparent=t=>react.exports.createElement("svg",{t:1702136520403,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":1624,xmlnsXlink:"http://www.w3.org/1999/xlink",width:15,height:15,...t},react.exports.createElement("path",{d:"M0 0h192v192H0z","p-id":1625,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M192 192h192v192H192z",opacity:.6,"p-id":1626,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M384 0h192v192H384z",opacity:.8,"p-id":1627,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M576 192h192v192H576z",opacity:.4,"p-id":1628,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M768 0h192v192h-192z",opacity:.6,"p-id":1629,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M0 384h192v192H0z",opacity:.8,"p-id":1630,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M192 576h192v192H192zM384 384h192v192H384z",opacity:.4,"p-id":1631,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M576 576h192v192H576zM768 384h192v192h-192z",opacity:.2,"p-id":1632,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M0 768h192v192H0z",opacity:.4,"p-id":1633,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M384 768h192v192H384z",opacity:.2,"p-id":1634,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M768 768h192v192h-192z",opacity:.1,"p-id":1635,fill:"CURRENTCOLOR"})),SvgFillFull=t=>react.exports.createElement("svg",{fill:"currentColor",width:"20px",height:"20px",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",xmlSpace:"preserve","xmlns:serif":"http://www.serif.com/",style:{fillRule:"evenodd",clipRule:"evenodd",strokeLinejoin:"round",strokeMiterlimit:2},...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M4,29.987l24,0c0.828,0 1.5,-0.672 1.5,-1.5c0,-0.827 -0.672,-1.5 -1.5,-1.5l-24,0c-0.828,0 -1.5,0.673 -1.5,1.5c0,0.828 0.672,1.5 1.5,1.5Z"}),react.exports.createElement("path",{d:"M9.138,22.244c1.323,0.328 2.775,0.118 3.995,-0.702l9.873,-6.712c0.458,-0.308 0.58,-0.929 0.273,-1.388l-6.717,-10c-0.308,-0.458 -0.929,-0.58 -1.388,-0.272c0,-0 -6.027,4.048 -9.961,6.691c-2.293,1.539 -2.903,4.646 -1.363,6.938c0.725,1.08 1.53,2.279 2.256,3.359c0.738,1.099 1.836,1.812 3.032,2.086Zm11.448,-9.223l-15.418,0c0.207,-0.591 0.599,-1.124 1.16,-1.5c-0,-0 9.131,-6.133 9.131,-6.133l5.127,7.633Z"}),react.exports.createElement("path",{d:"M26.339,15.455c-0.185,-0.284 -0.5,-0.455 -0.839,-0.455c-0.339,-0 -0.654,0.171 -0.839,0.455c0,0 -1.274,1.965 -2.039,3.732c-0.379,0.876 -0.622,1.717 -0.622,2.313c-0,1.932 1.568,3.5 3.5,3.5c1.932,0 3.5,-1.568 3.5,-3.5c-0,-0.596 -0.243,-1.437 -0.622,-2.313c-0.765,-1.767 -2.039,-3.732 -2.039,-3.732Z"}))),FillTypeSwitch=[{type:ShapeFillType.Transparent,icon:SvgTransparent},{type:ShapeFillType.Full,icon:SvgFillFull}],FillStyleConfig=t=>{const{t:e}=useTranslation(),{fillColor:a,updateFillColor:r,fillType:s,updateFillType:o}=useShapeStore();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:e("title.fillStyle")}),jsxs("div",{className:"flex mt-1 items-center",children:[jsx("div",{className:"w-7 h-7 cursor-pointer",children:jsx("input",{type:"color",value:(t==null?void 0:t.fillColor)||a,onChange:n=>{var i;r(n.target.value),(i=t==null?void 0:t.updateFillColor)==null||i.call(t,n.target.value)},className:"colorInput"})}),jsx("div",{className:"divider divider-horizontal mx-2"}),jsx("div",{className:"tabs tabs-boxed bg-[#333C4D] flex",children:FillTypeSwitch.map(({type:n,icon:i})=>jsx("button",{className:`tab tab-xs flex-grow text-[#eef1ff] ${((t==null?void 0:t.fillType)||s)===n?"tab-active":""}`,onClick:()=>{var c;o(n),(c=t==null?void 0:t.updateFillType)==null||c.call(t,n)},children:i({})},n))})]})]})},PointCountConfig=()=>{const{shapeLinePointCount:t,updateShapeLinePointCount:e}=useShapeStore(),{t:a}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.shapeLinePointCount")}),jsx("input",{type:"range",min:"2",max:"5",value:t,className:"range range-primary range-xs mt-1",step:"1",onChange:r=>e(Number(r.target.value))}),jsxs("div",{className:"w-full flex justify-between text-xs px-2 font-fredokaOne",children:[jsx("span",{children:"2"}),jsx("span",{children:"3"}),jsx("span",{children:"4"}),jsx("span",{children:"5"})]})]})},SvgLine=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18 5C17.4477 5 17 5.44772 17 6C17 6.27642 17.1108 6.52505 17.2929 6.70711C17.475 6.88917 17.7236 7 18 7C18.5523 7 19 6.55228 19 6C19 5.44772 18.5523 5 18 5ZM15 6C15 4.34315 16.3431 3 18 3C19.6569 3 21 4.34315 21 6C21 7.65685 19.6569 9 18 9C17.5372 9 17.0984 8.8948 16.7068 8.70744L8.70744 16.7068C8.8948 17.0984 9 17.5372 9 18C9 19.6569 7.65685 21 6 21C4.34315 21 3 19.6569 3 18C3 16.3431 4.34315 15 6 15C6.46278 15 6.90157 15.1052 7.29323 15.2926L15.2926 7.29323C15.1052 6.90157 15 6.46278 15 6ZM6 17C5.44772 17 5 17.4477 5 18C5 18.5523 5.44772 19 6 19C6.55228 19 7 18.5523 7 18C7 17.7236 6.88917 17.475 6.70711 17.2929C6.52505 17.1108 6.27642 17 6 17Z",fill:"currentColor"}))),SvgRect=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M3 6.6C3 6.03995 3 5.75992 3.10899 5.54601C3.20487 5.35785 3.35785 5.20487 3.54601 5.10899C3.75992 5 4.03995 5 4.6 5H10.4C10.9601 5 11.2401 5 11.454 5.10899C11.6422 5.20487 11.7951 5.35785 11.891 5.54601C12 5.75992 12 6.03995 12 6.6V8.4C12 8.96005 12 9.24008 11.891 9.45399C11.7951 9.64215 11.6422 9.79513 11.454 9.89101C11.2401 10 10.9601 10 10.4 10H4.6C4.03995 10 3.75992 10 3.54601 9.89101C3.35785 9.79513 3.20487 9.64215 3.10899 9.45399C3 9.24008 3 8.96005 3 8.4V6.6Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M5 15.6C5 15.0399 5 14.7599 5.10899 14.546C5.20487 14.3578 5.35785 14.2049 5.54601 14.109C5.75992 14 6.03995 14 6.6 14H10.4C10.9601 14 11.2401 14 11.454 14.109C11.6422 14.2049 11.7951 14.3578 11.891 14.546C12 14.7599 12 15.0399 12 15.6V17.4C12 17.9601 12 18.2401 11.891 18.454C11.7951 18.6422 11.6422 18.7951 11.454 18.891C11.2401 19 10.9601 19 10.4 19H6.6C6.03995 19 5.75992 19 5.54601 18.891C5.35785 18.7951 5.20487 18.6422 5.10899 18.454C5 18.2401 5 17.9601 5 17.4V15.6Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M16 6.6C16 6.03995 16 5.75992 16.109 5.54601C16.2049 5.35785 16.3578 5.20487 16.546 5.10899C16.7599 5 17.0399 5 17.6 5H19.4C19.9601 5 20.2401 5 20.454 5.10899C20.6422 5.20487 20.7951 5.35785 20.891 5.54601C21 5.75992 21 6.03995 21 6.6V14.4C21 14.9601 21 15.2401 20.891 15.454C20.7951 15.6422 20.6422 15.7951 20.454 15.891C20.2401 16 19.9601 16 19.4 16H17.6C17.0399 16 16.7599 16 16.546 15.891C16.3578 15.7951 16.2049 15.6422 16.109 15.454C16 15.2401 16 14.9601 16 14.4V6.6Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgCircle=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z",stroke:"currentColor",strokeWidth:2}))),SvgEllipse=t=>react.exports.createElement("svg",{t:1705756373807,className:"icon",viewBox:"0 0 1066 1024",xmlns:"http://www.w3.org/2000/svg","p-id":15154,xmlnsXlink:"http://www.w3.org/1999/xlink",width:25,height:20,...t},react.exports.createElement("path",{d:"M298.24 366.506667C236.373333 407.68 204.8 459.946667 204.8 512c0 52.010667 31.573333 104.277333 93.44 145.493333 61.610667 41.045333 149.12 67.84 247.893333 67.84 98.773333 0 186.282667-26.794667 247.893334-67.84 61.866667-41.216 93.44-93.482667 93.44-145.493333 0-52.010667-31.573333-104.277333-93.44-145.493333C732.373333 325.376 644.864 298.666667 546.133333 298.666667c-98.773333 0-186.282667 26.752-247.893333 67.84zM250.965333 295.424C328.362667 243.84 432.853333 213.333333 546.133333 213.333333c113.28 0 217.770667 30.549333 295.210667 82.133334C918.442667 346.88 972.8 422.613333 972.8 512s-54.357333 165.12-131.456 216.533333C763.904 780.16 659.413333 810.666667 546.133333 810.666667c-113.28 0-217.770667-30.549333-295.210666-82.133334C173.824 677.12 119.466667 601.386667 119.466667 512s54.357333-165.12 131.456-216.533333z",fill:"currentColor","p-id":15155})),SvgTriangle=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"Shape / Triangle"},react.exports.createElement("path",{id:"Vector",d:"M4.37891 15.1999C3.46947 16.775 3.01489 17.5634 3.08281 18.2097C3.14206 18.7734 3.43792 19.2851 3.89648 19.6182C4.42204 20.0001 5.3309 20.0001 7.14853 20.0001H16.8515C18.6691 20.0001 19.5778 20.0001 20.1034 19.6182C20.5619 19.2851 20.8579 18.7734 20.9172 18.2097C20.9851 17.5634 20.5307 16.775 19.6212 15.1999L14.7715 6.79986C13.8621 5.22468 13.4071 4.43722 12.8135 4.17291C12.2957 3.94236 11.704 3.94236 11.1862 4.17291C10.5928 4.43711 10.1381 5.22458 9.22946 6.79845L4.37891 15.1999Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgArrowLine=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"Arrow / Arrow_Down_Up"},react.exports.createElement("path",{id:"Vector",d:"M11 16L8 19M8 19L5 16M8 19V5M13 8L16 5M16 5L19 8M16 5V19",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgArrowOutline=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"-11.98 -11.98 143.74 143.74",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("defs",null),react.exports.createElement("g",{id:"Layer_2","data-name":"Layer 2"},react.exports.createElement("g",{id:"Layer_1-2","data-name":"Layer 1"},react.exports.createElement("path",{d:"M60.3,78.46c-.31,5-.39,9-.82,12.91-.86,7.85-7.86,11.57-14.92,7.85A63.53,63.53,0,0,1,34.4,92.84Q19.67,81,5.29,68.78C-.35,64-1.3,58.65,1.58,51.82a30.86,30.86,0,0,1,2.19-4.65A302.23,302.23,0,0,1,31.91,9.31a48.7,48.7,0,0,1,7.64-6.84C46-2.3,51.84,0,53.52,7.92a65.45,65.45,0,0,1,.78,7.69c.14,1.66.24,3.33.4,5.53a32.54,32.54,0,0,0,4.39.14c7.11-.83,14.18-2.09,21.3-2.57a246.17,246.17,0,0,1,24.89-.54c7.68.26,11.38,3.91,12.77,11.46a112.58,112.58,0,0,1,1.63,24.8c-.05,1.42-.31,2.84-.49,4.25-1,8.35-5.08,13.81-14,14.64a17.63,17.63,0,0,0-4.09,1.24A65.73,65.73,0,0,1,78.3,78.24C72.6,78.16,66.9,78.37,60.3,78.46ZM43.47,14c-9,5.63-27.46,31.38-32.4,44.91,10.7,9.07,21.55,18.33,32.52,27.45,1.38,1.15,3.39,1.55,5.33,2.4,1.38-4.27.25-8,.35-11.62.13-4.81.95-6.57,5.41-7.27,5-.8,10.21-.76,15.33-1,7.4-.41,14.84-.49,22.2-1.28a39.24,39.24,0,0,0,16.08-5c2.55-12.13,1.56-25-2.65-33.79-4.31-1.14-8.87-1.08-13.42-.95-10.86.31-21.7.61-32.42,2.73-5.51,1.09-10.8.41-15.4-3.89C44.12,22.77,43.83,18.81,43.47,14Z"}))))),SvgCloud=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M3 13.6493C3 16.6044 5.41766 19 8.4 19L16.5 19C18.9853 19 21 16.9839 21 14.4969C21 12.6503 19.8893 10.9449 18.3 10.25C18.1317 7.32251 15.684 5 12.6893 5C10.3514 5 8.34694 6.48637 7.5 8.5C4.8 8.9375 3 11.2001 3 13.6493Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgTooltips=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",fill:"none",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20 10h-8a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h.93a2 2 0 0 1 1.664.89l.574.862a1 1 0 0 0 1.664 0l.574-.861A2 2 0 0 1 19.07 20H20a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2zm-6-3V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h.93a2 2 0 0 1 1.664.89L7 13.5"}))),SvgLightning=t=>react.exports.createElement("svg",{t:1705816188032,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":11440,xmlnsXlink:"http://www.w3.org/1999/xlink",width:18,height:18,...t},react.exports.createElement("path",{d:"M508.746667 299.2L485.333333 452.373333a5.333333 5.333333 0 0 0 4 5.973334l217.386667 53.333333a5.333333 5.333333 0 0 1 2.72 8.693333l-184.906667 208.8a5.333333 5.333333 0 0 1-9.28-4.32l23.413334-153.226666a5.333333 5.333333 0 0 0-4-5.973334L317.173333 512a5.333333 5.333333 0 0 1-2.506666-8.48l184.8-208.693333a5.333333 5.333333 0 0 1 9.28 4.373333z m-329.493334 256l271.253334 66.666667a5.333333 5.333333 0 0 1 4 5.973333l-51.04 335.68a5.333333 5.333333 0 0 0 9.226666 4.32l434.773334-490.346667a5.333333 5.333333 0 0 0-2.72-8.693333l-271.253334-66.666667a5.333333 5.333333 0 0 1-4-5.973333l51.04-335.626667a5.333333 5.333333 0 0 0-9.226666-4.373333L176.533333 546.506667a5.333333 5.333333 0 0 0 2.72 8.693333z","p-id":11441,fill:"currentColor"})),SvgClose$1=t=>react.exports.createElement("svg",{t:1705817265217,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":12421,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M851.456 755.419429q0 22.820571-16.018286 38.838857l-77.677714 77.677714q-16.018286 16.018286-38.838857 16.018286t-38.838857-16.018286l-168.009143-168.009143-168.009143 168.009143q-16.018286 16.018286-38.838857 16.018286t-38.838857-16.018286l-77.677714-77.677714q-16.018286-16.018286-16.018286-38.838857t16.018286-38.838857l168.009143-168.009143-168.009143-168.009143q-16.018286-16.018286-16.018286-38.838857t16.018286-38.838857l77.677714-77.677714q16.018286-16.018286 38.838857-16.018286t38.838857 16.018286l168.009143 168.009143 168.009143-168.009143q16.018286-16.018286 38.838857-16.018286t38.838857 16.018286l77.677714 77.677714q16.018286 16.018286 16.018286 38.838857t-16.018286 38.838857l-168.009143 168.009143 168.009143 168.009143q16.018286 16.018286 16.018286 38.838857z",fill:"currentColor","p-id":12422})),SvgCheck=t=>react.exports.createElement("svg",{t:1705817679376,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":15379,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M918.8 83.7c-43.5-30.3-104-19.5-134.6 24.1l-425.8 606-127-135.7c-36.4-38.9-98.1-41.1-137-4.8-39 36.2-41.1 97.7-4.7 136.6l206.5 220.7c4.7 5 9.8 9.4 15.1 13.1 0.7 0.5 1.4 1 2.2 1.5 43.5 30.3 104 19.5 134.6-24.1l494-703.2c30.7-43.5 20.1-103.9-23.3-134.2z",fill:"currentColor","p-id":15380})),SvgInfo$1=t=>react.exports.createElement("svg",{t:1705818171661,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":16367,width:16,height:16,xmlnsXlink:"http://www.w3.org/1999/xlink",...t},react.exports.createElement("path",{d:"M512 1024c282.771 0 512-229.23 512-512s-229.23-512-512-512-512 229.23-512 512 229.23 512 512 512zM432 256c0-44.183 35.817-80 80-80s80 35.817 80 80v31.999c0 44.183-35.817 80-80 80s-80-35.817-80-80v-31.999zM431.999 512c0-44.183 35.817-80 80-80s80 35.817 80 80v256c0 44.183-35.817 80-80 80s-80-35.817-80-80v-256z","p-id":16368,fill:"currentColor"})),SvgBackspace=t=>react.exports.createElement("svg",{t:1705818590143,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":15111,xmlnsXlink:"http://www.w3.org/1999/xlink",width:18,height:18,...t},react.exports.createElement("path",{d:"M800 170.666667a138.666667 138.666667 0 0 1 138.453333 130.816L938.666667 309.333333v405.333334a138.666667 138.666667 0 0 1-130.816 138.453333L800 853.333333h-362.709333a138.666667 138.666667 0 0 1-88.96-32.256l-6.613334-5.930666-213.162666-202.666667a138.666667 138.666667 0 0 1-4.906667-196.010667l4.906667-4.949333 213.162666-202.666667a138.666667 138.666667 0 0 1 86.698667-37.888L437.290667 170.666667h362.666666z m0 64h-362.709333a74.666667 74.666667 0 0 0-46.08 15.872l-5.376 4.693333-213.162667 202.666667-2.645333 2.645333a74.666667 74.666667 0 0 0-2.346667 100.352l4.992 5.205333 213.162667 202.666667c12.117333 11.52 27.733333 18.645333 44.288 20.224l7.168 0.341333h362.666666a74.666667 74.666667 0 0 0 74.453334-68.565333l0.256-6.101333v-405.333334a74.666667 74.666667 0 0 0-68.565334-74.410666L800 234.666667z m-311.637333 123.605333l3.584 3.114667L597.333333 466.730667l105.386667-105.386667a32 32 0 0 1 48.341333 41.685333l-3.114666 3.584L642.56 512l105.386667 105.386667a32 32 0 0 1-41.642667 48.341333l-3.584-3.114667L597.333333 557.269333l-105.386666 105.386667a32 32 0 0 1-48.341334-41.685333l3.072-3.584L552.106667 512l-105.386667-105.386667a32 32 0 0 1 41.685333-48.341333z",fill:"currentColor","p-id":15112})),SvgBlock=t=>react.exports.createElement("svg",{t:1705819045470,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":15265,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M512 85.333333c235.648 0 426.666667 191.061333 426.666667 426.666667 0 235.690667-191.018667 426.666667-426.666667 426.666667-235.605333 0-426.666667-190.976-426.666667-426.666667C85.333333 276.437333 276.394667 85.333333 512 85.333333z m0 64a362.666667 362.666667 0 1 0 0 725.333334 362.666667 362.666667 0 0 0 0-725.333334z m-181.333333 330.666667h362.666666a32 32 0 0 1 4.352 63.701333l-4.352 0.298667h-362.666666a32 32 0 0 1-4.352-63.701333l4.352-0.298667h362.666666-362.666666z",fill:"currentColor","p-id":15266})),SvgSpeaker=t=>react.exports.createElement("svg",{t:1705819674136,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":16477,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M731.428571 905.216c29.147429 0 50.139429-21.430857 50.139429-50.139429V171.501714c0-28.708571-20.992-52.717714-50.998857-52.717714-20.992 0-34.706286 10.294857-57.856 30.866286l-201.435429 178.706285c-2.56 2.56-6.418286 3.858286-10.697143 3.858286h-127.286857c-60.873143 0-90.88 30.427429-90.88 95.140572V597.942857c0 64.731429 30.006857 95.140571 90.88 95.140572h127.268572c4.297143 0 8.155429 1.28 10.715428 3.858285L672.731429 877.348571c20.992 18.870857 37.723429 27.867429 58.715428 27.867429z m-24.868571-90.422857c-2.139429 0-4.699429-1.28-7.277714-3.858286L509.44 639.926857c-10.276571-9.435429-18.834286-11.574857-30.427429-11.574857h-142.701714c-16.713143 0-24.868571-7.716571-24.868571-24.868571v-181.705143c0-16.713143 8.155429-24.850286 24.868571-24.850286h142.701714c11.574857 0 19.712-1.718857 30.427429-11.574857l189.860571-172.288c2.139429-1.700571 4.717714-3.419429 7.296-3.419429 3.84 0 5.997714 2.56 5.997715 5.997715v592.713142c0 3.858286-2.139429 6.436571-5.997715 6.436572z","p-id":16478,fill:"currentColor"})),SvgSearch=t=>react.exports.createElement("svg",{t:1705820436292,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":1989,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M426.666667 117.333333a309.333333 309.333333 0 0 1 240.213333 504.277334l209.066667 209.066666a32 32 0 0 1-41.642667 48.384l-3.584-3.114666-209.109333-209.066667A309.333333 309.333333 0 1 1 426.666667 117.333333z m0 64a245.333333 245.333333 0 1 0 0 490.666667 245.333333 245.333333 0 0 0 0-490.666667z",fill:"currentColor","p-id":1990})),SvgInfoOutline=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 -68.62 309.13 309.13",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("defs",null),react.exports.createElement("g",{id:"Layer_2","data-name":"Layer 2"},react.exports.createElement("g",{id:"Layer_1-2","data-name":"Layer 1"},react.exports.createElement("path",{d:"M89.68,0c16.93,12.78,35.09,21,56.38,20.55,2.3,0,4.59-.06,6.88.07a64.3,64.3,0,0,0,35.55-7.85c4.37-2.42,8.6-2.67,13.2-1.85a8.08,8.08,0,0,1,5.09,2.86c12,14.42,27.73,20.48,46.19,20.6,8.12,0,16-.64,23.46-4.15a13.82,13.82,0,0,1,5.81-1c2.25,0,4.13,2.72,3.63,4.92a26.24,26.24,0,0,1-1.32,3.12c-4.65,12.17-1.88,23.2,5.92,33,2.17,2.71,6.09,4.07,9.32,5.86,2.49,1.38,5.26,2.26,7.68,3.74a3.54,3.54,0,0,1,.19,5.87,20.31,20.31,0,0,1-2.87,1.84c-14.12,7.91-20.69,21-23.88,36-1.13,5.36.93,10.75,2.65,15.94a57.2,57.2,0,0,1,2.28,7.35c.63,3.33-1.25,5.55-4.74,5.64a33.64,33.64,0,0,1-6.76-.74c-19-3.33-36.39.36-51.73,12.4-2.24,1.76-4.26,3.83-6.44,5.67-2.93,2.47-5.43,2.7-8.59.86a15.43,15.43,0,0,1-2.1-1.5c-6.69-5.62-14.73-7.23-23.14-8-13.19-1.23-25.78,1.36-37.68,6.62-6.7,3-11.49.84-16.33-3.12-2.65-2.18-5.15-4.55-7.64-6.91a24.73,24.73,0,0,0-12.93-6.4c-15.06-2.69-30.13-3.61-45.11.76-4.93,1.44-10,2.46-14.87,4.11s-8.33-.65-11.48-3.67c-.87-.83-1-2.56-1.19-3.92-.87-5.65-1.52-11.33-2.46-17a24.82,24.82,0,0,0-12.9-18.3c-4.95-2.78-9.12-7.08-15.62-7.77L0,98c3.06-2.94,5.88-5.71,8.77-8.4,10.63-9.91,14.4-22.38,13.5-36.5A10.73,10.73,0,0,0,20,47.79c-2.75-3.66-2.57-7.3-.65-11.71,6.28.84,12.44,1.81,18.63,2.47C48,39.61,57.26,37,66.25,32.92A36.86,36.86,0,0,0,80.61,21.1c1.8-2.39,3.17-5,3.15-7.8,0-4.54,2.41-8.06,4-11.93C88,.93,88.7.7,89.68,0ZM194.84,20.36c-15.43,9.11-32.61,10.91-50.33,10.35s-34.57-4-49.91-13.77c-1.85,2.88-3.4,5.25-4.9,7.64a45.12,45.12,0,0,1-19,17c-9.12,4.34-18.77,7-29,6.82-2.49,0-5,.21-7.58.33-1.24,4.16-.63,7.9-.72,11.56A44.6,44.6,0,0,1,17.54,94.14c-1,.85-2.52,1.5-1.94,3.56,4.17,2.69,8.46,5.52,12.8,8.24a34.44,34.44,0,0,1,15,20.23c1,3.26,1.18,6.74,1.75,10.11.47,2.76,0,5.82,2.82,8.21a20.18,20.18,0,0,0,3.86-.54,90.34,90.34,0,0,1,31.26-4.72c8,.32,16,.8,24,1.71,10.57,1.22,19.9,5.19,26.92,13.63a33.67,33.67,0,0,0,4.06,3.5c24-8,48-11.37,71.22-.21,5.26-3,9.8-6,14.66-8.33a99.28,99.28,0,0,1,15.19-5.81,104.18,104.18,0,0,1,16-3.1c5.26-.64,10.6-.6,16.3-.87a55.92,55.92,0,0,0-1.45-7.14c-1.8-5.13-1-10.05.25-15.17a66,66,0,0,1,16.47-29.69c1.3-1.39,2.5-2.86,3.56-4.08-3.62-3.09-7.22-5.55-10-8.71a37.14,37.14,0,0,1-9.39-25.18c0-2.21.67-4.61-1.41-6.57a126.89,126.89,0,0,1-31.51-.33,59.93,59.93,0,0,1-29.87-12C203.69,27.6,199.53,24.12,194.84,20.36Z"}),react.exports.createElement("path",{d:"M194.84,20.36c4.69,3.76,8.85,7.24,13.15,10.53a59.93,59.93,0,0,0,29.87,12,126.89,126.89,0,0,0,31.51.33c2.08,2,1.39,4.36,1.41,6.57A37.14,37.14,0,0,0,280.17,75c2.81,3.16,6.41,5.62,10,8.71-1.06,1.22-2.26,2.69-3.56,4.08a66,66,0,0,0-16.47,29.69c-1.28,5.12-2.05,10-.25,15.17a55.92,55.92,0,0,1,1.45,7.14c-5.7.27-11,.23-16.3.87a104.18,104.18,0,0,0-16,3.1,99.28,99.28,0,0,0-15.19,5.81c-4.86,2.32-9.4,5.31-14.66,8.33C186,146.7,162,150.06,138,158.07a33.67,33.67,0,0,1-4.06-3.5c-7-8.44-16.35-12.41-26.92-13.63-7.94-.91-16-1.39-24-1.71A90.34,90.34,0,0,0,51.83,144a20.18,20.18,0,0,1-3.86.54c-2.84-2.39-2.35-5.45-2.82-8.21-.57-3.37-.79-6.85-1.75-10.11a34.44,34.44,0,0,0-15-20.23c-4.34-2.72-8.63-5.55-12.8-8.24-.58-2.06,1-2.71,1.94-3.56A44.6,44.6,0,0,0,33.4,60.26c.09-3.66-.52-7.4.72-11.56,2.6-.12,5.09-.37,7.58-.33,10.26.16,19.91-2.48,29-6.82a45.12,45.12,0,0,0,19-17c1.5-2.39,3-4.76,4.9-7.64,15.34,9.79,32.21,13.21,49.91,13.77S179.41,29.47,194.84,20.36Z"}))))),SvgHeart=t=>react.exports.createElement("svg",{t:1705821505982,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":2318,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M760.384 64c47.808 0 91.968 11.968 132.352 35.84a264.32 264.32 0 0 1 95.872 97.152A263.68 263.68 0 0 1 1024 330.88c0 34.752-6.592 68.544-19.712 101.312a262.4 262.4 0 0 1-57.536 87.424L512 960 77.248 519.68A268.8 268.8 0 0 1 0 330.88c0-48.384 11.776-93.056 35.392-133.952A264.32 264.32 0 0 1 131.2 99.84 255.296 255.296 0 0 1 263.68 64 260.736 260.736 0 0 1 449.92 142.208l62.08 62.912 62.144-62.912a258.944 258.944 0 0 1 86.336-58.24A259.584 259.584 0 0 1 760.512 64h-0.128z",fill:"currentColor","p-id":2319})),SvgAlert=t=>react.exports.createElement("svg",{t:1705823230352,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":3291,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M877.714286 658.285714 877.714286 365.714286C877.714286 163.766857 713.947429 0 512 0 310.052571 0 146.285714 163.766857 146.285714 365.714286L146.285714 658.285714 0 950.857143 409.014857 950.857143C424.118857 993.389714 464.274286 1024 512 1024 559.725714 1024 599.881143 993.389714 614.985143 950.857143L1024 950.857143 877.714286 658.285714",fill:"currentColor","p-id":3292})),shapeStyleSwitch={line_1:[{type:ShapeStyle.Line,icon:SvgLine},{type:ShapeStyle.Rect,icon:SvgRect},{type:ShapeStyle.Circle,icon:SvgCircle},{type:ShapeStyle.Ellipse,icon:SvgEllipse},{type:ShapeStyle.Triangle,icon:SvgTriangle}],line_2:[{type:ShapeStyle.ArrowLine,icon:SvgArrowLine},{type:ShapeStyle.ArrowOutline,icon:SvgArrowOutline},{type:ShapeStyle.Cloud,icon:SvgCloud},{type:ShapeStyle.Tooltips,icon:SvgTooltips},{type:ShapeStyle.Lightning,icon:SvgLightning}],line_3:[{type:ShapeStyle.Close,icon:SvgClose$1},{type:ShapeStyle.Check,icon:SvgCheck},{type:ShapeStyle.Info,icon:SvgInfo$1},{type:ShapeStyle.Backspace,icon:SvgBackspace},{type:ShapeStyle.Block,icon:SvgBlock}],line_4:[{type:ShapeStyle.Speaker,icon:SvgSpeaker},{type:ShapeStyle.Search,icon:SvgSearch},{type:ShapeStyle.InfoOutline,icon:SvgInfoOutline},{type:ShapeStyle.Heart,icon:SvgHeart},{type:ShapeStyle.Alert,icon:SvgAlert}]},ShapeStyleConfig=()=>{const{shapeStyle:t,updateShapeStyle:e}=useShapeStore(),{t:a}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.shapeType")}),Object.keys(shapeStyleSwitch).map(r=>jsx("div",{className:"btn-group mt-1 flex",children:shapeStyleSwitch[r].map(({type:s,icon:o})=>jsx("button",{className:`btn btn-xs flex-grow text-[#eef1ff] ${t===s?"btn-active":""}`,onClick:()=>{e(s)},children:o({})},s))},r))]})},ShapeDrawConfig=()=>{const{shapeStyle:t}=useShapeStore(),e=react.exports.useMemo(()=>[ShapeStyle.Line,ShapeStyle.ArrowLine].includes(t),[t]);return jsxs(Fragment,{children:[jsx(ShapeStyleConfig,{}),e&&jsx(PointCountConfig,{}),jsx(BorderTypeConfig,{}),jsx(BorderStyleConfig,{}),!e&&jsx(FillStyleConfig,{})]})},DrawConfig=()=>{useTranslation();const{drawType:t,updateDrawType:e}=useBoardStore();return jsxs(Fragment,{children:[t===DrawType.FreeStyle&&jsx(FreeDrawConfig,{}),t===DrawType.Shape&&jsx(ShapeDrawConfig,{})]})},SvgBringforward=t=>react.exports.createElement("svg",{width:"36px",height:"36px",viewBox:"0 0 76 76",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",baseProfile:"full",enableBackground:"new 0 0 76.00 76.00",xmlSpace:"preserve",fill:"#66CC89",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fill:"#66CC89",fillOpacity:1,strokeWidth:.2,strokeLinejoin:"round",d:"M 58.5835,58.5836L 53.0417,58.5836L 58.5835,53.0418L 58.5835,58.5836 Z M 34.0418,52.2504L 30.0836,56.2086L 30.0836,52.2503L 34.0418,52.2504 Z M 41.9584,52.2504L 35.6253,58.5835L 30.0836,58.5835L 30.0833,57.7918L 35.6249,52.2504L 41.9584,52.2504 Z M 49.8746,52.2504L 43.5419,58.5835L 37.2085,58.5835L 43.5415,52.2504L 49.8746,52.2504 Z M 58.5835,45.1241L 58.5835,51.4587L 51.4586,58.5835L 45.125,58.5835L 58.5835,45.1241 Z M 52.2504,34.0418L 52.2503,30.0835L 56.2087,30.0836L 52.2504,34.0418 Z M 58.5835,35.6253L 52.2504,41.9584L 52.2504,35.6249L 57.7918,30.0833L 58.5835,30.0836L 58.5835,35.6253 Z M 58.5835,43.541L 52.2504,49.8745L 52.2504,43.5415L 58.5835,37.2084L 58.5835,43.541 Z M 19,50.6667L 19,19L 50.6667,19L 50.6671,50.6661L 19,50.6667 Z "}))),SvgSendbackward=t=>react.exports.createElement("svg",{width:"36px",height:"36px",viewBox:"0 0 76 76",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",baseProfile:"full",enableBackground:"new 0 0 76.00 76.00",xmlSpace:"preserve",fill:"#66CC89",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fill:"#66CC89",fillOpacity:1,strokeWidth:.2,strokeLinejoin:"round",d:"M 19,50.6667L 19,19L 50.6667,19L 50.6668,28.5003L 28.5,28.5002L 28.5,50.6667L 19,50.6667 Z M 58.5835,58.5836L 53.0415,58.5833L 58.5833,53.0416L 58.5835,58.5836 Z M 58.5833,45.1249L 58.5833,51.4585L 51.4584,58.5833L 45.1249,58.5833L 58.5833,45.1249 Z M 58.5833,35.6251L 35.6251,58.5834L 30.0833,58.5834L 30.0833,57.7918L 57.7918,30.0834L 58.5835,30.0836L 58.5833,35.6251 Z M 58.5833,43.5418L 43.5418,58.5833L 37.2082,58.5833L 58.5833,37.2082L 58.5833,43.5418 Z M 56.2084,30.0833L 30.0833,56.2085L 30.0833,49.8749L 49.8749,30.0834L 56.2084,30.0833 Z M 48.2918,30.0834L 30.0833,48.2918L 30.0833,41.9582L 41.9582,30.0834L 48.2918,30.0834 Z M 40.3751,30.0833L 30.0833,40.3751L 30.0833,34.0416L 34.0415,30.0833L 40.3751,30.0833 Z "}))),SvgBringtofront=t=>react.exports.createElement("svg",{width:"36px",height:"36px",viewBox:"0 0 76 76",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",baseProfile:"full",enableBackground:"new 0 0 76.00 76.00",xmlSpace:"preserve",fill:"#66CC89",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fill:"#66CC89",fillOpacity:1,strokeWidth:.2,strokeLinejoin:"round",d:"M 50.6667,25.3333L 50.6667,50.6667L 25.3333,50.6667L 25.3333,25.3333L 50.6667,25.3333 Z M 17.4169,17.417L 19.7919,17.417L 17.4169,19.7921L 17.4169,17.417 Z M 27.7088,17.417L 17.4168,27.709L 17.4168,21.3752L 21.3751,17.417L 27.7088,17.417 Z M 36.417,18.6045L 36.4168,23.7503L 30.8754,23.7503L 36.0213,18.6045L 36.417,18.6045 Z M 18.6043,36.4173L 18.6043,36.0216L 23.7502,30.8755L 23.7502,36.417L 18.6043,36.4173 Z M 17.4168,29.2924L 29.2919,17.417L 35.6255,17.417L 29.2922,23.7503L 23.7502,23.7503L 23.7502,29.2923L 17.4168,35.6257L 17.4168,29.2924 Z M 58.5833,58.5833L 56.2082,58.5833L 58.5833,56.2082L 58.5833,58.5833 Z M 48.2914,58.5833L 58.5833,48.2913L 58.5833,54.6251L 54.6251,58.5833L 48.2914,58.5833 Z M 39.5832,57.3958L 39.5833,52.25L 45.1248,52.25L 39.9788,57.3958L 39.5832,57.3958 Z M 57.3959,39.583L 57.3959,39.9787L 52.25,45.1248L 52.25,39.5833L 57.3959,39.583 Z M 58.5833,46.708L 46.7082,58.5833L 40.3747,58.5833L 46.708,52.25L 52.25,52.25L 52.25,46.708L 58.5833,40.3746L 58.5833,46.708 Z "}))),SvgSendtoback=t=>react.exports.createElement("svg",{width:"36px",height:"36px",viewBox:"0 0 76 76",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",baseProfile:"full",enableBackground:"new 0 0 76.00 76.00",xmlSpace:"preserve",fill:"#66CC89",stroke:"#66CC89",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fill:"#66CC89",fillOpacity:1,strokeWidth:.2,strokeLinejoin:"round",d:"M 50.6667,25.3333L 50.6667,41.1667L 41.1667,41.1667L 41.1667,50.6667L 25.3333,50.6667L 25.3333,34.8333L 34.8333,34.8333L 34.8333,25.3333L 50.6667,25.3333 Z M 14.25,14.25L 16.6251,14.25L 14.25,16.6251L 14.25,14.25 Z M 24.542,14.2501L 14.25,24.5421L 14.25,18.2083L 18.2082,14.25L 24.542,14.2501 Z M 15.0415,33.2503L 33.25,15.0419L 33.2499,21.3759L 21.3751,33.2503L 15.0415,33.2503 Z M 14.25,26.1254L 26.1251,14.25L 32.4586,14.25L 14.25,32.4587L 14.25,26.1254 Z M 22.9584,33.2503L 33.25,22.9585L 33.25,29.2918L 29.2922,33.2503L 22.9584,33.2503 Z M 61.75,61.75L 59.3749,61.75L 61.75,59.3749L 61.75,61.75 Z M 51.458,61.75L 61.75,51.458L 61.75,57.7918L 57.7918,61.75L 51.458,61.75 Z M 60.9584,42.7497L 42.75,60.9581L 42.75,54.6241L 54.6249,42.7497L 60.9584,42.7497 Z M 61.75,49.8746L 49.8749,61.75L 43.5414,61.75L 61.75,43.5413L 61.75,49.8746 Z M 53.0415,42.7497L 42.75,53.0415L 42.75,46.7082L 46.7078,42.7497L 53.0415,42.7497 Z "}))),LayerConfig=()=>{const{t}=useTranslation();return jsxs(Fragment,{children:[jsx("div",{className:"font-bold font-fredokaOne mt-3 text-sm",children:t("title.layer")}),jsxs("ul",{className:"menu menu-vertical lg:menu-horizontal bg-base-100 rounded-box mt-1 w-max",style:{display:"inline-grid"},children:[jsx("li",{children:jsx("a",{className:"px-1.5 py-1",onClick:()=>paintBoard.bringForWard(),children:jsx(SvgBringforward,{})})}),jsx("li",{children:jsx("a",{className:"px-1.5 py-1",onClick:()=>paintBoard.seendBackWard(),children:jsx(SvgSendbackward,{})})}),jsx("li",{children:jsx("a",{className:"px-1.5 py-1",onClick:()=>paintBoard.bringToFront(),children:jsx(SvgBringtofront,{})})}),jsx("li",{children:jsx("a",{className:"px-1.5 py-1",onClick:()=>paintBoard.sendToBack(),children:jsx(SvgSendtoback,{})})})]})]})},SelectConfig=()=>{var a;const[t,e]=react.exports.useState(0);return react.exports.useEffect(()=>{const r=()=>e(s=>s+1);return paintBoard.addHookFn(r),()=>{paintBoard.removeHookFn(r)}},[e]),jsx("div",{className:"form-control",children:((a=paintBoard.canvas)==null?void 0:a.getActiveObject())&&jsx(LayerConfig,{})})},Slider=t=>{const e=react.exports.useRef(null),a=react.exports.useRef({slSize:0,slHeight:100}),{value:r,min:s,max:o,updateValue:n,height:i}=t,[c,d]=react.exports.useState(r?r/(o||(100-s?s:0))*100:0),[h,p]=react.exports.useState(200);return react.exports.useEffect(()=>{a.slSize=c;let f=o||(100-s?s:0);f=Math.round(f/100*c),f=f<(s||0)?s||0:f,n(f)},[c]),react.exports.useEffect(()=>{a.slHeight=h},[h]),react.exports.useEffect(()=>{var m;const f=w=>{const g=w.clientY+a.slSize/100*a.slHeight,S=k=>{let x=g-k.clientY;x=x/a.slHeight*100,x=x<0?0:x,x=x>100?100:x,d(x)},b=()=>{document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",b)};document.addEventListener("mousemove",S),document.addEventListener("mouseup",b)};(m=e.current)==null||m.addEventListener("mousedown",f);let u=o||(100-s?s:0);return d(r?r/u*100:0),i&&p(i),()=>{var w;(w=e.current)==null||w.removeEventListener("mousedown",f)}},[]),jsxs("div",{className:"el-slider__runway",style:{height:h+"px",width:"6px"},children:[jsx("div",{className:"el-slider__bar",style:{height:c+"%",bottom:"0%",width:"6px"}}),jsx("div",{ref:e,tabIndex:0,className:"el-slider__button-wrapper",style:{bottom:c+"%"},children:jsx("div",{className:"el-tooltip el-slider__button","aria-describedby":"el-tooltip-6541",tabIndex:0})})]})},CanvasSizeConfig=()=>{const{canvasWidth:t,canvasHeight:e,updateCanvasWidth:a,updateCanvasHeight:r}=useBoardStore(),{t:s}=useTranslation(),o=i=>{a(i/100)},n=i=>{r(i/100)};return jsxs("div",{className:"form-control mt-3",children:[jsx("div",{className:"font-bold font-fredokaOne text-sm",children:s("title.canvasSize")}),jsxs("div",{className:"mt-1 flex items-center w-full",style:{display:"inline-grid"},children:[jsx("div",{className:"text-sm font-fredokaOne w-12 mr-2 shrink-0",children:s("canvasSize.width")}),jsx("div",{className:"text-sm font-fredokaOne mr-2 text-primary-focus w-9 shrink-0",children:(t*100).toFixed(0)+"%"}),jsx(Slider,{min:1,max:45,height:150,value:t*100,updateValue:o})]}),jsxs("div",{className:"mt-1 flex items-center w-full",style:{display:"inline-grid"},children:[jsx("div",{className:"text-sm font-fredokaOne w-12 mr-2 shrink-0",children:s("canvasSize.height")}),jsx("div",{className:"text-sm font-fredokaOne mr-2 text-primary-focus w-9 shrink-0",children:(e*100).toFixed(0)+"%"}),jsx(Slider,{min:1,max:100,height:150,value:e*100,updateValue:n})]})]})},boardConfig$2=()=>jsx(Fragment,{children:jsx(CanvasSizeConfig,{})}),DrawAIConfig=()=>{const{openAutoDraw:t,updateAutoDrawState:e}=useDrawStore(),{t:a}=useTranslation();return jsx("div",{className:"form-control mt-3",children:jsxs("div",{className:"mt-1 flex items-start w-full",children:[jsx("div",{className:"font-fredokaOne text-sm",children:a("title.AI")}),jsx("input",{style:{marginLeft:"10px"},type:"checkbox",className:"toggle toggle-success toggle-sm",checked:t,onChange:e})]})})},SvgClose=t=>react.exports.createElement("svg",{className:"{className} ",xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 512 512",...t},react.exports.createElement("path",{d:"M64,384H448V341.33H64Zm0-106.67H448V234.67H64ZM64,128v42.67H448V128Z"})),SvgMenu=t=>react.exports.createElement("svg",{className:"{className} ",xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 512 512",...t},react.exports.createElement("polygon",{points:"400 145.49 366.51 112 256 222.51 145.49 112 112 145.49 222.51 256 112 366.51 145.49 400 256 289.49 366.51 400 400 366.51 289.49 256 400 145.49"})),ToolPanel=()=>{const{t}=useTranslation(),{mode:e,updateMode:a}=useBoardStore(),[r,s]=react.exports.useState(!0);return jsxs("div",{className:`fixed top-8 left-4 flex flex-col card shadow-xl overflow-visible z-3 bg-[#eef1ff] max-h-[90%] max-w-[10%] ${r?"p-1":""}`,style:{width:"5rem"},children:[jsxs("label",{className:"btn btn-circle swap swap-rotate absolute -top-7 left-2 h-8 w-8 min-h-0",children:[jsx("input",{type:"checkbox",onChange:()=>s(o=>!o)}),jsx(SvgClose,{className:"swap-on fill-current"}),jsx(SvgMenu,{className:"swap-off fill-current"})]}),r&&jsxs("div",{className:"max-h-[100%] overflow-y-auto noScrollbar",children:[jsx("div",{className:"tabs tabs-boxed bg-[#333C4D]",style:{display:"inline-grid"},children:modeSwitch.map(({type:o,text:n})=>jsx("a",{className:`tab tab-sm flex-grow font-fredokaOne text-white font-medium ${e===o?"tab-active":""}`,onClick:()=>{a(o)},children:t(n)},o))}),jsx(DrawAIConfig,{}),e===ActionMode.DRAW&&jsx(DrawConfig,{}),e===ActionMode.SELECT&&jsx(SelectConfig,{}),e===ActionMode.Board&&jsx(boardConfig$2,{})]})]})},SvgInfo=t=>react.exports.createElement("svg",{fill:"#65CC8A",width:"28px",height:"28px",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("title",null,"info1"),react.exports.createElement("path",{d:"M16 3c-7.18 0-13 5.82-13 13s5.82 13 13 13 13-5.82 13-13-5.82-13-13-13zM18.039 20.783c-0.981 1.473-1.979 2.608-3.658 2.608-1.146-0.187-1.617-1.008-1.369-1.845l2.16-7.154c0.053-0.175-0.035-0.362-0.195-0.419-0.159-0.056-0.471 0.151-0.741 0.447l-1.306 1.571c-0.035-0.264-0.004-0.7-0.004-0.876 0.981-1.473 2.593-2.635 3.686-2.635 1.039 0.106 1.531 0.937 1.35 1.85l-2.175 7.189c-0.029 0.162 0.057 0.327 0.204 0.379 0.16 0.056 0.496-0.151 0.767-0.447l1.305-1.57c0.035 0.264-0.024 0.726-0.024 0.902zM17.748 11.439c-0.826 0-1.496-0.602-1.496-1.488s0.67-1.487 1.496-1.487 1.496 0.602 1.496 1.487c0 0.887-0.67 1.488-1.496 1.488z"}))),SvgZh=t=>react.exports.createElement("svg",{className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":2917,width:30,height:30,...t},react.exports.createElement("path",{d:"M329.696785 539.274769H487.038091v-144.6129h-157.341306zM555.2065 539.274769H713.167338v-144.6129h-157.960838z",fill:"#231815","p-id":2918}),react.exports.createElement("path",{d:"M512 0C229.240454 0 0.000903 229.225101 0.000903 511.999097c0 282.761352 229.239551 512.000903 511.999097 512.000903 282.773995 0 511.997291-229.239551 511.997291-512.000903C1023.999097 229.225101 794.773995 0 512 0zM779.455475 603.700697H555.22998v210.967868h-68.193695V603.700697H263.435741V330.237747h223.60235V222.200726H555.231787v107.997284h224.223688v273.502687z",fill:"#231815","p-id":2919})),SvgEn=t=>react.exports.createElement("svg",{className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":2771,width:30,height:30,...t},react.exports.createElement("path",{d:"M511.998194 0C229.227811 0 0.000903 229.228714 0.000903 511.999097 0.000903 794.767674 229.227811 1023.998194 511.998194 1023.998194c282.772189 0 511.999097-229.23052 511.999097-511.999097C1023.999097 229.228714 794.772189 0 511.998194 0z m4.576952 727.549335H197.680437V308.279575h310.873302v70.908439H282.319732v92.982208H492.808952v70.657374H282.319732v114.062558h234.255414v70.659181z m310.871496 0h-80.351338v-155.002256c0-32.799081-1.726743-54.027541-5.129654-63.654674a44.564774 44.564774 0 0 0-16.761687-22.435012 47.702172 47.702172 0 0 0-27.891592-8.021407c-13.91509 0-26.35992 3.803891-37.450088 11.458636-11.057656 7.613202-18.670858 17.715369-22.731232 30.308309-4.10553 12.594746-6.153779 35.880486-6.153779 69.783166v137.565044h-80.353143V423.819618h74.641887v44.620767c26.506224-34.336171 59.852589-51.469939 100.080638-51.469939 17.756912 0 33.935191 3.184359 48.610699 9.547659 14.688151 6.413874 25.812637 14.536429 33.321078 24.457975 7.542759 9.921546 12.811492 21.159824 15.73395 33.75457 2.933295 12.594746 4.436067 30.602722 4.436067 54.074503l-0.001806 188.744182z",fill:"#231815","p-id":2772})),Mask=({show:t,clickMask:e,children:a})=>jsx("div",{className:`fixed top-0 left-0 right-0 bottom-0 bg-black z-10 bg-opacity-75 ${t?"block":"hidden"}`,onClick:e,children:jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-2/4 -translate-y-2/4",onClick:r=>r.stopPropagation(),children:a})}),swiper="",pagination="",guideInfoList=[{imageList:["https://raw.githubusercontent.com/LHRUN/file-store/main/paint-board/guideInfo/drawMode_freeStyle_1.3.0.png"],title:"FreeStyle",textList:["line1","line2","line3","line4","line5"]},{imageList:["https://raw.githubusercontent.com/LHRUN/file-store/main/paint-board/guideInfo/drawMode_shape_1.3.0.png"],title:"ShapeDraw",textList:["line1"]},{imageList:["https://raw.githubusercontent.com/LHRUN/file-store/main/paint-board/guideInfo/eraserMode_1.3.0.png"],title:"EraserMode",textList:["line1","line2"]},{imageList:["https://raw.githubusercontent.com/LHRUN/file-store/main/paint-board/guideInfo/selectMode_1.3.0.png"],title:"SelectMode",textList:["line1","line2","line3","line4","line5","line6"]},{imageList:["https://raw.githubusercontent.com/LHRUN/file-store/main/paint-board/guideInfo/boardMode_1.3.0.png"],title:"BoardMode",textList:["line1","line2","line3","line4"]},{imageList:["https://raw.githubusercontent.com/LHRUN/file-store/main/paint-board/borderConfig.png"],title:"BorderConfig",textList:["line1","line2","line3","line4"]},{imageList:["https://raw.githubusercontent.com/LHRUN/file-store/main/paint-board/files.png"],title:"FileConfig",textList:["line1"]}],GuideInfoSwiper=()=>{const{t}=useTranslation();return jsx(Swiper,{slidesPerView:1,spaceBetween:20,modules:[Pagination],pagination:{dynamicBullets:!0,clickable:!0},autoHeight:!0,grabCursor:!0,className:"max-w-[500px] xs:max-w-[80vw]",children:guideInfoList.map((e,a)=>jsx(SwiperSlide,{children:jsx("div",{className:"max-h-[50vh] overflow-y-auto",children:jsxs("div",{className:"flex w-full rounded-2xl p-3 bg-[#66CC8920] box-border justify-between",children:[jsx("div",{className:"shrink-0 w-[49%] flex flex-col items-center justify-start",children:e.imageList.map((r,s)=>jsx("img",{className:"max-w-full max-h-full rounded-2xl mt-5 first:mt-0",src:r},s))}),jsxs("div",{className:"w-[48%] shrink-0 p-3 rounded-2xl bg-[#eef1ff] box-border h-max",children:[jsx("div",{className:"text-lg font-fredokaOne",children:e.title}),e.textList.map((r,s)=>jsxs("div",{className:"text-sm mt-3",children:[s+1,". ",t(`info.${e.title}.${r}`)]},s))]})]})})},a))})},GuideInfo=()=>{const{t,i18n:e}=useTranslation(),{language:a,updateLanguage:r}=useBoardStore(),[s,o]=react.exports.useState(!1),n=()=>{const i=a==="en"?"zh":"en";e.changeLanguage(i),r(i)};return jsxs(Fragment,{children:[jsx("div",{className:"fixed bottom-5 left-5 flex flex-row justify-center items-center px-2.5 py-1.5 rounded-full bg-[#eef1ff]",children:jsx(SvgInfo,{className:"bg-white rounded-full cursor-pointer",onClick:()=>o(!0)})}),jsx(Mask,{show:s,clickMask:()=>{o(!1)},children:jsxs("div",{className:"flex flex-col bg-white rounded-2xl overflow-hidden p-3 max-h-[80vh]",children:[jsxs("div",{className:"flex items-center justify-between font-bold mb-4 ",children:[jsx("div",{className:"text-sm",style:{textAlign:"center",width:"100%"},children:t("info.welecome")}),jsx("span",{className:"ml-5 cursor-pointer border-solid border-4 border-[#7b8fa1] rounded-full hover:border-[#567189] flex items-center justify-center",onClick:n,children:a==="en"?jsx(SvgEn,{}):jsx(SvgZh,{})})]}),jsx(GuideInfoSwiper,{})]})})]})},userStore=create((t,e)=>({userId:"",outputImages:[],autoTask:!1,updateUserId(a){e().userId!=a&&t({userId:a,outputImages:[]})},updateoutputImages(a){const r=[...e().outputImages],s=r.findIndex(o=>o===a);console.log(r[0],a),r[0]==a||(s!==-1?r.splice(s,1):r.unshift(a)),t({outputImages:r})},clearOutputImages(){t({outputImages:[]})},updateAutoTask(a){t({autoTask:a})}})),COMFY_UI_LOCALHOST="139.9.53.208",COMFY_UI_BASE_URL="http://"+COMFY_UI_LOCALHOST,COMFY_UI_GET_COMMANDS=COMFY_UI_BASE_URL+"/wechatauth/getCommands",COMFY_UI_ADD_TASK=COMFY_UI_BASE_URL+"/wechatauth/addTask",COMFY_UI_GET_HISTORYS=COMFY_UI_BASE_URL+"/wechatauth/getHistorys",COMFY_UI_GET_HISTORY=COMFY_UI_BASE_URL+"/history/",COMFY_UI_UPLOAD=COMFY_UI_BASE_URL+"/upload/image",COMFY_UI_IMAGE_URL=COMFY_UI_BASE_URL+"/view?",COMFY_UI_GET_USER_ID=COMFY_UI_BASE_URL+"/wechatauth/getUserOpenId",COMFY_UI_GET_QR_CODE_URL=COMFY_UI_BASE_URL+"/wechatauth/getQrCodeUrl",COMFY_UI_SOCKET_URL="ws://"+COMFY_UI_LOCALHOST+"/ws?clientId=",getCommands=async()=>{const t=await axios.get(COMFY_UI_GET_COMMANDS+"?type=paint-board");return t==null?void 0:t.data},getQrCodeUrl=async()=>{const t=await axios.get(COMFY_UI_GET_QR_CODE_URL);return t==null?void 0:t.data},getHistorys=async t=>{const e=await axios.get(COMFY_UI_GET_HISTORYS+"?openId="+t+"&type=paint-board");return e==null?void 0:e.data},getHistory=async t=>{const e=await axios.get(COMFY_UI_GET_HISTORY+t);return e==null?void 0:e.data},uploadImage=async t=>{try{let e=new FormData;e.append("image",t,t.name),e.append("overwrite","true"),e.append("type","input");const a=await axios.post(COMFY_UI_UPLOAD,e);return a==null?void 0:a.data}catch(e){return console.log(e),null}},addTask=async t=>{try{let e=new FormData;for(const r in t)if(Object.hasOwnProperty.call(t,r)){const s=t[r];s&&e.append(r,s)}const a=await axios.post(COMFY_UI_ADD_TASK,e);return a==null?void 0:a.data}catch(e){return console.log(e),null}},getUserOpenId=async t=>{try{let e=new FormData;for(const r in t)if(Object.hasOwnProperty.call(t,r)){const s=t[r];s&&e.append(r,s)}const a=await axios.post(COMFY_UI_GET_USER_ID,e);return a==null?void 0:a.data}catch(e){return console.log(e),null}},Authorize=()=>{const{t,i18n:e}=useTranslation(),{userId:a,updateUserId:r}=userStore(),[s,o]=react.exports.useState(t("authorize.title")),[n,i]=react.exports.useState(""),[c,d]=react.exports.useState(""),h=async()=>{let u=await getUserOpenId({code:n});u.success?(r(u.openId),setTimeout(function(){pywebview.api.setOpenId(u.openId)},1e3)):o("\u6388\u6743\u7801\u6821\u9A8C\u5931\u8D25\uFF0C\u8BF7\u5148\u626B\u7801\u5173\u6CE8\u83B7\u53D6\u6388\u6743\u7801\uFF01")},p=async()=>{let u=await getQrCodeUrl();u.success&&d(u.qrcodeUrl)};return react.exports.useEffect(()=>{a||p()},[]),jsx(Fragment,{children:jsx(Mask,{show:!a,clickMask:()=>{},children:jsxs("div",{className:"flex flex-col bg-white rounded-2xl overflow-hidden p-3 max-h-[80vh]",children:[jsx("div",{className:"flex items-center justify-between font-bold mb-4 ",children:jsx("div",{className:"text-sm",style:{textAlign:"center",width:"100%"},children:s})}),jsx("img",{src:c}),jsx("input",{placeholder:"\u8F93\u5165\u6388\u6743\u7801",value:n,name:"code",onChange:u=>{const{name:m,value:w}=u.target;m=="code"&&i(w)}}),jsx("button",{style:{color:"red"},onClick:h,children:"\u786E\u5B9A"})]})})})},CleanModal=()=>{const{t}=useTranslation(),e=()=>{var a;(a=paintBoard.history)==null||a.clean()};return jsxs(Fragment,{children:[jsx("input",{type:"checkbox",id:"clean-modal",className:"modal-toggle"}),jsx("label",{htmlFor:"clean-modal",className:"modal cursor-pointer",children:jsxs("label",{className:"modal-box relative flex flex-col justify-center items-center",htmlFor:"",children:[jsx("h3",{className:"text-lg font-bold text-center",children:t("cleanModal.title")}),jsxs("div",{className:"w-64 flex justify-between mt-10",children:[jsx("label",{htmlFor:"clean-modal",className:"btn btn-active btn-primary btn-md w-2/5",onClick:e,children:t("cleanModal.confirm")}),jsx("label",{htmlFor:"clean-modal",className:"btn btn-active btn-ghost btn-md w-2/5",children:t("cleanModal.cancel")})]})]})})]})},SvgUndo=t=>react.exports.createElement("svg",{className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":6082,width:26,height:26,...t},react.exports.createElement("path",{d:"M553.510259 201.860177c-312.055513 53.779187-655.249802 337.402216-45.768564 793.695176C283.646139 771.440335 83.62989 414.41051 555.277559 433.448208l1.201715 162.84822 297.307743-261.013025L552.261108 30.273979 553.510259 201.860177 553.510259 201.860177zM553.510259 201.860177","p-id":6083,fill:"#65CC8A"})),SvgRedo=t=>react.exports.createElement("svg",{className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":6082,width:26,height:26,...t},react.exports.createElement("path",{d:"M553.510259 201.860177c-312.055513 53.779187-655.249802 337.402216-45.768564 793.695176C283.646139 771.440335 83.62989 414.41051 555.277559 433.448208l1.201715 162.84822 297.307743-261.013025L552.261108 30.273979 553.510259 201.860177 553.510259 201.860177zM553.510259 201.860177","p-id":6083,fill:"#65CC8A"})),SvgSave=t=>react.exports.createElement("svg",{width:"28px",height:"28px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"System / Save"},react.exports.createElement("path",{id:"Vector",d:"M17 21.0002L7 21M17 21.0002L17.8031 21C18.921 21 19.48 21 19.9074 20.7822C20.2837 20.5905 20.5905 20.2843 20.7822 19.908C21 19.4806 21 18.921 21 17.8031V9.21955C21 8.77072 21 8.54521 20.9521 8.33105C20.9095 8.14 20.8393 7.95652 20.7432 7.78595C20.6366 7.59674 20.487 7.43055 20.1929 7.10378L17.4377 4.04241C17.0969 3.66374 16.9242 3.47181 16.7168 3.33398C16.5303 3.21 16.3242 3.11858 16.1073 3.06287C15.8625 3 15.5998 3 15.075 3H6.2002C5.08009 3 4.51962 3 4.0918 3.21799C3.71547 3.40973 3.40973 3.71547 3.21799 4.0918C3 4.51962 3 5.08009 3 6.2002V17.8002C3 18.9203 3 19.4796 3.21799 19.9074C3.40973 20.2837 3.71547 20.5905 4.0918 20.7822C4.5192 21 5.07899 21 6.19691 21H7M17 21.0002V17.1969C17 16.079 17 15.5192 16.7822 15.0918C16.5905 14.7155 16.2837 14.4097 15.9074 14.218C15.4796 14 14.9203 14 13.8002 14H10.2002C9.08009 14 8.51962 14 8.0918 14.218C7.71547 14.4097 7.40973 14.7155 7.21799 15.0918C7 15.5196 7 16.0801 7 17.2002V21M15 7H9",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgClean=t=>react.exports.createElement("svg",{t:1702137196077,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":4092,xmlnsXlink:"http://www.w3.org/1999/xlink",width:26,height:26,...t},react.exports.createElement("path",{d:"M512 0a170.666667 170.666667 0 0 1 170.569143 164.815238L682.666667 170.666667v146.285714h146.285714a146.285714 146.285714 0 0 1 146.18819 140.8L975.238095 463.238095v24.380953a146.334476 146.334476 0 0 1-97.523809 137.947428V877.714286a146.285714 146.285714 0 0 1-140.8 146.18819L731.428571 1024H292.571429a146.285714 146.285714 0 0 1-146.188191-140.8L146.285714 877.714286V625.590857a146.358857 146.358857 0 0 1-97.426285-132.486095L48.761905 487.619048v-24.380953a146.285714 146.285714 0 0 1 140.8-146.18819L195.047619 316.952381h146.285714V170.666667A170.666667 170.666667 0 0 1 506.148571 0.097524L512 0z m268.190476 633.904762H243.809524v243.809524a48.761905 48.761905 0 0 0 41.374476 48.201143l3.754667 0.438857L292.571429 926.47619h24.380952v-46.567619a48.761905 48.761905 0 1 1 97.523809 0V926.47619l48.761905 0.024381v-133.022476a48.761905 48.761905 0 1 1 97.52381 0V926.47619h48.761905v-219.428571a48.761905 48.761905 0 1 1 97.523809 0v219.428571h24.380952a48.761905 48.761905 0 0 0 48.64-45.104761L780.190476 877.714286V633.904762z m48.761905-219.428572H195.047619a48.761905 48.761905 0 0 0-48.64 45.104762L146.285714 463.238095v24.380953a48.761905 48.761905 0 0 0 45.104762 48.64L195.047619 536.380952h633.904762a48.761905 48.761905 0 0 0 48.64-45.104762L877.714286 487.619048v-24.380953a48.761905 48.761905 0 0 0-48.761905-48.761905zM512 97.52381a73.142857 73.142857 0 0 0-73.020952 68.851809L438.857143 170.666667v146.285714h146.285714V170.666667a73.142857 73.142857 0 0 0-64.609524-72.655238l-4.242285-0.365715L512 97.52381z",fill:"#65CC8A","p-id":4093})),SvgUpload=t=>react.exports.createElement("svg",{width:"28px",height:"28px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M13 4H8.8C7.11984 4 6.27976 4 5.63803 4.32698C5.07354 4.6146 4.6146 5.07354 4.32698 5.63803C4 6.27976 4 7.11984 4 8.8V15.2C4 16.8802 4 17.7202 4.32698 18.362C4.6146 18.9265 5.07354 19.3854 5.63803 19.673C6.27976 20 7.11984 20 8.8 20H15.2C16.8802 20 17.7202 20 18.362 19.673C18.9265 19.3854 19.3854 18.9265 19.673 18.362C20 17.7202 20 16.8802 20 15.2V11",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M4 16L8.29289 11.7071C8.68342 11.3166 9.31658 11.3166 9.70711 11.7071L13 15M13 15L15.7929 12.2071C16.1834 11.8166 16.8166 11.8166 17.2071 12.2071L20 15M13 15L15.25 17.25",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M18 8V3M18 3L16 5M18 3L20 5",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgCopy=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M10.5 2.0028C9.82495 2.01194 9.4197 2.05103 9.09202 2.21799C8.71569 2.40973 8.40973 2.71569 8.21799 3.09202C8.05103 3.4197 8.01194 3.82495 8.0028 4.5M19.5 2.0028C20.1751 2.01194 20.5803 2.05103 20.908 2.21799C21.2843 2.40973 21.5903 2.71569 21.782 3.09202C21.949 3.4197 21.9881 3.82494 21.9972 4.49999M21.9972 13.5C21.9881 14.175 21.949 14.5803 21.782 14.908C21.5903 15.2843 21.2843 15.5903 20.908 15.782C20.5803 15.949 20.1751 15.9881 19.5 15.9972M22 7.99999V9.99999M14.0001 2H16M5.2 22H12.8C13.9201 22 14.4802 22 14.908 21.782C15.2843 21.5903 15.5903 21.2843 15.782 20.908C16 20.4802 16 19.9201 16 18.8V11.2C16 10.0799 16 9.51984 15.782 9.09202C15.5903 8.71569 15.2843 8.40973 14.908 8.21799C14.4802 8 13.9201 8 12.8 8H5.2C4.0799 8 3.51984 8 3.09202 8.21799C2.71569 8.40973 2.40973 8.71569 2.21799 9.09202C2 9.51984 2 10.0799 2 11.2V18.8C2 19.9201 2 20.4802 2.21799 20.908C2.40973 21.2843 2.71569 21.5903 3.09202 21.782C3.51984 22 4.07989 22 5.2 22Z",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgText=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M3.5 3.5C3.5 2.94772 3.94772 2.5 4.5 2.5H19.5C20.0523 2.5 20.5 2.94772 20.5 3.5V6.5C20.5 7.05228 20.0523 7.5 19.5 7.5H18.5C17.9477 7.5 17.5 7.05228 17.5 6.5V5.5H13.5V18.5H15.5C16.0523 18.5 16.5 18.9477 16.5 19.5V20.5C16.5 21.0523 16.0523 21.5 15.5 21.5H8.5C7.94772 21.5 7.5 21.0523 7.5 20.5V19.5C7.5 18.9477 7.94772 18.5 8.5 18.5H10.5V5.5H6.5V6.5C6.5 7.05228 6.05228 7.5 5.5 7.5H4.5C3.94772 7.5 3.5 7.05228 3.5 6.5V3.5Z",fill:"#65CC8A"}))),SvgDelete=t=>react.exports.createElement("svg",{width:"28px",height:"28px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M10 11V17",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M14 11V17",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M4 7H20",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M6 7H12H18V18C18 19.6569 16.6569 21 15 21H9C7.34315 21 6 19.6569 6 18V7Z",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M9 5C9 3.89543 9.89543 3 11 3H13C14.1046 3 15 3.89543 15 5V7H9V5Z",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgFileList=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("rect",{x:4,y:4,width:16,height:18,rx:3,stroke:"#65CC8A",strokeWidth:2}),react.exports.createElement("path",{d:"M16 10L8 10",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round"}),react.exports.createElement("path",{d:"M16 13L8 13",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round"}),react.exports.createElement("path",{d:"M16 16L8 16",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round"}))),SvgAddFile=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"Edit / Add_Plus_Square"},react.exports.createElement("path",{id:"Vector",d:"M8 12H12M12 12H16M12 12V16M12 12V8M4 16.8002V7.2002C4 6.08009 4 5.51962 4.21799 5.0918C4.40973 4.71547 4.71547 4.40973 5.0918 4.21799C5.51962 4 6.08009 4 7.2002 4H16.8002C17.9203 4 18.4801 4 18.9079 4.21799C19.2842 4.40973 19.5905 4.71547 19.7822 5.0918C20.0002 5.51962 20.0002 6.07967 20.0002 7.19978V16.7998C20.0002 17.9199 20.0002 18.48 19.7822 18.9078C19.5905 19.2841 19.2842 19.5905 18.9079 19.7822C18.4805 20 17.9215 20 16.8036 20H7.19691C6.07899 20 5.5192 20 5.0918 19.7822C4.71547 19.5905 4.40973 19.2842 4.21799 18.9079C4 18.4801 4 17.9203 4 16.8002Z",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgRemoveFile=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"Edit / Add_Minus_Square"},react.exports.createElement("path",{id:"Vector",d:"M8 12H16M4 16.8002V7.2002C4 6.08009 4 5.51962 4.21799 5.0918C4.40973 4.71547 4.71547 4.40973 5.0918 4.21799C5.51962 4 6.08009 4 7.2002 4H16.8002C17.9203 4 18.4801 4 18.9079 4.21799C19.2842 4.40973 19.5905 4.71547 19.7822 5.0918C20.0002 5.51962 20.0002 6.07967 20.0002 7.19978V16.7998C20.0002 17.9199 20.0002 18.48 19.7822 18.9078C19.5905 19.2841 19.2842 19.5905 18.9079 19.7822C18.4805 20 17.9215 20 16.8036 20H7.19691C6.07899 20 5.5192 20 5.0918 19.7822C4.71547 19.5905 4.40973 19.2842 4.21799 18.9079C4 18.4801 4 17.9203 4 16.8002Z",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgExportFile=t=>react.exports.createElement("svg",{fill:"#65CC8A",width:"64px",height:"64px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M11 16h2V7h3l-4-5-4 5h3z"}),react.exports.createElement("path",{d:"M5 22h14c1.103 0 2-.897 2-2v-9c0-1.103-.897-2-2-2h-4v2h4v9H5v-9h4V9H5c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2z"}))),SvgImportFile=t=>react.exports.createElement("svg",{fill:"#65CC8A",width:"64px",height:"64px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"m12 18 4-5h-3V2h-2v11H8z"}),react.exports.createElement("path",{d:"M19 9h-4v2h4v9H5v-9h4V9H5c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-9c0-1.103-.897-2-2-2z"}))),Toast=({message:t})=>{const{t:e}=useTranslation();return jsx("div",{className:"toast toast-top toast-center",children:jsx("div",{className:"alert alert-success",children:jsx("div",{children:jsx("span",{className:"whitespace-nowrap",children:e(t)})})})})},FileList=({updateShow:t})=>{const{files:e,currentId:a,updateCurrentFile:r,updateTitle:s,addFile:o,saveJSON:n,uploadFile:i}=useFileStore(),{updateMode:c}=useBoardStore(),[d,h]=react.exports.useState(!1),p=u=>{r(u),paintBoard.initCanvasStorage(),c(ActionMode.DRAW)},f=u=>{i(u).then(m=>{m?(paintBoard.initCanvasStorage(),c(ActionMode.DRAW)):(h(!0),setTimeout(()=>{h(!1)},1500))})};return jsxs("div",{className:"drawer drawer-end fixed top-0 z-[1]",children:[jsx("input",{id:"my-drawer-4",type:"checkbox",className:"drawer-toggle"}),jsxs("div",{className:"drawer-side",children:[jsx("label",{htmlFor:"my-drawer-4",className:"drawer-overlay",onClick:()=>t(!1)}),jsxs("div",{className:"h-screen bg-white px-5 py-7 overflow-hidden max-w-[80%]",children:[jsx("div",{className:"font-fredokaOne text-2xl text-center",children:"PAINT-BOARD FILES"}),jsxs("div",{className:"bg-[#eef1ff] rounded-2xl mt-5 py-2 w-max max-w-full",children:[jsxs("div",{className:"flex justify-end items-center px-4 pb-2",children:[jsx(SvgAddFile,{className:"hover:bg-slate-200 cursor-pointer p-1 rounded-lg w-9 h-9",onClick:o}),jsx("label",{htmlFor:"delete-file-modal",children:jsx(SvgRemoveFile,{className:"hover:bg-slate-200 cursor-pointer p-1 rounded-lg w-9 h-9"})}),jsx(SvgExportFile,{className:"hover:bg-slate-200 cursor-pointer p-1 rounded-lg w-9 h-9",onClick:n}),jsx("label",{htmlFor:"file-upload",className:"cursor-pointer",children:jsx(SvgImportFile,{className:"hover:bg-slate-200 cursor-pointer p-1 rounded-lg w-9 h-9"})}),jsx("input",{type:"file",accept:"application/json",id:"file-upload",className:"hidden",onChange:u=>{var m;return f((m=u.target.files)==null?void 0:m[0])}})]}),jsx("ul",{className:"menu text-base-content my-2 mx-4 py-3 px-2 rounded-xl bg-white max-h-[70vh] xs:max-h-[40vh] overflow-y-auto noScrollbar flex-nowrap max-w-full",children:e.map(u=>jsx("li",{className:"my-1 block rounded-lg overflow-hidden",onClick:()=>p(u.id),children:jsx("a",{className:`${u.id===a?"active":""}`,children:jsx("input",{value:u.title,className:"px-2 max-w-full",onChange:m=>s(m.target.value,u.id)})})},u.id))})]})]})]}),d&&jsx(Toast,{message:"toast.uploadFileFail"})]})},DrawWidthConfig=()=>{useTranslation();const{drawWidth:t,updateDrawWidth:e}=useDrawStore(),{drawColors:a}=useDrawStore();return jsx("div",{children:jsxs("div",{className:"flex items-center",style:{margin:"0 1rem"},children:[jsx("div",{className:"text-lg font-fredokaOne mr-2 text-primary-focus",style:{color:a[0],width:"2rem"},children:t}),jsx("input",{type:"range",min:"5",max:"300",step:"1",value:t,className:"range range-primary range-xs",onChange:r=>e(Number(r.target.value))})]})})},EraserConfig=()=>{useTranslation();const{eraserWidth:t,updateEraserWidth:e}=useDrawStore();return jsx(Fragment,{children:jsx("div",{className:"",children:jsxs("div",{className:"flex items-center",style:{margin:"0 1rem"},children:[jsx("div",{className:"text-lg font-fredokaOne mr-2 text-primary-focus",style:{width:"2rem"},children:t}),jsx("input",{type:"range",min:"5",max:"300",step:"1",value:t,className:"range range-primary range-xs",onChange:a=>e(Number(a.target.value))})]})})})},BoardOperation=()=>{const{t}=useTranslation(),{mode:e}=useBoardStore(),[a,r]=react.exports.useState(!1),[s,o]=react.exports.useState(!0),n=()=>{paintBoard.copyObject()},i=()=>{paintBoard.deleteObject()},c=()=>{var u;(u=paintBoard.history)==null||u.undo()},d=()=>{var u;(u=paintBoard.history)==null||u.redo()},h=()=>{var u;(u=paintBoard.textElement)==null||u.loadText()},p=u=>{var g;const m=(g=u.target.files)==null?void 0:g[0];if(!m)return;const w=new FileReader;w.onload=S=>{var k;const b=(k=S.target)==null?void 0:k.result;b&&(console.log(b),b&&typeof b=="string"&&new ImageElement().addImage(b)),u.target.value=""},w.readAsDataURL(m)},f=()=>{paintBoard.saveImage()};return jsxs(Fragment,{children:[jsxs("div",{className:"fixed bottom-2 left-2/4 -translate-x-2/4 flex items-center bg-[#eef1ff] rounded-full xs:flex-col xs:right-5 xs:left-auto xs:translate-x-0 xs:justify-normal xs:max-h-[70vh] xs:overflow-y-auto xs:noScrollbar",children:[ActionMode.DRAW==e&&jsx(DrawWidthConfig,{}),e===ActionMode.ERASE&&jsx(EraserConfig,{}),s&&jsxs(Fragment,{children:[jsx("div",{onClick:c,className:"min-xs:tooltip cursor-pointer py-1.5 pl-3 pr-2 rounded-l-full hover:bg-slate-200 xs:pl-2 xs:rounded-l-none xs:rounded-t-full","data-tip":t("operate.undo"),children:jsx(SvgUndo,{className:"transform scale-x-[-1] scale-y-[1]"})}),jsx("div",{onClick:d,className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.redo"),children:jsx(SvgRedo,{})}),[ActionMode.SELECT,ActionMode.Board].includes(e)&&jsxs(Fragment,{children:[jsx("div",{onClick:n,className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.copy"),children:jsx(SvgCopy,{})}),jsx("div",{onClick:i,className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.delete"),children:jsx(SvgDelete,{})})]}),jsx("div",{"data-tip":t("operate.text"),className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200",onClick:h,children:jsx(SvgText,{})}),jsxs("div",{className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.image"),children:[jsx("label",{htmlFor:"image-upload",className:"cursor-pointer",children:jsx(SvgUpload,{})}),jsx("input",{type:"file",id:"image-upload",className:"hidden",onChange:p})]}),jsx("label",{htmlFor:"clean-modal",className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.clean"),children:jsx(SvgClean,{})}),jsx("div",{onClick:f,className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.save"),children:jsx(SvgSave,{})}),jsx("label",{htmlFor:"my-drawer-4",className:"min-xs:tooltip cursor-pointer py-1.5 pl-2 pr-3 rounded-r-full hover:bg-slate-200 xs:pr-2 xs:rounded-r-none xs:rounded-b-full","data-tip":t("operate.fileList"),onClick:()=>r(!0),children:jsx(SvgFileList,{})})]}),jsxs("label",{className:"btn btn-circle swap swap-rotate w-7 h-7 min-h-0 my-1.5 mx-2 min-xs:hidden",children:[jsx("input",{type:"checkbox",onChange:()=>o(u=>!u)}),jsx(SvgClose,{className:"swap-on fill-current"}),jsx(SvgMenu,{className:"swap-off fill-current"})]})]}),a&&jsx(FileList,{updateShow:r})]})},DeleteFileModal=()=>{const{t}=useTranslation(),{files:e,deleteFile:a}=useFileStore(),{updateMode:r}=useBoardStore(),s=()=>{e.length>1&&(a(),paintBoard.initCanvasStorage(),r(ActionMode.DRAW))};return jsxs(Fragment,{children:[jsx("input",{type:"checkbox",id:"delete-file-modal",className:"modal-toggle"}),jsx("label",{htmlFor:"delete-file-modal",className:"modal cursor-pointer",children:jsxs("label",{className:"modal-box relative flex flex-col justify-center items-center",htmlFor:"",children:[jsx("h3",{className:"text-lg font-bold text-center",children:t("deleteFileModal.title")}),jsxs("div",{className:"w-64 flex justify-between mt-10",children:[jsx("label",{htmlFor:"delete-file-modal",className:"btn btn-active btn-primary btn-md w-2/5",onClick:s,children:t("deleteFileModal.confirm")}),jsx("label",{htmlFor:"delete-file-modal",className:"btn btn-active btn-ghost btn-md w-2/5",children:t("deleteFileModal.cancel")})]})]})})]})},WebSocketContext=React.createContext(null),WebSocketProvider=({children:t})=>{const[e,a]=React.useState(null),{userId:r}=userStore();let s=react.exports.useRef(!1);React.useEffect(()=>{!s.current&&r&&o(COMFY_UI_SOCKET_URL+r)},[r]);const o=i=>{const c=new WebSocket(i);return a(c),c.onopen=()=>{console.log("WebSocket \u8FDE\u63A5\u6210\u529F"),s.current=!0},c.onerror=d=>{console.log("WebSocket \u8FDE\u63A5\u9519\u8BEF:",d)},c.onclose=()=>{console.log("WebSocket \u8FDE\u63A5\u65AD\u5F00"),s.current=!1,n(i)},()=>c.close()},n=i=>{console.log("WebSocket \u91CD\u8FDE",s.current),!s.current&&setTimeout(function(){o(i)},4e3)};return jsx(WebSocketContext.Provider,{value:e,children:t})},AutoDrawPanel=()=>{useTranslation();const[url,updateUrl]=react.exports.useState(""),[loading,updateLoading]=react.exports.useState(!1),[error,updateError]=react.exports.useState(!1),[sockError,updateSocketError]=react.exports.useState(!1),[queueRemaining,updateQueueRemaining]=react.exports.useState(0),[errorMsg,updateErrorMsg]=react.exports.useState(""),[commands,updateCommands]=react.exports.useState({}),[params,updateParams]=react.exports.useState([]),[userCommand,setUserCommand]=react.exports.useState({command:""}),{outputImages,updateoutputImages,clearOutputImages}=userStore(),{userId,updateUserId}=userStore(),{autoTask,updateAutoTask}=userStore(),[comLoading,updateComLoading]=react.exports.useState(!1),[hisLoading,updateHisLoading]=react.exports.useState(!1),{drawStyle,openAutoDraw}=useDrawStore(),socket=react.exports.useContext(WebSocketContext);react.exports.useEffect(()=>{var t;(t=paintBoard.evnet)==null||t.clickEvent.changeInkHookFn(updateUrl)},[updateUrl]),react.exports.useEffect(()=>{autoTask&&url&&!loading&&addTaskClick()},[url]),react.exports.useEffect(()=>{if(socket){socket.onmessage=message=>{var t,e,a,r,s;if(message.data instanceof Blob)return;const messageJson=eval("("+message.data+")");if(messageJson.type!="crystools.monitor"){if(messageJson.type=="execution_error"){console.log(messageJson),updateErrorMsg("\u56FE\u7247\u751F\u6210\u5F02\u5E38\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458"),updateError(!0),updateLoading(!1),setTimeout(function(){updateError(!1)},3e3);return}else messageJson.type=="status"&&(e=(t=messageJson.data)==null?void 0:t.status)!=null&&e.exec_info&&updateQueueRemaining((s=(r=(a=messageJson.data)==null?void 0:a.status)==null?void 0:r.exec_info)==null?void 0:s.queue_remaining);console.log(messageJson),messageJson.type=="executing"&&!messageJson.data.node&&(getHistoryFun(messageJson.data.prompt_id),updateLoading(!1))}};const onopenFun=socket.onopen;socket.onopen=()=>{onopenFun(),getCommandsFun(),updateSocketError(!1)};const closeFun=socket.onclose;socket.onclose=()=>{closeFun(),updateErrorMsg("\u670D\u52A1\u5668\u8FDE\u63A5\u5F02\u5E38\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458"),updateSocketError(!0)}}},[socket]),react.exports.useEffect(()=>{Object.keys(commands).length===0&&!comLoading&&(updateComLoading(!0),getCommandsFun(),updateComLoading(!1))},[]);const getHistorysFun=async()=>{let t=userId;clearOutputImages(),updateHisLoading(!0);let e=await getHistorys(t);e=e.reverse();for(let n=0;n{const e=await getHistory(t);for(var a of Object.keys(e[t].outputs)){var r=e[t].outputs[a];if("images"in r)for(let s=0;s{try{const t=await getCommands();console.log(t),updateCommands(t),setUserParams(t[Object.keys(t)[0]].params,Object.keys(t)[0])}catch(t){console.log(t)}},setUserParams=async(t,e)=>{const a={};e&&(a.command=e);for(var r of Object.keys(t))if("default"in t[r])if("type"in t[r]&&t[r].type=="number"&&"original"in t[r]){let s=t[r].original,o=t[r].max;s!=o?a[r+"_show"]=t[r].default/s*o:a[r+"_show"]=t[r].default,a[r]=t[r].default}else a[r]=t[r].default;else"options"in t[r]?a[r]=t[r].options[Object.keys(t[r].options)[0]]:a[r]="";setUserCommand(Object.assign(userCommand,a)),updateParams(t)},addTaskClick=async()=>{try{updateLoading(!0);const t=url?url.substring(22):paintBoard.getImage();let e=Object.assign({openId:userId},userCommand,{image:t});const a=await addTask(e);a.success||(updateErrorMsg(a.msg),updateError(!0),updateLoading(!1),setTimeout(function(){updateError(!1)},3e3))}catch(t){updateErrorMsg(t),updateError(!0),updateLoading(!1),setTimeout(function(){updateError(!1)},3e3)}},handleChange=t=>{const{name:e,value:a}=t.target;e=="command"&&setUserParams(commands[a].params);let r=parseFloat(t.target.getAttribute("original")),s=t.target.getAttribute("yname"),o=parseFloat(t.target.getAttribute("max")),n={};if(r&&s&&o)if(r==o)n[s]=a;else{let i=Math.round(parseFloat(a)/o*r*100)/100;n[s]=i}setUserCommand({...Object.assign(userCommand,n),[e]:a})},delPanamsVal=t=>{setUserCommand({...userCommand,[t]:""})},uploadUIImage=async t=>{var o;const e=(o=t.target.files)==null?void 0:o[0];if(!e)return;const a=t.currentTarget.getAttribute("pname"),r=await uploadImage(e);console.log("\u4E0A\u4F20\u6587\u4EF6\uFF1A",r);const s=COMFY_UI_IMAGE_URL+"filename="+r.name+"&type="+r.type+"&subfolder="+r.subfolder;setUserCommand({...userCommand,[a]:s})};return jsx("div",{className:"fixed top-3 right-3 flex h-screen ",style:{display:openAutoDraw?"":"none",backgroundColor:"rgb(251 245 245 / 61%)"},children:jsxs("div",{className:"items-center text-center overflow-x-auto py-2 px-1 box-border rounded-2xl border border-solid border-[rgb(238 241 255)] bg-[#EEF1FF80]",style:{width:"10rem"},children:[(error||sockError)&&jsxs("div",{role:"alert",className:"alert alert-error",children:[jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"stroke-current shrink-0 h-6 w-6",fill:"none",viewBox:"0 0 24 24",children:jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"})}),jsxs("span",{children:["\u9519\u8BEF\uFF1A",errorMsg]})]}),loading&&jsxs("div",{role:"alert",className:"alert alert-success",children:[jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"stroke-current shrink-0 h-6 w-6",fill:"none",viewBox:"0 0 24 24",children:jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})}),jsx("span",{children:"\u63D0\u4EA4\u6210\u529F\u8BF7\u7B49\u5F85"})]}),jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:["\u4EFB\u52A1\u6570\u91CF\uFF1A",queueRemaining]})}),jsx("div",{className:"label",children:jsx("span",{className:"label-text",children:"\u81EA\u52A8\u7ED8\u753B\uFF1A"})}),jsx("div",{children:jsx("input",{type:"checkbox",className:"toggle toggle-success",onChange:()=>updateAutoTask(!autoTask),checked:autoTask})}),jsx("div",{className:"label",children:jsx("span",{className:"label-text",children:"\u7ED8\u753B\u6A21\u5F0F\uFF1A"})}),jsx("select",{className:"select select-success select-sm w-full max-w-xs",name:"command",value:userCommand.command,onChange:handleChange,children:Object.keys(commands).map((t,e)=>jsx("option",{children:t},e))}),Object.keys(params).map((t,e)=>"options"in params[t]?jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:[params[t].zhName,"\uFF1A"]})}),jsx("select",{className:"select select-success select-sm w-full max-w-xs",name:t,value:userCommand[t],onChange:handleChange,children:Object.keys(params[t].options).map((a,r)=>jsx("option",{value:params[t].options[a],children:a},r))})]},e):t=="prompt"||t=="negative"?jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:[params[t].zhName,"\uFF1A"]})}),jsx("textarea",{className:"textarea textarea-success textarea-sm h-45 ",style:{width:"100%",height:"9rem"},placeholder:params[t].zhName,name:t,value:userCommand[t],onChange:handleChange})]},e):t=="image"?"":"type"in params[t]&¶ms[t].type=="number"?jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:[params[t].zhName,"\uFF1A"]})}),jsx("div",{className:"text-lg font-fredokaOne mr-2 text-primary-focus",children:userCommand[t]}),jsx("input",{type:"range",min:params[t].min,max:params[t].max,step:"1",name:t+"_show",yname:t,original:params[t].original,value:userCommand[t+"_show"],onChange:handleChange,className:"range range-primary range-xs cursor-pointer"})]},e):"type"in params[t]&¶ms[t].type=="text"?jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:[params[t].zhName,"\uFF1A"]})}),jsx("input",{type:"text",placeholder:params[t].zhName,name:t,value:userCommand[t],onChange:handleChange,className:"input input-bordered input-success input-sm w-full max-w-xs"})]},e):"type"in params[t]&¶ms[t].type=="image"?jsxs("div",{children:[jsx("div",{className:"label",children:jsx("span",{className:"label-text",children:"\u4EBA\u7269\u5934\u50CF\uFF1A"})}),jsxs("div",{className:"avatar",children:[userCommand[t]?jsx("div",{className:"w-24 rounded",children:jsx("img",{src:userCommand[t]})}):jsxs("div",{className:"bg-neutral text-neutral-content w-24",children:[jsx("label",{htmlFor:"image-upload-comfy"+t,className:"cursor-pointer ",children:jsx(SvgUpload,{style:{margin:"35%"}})}),jsx("input",{type:"file",id:"image-upload-comfy"+t,pname:t,className:"hidden",onChange:uploadUIImage})]}),userCommand[t]?jsx(SvgMenu,{className:"swap-on fill-current",onClick:()=>{delPanamsVal(t)}}):""]})]}):""),jsx("div",{className:"label"}),!autoTask&&jsx("button",{className:"btn btn-outline btn-success btn-sm",onClick:addTaskClick,disabled:loading,children:"AI\u521B\u610F\u5B9E\u73B0"}),!autoTask&&jsx("button",{className:"btn btn-outline btn-success btn-sm",onClick:getHistorysFun,disabled:loading,children:"\u67E5\u8BE2\u5386\u53F2"})]})]})})},SvgArrowLeft=t=>react.exports.createElement("svg",{fill:"#000000",width:"30px",height:"30px",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg",id:"memory-arrow-left-circle",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M12 16H10V15H9V14H8V13H7V12H6V10H7V9H8V8H9V7H10V6H12V8H11V9H10V10H16V12H10V13H11V14H12V16M15 21H7V20H5V19H4V18H3V17H2V15H1V7H2V5H3V4H4V3H5V2H7V1H15V2H17V3H18V4H19V5H20V7H21V15H20V17H19V18H18V19H17V20H15V21M16 17H17V16H18V14H19V8H18V6H17V5H16V4H14V3H8V4H6V5H5V6H4V8H3V14H4V16H5V17H6V18H8V19H14V18H16V17Z"}))),SvgArrowRight=t=>react.exports.createElement("svg",{fill:"#000000",width:"30px",height:"30px",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg",id:"memory-arrow-right-circle",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M7 1H15V2H17V3H18V4H19V5H20V7H21V15H20V17H19V18H18V19H17V20H15V21H7V20H5V19H4V18H3V17H2V15H1V7H2V5H3V4H4V3H5V2H7V1M6 5H5V6H4V8H3V14H4V16H5V17H6V18H8V19H14V18H16V17H17V16H18V14H19V8H18V6H17V5H16V4H14V3H8V4H6V5M10 6H12V7H13V8H14V9H15V10H16V12H15V13H14V14H13V15H12V16H10V14H11V13H12V12H6V10H12V9H11V8H10V6Z"}))),arrowLeft="_arrowLeft_1wio0_1",arrowRight="_arrowRight_1wio0_5",styles={arrowLeft,arrowRight},ViewImage=()=>{const{t}=useTranslation(),{outputImages:e,autoTask:a}=userStore(),[r,s]=react.exports.useState({url:"",status:0}),{mode:o,updateMode:n}=useBoardStore(),i=()=>{const p=document.getElementById("autodraw-scroll-container");p==null||p.scrollBy({left:-300,behavior:"smooth"})},c=()=>{const p=document.getElementById("autodraw-scroll-container");p==null||p.scrollBy({left:300,behavior:"smooth"})},d=(p,f)=>{f==1?s({url:p,status:f}):r.status==1&&r.url==p&&f==2&&(h(r.url,!1),s({url:"",status:0}),n(ActionMode.SELECT))},h=(p,f=!0)=>{var u=new XMLHttpRequest;u.open("GET",p,!0),u.responseType="blob",u.onload=function(){if(console.log(u),u.status===200){var m=u.response,w=new FileReader;w.onloadend=function(){var g=w.result;if(g&&typeof g=="string"){const S=new ImageElement;f?S.addTileImage(g):S.addImage(g)}},w.readAsDataURL(m)}},u.send()};return jsxs("div",{className:"fixed top-3 flex",style:{right:"24vw"},children:[jsx("div",{className:`absolute top-0 bottom-0 left-0 z-10 flex items-center w-16 h-full pl-[15px] cursor-pointer rounded-2xl ${styles.arrowLeft}`,children:jsx(SvgArrowLeft,{onClick:i})}),jsx("div",{className:"flex items-center text-center w-[50vw] overflow-x-auto py-2 px-16 h-18 noScrollbar box-border rounded-2xl border border-solid border-[rgb(238 241 255)] bg-[#EEF1FF80]",id:"autodraw-scroll-container",children:e.length?e.map((p,f)=>jsx("img",{src:p,className:"w-auto h-16 p-1 mr-4 hover:cursor-pointer hover:bg-[rgba(203,213,225,0.3)] rounded-lg",onClick:()=>h(p),onMouseDown:()=>d(p,1),onDragEnd:()=>d(p,2)},f)):t("request.tip")}),jsx("div",{className:`absolute top-0 bottom-0 right-0 z-10 flex items-center justify-end w-16 h-full pr-[15px] cursor-pointer rounded-2xl ${styles.arrowRight}`,children:jsx(SvgArrowRight,{onClick:c})})]})},Board=()=>{useBoardStore();const{canvasWidth:t}=useBoardStore(),{canvasHeight:e}=useBoardStore(),{outputImages:a,autoTask:r}=userStore();useDrawStore();const s=react.exports.useRef(null),[o,n]=react.exports.useState(!1),{userId:i,updateUserId:c}=userStore(),h=new URLSearchParams(window.location.search).get("openId");if(h){const f=atob(h);f&&c(f)}react.exports.useEffect(()=>(s.current&&paintBoard.initCanvas(s.current).then(f=>{n(f)}),()=>{paintBoard.removeCanvas()}),[]);const p=f=>{var u=new XMLHttpRequest;u.open("GET",f,!0),u.responseType="blob",u.onload=function(){if(console.log(u),u.status===200){var m=u.response,w=new FileReader;w.onloadend=function(){var g=w.result;g&&typeof g=="string"&&new ImageElement().addTileImage(g)},w.readAsDataURL(m)}},u.send()};return jsxs("div",{children:[jsx(Authorize,{}),jsxs("div",{className:"h-screen flex justify-center items-center bg-slate-100",children:[jsx("canvas",{className:"w-full h-full block",ref:s}),r&&jsx("div",{style:{width:t*100+"vw",height:e*100+"vh",backgroundColor:"#ffffff",marginLeft:"20px"},children:a.length>0&&jsx("img",{style:{width:"100%",height:"100%",padding:"0"},src:a[0],onClick:()=>p(a[0]),className:"w-auto h-16 p-1 mr-4 hover:cursor-pointer hover:bg-[rgba(203,213,225,0.3)] rounded-lg"})})]}),o&&jsxs(Fragment,{children:[jsx(ToolPanel,{}),jsx(GuideInfo,{}),jsx(CleanModal,{}),jsx(DeleteFileModal,{}),jsx(BoardOperation,{}),!r&&jsx(ViewImage,{}),jsx(AutoDrawPanel,{})]})]})};function App(){return jsx("div",{children:jsx(Board,{})})}const index="",tool$1={draw:"Draw",eraser:"Eraser",select:"Select",board:"Board"},title$1={drawType:"Draw Type",drawStyle:"Draw Style",drawWidth:"Draw Width",drawColor:"Draw Color",shadow:"Shadow",AI:"AI",shapeType:"Shape Type",shapeCount:"Shape Count",materialType:"Material Type",multiColorType:"MultiColor Type",drawText:"Draw Text",fontFamily:"Font Family",shapeLinePointCount:"Point Count",borderType:"Border Type",borderStyle:"Border Style",fillStyle:"Fill Style",eraserWidth:"Eraser Width",opacity:"Opacity",layer:"Layer",imageFilters:"Image Filters",fontStyle:"Font Style",canvasBackground:"Canvas Background",canvasSize:"Canvas Size",drawCache:"Draw Cache",guideLine:"GuideLine"},canvasSize$1={width:"Width",height:"Height"},drawType$1={freeStyle:"FreeStyle",shape:"Shape"},style$1={basic:"Basic",rainbow:"Rainbow",shape:"Shape",material:"Material",pixels:"Pixels",multiColor:"MultiColor",text:"Text",multiLine:"MultiLine",reticulate:"Reticulate",multiPoint:"MultiPoint",wiggle:"Wiggle",thorn:"Thorn"},operate$1={undo:"undo",redo:"redo",copy:"copy",delete:"delete",text:"add text",image:"upload image",clean:"clean",save:"Save as image",fileList:"File List"},info$1={welecome:"Welcome to star",FreeStyle:{line1:"Provides 12 different styles of brushes, including Basic Brush, Rainbow Brush, Multi-Shape Brush, Multi-Material Brush, Pixel Brush, Multi-Color Brush, Text Brush, Multi-Line Connection Brush, Reticulate Brush, Multi-Point Connection Brush, Wiggle Brush, Thorn Brush. Satisfy the diversified drawing",line2:"All brushes support color and brush width configurations",line3:"MultiShape allows flexible configuration of shape types and quantities",line4:"Material and MultiColor allows you to adjust the material type of the brush",line5:"Text drawing support for cyclic text and font configuration"},ShapeDraw:{line1:"A variety of common shapes are provided for drawing, with support for multi-point segments and arrows. The shapes support border and fill styles."},EraserMode:{line1:"Eraser mode linearly erases all content",line2:"Supports linear width configurations"},SelectMode:{line1:"In selection mode, you can click on the content of the drawing to select it",line2:"Click handle supports drag and drop, zoom and rotate operations, providing flexible editing options",line3:"Selecting images supports multiple filter configurations",line4:"Support for font configuration when selecting text",line5:"Layer settings are supported for all drawings, including Move Layer Up, Move Layer Down, Move to Top, and Move to Bottom",line6:"All drawings support transparency configurations"},BoardMode:{line1:"Drawing board support for configuring background color and transparency configurations",line2:"The drawing board supports customized width and height configurations",line3:"Support for drawing cache enable. Enabling caching will improve drawing performance in the presence of large amounts of drawing content, while disabling caching will improve canvas clarity.",line4:"Supports guide line on and off"},BorderConfig:{line1:"The bottom left button shows the current zoom ratio in real time, click it to reset the zoom ratio",line2:"The list of buttons in the center, in order from left to right, are: Undo, Redo, Copy Current Selection, Delete Current Selection, Draw Text, Upload Image, Clear Drawing, Save as Image, and Open File List",line3:"PC: Hold down the Space key and click the left mouse button to move the canvas, scroll the mouse wheel to realize the canvas zoom, hold down the Backspace key to delete the selected content, and hold down the Ctrl + V keys to paste the clipboard image at the same time",line4:"Mobile: support for dragging and zooming the canvas after a two-finger press"},FileConfig:{line1:"Multi-file configuration: support multiple canvas switching, each canvas can be customized title, add, delete, and provide upload and download"}},cleanModal$1={title:"Confirm clearing content?",confirm:"Confirmed",cancel:"Cancel"},deleteFileModal$1={title:"Confirm deleting the current file?",confirm:"Confirmed",cancel:"Cancel"},toast$1={uploadFileFail:"Upload failed, please try again"},filters$1={Sepia:"Sepia",Invert:"Invert",BlackWhite:"BlackWhite",Grayscale:"Grayscale",Blur:"Blur",Vintage:"Vintage",BlendColor:"BlendColor",Brownie:"Brownie",Kodachrome:"Kodachrome",Pixelate:"Pixelate",Polaroid:"Polaroid",Technicolor:"Technicolor",Brightness:"Brightness",Noise:"Noise",Convolute:"Emboss"},fontStyle$1={bold:"Bold",italic:"Italic",underLine:"UnderLine",lineThrough:"LineThrough"},boardConfig$1={cacheTip:"In the presence of a large amount of drawing content, enabling caching will improve drawing performance, while disabling caching will improve canvas sharpness"},request$1={tip:"Please feel free to draw...",loading:"Loading data, please wait...",error:"Something went wrong. Please try again later."},en={tool:tool$1,title:title$1,canvasSize:canvasSize$1,drawType:drawType$1,style:style$1,operate:operate$1,info:info$1,cleanModal:cleanModal$1,deleteFileModal:deleteFileModal$1,toast:toast$1,filters:filters$1,fontStyle:fontStyle$1,boardConfig:boardConfig$1,request:request$1},tool={draw:"\u7ED8\u753B",eraser:"\u6A61\u76AE",select:"\u9009\u62E9",board:"\u753B\u677F"},title={drawType:"\u7ED8\u753B\u7C7B\u578B",drawStyle:"\u7ED8\u753B\u98CE\u683C",drawWidth:"\u753B\u7B14\u5BBD\u5EA6",drawColor:"\u753B\u7B14\u989C\u8272",shadow:"\u9634\u5F71",AI:"AI",shapeType:"\u5F62\u72B6\u7C7B\u578B",shapeCount:"\u5F62\u72B6\u6570\u91CF",materialType:"\u7D20\u6750\u7C7B\u578B",multiColorType:"\u591A\u8272\u7C7B\u578B",drawText:"\u6587\u5B57\u5185\u5BB9",fontFamily:"\u5B57\u4F53",shapeLinePointCount:"\u7EBF\u6BB5\u7AEF\u70B9",borderType:"\u8FB9\u6846\u7C7B\u578B",borderStyle:"\u8FB9\u6846\u6837\u5F0F",fillStyle:"\u586B\u5145\u6837\u5F0F",eraserWidth:"\u6A61\u76AE\u5BBD\u5EA6",opacity:"\u900F\u660E\u5EA6",layer:"\u56FE\u5C42",imageFilters:"\u56FE\u50CF\u6EE4\u955C",fontStyle:"\u5B57\u4F53\u6837\u5F0F",canvasBackground:"\u753B\u677F\u80CC\u666F",canvasSize:"\u753B\u677F\u5C3A\u5BF8",drawCache:"\u7ED8\u5236\u7F13\u5B58",guideLine:"\u8F85\u52A9\u7EBF"},canvasSize={width:"\u5BBD\u5EA6",height:"\u9AD8\u5EA6"},drawType={freeStyle:"\u81EA\u7531\u7ED8\u753B",shape:"\u5F62\u72B6\u7ED8\u753B"},style={basic:"\u57FA\u7840",rainbow:"\u5F69\u8679 ",shape:"\u591A\u5F62\u72B6",material:"\u7D20\u6750",pixels:"\u50CF\u7D20",multiColor:"\u591A\u8272",text:"\u6587\u5B57",multiLine:"\u591A\u7EBF\u8FDE\u63A5",reticulate:"\u7F51\u72B6",multiPoint:"\u591A\u70B9\u8FDE\u63A5",wiggle:"\u6CE2\u6D6A\u66F2\u7EBF",thorn:"\u8346\u68D8"},operate={undo:"\u64A4\u9500",redo:"\u91CD\u505A",copy:"\u590D\u5236",delete:"\u5220\u9664",text:"\u6DFB\u52A0\u6587\u5B57",image:"\u4E0A\u4F20\u56FE\u7247",clean:"\u6E05\u9664\u753B\u677F",save:"\u4FDD\u5B58\u4E3A\u56FE\u7247",fileList:"\u6587\u4EF6\u5217\u8868"},info={welecome:"\u6B22\u8FCE\u4F7F\u7528\u8DA3\u5473\u7ED8\u672C",FreeStyle:{line1:"\u63D0\u4F9B\u4E86 12 \u79CD\u4E0D\u540C\u98CE\u683C\u7684\u753B\u7B14\uFF0C\u5305\u62EC\u57FA\u672C\u753B\u7B14\uFF0C\u5F69\u8679\u753B\u7B14\uFF0C\u591A\u5F62\u72B6\u753B\u7B14\uFF0C\u591A\u7D20\u6750\u753B\u7B14\uFF0C\u50CF\u7D20\u753B\u7B14\uFF0C\u591A\u8272\u753B\u7B14\uFF0C\u6587\u5B57\u753B\u7B14\uFF0C\u591A\u7EBF\u8FDE\u63A5\u753B\u7B14\uFF0C\u7F51\u72B6\u753B\u7B14\uFF0C\u591A\u70B9\u8FDE\u63A5\u753B\u7B14\uFF0C\u6CE2\u6D6A\u66F2\u7EBF\u753B\u7B14\uFF0C\u8346\u68D8\u753B\u7B14\u3002\u6EE1\u8DB3\u591A\u6837\u5316\u7684\u7ED8\u753B",line2:"\u6240\u6709\u753B\u7B14\u5747\u652F\u6301\u989C\u8272\u548C\u753B\u7B14\u5BBD\u5EA6\u7684\u914D\u7F6E",line3:"\u591A\u5F62\u72B6\u53EF\u4EE5\u7075\u6D3B\u914D\u7F6E\u5F62\u72B6\u7C7B\u578B\u548C\u6570\u91CF",line4:"\u7D20\u6750\u548C\u591A\u8272\u53EF\u4EE5\u8C03\u6574\u753B\u7B14\u7684\u7D20\u6750\u7C7B\u578B",line5:"\u6587\u5B57\u7ED8\u5236\u652F\u6301\u5FAA\u73AF\u6587\u6848\u914D\u7F6E\u548C\u5B57\u4F53\u4FEE\u6539"},ShapeDraw:{line1:"\u63D0\u4F9B\u4E86\u591A\u79CD\u5E38\u89C1\u5F62\u72B6\u7684\u7ED8\u5236, \u5E76\u652F\u6301\u591A\u7AEF\u70B9\u7EBF\u6BB5\u4EE5\u53CA\u7BAD\u5934. \u5E76\u4E14\u8FD9\u4E9B\u5F62\u72B6\u5747\u652F\u6301\u8FB9\u6846\u548C\u586B\u5145\u7684\u6837\u5F0F\u914D\u7F6E"},EraserMode:{line1:"\u6A61\u76AE\u64E6\u6A21\u5F0F\u53EF\u4EE5\u7EBF\u6027\u64E6\u9664\u6240\u6709\u5185\u5BB9",line2:"\u652F\u6301\u7EBF\u6027\u5BBD\u5EA6\u914D\u7F6E"},SelectMode:{line1:"\u5728\u9009\u62E9\u6A21\u5F0F\u4E0B\uFF0C\u53EF\u4EE5\u901A\u8FC7\u70B9\u51FB\u7ED8\u753B\u5185\u5BB9\u8FDB\u884C\u6846\u9009",line2:"\u70B9\u51FB\u624B\u67C4\u652F\u6301\u62D6\u62FD\u3001\u7F29\u653E\u548C\u65CB\u8F6C\u64CD\u4F5C\uFF0C\u63D0\u4F9B\u7075\u6D3B\u7684\u7F16\u8F91\u65B9\u5F0F",line3:"\u9009\u62E9\u56FE\u7247\u652F\u6301\u591A\u79CD\u6EE4\u955C\u914D\u7F6E",line4:"\u9009\u62E9\u6587\u5B57\u65F6\uFF0C\u652F\u6301\u5B57\u4F53\u8BBE\u7F6E",line5:"\u6240\u6709\u7ED8\u5236\u5185\u5BB9\u5747\u652F\u6301\u56FE\u5C42\u8BBE\u7F6E\uFF0C\u5305\u62EC\u5411\u4E0A\u79FB\u52A8\u5C42\u7EA7\u3001\u5411\u4E0B\u79FB\u52A8\u5C42\u7EA7\u3001\u79FB\u52A8\u81F3\u9876\u5C42\u548C\u79FB\u52A8\u81F3\u5E95\u5C42",line6:"\u6240\u6709\u7ED8\u5236\u5185\u5BB9\u652F\u6301\u900F\u660E\u5EA6\u914D\u7F6E"},BoardMode:{line1:"\u753B\u677F\u652F\u6301\u914D\u7F6E\u80CC\u666F\u989C\u8272\u548C\u900F\u660E\u5EA6\u914D\u7F6E",line2:"\u753B\u677F\u652F\u6301\u81EA\u5B9A\u4E49\u5BBD\u9AD8\u914D\u7F6E",line3:"\u652F\u6301\u7ED8\u5236\u7F13\u5B58\u5F00\u542F. \u5728\u5B58\u5728\u5927\u91CF\u7ED8\u5236\u5185\u5BB9\u7684\u60C5\u51B5\u4E0B\uFF0C\u542F\u7528\u7F13\u5B58\u5C06\u63D0\u9AD8\u7ED8\u5236\u6027\u80FD\uFF0C\u800C\u7981\u7528\u7F13\u5B58\u5219\u4F1A\u63D0\u5347\u753B\u5E03\u6E05\u6670\u5EA6",line4:"\u652F\u6301\u8F85\u52A9\u7EBF\u7684\u5F00\u542F\u4E0E\u5173\u95ED"},BorderConfig:{line1:"\u5DE6\u4E0B\u89D2\u6309\u94AE\u5B9E\u65F6\u663E\u793A\u5F53\u524D\u7F29\u653E\u6BD4\u4F8B\uFF0C\u70B9\u51FB\u5373\u53EF\u91CD\u7F6E\u7F29\u653E\u6BD4\u4F8B",line2:"\u4E2D\u95F4\u6309\u94AE\u5217\u8868\u6309\u4ECE\u5DE6\u5230\u53F3\u7684\u987A\u5E8F\u5206\u522B\u4E3A\uFF1A\u64A4\u9500\u3001\u53CD\u64A4\u9500\u3001\u590D\u5236\u5F53\u524D\u9009\u62E9\u5185\u5BB9\u3001\u5220\u9664\u5F53\u524D\u9009\u62E9\u5185\u5BB9\u3001\u7ED8\u5236\u6587\u5B57\u3001\u4E0A\u4F20\u56FE\u7247\u3001\u6E05\u9664\u7ED8\u5236\u5185\u5BB9\u3001\u4FDD\u5B58\u4E3A\u56FE\u7247\u3001\u6253\u5F00\u6587\u4EF6\u5217\u8868",line3:"\u7535\u8111\u7AEF\uFF1A\u6309\u4F4F Space \u952E\u5E76\u70B9\u51FB\u9F20\u6807\u5DE6\u952E\u53EF\u79FB\u52A8\u753B\u5E03\uFF0C\u6EDA\u52A8\u9F20\u6807\u6EDA\u8F6E\u5B9E\u73B0\u753B\u5E03\u7F29\u653E\uFF0C\u6309\u4F4F Backspace \u952E\u53EF\u5220\u9664\u5DF2\u9009\u5185\u5BB9\uFF0C\u540C\u65F6\u6309\u4F4F Ctrl \u952E + V \u952E\u53EF\u7C98\u8D34\u526A\u8D34\u677F\u56FE\u7247",line4:"\u79FB\u52A8\u7AEF\uFF1A\u652F\u6301\u53CC\u6307\u6309\u538B\u540E\u62D6\u62FD\u548C\u7F29\u653E\u753B\u5E03"},FileConfig:{line1:"\u591A\u6587\u4EF6\u914D\u7F6E\uFF1A\u652F\u6301\u591A\u4E2A\u753B\u5E03\u5207\u6362\uFF0C\u6BCF\u4E2A\u753B\u5E03\u53EF\u81EA\u5B9A\u4E49\u6807\u9898\u3001\u589E\u52A0\u3001\u5220\u9664\uFF0C\u5E76\u63D0\u4F9B\u4E0A\u4F20\u548C\u4E0B\u8F7D\u529F\u80FD"}},cleanModal={title:"\u786E\u8BA4\u6E05\u9664\u5185\u5BB9\uFF1F",confirm:"\u786E\u8BA4",cancel:"\u53D6\u6D88"},deleteFileModal={title:"\u786E\u8BA4\u5220\u9664\u5F53\u524D\u6587\u4EF6\u5417\uFF1F",confirm:"\u786E\u8BA4",cancel:"\u53D6\u6D88"},toast={uploadFileFail:"\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5"},filters={Sepia:"\u590D\u53E4",Invert:"\u5E95\u7247",BlackWhite:"\u9ED1\u767D",Grayscale:"\u7070\u5EA6",Blur:"\u6A21\u7CCA",Vintage:"\u53E4\u5178",BlendColor:"\u6DF7\u8272",Brownie:"\u68D5\u4ED9",Kodachrome:"\u80F6\u7247",Pixelate:"\u50CF\u7D20",Polaroid:"\u5B9D\u4E3D\u6765",Technicolor:"\u5F69\u8272",Brightness:"\u589E\u4EAE",Noise:"\u566A\u70B9",Convolute:"\u6D6E\u96D5"},fontStyle={bold:"\u7C97\u4F53",italic:"\u659C\u4F53",underLine:"\u4E0B\u5212\u7EBF",lineThrough:"\u5220\u9664\u7EBF"},boardConfig={cacheTip:"\u5728\u5B58\u5728\u5927\u91CF\u7ED8\u5236\u5185\u5BB9\u7684\u60C5\u51B5\u4E0B\uFF0C\u542F\u7528\u7F13\u5B58\u5C06\u63D0\u9AD8\u7ED8\u5236\u6027\u80FD\uFF0C\u800C\u7981\u7528\u7F13\u5B58\u5219\u4F1A\u63D0\u5347\u753B\u5E03\u6E05\u6670\u5EA6"},request={tip:"\u70B9\u51FB\u6309\u94AE\u5B9E\u73B0\u521B\u610F",loading:"\u8BF7\u7A0D\u5019...",error:"\u51FA\u9519\u4E86\u3002\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002"},authorize={title:"\u5FAE\u4FE1\u626B\u7801\u5173\u6CE8\u516C\u4F17\u53F7\u83B7\u53D6\u6388\u6743\u7801"},zh={tool,title,canvasSize,drawType,style,operate,info,cleanModal,deleteFileModal,toast,filters,fontStyle,boardConfig,request,authorize},lang=useBoardStore.getState().language;instance.use(initReactI18next).init({resources:{en:{translation:en},zh:{translation:zh}},lng:lang});{const t=document.createElement("script");t.textContent=` +var _=Object.defineProperty;var P=(t,e,a)=>e in t?_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a;var l=(t,e,a)=>(P(t,typeof e!="symbol"?e+"":e,a),a);import{f as fabric,c as create,p as persist,v as v4,a as createJSONStorage,b as produce,g as get,s as set,d as del,l as lodash,e as diff,h as patch,u as unpatch,i as useTranslation,j as jsxs,k as jsx,r as react,F as Fragment,S as Swiper,P as Pagination,m as SwiperSlide,n as axios,R as React,o as instance,q as initReactI18next,t as client}from"./vendor.dfa0e071.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const n of o.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&r(n)}).observe(document,{childList:!0,subtree:!0});function a(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerpolicy&&(o.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?o.credentials="include":s.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=a(s);fetch(s.href,o)}})();const getRandomInt=(t,e)=>Math.floor(Math.random()*(e-t+1))+t,formatPublicUrl=t=>t&&typeof t=="string"?`/paint-board/${t}`:"",getDistance=(t,e)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)),isMobile=()=>/phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|Mobi|Android|iPhone|iPad/i.test(navigator.userAgent);let isMouseDown=!1,isDisableDraw=isMobile();class BrushMouseMixin{constructor(){l(this,"canvas",null)}initCanvas(e){this.canvas=e,this._initBrushMouse()}_initBrushMouse(){fabric.fabric.util.object.extend(this.canvas,{_onMouseDownInDrawingMode:function(){},_onMouseMoveInDrawingMode:function(e){isDisableDraw||(isMouseDown?fabric.fabric.Canvas.prototype._onMouseMoveInDrawingMode.call(this,e):(isMouseDown=!0,fabric.fabric.Canvas.prototype._onMouseDownInDrawingMode.call(this,e)))},_onMouseUpInDrawingMode:function(e){isDisableDraw||(isMouseDown=!1,fabric.fabric.Canvas.prototype._onMouseUpInDrawingMode.call(this,e))}})}updateIsDisableDraw(e){isDisableDraw=e}}const brushMouseMixin=new BrushMouseMixin;class AlignGuideLine{constructor(){l(this,"openAlignGuideLine",!0)}updateOpenState(e){this.openAlignGuideLine=e}init(e,a){const r=e.getSelectionContext(),s=5,o=4,n=1,i="rgb(102, 204, 138)";let c,d=1;this.openAlignGuideLine=a;function h(g){f(g.x+.5,g.y1>g.y2?g.y2:g.y1,g.x+.5,g.y2>g.y1?g.y2:g.y1)}function p(g){f(g.x1>g.x2?g.x2:g.x1,g.y+.5,g.x2>g.x1?g.x2:g.x1,g.y+.5)}function f(g,S,b,k){c!=null&&(r.save(),r.lineWidth=n,r.strokeStyle=i,r.beginPath(),r.moveTo(g*d+c[4],S*d+c[5]),r.lineTo(b*d+c[4],k*d+c[5]),r.stroke(),r.restore())}function u(g,S){g=Math.round(g),S=Math.round(S);for(let b=g-o,k=g+o;b<=k;b++)if(b===S)return!0;return!1}const m=[],w=[];e.on("mouse:down",()=>{c=e.viewportTransform,d=e.getZoom()}),e.on("object:moving",g=>{if(c===void 0||g.target===void 0||!this.openAlignGuideLine)return;const S=g.target,b=e.getObjects(),k=S.getCenterPoint(),x=k.x,y=k.y,j=S.getBoundingRect(),M=j.height/c[3],T=j.width/c[0];let B=!1,I=!1;if(!!e._currentTransform){for(let D=b.length;D--;){if(b[D]===S)continue;const A=b[D].getCenterPoint(),C=A.x,v=A.y,R=b[D].getBoundingRect(),E=R.height/c[3],L=R.width/c[0];u(C,x)&&(I=!0,m.push({x:C,y1:vv?y+M/2+s:y-M/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(C,y),"center","center")),u(C-L/2,x-T/2)&&(I=!0,m.push({x:C-L/2,y1:vv?y+M/2+s:y-M/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(C-L/2+T/2,y),"center","center")),u(C+L/2,x+T/2)&&(I=!0,m.push({x:C+L/2,y1:vv?y+M/2+s:y-M/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(C+L/2-T/2,y),"center","center")),u(v,y)&&(B=!0,w.push({y:v,x1:CC?x+T/2+s:x-T/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(x,v),"center","center")),u(v-E/2,y-M/2)&&(B=!0,w.push({y:v-E/2,x1:CC?x+T/2+s:x-T/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(x,v-E/2+M/2),"center","center")),u(v+E/2,y+M/2)&&(B=!0,w.push({y:v+E/2,x1:CC?x+T/2+s:x-T/2-s}),S.setPositionByOrigin(new fabric.fabric.Point(x,v+E/2-M/2),"center","center"))}B||(w.length=0),I||(m.length=0)}}),e.on("before:render",()=>{try{e.clearContext(e.contextTop)}catch(g){console.log(g)}}),e.on("after:render",()=>{for(let g=m.length;g--;)h(m[g]);for(let g=w.length;g--;)p(w[g]);m.length=0,w.length=0}),e.on("mouse:up",()=>{m.length=0,w.length=0,e.renderAll()})}}const alignGuideLine=new AlignGuideLine,ActionMode={DRAW:"draw",ERASE:"erase",SELECT:"select",Board:"board"},FREESTYLE_ELEMENT_CUSTOM_TYPE={IMAGE:"image",I_TEXT:"itext",RAINBOW:"rainbow",SHAPE:"shape",PIXELS:"pixels",DRAW_TEXT:"drawText",MULTI_LINE:"multiLine",RETICULATE:"reticulate",MULTI_POINT:"multiPoint",WIGGLE:"wiggle",THORN:"thorn"},SHAPE_ELEMENT_CUSTOM_TYPE={SHAPE_LINE:"shapeLine",SHAPE_RECT:"shapeRect",SHAPE_CIRCLE:"shapeCircle",SHAPE_ELLIPSE:"shapeEllipse",SHAPE_TRIANGLE:"shapeTriangle",SHAPE_ARROW_LINE:"shapeArrowLine",SHAPE_ARROW_OUTLINE:"shapeArrowOutline",SHAPE_CLOUD:"shapeCloud",SHAPE_TOOLTIPS:"shapeTooltips",SHAPE_LIGHTNING:"shapeLightning",SHAPE_CLOSE:"shapeClose",SHAPE_CHECK:"shapeCheck",SHAPE_INFO:"shapeInfo",SHAPE_BACKSPACE:"shapeBackspace",SHAPE_BLOCK:"shapeBlock",SHAPE_SPEAKER:"shapeSpeaker",SHAPE_SEARCH:"shapeSearch",SHAPE_INFO_OUTLINE:"shapeInfoOutline",SHAPE_HEART:"shapeHeart",SHAPE_ALERT:"shapeAlert"},ELEMENT_CUSTOM_TYPE={...FREESTYLE_ELEMENT_CUSTOM_TYPE,...SHAPE_ELEMENT_CUSTOM_TYPE},DrawType={FreeStyle:"freeStyle",Shape:"shape"},DrawStyle={Basic:"basic",Rainbow:"rainbow",Shape:"shape",Material:"material",Pixels:"pixels",MultiColor:"multiColor",Text:"text",MultiLine:"multiLine",Reticulate:"reticulate",MultiPoint:"multiPoint",Wiggle:"wiggle",Thorn:"thorn"},DrawShape={Bubble:"bubble",Star:"star",Love:"love",Butterfly:"butterfly",Snow:"snow",Music:"music",Sun:"sun",Moon:"moon",Leaf:"leaf",Flower:"flower"};function hexToRgba(t,e=1){const a=parseInt(t.slice(1),16),r=a>>16&255,s=a>>8&255,o=a&255;return`rgba(${r}, ${s}, ${o}, ${e})`}function getAlphaFromRgba(t){const e=t.match(/rgba?\((\d+),\s*(\d+),\s*(\d+),\s*([\d.]+)\)/);return e?parseFloat(e[4]):1}function changeAlpha(t,e){const a=t.match(/rgba?\((.*?)\)/);if(!a)return t;const r=a[1].split(",").map(o=>o.trim());return e=Math.min(1,Math.max(0,e)),`rgba(${r[0]}, ${r[1]}, ${r[2]}, ${e})`}function isHexColor(t){return/^#([0-9A-Fa-f]{3}){1,2}$/.test(t)}function isRgbaColor(t){return/^rgba?\((\d+,\s*){2}\d+,\s*(0(\.\d+)?|1(\.0)?)\)$/.test(t)}function getColorFormat(t){return isHexColor(t)?"hex":isRgbaColor(t)?"rgba":"unknown"}const initLanguage=["en","en-US","en-us"].includes(navigator.language)?"en":"zh",useBoardStore=create()(persist((t,e)=>({mode:ActionMode.DRAW,drawType:DrawType.FreeStyle,language:initLanguage,canvasWidth:1,canvasHeight:1,backgroundColor:"rgba(255, 255, 255, 1)",backgroundOpacity:1,isObjectCaching:!0,openGuideLine:!1,updateMode:a=>{e().mode!==a&&(paintBoard.handleMode(a),t({mode:a}))},updateDrawType:a=>{e().drawType!==a&&(t({drawType:a}),paintBoard.handleMode())},updateLanguage(a){t({language:a})},initBackground:()=>{var r;const a=(r=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:r.backgroundColor;if(a&&typeof a=="string"){const s=getColorFormat(a);if(s==="hex"){const o=hexToRgba(a),n=getAlphaFromRgba(o);t({backgroundColor:o,backgroundOpacity:n})}else if(s==="rgba"){const o=getAlphaFromRgba(a);t({backgroundColor:a,backgroundOpacity:o})}}else paintBoard!=null&&paintBoard.canvas&&(paintBoard.canvas.backgroundColor="rgba(255, 255, 255, 1)",t({backgroundColor:"rgba(255, 255, 255, 1)",backgroundOpacity:1}))},updateCanvasWidth:a=>{e().canvasWidth!==a&&(t({canvasWidth:a}),paintBoard.updateCanvasWidth(a))},updateCanvasHeight:a=>{e().canvasHeight!==a&&(t({canvasHeight:a}),paintBoard.updateCanvasHeight(a))},updateBackgroundColor:a=>{const r=paintBoard.canvas;r&&a!==(r==null?void 0:r.backgroundColor)&&t(s=>{const o=hexToRgba(a,s.backgroundOpacity);return r.backgroundColor=o,{backgroundColor:o}})},updateBackgroundOpacity:a=>{t(r=>{const s=paintBoard.canvas;if(s&&a!==r.backgroundOpacity){const o=changeAlpha(r.backgroundColor,a);return s.backgroundColor=o,{backgroundOpacity:a,backgroundColor:o}}return{}})},updateCacheState(){var r;const a=e().isObjectCaching;t({isObjectCaching:!a}),fabric.fabric.Object.prototype.set({objectCaching:useBoardStore.getState().isObjectCaching}),(r=paintBoard==null?void 0:paintBoard.canvas)==null||r.renderAll()},updateOpenGuideLine(){const a=!e().openGuideLine;t({openGuideLine:a}),alignGuideLine.updateOpenState(a)}}),{name:"PAINT-BOARD-STORE"})),storage={getItem:async t=>await get(t)||null,setItem:async(t,e)=>{await set(t,e)},removeItem:async t=>{await del(t)}},initId=v4(),BOARD_VERSION="1.3.1",useFileStore=create()(persist((t,e)=>({currentId:initId,files:[{id:initId,title:"paint-board",boardVersion:BOARD_VERSION,boardData:{},zoom:1,canvasWidth:.45,canvasHeight:.85}],updateCurrentFile(a){const r=e().currentId;a!==r&&t({currentId:a})},updateTitle(a,r){var n;const s=e().files,o=s==null?void 0:s.findIndex(i=>i.id===r);((n=s==null?void 0:s[o])==null?void 0:n.title)!==a&&t(produce(i=>{i.files[o].title=a}))},updateBoardData(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);t(produce(o=>{o.files[s].boardVersion=BOARD_VERSION,o.files[s].boardData=a}))},updateZoom(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);s>-1&&t(produce(o=>{o.files[s].zoom=a}))},updateTransform(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);s>-1&&t(produce(o=>{o.files[s].viewportTransform=a}))},updateCanvasWidth(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);s>-1&&t(produce(o=>{o.files[s].canvasWidth=a}))},updateCanvasHeight(a){const r=e().files,s=r==null?void 0:r.findIndex(o=>o.id===e().currentId);s>-1&&t(produce(o=>{o.files[s].canvasHeight=a}))},addFile(){const a=v4();t(produce(r=>{r.files.unshift({id:a,title:"empty title",boardVersion:BOARD_VERSION,boardData:{},zoom:1,canvasWidth:useBoardStore.getState().canvasWidth,canvasHeight:useBoardStore.getState().canvasHeight})}))},deleteFile(){const a=e().files;if(a.length>1){const r=a==null?void 0:a.findIndex(s=>s.id===e().currentId);t(produce(s=>{s.files.splice(r,1),s.currentId=s.files[0].id}))}},saveJSON(){var r;const a=(r=e().files)==null?void 0:r.find(s=>s.id===e().currentId);if(a){const s=JSON.stringify(a),o=new Blob([s],{type:"application/json"}),n=document.createElement("a");n.href=URL.createObjectURL(o),n.download="paint-board.json",n.click(),URL.revokeObjectURL(n.href)}},uploadFile(a){return new Promise(r=>{if(a){const s=new FileReader;s.onload=o=>{var c;const n=(c=o.target)==null?void 0:c.result;let i=!1;if(n){const d=JSON.parse(n);if((d==null?void 0:d.boardData)&&(d==null?void 0:d.title)){const h=v4();t(produce(p=>{p.files.unshift({id:h,title:d==null?void 0:d.title,boardVersion:(d==null?void 0:d.boardVersion)||BOARD_VERSION,boardData:d==null?void 0:d.boardData,canvasWidth:(d==null?void 0:d.canvasWidth)||1,canvasHeight:(d==null?void 0:d.canvasHeight)||1}),p.currentId=p.files[0].id})),i=!0}}r(i)},s.onerror=o=>{console.log("reader fail",o),r(!1)},s.readAsText(a)}else r(!1)})}}),{name:"PAINT-BOARD-FILES",storage:createJSONStorage(()=>storage)}));function getObjectSizeWithStroke$1(t){const e=new fabric.fabric.Point(t.strokeUniform?1/t.scaleX:1,t.strokeUniform?1/t.scaleY:1).multiply(t.strokeWidth);return new fabric.fabric.Point(t.width+e.x,t.height+e.y)}const polygonPositionHandler=function(t,e,a){var n;const r=a.points,s=r[this.pointIndex].x-a.pathOffset.x,o=r[this.pointIndex].y-a.pathOffset.y;return fabric.fabric.util.transformPoint({x:s,y:o},fabric.fabric.util.multiplyTransformMatrices((n=a.canvas)==null?void 0:n.viewportTransform,a.calcTransformMatrix()))},actionHandler$1=function(t,e,a,r){const s=e.target,o=s.controls[s.__corner],n=s.toLocalPoint(new fabric.fabric.Point(a,r),"center","center"),i=getObjectSizeWithStroke$1(s),c=s._getTransformedDimensions(0,0),d={x:n.x*i.x/c.x+s.pathOffset.x,y:n.y*i.y/c.y+s.pathOffset.y},h=s.points;return h[o.pointIndex]=d,!0};function anchorWrapper$1(t,e){return function(a,r,s,o){const n=r.target,i=n.points,c=fabric.fabric.util.transformPoint({x:i[t].x-n.pathOffset.x,y:i[t].y-n.pathOffset.y},n.calcTransformMatrix()),d=e(a,r,s,o);n._setPositionDimensions({});const h=getObjectSizeWithStroke$1(n),p=(i[t].x-n.pathOffset.x)/h.x,f=(i[t].y-n.pathOffset.y)/h.y;return n.setPositionByOrigin(c,p+.5,f+.5),d}}function calculateArrowSlidePath(t,e,a,r,s){const o=Math.atan2(s-a,r-e),n=10,i=r-n*Math.cos(o-Math.PI/6),c=s-n*Math.sin(o-Math.PI/6),d=r-n*Math.cos(o+Math.PI/6),h=s-n*Math.sin(o+Math.PI/6);return t[t.length-4][1]=r,t[t.length-4][2]=s,t[t.length-3][1]=i,t[t.length-3][2]=c,t[t.length-2][1]=r,t[t.length-2][2]=s,t[t.length-1][1]=d,t[t.length-1][2]=h,t}function getObjectSizeWithStroke(t){const e=new fabric.fabric.Point(t.strokeUniform?1/t.scaleX:1,t.strokeUniform?1/t.scaleY:1).multiply(t.strokeWidth);return new fabric.fabric.Point(t.width+e.x,t.height+e.y)}const pathPositionHandler=function(t,e,a){var n;const r=a.path,s=r[this.pointIndex][1]-a.pathOffset.x,o=r[this.pointIndex][2]-a.pathOffset.y;return fabric.fabric.util.transformPoint({x:s,y:o},fabric.fabric.util.multiplyTransformMatrices((n=a.canvas)==null?void 0:n.viewportTransform,a.calcTransformMatrix()))},actionHandler=function(t,e,a,r){const s=e.target,o=s.controls[s.__corner],n=s.toLocalPoint(new fabric.fabric.Point(a,r),"center","center"),i=getObjectSizeWithStroke(s),c=s._getTransformedDimensions(0,0),d={x:n.x*i.x/c.x+s.pathOffset.x,y:n.y*i.y/c.y+s.pathOffset.y},h=s.path;if(h[o.pointIndex][1]=d.x,h[o.pointIndex][2]=d.y,o.pointIndex===(h==null?void 0:h.length)-5||o.pointIndex===(h==null?void 0:h.length)-6){const p=h[h.length-6],f=h[h.length-5],u=calculateArrowSlidePath(h,p[1],p[2],f[1],f[2]);s._setPath(u)}return!0};function anchorWrapper(t,e){return function(a,r,s,o){const n=r.target,i=n.path,c=fabric.fabric.util.transformPoint({x:i[t][1]-n.pathOffset.x,y:i[t][2]-n.pathOffset.y},n.calcTransformMatrix()),d=e(a,r,s,o);n._setPath(n.path);const h=getObjectSizeWithStroke(n),p=(i[t][1]-n.pathOffset.x)/h.x,f=(i[t][2]-n.pathOffset.y)/h.y;return n.setPositionByOrigin(c,p+.5,f+.5),d}}const getCanvasJSON=()=>{var e;const t=paintBoard==null?void 0:paintBoard.canvas;return t?(e=t.toDatalessJSON(["id","_customType","perPixelTargetFind","objectCaching"]))!=null?e:{}:{}},handleCanvasJSONLoaded=t=>{t.getObjects().forEach(e=>{if(e._customType===ELEMENT_CUSTOM_TYPE.SHAPE_LINE){const a=e.points,r=a.length-1;e.controls=a.reduce(function(s,o,n){return s["p"+n]=new fabric.fabric.Control({positionHandler:polygonPositionHandler,actionHandler:anchorWrapper$1(n>0?n-1:r,actionHandler$1),actionName:"polylineEndPoint",pointIndex:n}),s},{})}if(e._customType===ELEMENT_CUSTOM_TYPE.SHAPE_ARROW_LINE){const a=e.path;e.controls=a.slice(0,a.length-4).reduce(function(r,s,o){return r["p"+o]=new fabric.fabric.Control({positionHandler:pathPositionHandler,actionHandler:anchorWrapper(o>0?o-1:a.length-5,actionHandler),actionName:"pathEndPoint",pointIndex:o}),r},{})}})},initState={};class History{constructor(){l(this,"diffs",[]);l(this,"canvasData",{});l(this,"index",0);var a;if(paintBoard.canvas){const r=getCanvasJSON();this.canvasData={...lodash.exports.omit(r,"objects"),objects:lodash.exports.cloneDeep((a=r==null?void 0:r.objects)!=null?a:[])}}}saveState(){var a;if(paintBoard==null?void 0:paintBoard.canvas){this.diffs=this.diffs.slice(0,this.index);const r=getCanvasJSON(),s=diff(r,this.canvasData);this.diffs.push(s),this.diffs.length>50?this.diffs.shift():this.index++,this.canvasData={...lodash.exports.omit(r,"objects"),objects:lodash.exports.cloneDeep((a=r==null?void 0:r.objects)!=null?a:[])},useFileStore.getState().updateBoardData(r)}}undo(){const e=paintBoard==null?void 0:paintBoard.canvas;if(e&&this.index>0){const a=this.diffs[this.index-1];this.index--;const r=patch(this.canvasData,a);if(e.loadFromJSON(r,()=>{var s;handleCanvasJSONLoaded(e),e.requestRenderAll(),useFileStore.getState().updateBoardData(r),this.canvasData={...lodash.exports.omit(r,"objects"),objects:lodash.exports.cloneDeep((s=r==null?void 0:r.objects)!=null?s:[])},paintBoard.triggerHook()}),Object.keys(r).length==0){const s=paintBoard.canvas;s&&(s.backgroundColor="rgba(255, 255, 255, 1)")}}}redo(){const e=paintBoard==null?void 0:paintBoard.canvas;if(this.index{var s;handleCanvasJSONLoaded(e),e.requestRenderAll(),useFileStore.getState().updateBoardData(r),this.canvasData={...lodash.exports.omit(r,"objects"),objects:lodash.exports.cloneDeep((s=r==null?void 0:r.objects)!=null?s:[])},paintBoard.triggerHook()}),Object.keys(r).length==0){const s=paintBoard.canvas;s&&(s.backgroundColor="rgba(255, 255, 255, 1)")}}console.log("redo",this.diffs.length)}clean(){var a;(a=paintBoard==null?void 0:paintBoard.canvas)==null||a.clear(),this.index=0,this.diffs=[],this.canvasData={},useFileStore.getState().updateBoardData(initState);const e=paintBoard.canvas;e&&(e.backgroundColor="rgba(255, 255, 255, 1)")}initHistory(){if(paintBoard.canvas){const a=getCanvasJSON();this.canvasData=a,this.index=0,this.diffs=[]}}}const ShapeStyle={Line:"line",Rect:"rect",Circle:"cricle",Ellipse:"ellipse",Triangle:"triangle",ArrowLine:"arrowLine",ArrowOutline:"arrowOutline",Cloud:"cloud",Tooltips:"tooltips",Lightning:"lightning",Close:"close",Check:"check",Info:"info",Backspace:"backspace",Block:"block",Speaker:"speaker",Search:"search",InfoOutline:"infoOutline",Heart:"heart",Alert:"alert"},ShapeBorderType={Solid:"solid",Dashed:"dashed",Dotted:"dotted"},ShapeFillType={Transparent:"transparent",Full:"full"},getDrawWidth=t=>{var e,a;return(t!=null?t:useDrawStore.getState().drawWidth)/((a=(e=paintBoard.canvas)==null?void 0:e.getZoom())!=null?a:1)},getEraserWidth=t=>{var e,a;return(t!=null?t:useDrawStore.getState().eraserWidth)/((a=(e=paintBoard.canvas)==null?void 0:e.getZoom())!=null?a:1)},getShadowWidth=t=>{var e,a;return(t!=null?t:useDrawStore.getState().shadowWidth)/((a=(e=paintBoard.canvas)==null?void 0:e.getZoom())!=null?a:1)},setObjectAttr=(t,e)=>{const a=v4();t.set({id:a,_customType:e})},MATERIAL_TYPE={CRAYON:"crayon",CARBON:"carbon",CLOTH:"cloth",OIL:"oil",CRAYON_DARK:"crayonDark"};class Material{constructor(){l(this,"initPromise",null);l(this,"crayonImage",null);l(this,"carbonImage",null);l(this,"clothImage",null);l(this,"oilImage",null);l(this,"crayonDarkImage",null);this.initMaterial()}async initMaterial(){this.initPromise=Promise.all([this.loadImage(MATERIAL_TYPE.CRAYON),this.loadImage(MATERIAL_TYPE.CARBON),this.loadImage(MATERIAL_TYPE.CLOTH),this.loadImage(MATERIAL_TYPE.OIL),this.loadImage(MATERIAL_TYPE.CRAYON_DARK)])}render({materialType:e=useDrawStore.getState().materialType,color:a=useDrawStore.getState().drawColors[0]}){var r;(r=this.initPromise)==null||r.then(()=>{switch(e){case MATERIAL_TYPE.CRAYON:this.renderMaterial(this.crayonImage,a);break;case MATERIAL_TYPE.CARBON:this.renderMaterial(this.carbonImage,a);break;case MATERIAL_TYPE.CLOTH:this.renderMaterial(this.clothImage,a);break;case MATERIAL_TYPE.OIL:this.renderMaterial(this.oilImage,a);break;case MATERIAL_TYPE.CRAYON_DARK:this.renderMaterial(this.crayonDarkImage,a);break}})}renderMaterial(e,a,r=1){if(paintBoard.canvas){const s=new fabric.fabric.PatternBrush(paintBoard.canvas),o=document.createElement("canvas");o.width=o.height=100;const n=o.getContext("2d");n&&(n.fillStyle=a,n.fillRect(0,0,100,100),e&&(n.globalAlpha=r,n.drawImage(e,0,0,100,100))),s.getPatternSrc=()=>o,s.getPatternSrcFunction=()=>o,paintBoard.canvas.freeDrawingBrush=s,paintBoard.canvas.freeDrawingBrush.width=getDrawWidth(),paintBoard.canvas.freeDrawingBrush.shadow=new fabric.fabric.Shadow({blur:getShadowWidth(),offsetX:0,offsetY:0,color:useDrawStore.getState().shadowColor})}}loadImage(e){return new Promise(a=>{const r=new Image;r.src=formatPublicUrl(`pattern/${e}.png`),r.onload=()=>{switch(e){case MATERIAL_TYPE.CARBON:this.carbonImage=r;break;case MATERIAL_TYPE.CRAYON:this.crayonImage=r;break;case MATERIAL_TYPE.CLOTH:this.clothImage=r;break;case MATERIAL_TYPE.OIL:this.oilImage=r;break;case MATERIAL_TYPE.CRAYON_DARK:this.crayonDarkImage=r;break}a(!0)},r.onerror=()=>{a(!1)}})}}const material=new Material,COLOR_WIDTH=5,MultiColorType={COL:"col",ROW:"row",CIRCLE:"circle"},renderMultiColor=t=>{var i,c;const e=paintBoard.canvas;if(!e)return;const a=(i=t==null?void 0:t.colors)!=null?i:useDrawStore.getState().drawColors,r=(c=t==null?void 0:t.type)!=null?c:useDrawStore.getState().multiColorType,s=new fabric.fabric.PatternBrush(e),o=document.createElement("canvas"),n=o.getContext("2d");if(n){switch(r){case MultiColorType.COL:renderCol(o,n,a);break;case MultiColorType.ROW:renderRow(o,n,a);break;case MultiColorType.CIRCLE:renderCircle(o,n,a);break}s.getPatternSrc=()=>o,s.getPatternSrcFunction=()=>o,e.isDrawingMode=!0,e.freeDrawingBrush=s,e.freeDrawingBrush.width=getDrawWidth(),e.freeDrawingBrush.shadow=new fabric.fabric.Shadow({blur:getShadowWidth(),offsetX:0,offsetY:0,color:useDrawStore.getState().shadowColor})}};function renderCol(t,e,a){t.width=COLOR_WIDTH*a.length,t.height=20,a.forEach((r,s)=>{e.fillStyle=r,e.fillRect(COLOR_WIDTH*s,0,COLOR_WIDTH,20)})}function renderRow(t,e,a){t.width=20,t.height=COLOR_WIDTH*a.length,a.forEach((r,s)=>{e.fillStyle=r,e.fillRect(0,COLOR_WIDTH*s,20,COLOR_WIDTH)})}function renderCircle(t,e,a){const o=a.length,n=2*5+o*10*2+(o-1)*5;t.width=n,t.height=10*2+2*5;let i=5+10;const c=5+10;for(let d=0;d({drawWidth:10,drawColors:["#000000"],shadowWidth:0,shadowColor:"#000000",drawTextValue:"draw",drawStyle:DrawStyle.Basic,drawShapeCount:2,materialType:MATERIAL_TYPE.CRAYON,drawShape:DrawShape.Bubble,eraserWidth:20,multiColorType:MultiColorType.COL,textFontFamily:"Georgia",openAutoDraw:!1,fontStyles:[],updateDrawWidth(a){e().drawWidth!==a&&paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.width=getDrawWidth(a),t({drawWidth:a}))},updateDrawColors:a=>{t(r=>{switch(r.drawStyle){case DrawStyle.Basic:paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.color=a[0]);break;case DrawStyle.Material:r.drawColors[0]!==a[0]&&material.render({});break;case DrawStyle.MultiColor:renderMultiColor({colors:a});break}return{drawColors:a}})},updateShadowWidth:a=>{t(()=>(paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.shadow.blur=getShadowWidth(a)),{shadowWidth:a}))},updateShadowColor:a=>{t(()=>(paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.shadow.color=a),{shadowColor:a}))},updateDrawShape:a=>t({drawShape:a}),updateDrawStyle:a=>{t({drawStyle:a}),paintBoard.handleDrawStyle()},updateDrawShapeCount:a=>t({drawShapeCount:a}),updateDrawTextValue:a=>t({drawTextValue:a}),updateMaterialType(a){t(r=>(r.materialType!==a&&material.render({materialType:a}),{materialType:a}))},updateEraserWidth(a){t(r=>(r.drawWidth!==a&&paintBoard.canvas&&(paintBoard.canvas.freeDrawingBrush.width=getEraserWidth(a)),{eraserWidth:a}))},updateMultiColorType(a){t(r=>(r.multiColorType!==a&&renderMultiColor({type:a}),{multiColorType:a}))},updateTextFontFamily(a){t({textFontFamily:a})},updateAutoDrawState(){const a=!e().openAutoDraw;t({openAutoDraw:a})},updateFontStyles(a){const r=[...e().fontStyles],s=r.findIndex(o=>o===a);s!==-1?r.splice(s,1):r.push(a),t({fontStyles:r})}}));class AutoDrawData{constructor(){l(this,"inks",[]);l(this,"paths",[]);l(this,"oldSVG",null);l(this,"curLeft",0);l(this,"curTop",0);l(this,"curSize",0)}addPath(e){this.paths.push(e)}clearPath(){this.paths=[]}addInk(e){this.inks.push(e)}clearInks(){this.inks=[]}resetLoadedSVG(){this.oldSVG=null,this.curLeft=0,this.curTop=0,this.curSize=0}clearDraw(){this.clearPath(),this.clearInks()}replaceSVGImg(e){var a;if(this.oldSVG&&paintBoard.canvas){paintBoard.canvas.remove(this.oldSVG),fabric.fabric.loadSVGFromURL(e,(r,s)=>{var i;const o=useDrawStore.getState().drawColors[0];r.forEach(c=>{c.set({fill:"transparent",stroke:o})});const n=fabric.fabric.util.groupSVGElements(r,{...s,minX:0,minY:0,left:this.curLeft,top:this.curTop,scaleX:this.curSize/s.width,scaleY:this.curSize/s.height,perPixelTargetFind:!0});this.oldSVG=n,(i=paintBoard.canvas)==null||i.add(n),paintBoard.render()});return}if(e&&((a=this.paths)==null?void 0:a.length)&&paintBoard.canvas){let r=Number.MAX_SAFE_INTEGER,s=Number.MAX_SAFE_INTEGER,o=0;this.paths.forEach(n=>{const{bl:i={x:0,y:0},tl:c={x:0,y:0},tr:d={x:0,y:0}}=(n==null?void 0:n.lineCoords)||{};r=Math.min(r,(n==null?void 0:n.left)||Number.MAX_SAFE_INTEGER),s=Math.min(s,(n==null?void 0:n.top)||Number.MAX_SAFE_INTEGER),o=Math.max(o,Math.abs(c.x-d.x),Math.abs(c.y-i.y))}),fabric.fabric.loadSVGFromURL(e,(n,i)=>{var h;const c=useDrawStore.getState().drawColors[0];n.forEach(p=>{p.set({fill:"transparent",stroke:c})});const d=fabric.fabric.util.groupSVGElements(n,{...i,minX:0,minY:0,left:r,top:s,scaleX:o/i.width,scaleY:o/i.height,perPixelTargetFind:!0});this.oldSVG=d,this.curLeft=r,this.curTop=s,this.curSize=o,(h=paintBoard.canvas)==null||h.add(d),paintBoard.render(),this.clearDraw()})}}}const autoDrawData=new AutoDrawData;class ReticulateElement{constructor(){l(this,"lastTime",0);l(this,"points",[]);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.RETICULATE)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);this.points.push(r),!(this.points.length<2)&&(this.group.addWithUpdate(drawReticulate(this.points)),(s=paintBoard.canvas)==null||s.requestRenderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawReticulate(t){var o,n,i,c;const e=useDrawStore.getState().drawColors[0],a=Math.ceil(useDrawStore.getState().drawWidth/3/((n=(o=paintBoard.canvas)==null?void 0:o.getZoom())!=null?n:1)),r=[];r.push(new fabric.fabric.Line([t[t.length-1].x,t[t.length-1].y,t[t.length-2].x,t[t.length-2].y],{stroke:e,strokeWidth:a}));const s=1e3/((c=(i=paintBoard.canvas)==null?void 0:i.getZoom())!=null?c:1);for(let d=0;d{const i=getRandomInt(e*.3,e),c=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n];return new fabric.fabric.Circle({left:o.x,top:o.y,radius:i,opacity:Math.random(),fill:c})});return new fabric.fabric.Group(r)}function drawStar(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawItemStar(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawItemStar(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawItemStar(t){const e=getRandomInt(t,t*2)*2,a=e*(9/10),r=a/2,s=e/2,o=Math.PI/5,n=[];for(let c=0;c<10;c++){const d=c%2===0?a/2:a/4,h=r+d*Math.cos(c*o),p=s+d*Math.sin(c*o);n.push({x:h,y:p})}return new fabric.fabric.Polygon(n,{opacity:Math.random()})}function drawLove(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawLoveItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawLoveItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawLoveItem(t){const e=getRandomInt(t*1.5,t*3),a="M20.808,11.079C19.829,16.132,12,20.5,12,20.5s-7.829-4.368-8.808-9.421C2.227,6.1,5.066,3.5,8,3.5a4.444,4.444,0,0,1,4,2,4.444,4.444,0,0,1,4-2C18.934,3.5,21.773,6.1,20.808,11.079Z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawButterfly(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawButterflyItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawButterflyItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawButterflyItem(t){const e=getRandomInt(t*1.5,t*3),a="M214.37 208H70.57c-31 0-57.37 14.9-67.26 45.33C1.57 258.71 0 265.54 0 272c0 48 96 128 144 128 28.95 0 53.24-10.67 75.72-33.14-8.58 11.05-13.81 23.47-15.72 37.28-6.98 49.25 1.73 83.2 27.23 91.48C255.99 503.66 288 512 304 512c48 0 53.35-109.18 26.33-144.39L214.37 208zm29.29-21.28L288.1 49.96C297.68 20.47 320 0 352 0c5.66 0 12.64.62 18.78 2.61 45.65 14.84 92.07 130.86 77.23 176.51-8.94 27.54-26.59 47.34-54.91 61.77 13.15-4.74 26.59-5.88 40.31-3.42 49 8.58 78.59 27.35 78.59 54.16 0 26.04-1.96 59.05-6.91 74.27-14.83 45.65-120.32 17.01-145.46-19.58l-115.97-159.6z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawSnow(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawSnowItem(e);return a.set({left:t.x-e,top:t.y-e,stroke:useDrawStore.getState().drawColors[0],strokeWidth:2}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawSnowItem(e);return c.set({left:o.x,top:o.y,stroke:i,strokeWidth:2}),c});return new fabric.fabric.Group(r)}}function drawSnowItem(t){const e=getRandomInt(t*1.5,t*3),a="M11.9994 3V7M11.9994 7V17M11.9994 7L8.99943 4M11.9994 7L14.9994 4M11.9994 17V21M11.9994 17L8.99943 20M11.9994 17L14.9994 20M4.20624 7.49999L7.67034 9.49999M7.67034 9.49999L16.3306 14.5M7.67034 9.49999L3.57227 10.5981M7.67034 9.49999L6.57227 5.40191M16.3306 14.5L19.7947 16.5M16.3306 14.5L17.4287 18.5981M16.3306 14.5L20.4287 13.4019M4.2067 16.5L7.6708 14.5M7.6708 14.5L16.3311 9.49999M7.6708 14.5L3.57273 13.4019M7.6708 14.5L6.57273 18.5981M16.3311 9.49999L19.7952 7.49999M16.3311 9.49999L17.4291 5.40192M16.3311 9.49999L20.4291 10.5981",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawMusic(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawMusicItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawMusicItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawMusicItem(t){const e=getRandomInt(t*1.5,t*3),a="M10.0909 11.9629L19.3636 8.63087V14.1707C18.8126 13.8538 18.1574 13.67 17.4545 13.67C15.4964 13.67 13.9091 15.096 13.9091 16.855C13.9091 18.614 15.4964 20.04 17.4545 20.04C19.4126 20.04 21 18.614 21 16.855C21 16.855 21 16.8551 21 16.855L21 7.49236C21 6.37238 21 5.4331 20.9123 4.68472C20.8999 4.57895 20.8852 4.4738 20.869 4.37569C20.7845 3.86441 20.6352 3.38745 20.347 2.98917C20.2028 2.79002 20.024 2.61055 19.8012 2.45628C19.7594 2.42736 19.716 2.39932 19.6711 2.3722L19.6621 2.36679C18.8906 1.90553 18.0233 1.93852 17.1298 2.14305C16.2657 2.34086 15.1944 2.74368 13.8808 3.23763L11.5963 4.09656C10.9806 4.32806 10.4589 4.52419 10.0494 4.72734C9.61376 4.94348 9.23849 5.1984 8.95707 5.57828C8.67564 5.95817 8.55876 6.36756 8.50501 6.81203C8.4545 7.22978 8.45452 7.7378 8.45455 8.33743V16.1307C7.90347 15.8138 7.24835 15.63 6.54545 15.63C4.58735 15.63 3 17.056 3 18.815C3 20.574 4.58735 22 6.54545 22C8.50355 22 10.0909 20.574 10.0909 18.815C10.0909 18.815 10.0909 18.8151 10.0909 18.815L10.0909 11.9629Z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawSun(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawSunItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawSunItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawSunItem(t){const e=getRandomInt(t*1.5,t*3),a="M23.395 14.106c2.958-1.383 2.828-6.068 5.758-5.884-4.125-2.74-4.019 3.106-9.089 1.235 1.107-3.068-2.292-6.286-0.091-8.227-4.855 0.979-0.645 5.039-5.555 7.301-1.384-2.958-6.068-2.828-5.884-5.758-2.74 4.125 3.106 4.019 1.235 9.089-3.068-1.107-6.286 2.292-8.227 0.091 0.979 4.855 5.039 0.645 7.301 5.555-2.958 1.384-2.828 6.068-5.758 5.884 4.125 2.74 4.019-3.106 9.089-1.235-1.107 3.068 2.292 6.286 0.091 8.227 4.855-0.979 0.645-5.039 5.555-7.301 1.384 2.958 6.068 2.828 5.884 5.758 2.74-4.125-3.106-4.019-1.235-9.089 3.068 1.107 6.286-2.292 8.226-0.091-0.979-4.855-5.039-0.645-7.301-5.555z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawMoon(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawMoonItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawMoonItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawMoonItem(t){const e=getRandomInt(t*1.5,t*3),a="M8.23129 2.24048C9.24338 1.78695 10.1202 2.81145 9.80357 3.70098C8.72924 6.71928 9.38932 10.1474 11.6193 12.3765C13.8606 14.617 17.3114 15.2755 20.3395 14.1819C21.2206 13.8637 22.2173 14.7319 21.7817 15.7199C21.7688 15.7491 21.7558 15.7782 21.7427 15.8074C20.9674 17.5266 19.7272 19.1434 18.1227 20.2274C16.4125 21.3828 14.3957 22.0001 12.3316 22.0001H12.3306C9.93035 21.9975 7.6057 21.1603 5.75517 19.6321C3.90463 18.1039 2.64345 15.9797 2.18793 13.6237C1.73241 11.2677 2.11094 8.82672 3.2586 6.71917C4.34658 4.72121 6.17608 3.16858 8.20153 2.25386L8.23129 2.24048Z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawLeaf(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawLeafItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawLeafItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawLeafItem(t){const e=getRandomInt(t*1.5,t*3),a="M15.362,9.69c0,0-0.75,1.108-1.068,0c-0.318-1.109-1.346-4.949-1.762-5.226 c-0.417-0.278-0.417-0.278-0.417-0.278s-0.078,1.506-0.594,1.307c-0.515-0.198-4.313-2.217-4.63-2.652L6.574,2.444 c0,0,0.355,3.328-0.515,2.615c0,0,1.113,2.771-2.573,3.048c0,0,1.186,3.087,4.552,4.75c0,0,1.148,1.783-0.949,1.503 c0,0-2.932-0.395-3.325-0.752c0,0-1.548,3.01-3.764,3.128c0,0,2.656,1.504,2.337,4.156c0,0,5.107,0.041,4.911,0.832 c-0.2,0.795-0.555,1.601-0.555,1.601s4.71-0.929,5.422-2.194c0,0,0.989,0.99,1.071,1.939c0,0,2.693-0.594,2.452-2.296 c0,0,1.269,0.948,1.427,2.551l0.554-0.375c0,0-0.319-1.661-1.464-2.967c0,0-0.517-1.308,0.789-0.633c0,0,3.085,1.029,5.7-0.833 c0,0-2.888-0.948-3.006-1.978c0,0,5.394-3.326,5.625-5.542c0,0-1.944,0.198-2.972-0.633c0,0-1.309-0.396,0.394-4.791 c0,0-1.227,0.724-1.62-3.636c0,0-3.051,4.665-4.518,3.082C16.548,5.018,15.165,8.066,15.362,9.69z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}function drawFlower(t,e){if(useDrawStore.getState().drawShapeCount===1){const a=drawFlowerItem(e);return a.set({left:t.x-e,top:t.y-e,fill:useDrawStore.getState().drawColors[0]}),a}else{const r=generateRandomCoordinates(t==null?void 0:t.x,t==null?void 0:t.y,e*3,useDrawStore.getState().drawShapeCount).map((o,n)=>{const i=n>useDrawStore.getState().drawColors.length-1?useDrawStore.getState().drawColors[0]:useDrawStore.getState().drawColors[n],c=drawFlowerItem(e);return c.set({left:o.x,top:o.y,fill:i}),c});return new fabric.fabric.Group(r)}}function drawFlowerItem(t){const e=getRandomInt(t*1.5,t*3),a="M512,224.438c0-63.766-51.703-115.469-115.484-115.469c-8.781,0-17.328,1-25.531,2.859 C365.656,52.984,316.219,6.875,256,6.875c-60.234,0-109.672,46.109-114.984,104.953c-8.219-1.859-16.766-2.859-25.531-2.859 C51.703,108.969,0,160.672,0,224.438c0,47.594,28.797,88.469,69.906,106.141c-10.297,17.281-16.234,37.484-16.234,59.063 c0,63.766,51.703,115.484,115.484,115.484c34.625,0,65.672-15.266,86.844-39.406c21.156,24.141,52.219,39.406,86.844,39.406 c63.781,0,115.484-51.719,115.484-115.484c0-21.578-5.938-41.781-16.25-59.063C483.203,312.906,512,272.031,512,224.438z M256,372.531c-53.563,0-97-43.406-97-97c0-53.563,43.438-96.984,97-96.984s96.984,43.422,96.984,96.984 C352.984,329.125,309.563,372.531,256,372.531z",r=new fabric.fabric.Path(a,{opacity:Math.random()}),s=r.getBoundingRect(),o=e/s.width,n=e/s.height,i=Math.min(o,n);return r.scale(i),r}class ShapeElement{constructor(){l(this,"lastTime",0);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.SHAPE)}addPosition(e){var n,i,c;const a=Date.now();if(a-this.lastTime<30||!e)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y),s=useDrawStore.getState().drawWidth/((i=(n=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:n.getZoom())!=null?i:1);let o=null;switch(useDrawStore.getState().drawShape){case DrawShape.Bubble:o=drawBubble(r,s);break;case DrawShape.Star:o=drawStar(r,s);break;case DrawShape.Love:o=drawLove(r,s);break;case DrawShape.Butterfly:o=drawButterfly(r,s);break;case DrawShape.Snow:o=drawSnow(r,s);break;case DrawShape.Music:o=drawMusic(r,s);break;case DrawShape.Sun:o=drawSun(r,s);break;case DrawShape.Moon:o=drawMoon(r,s);break;case DrawShape.Leaf:o=drawLeaf(r,s);break;case DrawShape.Flower:o=drawFlower(r,s);break}o&&(this.group.addWithUpdate(o),(c=paintBoard.canvas)==null||c.requestRenderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}class PixelsElement{constructor(){l(this,"lastTime",0);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.PIXELS)}addPosition(e){var s;const a=Date.now();if(a-this.lastTime<30||!e)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);this.group.addWithUpdate(drawPixels(r.x,r.y)),(s=paintBoard.canvas)==null||s.requestRenderAll()}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawPixels(t,e){var o,n,i,c,d,h;const a=[],r=Number((useDrawStore.getState().drawWidth/((n=(o=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:o.getZoom())!=null?n:1)).toFixed(2)),s=Number((useDrawStore.getState().drawWidth/3/((c=(i=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:i.getZoom())!=null?c:1)).toFixed(2));for(let p=-r;p.5){const u=(h=(d=useDrawStore.getState().drawColors)==null?void 0:d[getRandomInt(0,useDrawStore.getState().drawColors.length-1)])!=null?h:useDrawStore.getState().drawColors[0],m=new fabric.fabric.Rect({left:t+p,top:e+f,width:s,height:s,fill:u});a.push(m)}return new fabric.fabric.Group(a)}const minFontSize=3;class DrawTextElement{constructor(){l(this,"lastTime",0);l(this,"points",[]);l(this,"group");l(this,"counter",0);l(this,"position",{x:0,y:window.innerHeight/2});var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.DRAW_TEXT)}addPosition(e){var s;if(!e)return;const a=new fabric.fabric.Point(e.x,e.y);if(this.points.push(a),this.points.length<2){this.position={x:a.x,y:a.y};return}const r=Date.now();r-this.lastTime<30||(this.lastTime=r,this.group.addWithUpdate(drawText(this)),(s=paintBoard.canvas)==null||s.requestRenderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawText(t){const e=t.points,a=e[e.length-1],r=getDistance(t.position,a),s=minFontSize+r/2,o=useDrawStore.getState().drawTextValue[t.counter%useDrawStore.getState().drawTextValue.length],n=textWidth(o,s);if(n&&r>n){const i=Math.atan2(a.y-t.position.y,a.x-t.position.x),c=new fabric.fabric.Text(o,{fontSize:s,top:t.position.y,left:t.position.x,fontFamily:useDrawStore.getState().textFontFamily,originX:"left",originY:"bottom",angle:fabric.fabric.util.radiansToDegrees(i),fill:useDrawStore.getState().drawColors[0]});return t.position={x:t.position.x+Math.cos(i)*n,y:t.position.y+Math.sin(i)*n},t.counter++,t.counter>useDrawStore.getState().drawTextValue.length-1&&(t.counter=0),c}}function textWidth(t,e){return new fabric.fabric.Text(t,{fontSize:e,fontFamily:useDrawStore.getState().textFontFamily}).width}class MultiLineElement{constructor(){l(this,"lastTime",0);l(this,"points",[]);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.MULTI_LINE)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);this.points.push(r),!(this.points.length<2)&&(this.group.addWithUpdate(drawMultiLine(this.points)),(s=paintBoard.canvas)==null||s.renderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawMultiLine(t){var s,o;const e=useDrawStore.getState().drawColors[0],a=Math.ceil(useDrawStore.getState().drawWidth/3/((o=(s=paintBoard.canvas)==null?void 0:s.getZoom())!=null?o:1)),r=[];if(r.push(new fabric.fabric.Line([t[t.length-1].x,t[t.length-1].y,t[t.length-2].x,t[t.length-2].y],{stroke:e,strokeWidth:a})),t.length%5===0)for(let n=t.length-5,i=0;n>=0&&i<3;n=n-5,i++)r.push(new fabric.fabric.Line([t[t.length-1].x,t[t.length-1].y,t[n].x,t[n].y],{stroke:e,strokeWidth:a/3}));return new fabric.fabric.Group(r)}let colorDeg=0;class RainbowElement{constructor(){l(this,"points",[]);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.RAINBOW)}addPosition(e){var r;if(!e)return;const a=new fabric.fabric.Point(e.x,e.y);this.points.push(a),!(this.points.length<2)&&(this.group.addWithUpdate(drawRainbow(this.points)),(r=paintBoard.canvas)==null||r.requestRenderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawRainbow(t){var i,c;const e=Math.ceil(useDrawStore.getState().drawWidth/((c=(i=paintBoard.canvas)==null?void 0:i.getZoom())!=null?c:1));colorDeg=colorDeg<360?colorDeg+1:0;const a=t[t.length-1].x,r=t[t.length-1].y,s=t[t.length-2].x,o=t[t.length-2].y;return new fabric.fabric.Line([s,o,a,r],{stroke:`hsl(${colorDeg}, 90%, 50%)`,strokeWidth:e,originX:"center",originY:"center"})}class ThornElement{constructor(){l(this,"lastTime",0);l(this,"lastPoint",null);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.THORN)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);if(!this.lastPoint){this.lastPoint=r;return}this.group.addWithUpdate(drawThorn(this,r)),(s=paintBoard.canvas)==null||s.renderAll()}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawThorn(t,e){var i,c;const a=t.lastPoint,r=getDistance(a,e),s=fabric.fabric.util.radiansToDegrees(Math.atan2(e.y-a.y,e.x-a.x)),o=3/((c=(i=paintBoard.canvas)==null?void 0:i.getZoom())!=null?c:1),n=new fabric.fabric.Ellipse({left:e.x,top:e.y,originX:"center",originY:"center",fill:useDrawStore.getState().drawColors[0],opacity:Math.random(),rx:r*5+o,ry:o});return n.rotate(s),t.lastPoint=e,n}class MultiPointElement{constructor(){l(this,"lastTime",0);l(this,"lastCoordinates",[]);l(this,"points",[]);l(this,"group");l(this,"shadow");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,this.shadow=new fabric.fabric.Shadow({blur:3,offsetX:0,offsetY:0,color:useDrawStore.getState().drawColors[0]}),setObjectAttr(e,ELEMENT_CUSTOM_TYPE.MULTI_POINT)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);this.points.push(r),!(this.points.length<2)&&(this.group.addWithUpdate(drawMultiPoint(this)),(s=paintBoard.canvas)==null||s.renderAll())}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawMultiPoint(t){var f,u;const{points:e,lastCoordinates:a}=t,r=(u=(f=paintBoard.canvas)==null?void 0:f.getZoom())!=null?u:1,s=Math.ceil(useDrawStore.getState().drawWidth*3/r),o=6/r,n=2/r,i=e[e.length-1].x,c=e[e.length-1].y,d=[],h=generateRandomCoordinates(i,c,s,useDrawStore.getState().drawShapeCount),p=h.map(m=>new fabric.fabric.Circle({left:m.x,top:m.y,radius:o,fill:useDrawStore.getState().drawColors[0]}));if(d.push(...p),a!=null&&a.length){const m=a.map((w,g)=>new fabric.fabric.Line([w.x+o,w.y+o,h[g].x+o,h[g].y+o],{stroke:useDrawStore.getState().drawColors[0],strokeWidth:n}));d.push(...m)}return t.lastCoordinates=h,new fabric.fabric.Group(d)}class WiggleElement{constructor(){l(this,"lastTime",0);l(this,"flip",1);l(this,"lastPoint",null);l(this,"group");var a;const e=new fabric.fabric.Group([],{perPixelTargetFind:!0});(a=paintBoard.canvas)==null||a.add(e),this.group=e,setObjectAttr(e,ELEMENT_CUSTOM_TYPE.WIGGLE)}addPosition(e){var s;if(!e)return;const a=Date.now();if(a-this.lastTime<30)return;this.lastTime=a;const r=new fabric.fabric.Point(e.x,e.y);if(!this.lastPoint){this.lastPoint=r;return}this.group.addWithUpdate(drawWiggle(this,r)),(s=paintBoard.canvas)==null||s.renderAll()}destroy(){var e;(e=paintBoard.canvas)==null||e.remove(this.group)}}function drawWiggle(t,e){var h,p;const a=t.lastPoint,r=getDistance(a,e),s=(a.x+e.x)/2,o=(a.y+e.y)/2,n=fabric.fabric.util.radiansToDegrees(Math.atan2(e.y-a.y,e.x-a.x)),i=fabric.fabric.util.radiansToDegrees(t.flip%2*Math.PI),c=3/((p=(h=paintBoard.canvas)==null?void 0:h.getZoom())!=null?p:1),d=new fabric.fabric.Circle({top:o,left:s,originX:"center",originY:"center",radius:r/2,startAngle:n+i,endAngle:n+i+fabric.fabric.util.radiansToDegrees(Math.PI),stroke:useDrawStore.getState().drawColors[0],strokeWidth:c,fill:"",strokeLineJoin:"round",strokeLineCap:"round"});return t.lastPoint=e,t.flip++,d}const useShapeStore=create()(persist((t,e)=>({shapeStyle:ShapeStyle.Rect,borderType:ShapeBorderType.Solid,borderColor:"#000000",borderWidth:3,fillColor:"#FFFFFF",fillType:ShapeFillType.Transparent,shapeLinePointCount:3,updateShapeStyle(a){e().shapeStyle!==a&&t({shapeStyle:a})},updateBorderType(a){e().borderType!==a&&t({borderType:a})},updateBorderColor:a=>{e().borderColor!==a&&t({borderColor:a})},updateBorderWidth:a=>{e().borderWidth!==a&&t({borderWidth:a})},updateFillColor:a=>{e().fillColor!==a&&t({fillColor:a})},updateFillType(a){e().fillType!==a&&t({fillType:a})},updateShapeLinePointCount(a){const r=e().shapeLinePointCount;a!==r&&t({shapeLinePointCount:a})}}),{name:"PAINT-BOARD-SHAPE-STORE"})),getShapeBorderWidth=()=>useShapeStore.getState().borderWidth,getShapeBorder=(t=5)=>{const e=useShapeStore.getState().borderType,a=Math.round(t);switch(e){case ShapeBorderType.Dashed:return[a*3,a*2];case ShapeBorderType.Dotted:return[a,a*3];default:return}},getFillStyle=()=>{const{fillType:t,fillColor:e}=useShapeStore.getState();switch(t){case ShapeFillType.Transparent:return"transparent";case ShapeFillType.Full:return e;default:return}};class RectShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var s;if(!e)return;const a=getShapeBorderWidth(),r=new fabric.fabric.Rect({left:e.x,top:e.y,width:0,height:0,rx:3,ry:3,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(s=paintBoard.canvas)==null||s.add(r),this.shapeInstance=r,this.startX=e.x,this.startY=e.y,setObjectAttr(r,ELEMENT_CUSTOM_TYPE.SHAPE_RECT)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({width:s,height:o,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class CircleShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var s;if(!e)return;const a=getShapeBorderWidth(),r=new fabric.fabric.Circle({left:e.x,top:e.y,radius:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(s=paintBoard.canvas)==null||s.add(r),this.shapeInstance=r,this.startX=e.x,this.startY=e.y,setObjectAttr(r,ELEMENT_CUSTOM_TYPE.SHAPE_CIRCLE)}addPosition(e){var d;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=Math.min(s,o)/2,i=a>this.startX?this.startX:this.startX-n*2,c=r>this.startY?this.startY:this.startY-n*2;this.shapeInstance.set({radius:n,left:i,top:c}),this.shapeInstance.setCoords(),(d=paintBoard.canvas)==null||d.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class LineShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;this.startX=e.x,this.startY=e.y;const a=getShapeBorderWidth(),r=[];for(let n=0;n0?o-1:a,actionHandler$1),actionName:"polylineEndPoint",pointIndex:o}),r},{}),this.shapeInstance._setPositionDimensions({}),this.shapeInstance.setCoords()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class EllipseShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var s;if(!e)return;const a=getShapeBorderWidth(),r=new fabric.fabric.Ellipse({left:e.x,top:e.y,rx:0,ry:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(s=paintBoard.canvas)==null||s.add(r),this.shapeInstance=r,this.startX=e.x,this.startY=e.y,setObjectAttr(r,ELEMENT_CUSTOM_TYPE.SHAPE_ELLIPSE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX)/2,o=Math.abs(r-this.startY)/2,n=a>this.startX?this.startX:this.startX-s*2,i=r>this.startY?this.startY:this.startY-o*2;this.shapeInstance.set({rx:s,ry:o,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class TriangleShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var s;if(!e)return;const a=getShapeBorderWidth(),r=new fabric.fabric.Triangle({left:e.x,top:e.y,width:0,height:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(s=paintBoard.canvas)==null||s.add(r),this.shapeInstance=r,this.startX=e.x,this.startY=e.y,setObjectAttr(r,ELEMENT_CUSTOM_TYPE.SHAPE_TRIANGLE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({width:s,height:o,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class ArrowOutlineShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m446.24196,887.47009l-175.7696,0c-27.01653,-0.68266 -50.176,-10.68373 -69.23946,-29.7472c-16.91307,-16.896 -26.88,-36.62506 -29.61067,-58.58986a99.1744,99.1744 0 0 1 -1.00693,-14.06294c0,-4.3008 0.29013,-8.89173 0.85333,-13.80693l0,-395.79307l-154.45333,0a17.1008,17.1008 0 0 1 -12.06614,-29.1328l341.33334,-341.33333a17.0496,17.0496 0 0 1 24.13226,0l340.3264,340.3264a17.06667,17.06667 0 0 1 -9.8816,30.99307l-153.94133,0l0,410.45333c-0.64853,27.46027 -10.5984,51.11467 -29.52533,70.74133c-19.98507,19.3536 -43.63947,29.2864 -70.74134,29.96907l-0.4096,-0.01707z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_ARROW_OUTLINE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/718,scaleY:o/887,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class CloudShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m853.33333,42.66667a192,192 0 0 1 -192,192l-512,0c-129.6,0 -234.66666,-105.06667 -234.66666,-234.66667c0,-126.03733 99.37066,-228.864 224.02133,-234.432a298.41067,298.41067 0 0 1 245.312,-128.23467c134.10133,0 249.45067,88.96 286.35733,213.54667a192,192 0 0 1 182.976,191.78667z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_CLOUD)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/939,scaleY:o/598,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class TooltipsShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m1020.60467,131.15818c0,-72.31603 -58.84215,-131.15818 -131.18785,-131.15818l-758.24124,0c-72.32933,0 -131.17558,58.84215 -131.17558,131.15818l0,493.79948c0,72.31602 58.84625,131.05994 131.17558,131.05994l125.70907,0l0,193.82749c0,20.83861 12.4127,39.45562 31.62528,47.46299c19.29136,8.0043 41.26994,3.59897 56.02703,-11.15915l230.14873,-230.13236l314.72908,0c72.3457,0 131.18786,-58.74391 131.18786,-131.05994l-0.00001,-493.79845l0.00205,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_TOOLTIPS)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/1020,scaleY:o/1002,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class LightningShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m-329.49334,256l271.25334,66.66667a5.33333,5.33333 0 0 1 4,5.97333l-51.04,335.68a5.33333,5.33333 0 0 0 9.22666,4.32l434.77334,-490.34667a5.33333,5.33333 0 0 0 -2.72,-8.69333l-271.25334,-66.66667a5.33333,5.33333 0 0 1 -4,-5.97333l51.04,-335.62667a5.33333,5.33333 0 0 0 -9.22666,-4.37333l-434.77334,490.34667a5.33333,5.33333 0 0 0 2.72,8.69333z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_LIGHTNING)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/674,scaleY:o/915,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class CloseShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m678.76571,546.23086q0,22.82057 -16.01829,38.83886l-77.67771,77.67771q-16.01829,16.01829 -38.83886,16.01829t-38.83885,-16.01829l-168.00915,-168.00914l-168.00914,168.00914q-16.01829,16.01829 -38.83886,16.01829t-38.83885,-16.01829l-77.67772,-77.67771q-16.01828,-16.01829 -16.01828,-38.83886t16.01828,-38.83886l168.00915,-168.00914l-168.00915,-168.00914q-16.01828,-16.01829 -16.01828,-38.83886t16.01828,-38.83886l77.67772,-77.67771q16.01828,-16.01829 38.83885,-16.01829t38.83886,16.01829l168.00914,168.00914l168.00915,-168.00914q16.01828,-16.01829 38.83885,-16.01829t38.83886,16.01829l77.67771,77.67771q16.01829,16.01829 16.01829,38.83886t-16.01829,38.83886l-168.00914,168.00914l168.00914,168.00914q16.01829,16.01829 16.01829,38.83886z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_CLOSE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/679,scaleY:o/679,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class CheckShap{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m855.08247,17.19428c-43.5,-30.3 -104,-19.5 -134.6,24.1l-425.8,606l-127,-135.7c-36.4,-38.9 -98.1,-41.1 -137,-4.8c-39,36.2 -41.1,97.7 -4.7,136.6l206.5,220.7c4.7,5 9.8,9.4 15.1,13.1c0.7,0.5 1.4,1 2.2,1.5c43.5,30.3 104,19.5 134.6,-24.1l494,-703.2c30.7,-43.5 20.1,-103.9 -23.3,-134.2z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_CHECK)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/896,scaleY:o/896,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class InfoShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m512,1024c282.771,0 512,-229.23 512,-512s-229.23,-512 -512,-512s-512,229.23 -512,512s229.23,512 512,512zm-80,-768c0,-44.183 35.817,-80 80,-80s80,35.817 80,80l0,31.999c0,44.183 -35.817,80 -80,80s-80,-35.817 -80,-80l0,-31.999zm-0.001,256c0,-44.183 35.817,-80 80,-80s80,35.817 80,80l0,256c0,44.183 -35.817,80 -80,80s-80,-35.817 -80,-80l0,-256z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_INFO)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/1024,scaleY:o/1024,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class BackspaceShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m714.52777,0a138.66667,138.66667 0 0 1 138.45333,130.816l0.21334,7.85066l0,405.33334a138.66667,138.66667 0 0 1 -130.816,138.45333l-7.85067,0.21333l-362.70933,0a138.66667,138.66667 0 0 1 -88.96,-32.256l-6.61334,-5.93066l-213.16266,-202.66667a138.66667,138.66667 0 0 1 -4.90667,-196.01067l4.90667,-4.94933l213.16266,-202.66667a138.66667,138.66667 0 0 1 86.69867,-37.888l8.87467,-0.29866l362.66666,0l0.04267,0zm0,64l-362.70933,0a74.66667,74.66667 0 0 0 -46.08,15.872l-5.376,4.69333l-213.16267,202.66667l-2.64533,2.64533a74.66667,74.66667 0 0 0 -2.34667,100.352l4.992,5.20533l213.16267,202.66667c12.11733,11.52 27.73333,18.64533 44.288,20.224l7.168,0.34133l362.66666,0a74.66667,74.66667 0 0 0 74.45334,-68.56533l0.256,-6.10133l0,-405.33334a74.66667,74.66667 0 0 0 -68.56534,-74.41066l-6.10133,-0.256zm-311.63733,123.60533l3.584,3.11467l105.38666,105.344l105.38667,-105.38667a32,32 0 0 1 48.34133,41.68533l-3.11466,3.584l-105.38667,105.38667l105.38667,105.38667a32,32 0 0 1 -41.64267,48.34133l-3.584,-3.11467l-105.38667,-105.344l-105.38666,105.38667a32,32 0 0 1 -48.34134,-41.68533l3.072,-3.584l105.42934,-105.38667l-105.38667,-105.38667a32,32 0 0 1 41.68533,-48.34133l-0.04266,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_BACKSPACE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/853,scaleY:o/682,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class BlockShap{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m426.66667,0c235.648,0 426.66667,191.06134 426.66667,426.66667c0,235.69067 -191.01867,426.66667 -426.66667,426.66667c-235.60533,0 -426.66667,-190.976 -426.66667,-426.66667c0,-235.56267 191.06134,-426.66667 426.66667,-426.66667zm0,64a362.66667,362.66667 0 1 0 0,725.33334a362.66667,362.66667 0 0 0 0,-725.33334zm-181.33333,330.66667l362.66666,0a32,32 0 0 1 4.352,63.70133l-4.352,0.29867l-362.66666,0a32,32 0 0 1 -4.352,-63.70133l4.352,-0.29867l362.66666,0l-362.66666,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_BLOCK)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/853,scaleY:o/853,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class SpeakerShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m489.01486,786.432c29.14743,0 50.13943,-21.43086 50.13943,-50.13943l0,-683.57486c0,-28.70857 -20.992,-52.71771 -50.99886,-52.71771c-20.992,0 -34.70628,10.29486 -57.856,30.86629l-201.43543,178.70628c-2.56,2.56 -6.41828,3.85829 -10.69714,3.85829l-127.28686,0c-60.87314,0 -90.88,30.42743 -90.88,95.14057l0,170.58743c0,64.73143 30.00686,95.14057 90.88,95.14057l127.26858,0c4.29714,0 8.15542,1.28 10.71542,3.85828l201.45372,180.40686c20.992,18.87086 37.72343,27.86743 58.71543,27.86743l-0.01829,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_SPEAKER)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/539,scaleY:o/786,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class SearchShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m309.28596,0a309.33333,309.33333 0 0 1 240.21333,504.27734l209.06667,209.06666a32,32 0 0 1 -41.64267,48.384l-3.584,-3.11466l-209.10933,-209.06667a309.33333,309.33333 0 1 1 -194.944,-549.54667zm0,64a245.33333,245.33333 0 1 0 0,490.66667a245.33333,245.33333 0 0 0 0,-490.66667z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_SEARCH)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/768,scaleY:o/768,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class InfoOutlineShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m89.68,0c16.93,12.78 35.09,21 56.38,20.55c2.3,0 4.59,-0.06 6.88,0.07a64.3,64.3 0 0 0 35.55,-7.85c4.37,-2.42 8.6,-2.67 13.2,-1.85a8.08,8.08 0 0 1 5.09,2.86c12,14.42 27.73,20.48 46.19,20.6c8.12,0 16,-0.64 23.46,-4.15a13.82,13.82 0 0 1 5.81,-1c2.25,0 4.13,2.72 3.63,4.92a26.24,26.24 0 0 1 -1.32,3.12c-4.65,12.17 -1.88,23.2 5.92,33c2.17,2.71 6.09,4.07 9.32,5.86c2.49,1.38 5.26,2.26 7.68,3.74a3.54,3.54 0 0 1 0.19,5.87a20.31,20.31 0 0 1 -2.87,1.84c-14.12,7.91 -20.69,21 -23.88,36c-1.13,5.36 0.93,10.75 2.65,15.94a57.2,57.2 0 0 1 2.28,7.35c0.63,3.33 -1.25,5.55 -4.74,5.64a33.64,33.64 0 0 1 -6.76,-0.74c-19,-3.33 -36.39,0.36 -51.73,12.4c-2.24,1.76 -4.26,3.83 -6.44,5.67c-2.93,2.47 -5.43,2.7 -8.59,0.86a15.43,15.43 0 0 1 -2.1,-1.5c-6.69,-5.62 -14.73,-7.23 -23.14,-8c-13.19,-1.23 -25.78,1.36 -37.68,6.62c-6.7,3 -11.49,0.84 -16.33,-3.12c-2.65,-2.18 -5.15,-4.55 -7.64,-6.91a24.73,24.73 0 0 0 -12.93,-6.4c-15.06,-2.69 -30.13,-3.61 -45.11,0.76c-4.93,1.44 -10,2.46 -14.87,4.11s-8.33,-0.65 -11.48,-3.67c-0.87,-0.83 -1,-2.56 -1.19,-3.92c-0.87,-5.65 -1.52,-11.33 -2.46,-17a24.82,24.82 0 0 0 -12.9,-18.3c-4.95,-2.78 -9.12,-7.08 -15.62,-7.77l-4.13,-7.6c3.06,-2.94 5.88,-5.71 8.77,-8.4c10.63,-9.91 14.4,-22.38 13.5,-36.5a10.73,10.73 0 0 0 -2.27,-5.31c-2.75,-3.66 -2.57,-7.3 -0.65,-11.71c6.28,0.84 12.44,1.81 18.63,2.47c10.02,1.06 19.28,-1.55 28.27,-5.63a36.86,36.86 0 0 0 14.36,-11.82c1.8,-2.39 3.17,-5 3.15,-7.8c0,-4.54 2.41,-8.06 4,-11.93c0.24,-0.44 0.94,-0.67 1.92,-1.37z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_INFO_OUTLINE)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/309,scaleY:o/172,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class HeartShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="m760.384,0.00803c47.808,0 91.968,11.968 132.352,35.84a264.32,264.32 0 0 1 95.872,97.152a263.68,263.68 0 0 1 35.392,133.888c0,34.752 -6.592,68.544 -19.712,101.312a262.4,262.4 0 0 1 -57.536,87.424l-434.752,440.384l-434.752,-440.32a268.8,268.8 0 0 1 -77.248,-188.8c0,-48.384 11.776,-93.056 35.392,-133.952a264.32,264.32 0 0 1 95.808,-97.088a255.296,255.296 0 0 1 132.48,-35.84a260.736,260.736 0 0 1 186.24,78.208l62.08,62.912l62.144,-62.912a258.944,258.944 0 0 1 86.336,-58.24a259.584,259.584 0 0 1 100.032,-19.968l-0.128,0z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_HEART)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/1024,scaleY:o/896,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class AlertShape{constructor(e){l(this,"shapeInstance");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;const a=getShapeBorderWidth(),r="M 300 0 C 204.92302 0 120 65.17035 120 155 A 40 40 0 0 0 120.72852 160.5332 A 40 40 0 0 0 119.83984 165 C 119.83984 285.43738 70.949871 389.48179 19.386719 420.81836 A 40 40 0 0 0 0.33984375 456.98438 A 40 40 0 0 0 0 460 A 40 40 0 0 0 40 500 L 164.75586 500 C 173.8133 535.3936 198.4031 565.81344 231.86914 583.36328 C 274.50045 605.71947 325.49955 605.71947 368.13086 583.36328 C 401.5969 565.81344 426.1867 535.3936 435.24414 500 L 560 500 A 40 40 0 0 0 600 460 A 40 40 0 0 0 599.49023 453.71094 A 40 40 0 0 0 580.45312 415.81836 C 528.88999 384.48179 480 280.43738 480 160 A 40 40 0 0 0 479.78125 156.66016 A 40 40 0 0 0 480 155 C 480 65.17035 395.07698 0 300 0 z",s=new fabric.fabric.Path(r,{left:e.x,top:e.y,scaleX:0,scaleY:0,stroke:useShapeStore.getState().borderColor,strokeWidth:a,fill:getFillStyle(),strokeUniform:!0,strokeLineCap:"round",strokeDashArray:getShapeBorder(a),perPixelTargetFind:!0});(o=paintBoard.canvas)==null||o.add(s),this.shapeInstance=s,this.startX=e.x,this.startY=e.y,setObjectAttr(s,ELEMENT_CUSTOM_TYPE.SHAPE_ALERT)}addPosition(e){var c;if(!e||!this.shapeInstance)return;const{x:a,y:r}=new fabric.fabric.Point(e.x,e.y),s=Math.abs(a-this.startX),o=Math.abs(r-this.startY),n=a>this.startX?this.startX:this.startX-s,i=r>this.startY?this.startY:this.startY-o;this.shapeInstance.set({scaleX:s/600,scaleY:o/600,left:n,top:i}),this.shapeInstance.setCoords(),(c=paintBoard.canvas)==null||c.requestRenderAll()}destroy(){var e;this.shapeInstance&&((e=paintBoard.canvas)==null||e.remove(this.shapeInstance))}}class ArrowLineShape{constructor(e){l(this,"shapeLine");l(this,"startX",0);l(this,"startY",0);var o;if(!e)return;this.startX=e.x,this.startY=e.y;const a=getShapeBorderWidth();let r=`M ${this.startX} ${this.startY}`;for(let n=0;n0?s-1:e.length-5,actionHandler),actionName:"pathEndPoint",pointIndex:s}),a},{}),this.shapeLine.setCoords()}destroy(){var e;this.shapeLine&&((e=paintBoard.canvas)==null||e.remove(this.shapeLine))}}let updateInkHook=null;class CanvasClickEvent{constructor(){l(this,"isMouseDown",!1);l(this,"isSpaceKeyDown",!1);l(this,"startPoint");l(this,"currentElement",null);l(this,"mouseDownTime",0);l(this,"autoDrawInk",[[],[],[]]);this.initClickEvent()}initClickEvent(){const e=paintBoard.canvas;e==null||e.on("mouse:down",a=>{if(this.isMouseDown=!0,this.isSpaceKeyDown)return;this.startPoint=a.absolutePointer;let r=null;if(useBoardStore.getState().mode===ActionMode.DRAW){if(useBoardStore.getState().drawType===DrawType.Shape)switch(useShapeStore.getState().shapeStyle){case ShapeStyle.Rect:r=new RectShape(a.absolutePointer);break;case ShapeStyle.Circle:r=new CircleShape(a.absolutePointer);break;case ShapeStyle.Line:r=new LineShape(a.absolutePointer);break;case ShapeStyle.Ellipse:r=new EllipseShape(a.absolutePointer);break;case ShapeStyle.Triangle:r=new TriangleShape(a.absolutePointer);break;case ShapeStyle.ArrowLine:r=new ArrowLineShape(a.absolutePointer);break;case ShapeStyle.ArrowOutline:r=new ArrowOutlineShape(a.absolutePointer);break;case ShapeStyle.Cloud:r=new CloudShape(a.absolutePointer);break;case ShapeStyle.Tooltips:r=new TooltipsShape(a.absolutePointer);break;case ShapeStyle.Lightning:r=new LightningShape(a.absolutePointer);break;case ShapeStyle.Close:r=new CloseShape(a.absolutePointer);break;case ShapeStyle.Check:r=new CheckShap(a.absolutePointer);break;case ShapeStyle.Info:r=new InfoShape(a.absolutePointer);break;case ShapeStyle.Backspace:r=new BackspaceShape(a.absolutePointer);break;case ShapeStyle.Block:r=new BlockShap(a.absolutePointer);break;case ShapeStyle.Speaker:r=new SpeakerShape(a.absolutePointer);break;case ShapeStyle.Search:r=new SearchShape(a.absolutePointer);break;case ShapeStyle.InfoOutline:r=new InfoOutlineShape(a.absolutePointer);break;case ShapeStyle.Heart:r=new HeartShape(a.absolutePointer);break;case ShapeStyle.Alert:r=new AlertShape(a.absolutePointer);break}else if(useBoardStore.getState().drawType===DrawType.FreeStyle)switch(useDrawStore.getState().drawStyle){case DrawStyle.Shape:r=new ShapeElement;break;case DrawStyle.Pixels:r=new PixelsElement;break;case DrawStyle.Text:r=new DrawTextElement;break;case DrawStyle.MultiLine:r=new MultiLineElement;break;case DrawStyle.Reticulate:r=new ReticulateElement;break;case DrawStyle.Rainbow:r=new RainbowElement;break;case DrawStyle.Thorn:r=new ThornElement;break;case DrawStyle.MultiPoint:r=new MultiPointElement;break;case DrawStyle.Wiggle:r=new WiggleElement;break;case DrawStyle.Basic:useDrawStore.getState().openAutoDraw&&(autoDrawData.resetLoadedSVG(),this.mouseDownTime=new Date().getTime());break}}this.currentElement=r}),e==null||e.on("mouse:move",a=>{var r,s,o,n,i;if(this.isMouseDown){if(this.isSpaceKeyDown){e.relativePan(new fabric.fabric.Point(a.e.movementX,a.e.movementY));return}if((r=paintBoard.evnet)!=null&&r.touchEvent.isTwoTouch)return;this.mouseDownTime&&((s=a.absolutePointer)==null?void 0:s.x)&&((o=a.absolutePointer)==null?void 0:o.y)&&(this.autoDrawInk[0].push((n=a.absolutePointer)==null?void 0:n.x),this.autoDrawInk[1].push((i=a.absolutePointer)==null?void 0:i.y),this.autoDrawInk[2].push(new Date().getTime()-this.mouseDownTime)),useBoardStore.getState().mode===ActionMode.DRAW&&this.currentElement&&this.currentElement.addPosition(a.absolutePointer)}}),e==null||e.on("mouse:up",a=>{var r,s,o,n;if(this.isMouseDown=!1,updateInkHook==null||updateInkHook(e.toDataURL()),((s=(r=this.autoDrawInk)==null?void 0:r[0])==null?void 0:s.length)>3&&(autoDrawData.addInk([...this.autoDrawInk]),this.autoDrawInk=[[],[],[]],this.mouseDownTime=0),this.currentElement){let i=!1;if(this.startPoint&&a.absolutePointer){const{x:c,y:d}=this.startPoint,{x:h,y:p}=a.absolutePointer;c===h&&d===p&&(this.currentElement.destroy(),i=!0)}i||((this.currentElement instanceof LineShape||this.currentElement instanceof ArrowLineShape)&&((o=this.currentElement)==null||o.mouseUp()),(n=paintBoard.history)==null||n.saveState()),this.currentElement=null}}),e==null||e.on("mouse:dblclick",a=>{var r;if(a!=null&&a.absolutePointer){const{x:s,y:o}=a.absolutePointer;(r=paintBoard.textElement)==null||r.loadText(s,o)}})}setSpaceKeyDownState(e){this.isSpaceKeyDown=e}changeInkHookFn(e){updateInkHook=e}}class ObjectEvent{constructor(){this.initObjectEvent(),this.initTextEvent()}initObjectEvent(){const e=paintBoard==null?void 0:paintBoard.canvas;e==null||e.on("selection:created",()=>{paintBoard.triggerHook()}),e==null||e.on("selection:updated",()=>{paintBoard.triggerHook()}),e==null||e.on("selection:cleared",()=>{paintBoard.triggerHook()}),e==null||e.on("path:created",a=>{var o;const{mode:r,drawType:s}=useBoardStore.getState();if([ActionMode.DRAW,ActionMode.ERASE].includes(r)){if(r===ActionMode.DRAW){const n=v4();a.path.set({id:n,perPixelTargetFind:!0});const{openAutoDraw:i,drawStyle:c}=useDrawStore.getState();i&&s===DrawType.FreeStyle&&c===DrawStyle.Basic&&autoDrawData.addPath(a.path)}(o=paintBoard.history)==null||o.saveState()}}),e==null||e.on("object:modified",a=>{var r,s;if(((r=a.target)==null?void 0:r.type)==="i-text"){const o=a.target;if(o._textBeforeEdit===o.text)return}a.action&&a.target&&((s=paintBoard.history)==null||s.saveState())})}initTextEvent(){const e=paintBoard==null?void 0:paintBoard.canvas;e==null||e.on("text:editing:entered",()=>{paintBoard.textElement.isTextEditing=!0}),e==null||e.on("text:editing:exited",a=>{const r=a==null?void 0:a.target;r&&(paintBoard.textElement.isTextEditing=!1,r!=null&&r._customType||setObjectAttr(r,ELEMENT_CUSTOM_TYPE.I_TEXT),(r==null?void 0:r._textBeforeEdit)!==(r==null?void 0:r.text)&&(e.discardActiveObject(),paintBoard.render()))})}}class CanvasTouchEvent{constructor(){l(this,"isTwoTouch",!1);l(this,"isDragging",!1);l(this,"startDistance",1);l(this,"startX",0);l(this,"startY",0);l(this,"startScale",1);l(this,"lastPan");l(this,"touchStartFn",e=>{e.preventDefault();const a=paintBoard.canvas;if(!a)return;const r=e.touches;if(brushMouseMixin.updateIsDisableDraw(r.length>=2),r.length===2){this.isTwoTouch=!0;const s=r[0],o=r[1];this.startDistance=Math.hypot(o.pageX-s.pageX,o.pageY-s.pageY),this.startX=(s.pageX+o.pageX)/2,this.startY=(s.pageY+o.pageY)/2,this.startScale=a.getZoom()}});l(this,"touchMoveFn",e=>{e.preventDefault()});l(this,"touchEndFn",e=>{this.isDragging=!1,this.isTwoTouch&&e.touches.length===0&&(this.isTwoTouch=!1)});l(this,"saveTransform",lodash.exports.debounce(()=>{var a,r;const e=(a=paintBoard.canvas)==null?void 0:a.viewportTransform;e&&(useFileStore.getState().updateTransform(e),useBoardStore.getState().isObjectCaching||fabric.fabric.Object.prototype.set({objectCaching:!1}),(r=paintBoard.canvas)==null||r.requestRenderAll())},500));this.initTouchEvent()}initTouchEvent(){var a;const e=(a=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:a.upperCanvasEl;e&&(e.addEventListener("touchstart",this.touchStartFn,{passive:!1}),e.addEventListener("touchmove",this.touchMoveFn,{passive:!1}),e.addEventListener("touchend",this.touchEndFn,{passive:!1}))}removeTouchEvent(){var a;const e=(a=paintBoard==null?void 0:paintBoard.canvas)==null?void 0:a.upperCanvasEl;e&&(e.removeEventListener("touchstart",this.touchStartFn),e.removeEventListener("touchmove",this.touchMoveFn),e.removeEventListener("touchend",this.touchEndFn))}}let zoomHook;const MIN_ZOOM=.3,MAX_ZOOM=5;class CanvasZoomEvent{constructor(){l(this,"updateZoomPercentage",lodash.exports.debounce((e=!0,a)=>{var s;const r=this.handleZoomPercentage(e);return useFileStore.getState().updateZoom(a),useBoardStore.getState().isObjectCaching||fabric.fabric.Object.prototype.set({objectCaching:!1}),(s=paintBoard.canvas)==null||s.requestRenderAll(),r},500));this.initWheelEvent()}initWheelEvent(){}initZoom(){const e=paintBoard.canvas;if(e){const a=((e==null?void 0:e.width)||1)/2,r=((e==null?void 0:e.height)||1)/2;e.zoomToPoint(new fabric.fabric.Point(a,r),1),this.updateZoomPercentage(!0,1)}}handleZoomPercentage(e=!0){const a=paintBoard.canvas;let r=1;if(a){const s=a.getZoom();r=Math.round((s-MIN_ZOOM)/(MAX_ZOOM-MIN_ZOOM)*100),handleWidth()}return e&&zoomHook&&(zoomHook==null||zoomHook(r)),r}setZoomHook(e){zoomHook=e}}const handleWidth=()=>{var e;const t=(e=paintBoard.canvas)==null?void 0:e.freeDrawingBrush;if(!!t)switch(useBoardStore.getState().mode){case ActionMode.ERASE:t.width=getEraserWidth();break;case ActionMode.DRAW:[DrawStyle.Basic,DrawStyle.Material,DrawStyle.MultiColor].includes(useDrawStore.getState().drawStyle)&&(t.width=getDrawWidth(),useDrawStore.getState().drawStyle===DrawStyle.Basic&&t.shadow&&(t.shadow.blur=getShadowWidth()));break}};var KeyCode=(t=>(t.SPACE="Space",t.BACKSPACE="Backspace",t))(KeyCode||{});class ImageElement{constructor(){l(this,"image",null)}addImage(e){const a=paintBoard.canvas;!a||fabric.fabric.Image.fromURL(e,r=>{const s=a.getVpCenter(),o=a.getWidth()/2/((r==null?void 0:r.width)||1),n=a.getHeight()/2/((r==null?void 0:r.height)||1),i=Math.min(o,n,1);r.scale(i),r.set({left:s.x-r.getScaledWidth()/2,top:s.y-r.getScaledHeight()/2}),setObjectAttr(r,ELEMENT_CUSTOM_TYPE.IMAGE),a.add(r),paintBoard.render()},{crossOrigin:"anonymous"})}addBackgroundImage(e){const a=paintBoard.canvas;!a||fabric.fabric.Image.fromURL(e,r=>{const s=a.getVpCenter();a.setBackgroundImage(r,a.renderAll.bind(a),{scaleX:s.x*2/r.width,scaleY:s.y*2/r.height})},{crossOrigin:"anonymous"})}addTileImage(e){const a=paintBoard.canvas;!a||fabric.fabric.Image.fromURL(e,r=>{const s=a.getVpCenter();console.log(s),r.scaleToWidth(s.x*2),r.scaleToHeight(s.y*2),r.set({left:0,top:0}),setObjectAttr(r,ELEMENT_CUSTOM_TYPE.IMAGE),a.add(r),paintBoard.render()},{crossOrigin:"anonymous"})}}class WindowEvent{constructor(){this.initWindowEvent()}initWindowEvent(){window.addEventListener("keydown",this.keydownFn),window.addEventListener("keyup",this.keyupFn),window.addEventListener("paste",this.pasteFn),window.addEventListener("resize",this.resizeFn),window.addEventListener("orientationchange",this.resizeFn)}removeWindowEvent(){window.removeEventListener("keydown",this.keydownFn),window.removeEventListener("keyup",this.keyupFn),window.removeEventListener("paste",this.pasteFn),window.removeEventListener("resize",this.resizeFn),window.removeEventListener("orientationchange",this.resizeFn)}keydownFn(e){var r;const a=paintBoard==null?void 0:paintBoard.canvas;switch(e.code){case KeyCode.SPACE:(r=paintBoard==null?void 0:paintBoard.evnet)==null||r.clickEvent.setSpaceKeyDownState(!0),a&&(useBoardStore.getState().isObjectCaching||fabric.fabric.Object.prototype.set({objectCaching:!0}),a.defaultCursor="pointer",a.isDrawingMode=!1,a.selection=!1,fabric.fabric.Object.prototype.set({selectable:!1,hoverCursor:"pointer"}));break;case KeyCode.BACKSPACE:paintBoard.deleteObject();break}}keyupFn(e){var a,r;if(e.code===KeyCode.SPACE){(a=paintBoard.evnet)==null||a.clickEvent.setSpaceKeyDownState(!1),paintBoard.canvas&&(paintBoard.canvas.defaultCursor="default");const s=(r=paintBoard.canvas)==null?void 0:r.viewportTransform;s&&(useFileStore.getState().updateTransform(s),useBoardStore.getState().isObjectCaching||fabric.fabric.Object.prototype.set({objectCaching:!1}),paintBoard.handleMode())}}pasteFn(e){if(e.clipboardData&&e.clipboardData.items){const a=e.clipboardData.items,r=Array.from(a).find(s=>s.kind==="file"&&s.type.indexOf("image")!==-1);if(r){const s=r.getAsFile();if(s){const o=new FileReader;o.onload=n=>{var c;const i=(c=n.target)==null?void 0:c.result;i&&typeof i=="string"&&new ImageElement().addImage(i)},o.readAsDataURL(s)}}}}resizeFn(){const e=paintBoard.canvas;e&&(e.setWidth(window.innerWidth*useBoardStore.getState().canvasWidth),e.setHeight(window.innerHeight*useBoardStore.getState().canvasHeight))}}class CanvasEvent{constructor(){l(this,"clickEvent");l(this,"zoomEvent");l(this,"objectEvent");l(this,"windowEvent");l(this,"touchEvent");const e=new CanvasClickEvent;this.clickEvent=e;const a=new CanvasZoomEvent;this.zoomEvent=a;const r=new ObjectEvent;this.objectEvent=r;const s=new WindowEvent;this.windowEvent=s;const o=new CanvasTouchEvent;this.touchEvent=o}removeEvent(){this.windowEvent.removeWindowEvent(),this.touchEvent.removeTouchEvent()}}const FontStyle={BOLD:"bold",ITALIC:"italic",UNDER_LINE:"underline",LINE_THROUGH:"linethrough"};class TextElement{constructor(){l(this,"text",null);l(this,"isTextEditing",!1)}loadText(e,a){var s;const r=paintBoard==null?void 0:paintBoard.canvas;if(r){const o=r.getVpCenter(),{fontStyles:n,drawColors:i,textFontFamily:c}=useDrawStore.getState(),d=lodash.exports.isUndefined(e)&&lodash.exports.isUndefined(a),h=new fabric.fabric.IText("Type here...",{originX:d?"center":"left",originY:d?"center":"top",left:d?o.x:e,top:d?o.y:a,fill:i[0],fontSize:25/((s=r==null?void 0:r.getZoom())!=null?s:1),fontFamily:c,fontWeight:n.includes(FontStyle.BOLD)?"bold":"normal",fontStyle:n.includes(FontStyle.ITALIC)?"italic":"normal",underline:n.includes(FontStyle.UNDER_LINE),linethrough:n.includes(FontStyle.LINE_THROUGH)});this.text=h,r.add(h),r.setActiveObject(h),h.enterEditing(),h.selectAll()}}resetText(){this!=null&&this.text&&(this.text.exitEditing(),this.text=null)}}const renderPencilBrush=()=>{const t=paintBoard.canvas;if(!t)return;const e=new fabric.fabric.PencilBrush(t);t.isDrawingMode=!0,t.freeDrawingBrush=e,t.freeDrawingBrush.width=getDrawWidth(),t.freeDrawingBrush.color=useDrawStore.getState().drawColors[0],t.freeDrawingBrush.shadow=new fabric.fabric.Shadow({blur:getShadowWidth(),offsetX:0,offsetY:0,color:useDrawStore.getState().shadowColor})};class PaintBoard{constructor(){l(this,"canvas",null);l(this,"evnet",null);l(this,"history",null);l(this,"textElement");l(this,"hookFn",[]);l(this,"updateCanvasWidth",lodash.exports.debounce(e=>{this.canvas&&(this.canvas.setWidth(window.innerWidth*e),useFileStore.getState().updateCanvasWidth(e))},500));l(this,"updateCanvasHeight",lodash.exports.debounce(e=>{this.canvas&&(this.canvas.setHeight(window.innerHeight*e),useFileStore.getState().updateCanvasHeight(e))},500));this.textElement=new TextElement}initCanvas(e){return new Promise(async a=>{this.canvas=new fabric.fabric.Canvas(e,{selectionColor:"rgba(101, 204, 138, 0.3)",preserveObjectStacking:!0,enableRetinaScaling:!0}),fabric.fabric.Object.prototype.set({borderColor:"#65CC8A",cornerColor:"#65CC8A",cornerStyle:"circle",borderDashArray:[3,3],transparentCorners:!1}),fabric.fabric.Line.prototype.strokeLineJoin="round",fabric.fabric.Line.prototype.strokeLineCap="round",isMobile()&&brushMouseMixin.initCanvas(this.canvas),alignGuideLine.init(this.canvas,useBoardStore.getState().openGuideLine),this.evnet=new CanvasEvent,this.handleMode(),await this.initCanvasStorage(),a(!0)})}removeCanvas(){var e,a;this.canvas&&((e=this==null?void 0:this.canvas)==null||e.dispose(),(a=this.evnet)==null||a.removeEvent(),this.canvas=null)}initCanvasStorage(){return new Promise(e=>{setTimeout(()=>{const{files:a,currentId:r}=useFileStore.getState(),s=a==null?void 0:a.find(o=>(o==null?void 0:o.id)===r);s&&this.canvas?this.canvas.loadFromJSON(s.boardData,()=>{this.canvas&&(s.viewportTransform&&this.canvas.setViewportTransform(s.viewportTransform),this.canvas.setWidth(window.innerWidth*.45),useBoardStore.getState().updateCanvasWidth(.45),this.canvas.setHeight(window.innerHeight*.85),useBoardStore.getState().initBackground(),useBoardStore.getState().updateCanvasHeight(.85),handleCanvasJSONLoaded(this.canvas),fabric.fabric.Object.prototype.set({objectCaching:useBoardStore.getState().isObjectCaching}),this.canvas.renderAll(),this.triggerHook(),this.history=new History),e(!0)}):e(!0)},300)})}handleMode(e=useBoardStore.getState().mode){if(!this.canvas)return;let a=!1,r=!1;const s={selectable:!1,hoverCursor:"default"};switch(e){case ActionMode.DRAW:useBoardStore.getState().drawType===DrawType.FreeStyle&&[DrawStyle.Basic,DrawStyle.Material,DrawStyle.MultiColor].includes(useDrawStore.getState().drawStyle)&&(a=!0,this.handleDrawStyle()),this.canvas.discardActiveObject();break;case ActionMode.ERASE:a=!0,this.canvas.freeDrawingBrush=new fabric.fabric.EraserBrush(this.canvas),this.canvas.freeDrawingBrush.width=getEraserWidth(),this.canvas.freeDrawingBrush.color="#FFF",this.canvas.discardActiveObject();break;case ActionMode.Board:case ActionMode.SELECT:s.selectable=!0,s.hoverCursor=void 0,r=!0;break}this.canvas.isDrawingMode=a,this.canvas.selection=r,fabric.fabric.Object.prototype.set(s),this.canvas.forEachObject(o=>{o._customType===ELEMENT_CUSTOM_TYPE.I_TEXT&&(o.selectable=s.selectable,o.hoverCursor=s.hoverCursor)}),this.handleAutoDrawData(),this.canvas.requestRenderAll()}handleDrawStyle(){if(!this.canvas)return;switch(useDrawStore.getState().drawStyle){case DrawStyle.Basic:renderPencilBrush();break;case DrawStyle.Material:this.canvas.isDrawingMode=!0,material.render({});break;case DrawStyle.MultiColor:renderMultiColor({});break;default:this.canvas.isDrawingMode=!1;break}this.handleAutoDrawData()}handleAutoDrawData(){useBoardStore.getState().mode===ActionMode.DRAW&&useBoardStore.getState().drawType===DrawType.FreeStyle&&useDrawStore.getState().drawStyle===DrawStyle.Basic&&useDrawStore.getState().openAutoDraw||(autoDrawData.clearDraw(),autoDrawData.resetLoadedSVG())}deleteObject(){if(!this.textElement.isTextEditing&&this.canvas){const e=this.canvas.getActiveObjects();e!=null&&e.length&&(this.canvas.discardActiveObject(),e==null||e.forEach(a=>{var r;(r=this.canvas)==null||r.remove(a)}),this.render())}}render(){var e,a;this.canvas&&((e=this.canvas)==null||e.requestRenderAll(),(a=this.history)==null||a.saveState())}saveImage(){if(this.canvas){const e=document.createElement("a");e.href=this.canvas.toDataURL(),e.download="paint-board.png",e.click()}}getImage(){return this.canvas?this.canvas.toDataURL().substring(22):""}copyObject(){const e=this.canvas;if(!e)return;const a=e.getActiveObjects();if(a.length<=0)return;e.discardActiveObject();const r=a.map(s=>new Promise(o=>{s==null||s.clone(n=>{const i=v4();n.set({left:((n==null?void 0:n.left)||0)+10,top:((n==null?void 0:n.top)||0)+10,evented:!0,id:i,perPixelTargetFind:!0}),o(n),e.add(n)})}));Promise.all(r).then(s=>{const o=new fabric.fabric.ActiveSelection(s,{canvas:e});e.setActiveObject(o),this.render()})}bringForWard(){const e=this.canvas;if(e){const a=e.getActiveObject();a&&(e.bringForward(a,!0),this.render())}}seendBackWard(){const e=this.canvas;if(e){const a=e.getActiveObject();a&&(e.sendBackwards(a,!0),this.render())}}bringToFront(){const e=this.canvas;if(e){const a=e.getActiveObject();a&&(e.bringToFront(a),this.render())}}sendToBack(){const e=this.canvas;if(e){const a=e.getActiveObject();a&&(e.sendToBack(a),this.render())}}addHookFn(e){this.hookFn.push(e)}removeHookFn(e){const a=this.hookFn.findIndex(r=>r===e);a>-1&&this.hookFn.splice(a,1)}triggerHook(){this.hookFn.map(e=>{e==null||e()})}}const paintBoard=new PaintBoard,modeSwitch=[{type:ActionMode.DRAW,text:"tool.draw"},{type:ActionMode.ERASE,text:"tool.eraser"},{type:ActionMode.SELECT,text:"tool.select"}],ShapeConfig=()=>{const{drawShapeCount:t,updateDrawShapeCount:e}=useDrawStore(),{t:a}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.shapeCount")}),jsx("input",{type:"range",min:"1",max:"5",value:t,className:"range range-primary range-xs",step:"1",onChange:r=>e(Number(r.target.value))}),jsxs("div",{className:"w-full flex justify-between text-xs px-2 font-fredokaOne",children:[jsx("span",{children:"1"}),jsx("span",{children:"2"}),jsx("span",{children:"3"}),jsx("span",{children:"4"}),jsx("span",{children:"5"})]})]})},SvgBubble=t=>react.exports.createElement("svg",{height:"18px",width:"18px",id:"_x32_",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512",xmlSpace:"preserve",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",null,react.exports.createElement("path",{fill:"currentColor",d:"M133.048,121.218c-1.663,0-3.296,0.337-4.841,0.996c-20.036,8.606-36.119,24.218-45.306,43.973 c-1.381,2.966-1.522,6.3-0.4,9.375c1.122,3.083,3.382,5.546,6.371,6.936c1.64,0.761,3.373,1.146,5.17,1.146 c4.762,0,9.14-2.794,11.14-7.116c6.646-14.27,18.256-25.544,32.715-31.726c3.013-1.294,5.342-3.68,6.567-6.732 c1.216-3.044,1.177-6.386-0.118-9.398C142.408,124.144,137.967,121.218,133.048,121.218z"}),react.exports.createElement("path",{fill:"currentColor",d:"M325.854,203.342c-0.016-89.821-73.11-162.915-162.932-162.931C73.102,40.427,0.015,113.521,0,203.342 c0.015,89.821,73.102,162.908,162.923,162.924C252.744,366.25,325.838,293.163,325.854,203.342z M162.923,334.344 c-34.974-0.008-67.869-13.636-92.629-38.372c-24.736-24.768-38.364-57.664-38.372-92.63c0.008-34.982,13.635-67.877,38.372-92.63 c24.775-24.743,57.671-38.371,92.629-38.379c34.967,0.008,67.862,13.636,92.63,38.379c24.744,24.768,38.372,57.664,38.38,92.63 c-0.008,34.959-13.635,67.854-38.38,92.63C230.793,320.708,197.898,334.336,162.923,334.344z"}),react.exports.createElement("path",{fill:"currentColor",d:"M427.458,69.815c-46.6,0.008-84.532,37.932-84.549,84.541c0.016,46.601,37.948,84.525,84.549,84.541 c46.601-0.016,84.526-37.94,84.542-84.541C511.984,107.747,474.06,69.823,427.458,69.815z M464.661,191.575 c-9.963,9.924-23.175,15.392-37.203,15.4c-14.035-0.008-27.247-5.476-37.218-15.408c-9.924-9.963-15.392-23.175-15.4-37.21 c0.008-14.035,5.476-27.246,15.408-37.219c9.963-9.924,23.175-15.392,37.21-15.4c14.028,0.008,27.24,5.477,37.211,15.408 c9.924,9.964,15.4,23.184,15.408,37.211C480.07,168.383,474.593,181.603,464.661,191.575z"}),react.exports.createElement("path",{fill:"currentColor",d:"M349.076,251.325c-2.683,10.434-6.261,20.664-10.654,30.487c16.146,2.808,30.761,10.379,42.428,22.03 c15.024,15.047,23.292,35.029,23.301,56.258c-0.008,21.23-8.277,41.212-23.301,56.258c-15.048,15.024-35.03,23.301-56.258,23.309 c-21.23-0.008-41.212-8.284-56.266-23.309c-11.015-11.03-18.421-24.822-21.559-40.042c-9.666,4.691-19.746,8.574-30.056,11.572 c12.655,49.386,56.699,83.686,107.882,83.701c61.46-0.015,111.473-50.029,111.489-111.489 C436.065,308.038,399.608,262.661,349.076,251.325z"})))),SvgStar=t=>react.exports.createElement("svg",{fill:"#ffffff",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:"16px",height:"16px",viewBox:"0 0 940.688 940.688",xmlSpace:"preserve",stroke:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",null,react.exports.createElement("path",{fill:"currentColor",d:"M885.344,319.071l-258-3.8l-102.7-264.399c-19.8-48.801-88.899-48.801-108.6,0l-102.7,264.399l-258,3.8 c-53.4,3.101-75.1,70.2-33.7,103.9l209.2,181.4l-71.3,247.7c-14,50.899,41.1,92.899,86.5,65.899l224.3-122.7l224.3,122.601 c45.4,27,100.5-15,86.5-65.9l-71.3-247.7l209.2-181.399C960.443,389.172,938.744,322.071,885.344,319.071z"})))),SvgLove=t=>react.exports.createElement("svg",{fill:"currentColor",width:"20px",height:"20px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M20.808,11.079C19.829,16.132,12,20.5,12,20.5s-7.829-4.368-8.808-9.421C2.227,6.1,5.066,3.5,8,3.5a4.444,4.444,0,0,1,4,2,4.444,4.444,0,0,1,4-2C18.934,3.5,21.773,6.1,20.808,11.079Z"}))),SvgButterfly=t=>react.exports.createElement("svg",{fill:"currentColor",width:"16px",height:"16px",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M214.37 208H70.57c-31 0-57.37 14.9-67.26 45.33C1.57 258.71 0 265.54 0 272c0 48 96 128 144 128 28.95 0 53.24-10.67 75.72-33.14-8.58 11.05-13.81 23.47-15.72 37.28-6.98 49.25 1.73 83.2 27.23 91.48C255.99 503.66 288 512 304 512c48 0 53.35-109.18 26.33-144.39L214.37 208zm29.29-21.28L288.1 49.96C297.68 20.47 320 0 352 0c5.66 0 12.64.62 18.78 2.61 45.65 14.84 92.07 130.86 77.23 176.51-8.94 27.54-26.59 47.34-54.91 61.77 13.15-4.74 26.59-5.88 40.31-3.42 49 8.58 78.59 27.35 78.59 54.16 0 26.04-1.96 59.05-6.91 74.27-14.83 45.65-120.32 17.01-145.46-19.58l-115.97-159.6z"}))),SvgSnow=t=>react.exports.createElement("svg",{width:"18px",height:"18px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M11.9994 3V7M11.9994 7V17M11.9994 7L8.99943 4M11.9994 7L14.9994 4M11.9994 17V21M11.9994 17L8.99943 20M11.9994 17L14.9994 20M4.20624 7.49999L7.67034 9.49999M7.67034 9.49999L16.3306 14.5M7.67034 9.49999L3.57227 10.5981M7.67034 9.49999L6.57227 5.40191M16.3306 14.5L19.7947 16.5M16.3306 14.5L17.4287 18.5981M16.3306 14.5L20.4287 13.4019M4.2067 16.5L7.6708 14.5M7.6708 14.5L16.3311 9.49999M7.6708 14.5L3.57273 13.4019M7.6708 14.5L6.57273 18.5981M16.3311 9.49999L19.7952 7.49999M16.3311 9.49999L17.4291 5.40192M16.3311 9.49999L20.4291 10.5981",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgMusic=t=>react.exports.createElement("svg",{width:"18px",height:"18px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M10.0909 11.9629L19.3636 8.63087V14.1707C18.8126 13.8538 18.1574 13.67 17.4545 13.67C15.4964 13.67 13.9091 15.096 13.9091 16.855C13.9091 18.614 15.4964 20.04 17.4545 20.04C19.4126 20.04 21 18.614 21 16.855C21 16.855 21 16.8551 21 16.855L21 7.49236C21 6.37238 21 5.4331 20.9123 4.68472C20.8999 4.57895 20.8852 4.4738 20.869 4.37569C20.7845 3.86441 20.6352 3.38745 20.347 2.98917C20.2028 2.79002 20.024 2.61055 19.8012 2.45628C19.7594 2.42736 19.716 2.39932 19.6711 2.3722L19.6621 2.36679C18.8906 1.90553 18.0233 1.93852 17.1298 2.14305C16.2657 2.34086 15.1944 2.74368 13.8808 3.23763L11.5963 4.09656C10.9806 4.32806 10.4589 4.52419 10.0494 4.72734C9.61376 4.94348 9.23849 5.1984 8.95707 5.57828C8.67564 5.95817 8.55876 6.36756 8.50501 6.81203C8.4545 7.22978 8.45452 7.7378 8.45455 8.33743V16.1307C7.90347 15.8138 7.24835 15.63 6.54545 15.63C4.58735 15.63 3 17.056 3 18.815C3 20.574 4.58735 22 6.54545 22C8.50355 22 10.0909 20.574 10.0909 18.815C10.0909 18.815 10.0909 18.8151 10.0909 18.815L10.0909 11.9629Z",fill:"currentColor"}))),SvgSun=t=>react.exports.createElement("svg",{fill:"currentColor",width:"20px",height:"20px",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("title",null,"sun"),react.exports.createElement("path",{d:"M23.395 14.106c2.958-1.383 2.828-6.068 5.758-5.884-4.125-2.74-4.019 3.106-9.089 1.235 1.107-3.068-2.292-6.286-0.091-8.227-4.855 0.979-0.645 5.039-5.555 7.301-1.384-2.958-6.068-2.828-5.884-5.758-2.74 4.125 3.106 4.019 1.235 9.089-3.068-1.107-6.286 2.292-8.227 0.091 0.979 4.855 5.039 0.645 7.301 5.555-2.958 1.384-2.828 6.068-5.758 5.884 4.125 2.74 4.019-3.106 9.089-1.235-1.107 3.068 2.292 6.286 0.091 8.227 4.855-0.979 0.645-5.039 5.555-7.301 1.384 2.958 6.068 2.828 5.884 5.758 2.74-4.125-3.106-4.019-1.235-9.089 3.068 1.107 6.286-2.292 8.226-0.091-0.979-4.855-5.039-0.645-7.301-5.555z"}))),SvgMoon=t=>react.exports.createElement("svg",{width:"18px",height:"18px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M12 22C17.5228 22 22 17.5228 22 12C22 11.5373 21.3065 11.4608 21.0672 11.8568C19.9289 13.7406 17.8615 15 15.5 15C11.9101 15 9 12.0899 9 8.5C9 6.13845 10.2594 4.07105 12.1432 2.93276C12.5392 2.69347 12.4627 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z",fill:"currentColor"}))),SvgLeaf=t=>react.exports.createElement("svg",{height:"16px",width:"16px",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 25.263 25.263",xmlSpace:"preserve",fill:"currentColor",stroke:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",null,react.exports.createElement("path",{d:"M15.362,9.69c0,0-0.75,1.108-1.068,0c-0.318-1.109-1.346-4.949-1.762-5.226 c-0.417-0.278-0.417-0.278-0.417-0.278s-0.078,1.506-0.594,1.307c-0.515-0.198-4.313-2.217-4.63-2.652L6.574,2.444 c0,0,0.355,3.328-0.515,2.615c0,0,1.113,2.771-2.573,3.048c0,0,1.186,3.087,4.552,4.75c0,0,1.148,1.783-0.949,1.503 c0,0-2.932-0.395-3.325-0.752c0,0-1.548,3.01-3.764,3.128c0,0,2.656,1.504,2.337,4.156c0,0,5.107,0.041,4.911,0.832 c-0.2,0.795-0.555,1.601-0.555,1.601s4.71-0.929,5.422-2.194c0,0,0.989,0.99,1.071,1.939c0,0,2.693-0.594,2.452-2.296 c0,0,1.269,0.948,1.427,2.551l0.554-0.375c0,0-0.319-1.661-1.464-2.967c0,0-0.517-1.308,0.789-0.633c0,0,3.085,1.029,5.7-0.833 c0,0-2.888-0.948-3.006-1.978c0,0,5.394-3.326,5.625-5.542c0,0-1.944,0.198-2.972-0.633c0,0-1.309-0.396,0.394-4.791 c0,0-1.227,0.724-1.62-3.636c0,0-3.051,4.665-4.518,3.082C16.548,5.018,15.165,8.066,15.362,9.69z"})))),SvgFlower=t=>react.exports.createElement("svg",{id:"_x32_",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:"16px",height:"16px",viewBox:"0 0 512 512",xmlSpace:"preserve",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",null,react.exports.createElement("path",{d:"M512,224.438c0-63.766-51.703-115.469-115.484-115.469c-8.781,0-17.328,1-25.531,2.859 C365.656,52.984,316.219,6.875,256,6.875c-60.234,0-109.672,46.109-114.984,104.953c-8.219-1.859-16.766-2.859-25.531-2.859 C51.703,108.969,0,160.672,0,224.438c0,47.594,28.797,88.469,69.906,106.141c-10.297,17.281-16.234,37.484-16.234,59.063 c0,63.766,51.703,115.484,115.484,115.484c34.625,0,65.672-15.266,86.844-39.406c21.156,24.141,52.219,39.406,86.844,39.406 c63.781,0,115.484-51.719,115.484-115.484c0-21.578-5.938-41.781-16.25-59.063C483.203,312.906,512,272.031,512,224.438z M256,372.531c-53.563,0-97-43.406-97-97c0-53.563,43.438-96.984,97-96.984s96.984,43.422,96.984,96.984 C352.984,329.125,309.563,372.531,256,372.531z"})))),shapeSwitch={line_1:[{type:DrawShape.Bubble,icon:SvgBubble},{type:DrawShape.Star,icon:SvgStar},{type:DrawShape.Love,icon:SvgLove},{type:DrawShape.Butterfly,icon:SvgButterfly},{type:DrawShape.Snow,icon:SvgSnow}],line_2:[{type:DrawShape.Music,icon:SvgMusic},{type:DrawShape.Sun,icon:SvgSun},{type:DrawShape.Moon,icon:SvgMoon},{type:DrawShape.Leaf,icon:SvgLeaf},{type:DrawShape.Flower,icon:SvgFlower}]},shapeTypeConfig=()=>{const{drawShape:t,updateDrawShape:e}=useDrawStore(),{t:a}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.shapeType")}),Object.keys(shapeSwitch).map(r=>jsx("div",{className:"btn-group mt-1 flex",children:shapeSwitch[r].map(({type:s,icon:o})=>jsx("button",{className:`btn btn-xs flex-grow text-white ${t===s?"btn-active":""}`,onClick:()=>{e(s)},children:o({})},s))},r))]})},fontFamilyRadio={georgia:"Georgia",fredokaOne:"Fredoka One",hanaleiFill:"Hanalei Fill",ruslanDisplay:"Ruslan Display",lobster:"Lobster",pacifico:"Pacifico",gloriaHallelujah:"Gloria Hallelujah"},FontFamilyConfg=({fontFamily:t,updateFontFamily:e})=>{const{textFontFamily:a,updateTextFontFamily:r}=useDrawStore(),{t:s}=useTranslation();return jsxs(Fragment,{children:[jsx("div",{className:"font-bold text-sm font-fredokaOne mt-3",children:s("title.fontFamily")}),jsx("div",{children:Object.keys(fontFamilyRadio).map(o=>jsxs("label",{className:"flex justify-between items-center mt-2 w-full cursor-pointer",children:[jsx("div",{style:{fontFamily:`${fontFamilyRadio[o]}`},className:"text-xs",children:fontFamilyRadio[o]}),jsx("input",{type:"radio",name:"radio-5",className:"radio radio-success radio-sm",checked:(t||a)===fontFamilyRadio[o],onChange:()=>{r(fontFamilyRadio[o]),e==null||e(fontFamilyRadio[o])}})]},o))})]})},DrawTextConfig=()=>{const{t}=useTranslation(),{drawTextValue:e,updateDrawTextValue:a}=useDrawStore();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:t("title.drawText")}),jsx("div",{className:"flex mt-1 justify-between px-3 py-1.5 rounded-lg bg-primary cursor-pointer",children:jsx("input",{value:e,className:"px-2 rounded-lg flex-1",onInput:r=>a(r.target.value)})}),jsx(FontFamilyConfg,{})]})},MaterialSwitch=[{type:MATERIAL_TYPE.CARBON,image:formatPublicUrl("pattern/carbon.png")},{type:MATERIAL_TYPE.CLOTH,image:formatPublicUrl("pattern/cloth.png")},{type:MATERIAL_TYPE.CRAYON,image:formatPublicUrl("pattern/crayon.png")},{type:MATERIAL_TYPE.OIL,image:formatPublicUrl("pattern/oil.png")},{type:MATERIAL_TYPE.CRAYON_DARK,image:formatPublicUrl("pattern/crayonDark.png")}],MaterialConfig=()=>{const{materialType:t,updateMaterialType:e,drawColors:a}=useDrawStore(),{t:r}=useTranslation();return jsx(Fragment,{children:jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:r("title.materialType")}),jsx("div",{className:"btn-group mt-1 flex",children:MaterialSwitch.map(({type:s,image:o},n)=>jsx("button",{className:`btn btn-xs flex-grow ${t===s?"btn-active":""}`,onClick:()=>{e(s)},children:jsx("img",{src:o,alt:"",className:"w-5 h-3 opacity-60 rounded-sm",style:{backgroundColor:a[0]}})},n))})]})})},MultiColorSwitch=[MultiColorType.COL,MultiColorType.ROW,MultiColorType.CIRCLE],MultiColorConfig=()=>{const{multiColorType:t,updateMultiColorType:e,drawColors:a}=useDrawStore(),{t:r}=useTranslation();return jsx(Fragment,{children:jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:r("title.multiColorType")}),jsx("div",{className:"btn-group mt-1 flex",children:MultiColorSwitch.map((s,o)=>jsxs("button",{className:`btn btn-xs flex-grow ${t===s?"btn-active":""}`,onClick:()=>{e(s)},children:[s===MultiColorType.COL&&jsx("div",{className:"flex w-4/6 h-4/6 rounded-lg overflow-hidden ",children:a.map((n,i)=>jsx("div",{className:"h-full flex-1",style:{backgroundColor:n}},i))}),s===MultiColorType.ROW&&jsx("div",{className:"flex flex-col w-4/6 h-4/6 rounded-lg overflow-hidden ",children:a.map((n,i)=>jsx("div",{className:"h-full flex-1",style:{backgroundColor:n}},i))}),s===MultiColorType.CIRCLE&&jsx("div",{className:"w-4/6 h-4/6 relative",children:a.map((n,i)=>jsx("div",{className:"h-4 w-4 rounded-full absolute top-0",style:{backgroundColor:n,left:`${i*5}px`}},i))})]},o))})]})})},DrawColorConfig=()=>{const{drawColors:t,updateDrawColors:e}=useDrawStore(),{t:a}=useTranslation(),r=(o,n)=>{const i=[...t];i[n]=o,e(i)},s=["#000000","#C0C0C0","#FFFAF0","#FFFF00","#FF8000","#FF4500","#DA70D6","#9933FA","#1E90FF","#191970","#00C78C","#7FFFD4","#7CFC00"];return jsxs("div",{className:"form-control mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.drawColor")}),jsxs("div",{className:"mt-2 flex items-center w-full",style:{display:"inline-grid"},children:[jsx("div",{className:"w-7 h-7 mr-2 indicator",style:{margin:"0.5rem 1rem"},children:jsx("input",{type:"color",value:t[0],onChange:o=>{r(o.target.value,0)},className:"colorInput"})}),s.map((o,n)=>jsx("div",{className:"w-7 h-7 mr-2 indicator",style:{margin:"0.5rem 1rem"},children:jsx("div",{style:{backgroundColor:o},onClick:()=>{r(o,0)},className:"colorInput"})},n))]})]})},FreeDrawConfig=()=>{const{drawStyle:t}=useDrawStore();return useBoardStore(),jsxs(Fragment,{children:[t===DrawStyle.Shape&&jsx(shapeTypeConfig,{}),(t===DrawStyle.Shape||t===DrawStyle.MultiPoint)&&jsx(ShapeConfig,{}),t===DrawStyle.Material&&jsx(MaterialConfig,{}),t===DrawStyle.MultiColor&&jsx(MultiColorConfig,{}),![DrawStyle.Text,DrawStyle.Wiggle,DrawStyle.Thorn].includes(t),t!==DrawStyle.Rainbow&&jsx(DrawColorConfig,{}),t===DrawStyle.Text&&jsx(DrawTextConfig,{})]})},BorderStyleConfig=t=>{var n,i,c;const{t:e}=useTranslation(),{borderColor:a,updateBorderColor:r,borderWidth:s,updateBorderWidth:o}=useShapeStore();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:e("title.borderStyle")}),jsxs("div",{className:"flex mt-1 items-center",children:[jsx("div",{className:"w-7 h-7 cursor-pointer",children:jsx("input",{type:"color",value:(n=t==null?void 0:t.borderColor)!=null?n:a,onChange:d=>{var h;r(d.target.value),(h=t==null?void 0:t.updateBorderColor)==null||h.call(t,d.target.value)},className:"colorInput"})}),jsx("div",{className:"divider divider-horizontal mx-2"}),jsx("div",{className:"text-lg font-fredokaOne mr-2 text-primary-focus",children:(i=t==null?void 0:t.borderWidth)!=null?i:s}),jsx("input",{type:"range",min:"1",max:"20",step:"1",value:(c=t==null?void 0:t.borderWidth)!=null?c:s,className:"range range-primary range-xs cursor-pointer",onChange:d=>{var h;o(Number(d.target.value)),(h=t==null?void 0:t.updateBorderWidth)==null||h.call(t,Number(d.target.value))}})]})]})},SvgSolid=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M4 12L20 12",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgDashed=t=>react.exports.createElement("svg",{t:1705739078408,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":5340,xmlnsXlink:"http://www.w3.org/1999/xlink",width:20,height:20,...t},react.exports.createElement("path",{fill:"currentColor",d:"M0 480h160v64H0zM288 480H448v64H288zM576 480h160v64H576zM864 480H1024v64h-160z","p-id":5341})),SvgDotted=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M3 13H1v-2h2zm4-2H5v2h2zm12 0h-2v2h2zm4 0h-2v2h2zm-12 0H9v2h2zm4 0h-2v2h2z"}),react.exports.createElement("path",{fill:"none",d:"M0 0h24v24H0z"}))),borderTypeSwitch={line_1:[{type:ShapeBorderType.Solid,icon:SvgSolid},{type:ShapeBorderType.Dashed,icon:SvgDashed},{type:ShapeBorderType.Dotted,icon:SvgDotted}]},BorderTypeConfig=t=>{const{borderType:e,updateBorderType:a}=useShapeStore(),{t:r}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:r("title.borderType")}),Object.keys(borderTypeSwitch).map(s=>jsx("div",{className:"btn-group mt-1 flex",children:borderTypeSwitch[s].map(({type:o,icon:n})=>jsx("button",{className:`btn btn-xs flex-grow ${(t.borderType||e)===o?"btn-active":""}`,onClick:()=>{var i;a(o),(i=t==null?void 0:t.updateBorderType)==null||i.call(t,o)},children:n({})},o))},s))]})},SvgTransparent=t=>react.exports.createElement("svg",{t:1702136520403,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":1624,xmlnsXlink:"http://www.w3.org/1999/xlink",width:15,height:15,...t},react.exports.createElement("path",{d:"M0 0h192v192H0z","p-id":1625,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M192 192h192v192H192z",opacity:.6,"p-id":1626,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M384 0h192v192H384z",opacity:.8,"p-id":1627,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M576 192h192v192H576z",opacity:.4,"p-id":1628,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M768 0h192v192h-192z",opacity:.6,"p-id":1629,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M0 384h192v192H0z",opacity:.8,"p-id":1630,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M192 576h192v192H192zM384 384h192v192H384z",opacity:.4,"p-id":1631,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M576 576h192v192H576zM768 384h192v192h-192z",opacity:.2,"p-id":1632,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M0 768h192v192H0z",opacity:.4,"p-id":1633,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M384 768h192v192H384z",opacity:.2,"p-id":1634,fill:"CURRENTCOLOR"}),react.exports.createElement("path",{d:"M768 768h192v192h-192z",opacity:.1,"p-id":1635,fill:"CURRENTCOLOR"})),SvgFillFull=t=>react.exports.createElement("svg",{fill:"currentColor",width:"20px",height:"20px",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",xmlSpace:"preserve","xmlns:serif":"http://www.serif.com/",style:{fillRule:"evenodd",clipRule:"evenodd",strokeLinejoin:"round",strokeMiterlimit:2},...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M4,29.987l24,0c0.828,0 1.5,-0.672 1.5,-1.5c0,-0.827 -0.672,-1.5 -1.5,-1.5l-24,0c-0.828,0 -1.5,0.673 -1.5,1.5c0,0.828 0.672,1.5 1.5,1.5Z"}),react.exports.createElement("path",{d:"M9.138,22.244c1.323,0.328 2.775,0.118 3.995,-0.702l9.873,-6.712c0.458,-0.308 0.58,-0.929 0.273,-1.388l-6.717,-10c-0.308,-0.458 -0.929,-0.58 -1.388,-0.272c0,-0 -6.027,4.048 -9.961,6.691c-2.293,1.539 -2.903,4.646 -1.363,6.938c0.725,1.08 1.53,2.279 2.256,3.359c0.738,1.099 1.836,1.812 3.032,2.086Zm11.448,-9.223l-15.418,0c0.207,-0.591 0.599,-1.124 1.16,-1.5c-0,-0 9.131,-6.133 9.131,-6.133l5.127,7.633Z"}),react.exports.createElement("path",{d:"M26.339,15.455c-0.185,-0.284 -0.5,-0.455 -0.839,-0.455c-0.339,-0 -0.654,0.171 -0.839,0.455c0,0 -1.274,1.965 -2.039,3.732c-0.379,0.876 -0.622,1.717 -0.622,2.313c-0,1.932 1.568,3.5 3.5,3.5c1.932,0 3.5,-1.568 3.5,-3.5c-0,-0.596 -0.243,-1.437 -0.622,-2.313c-0.765,-1.767 -2.039,-3.732 -2.039,-3.732Z"}))),FillTypeSwitch=[{type:ShapeFillType.Transparent,icon:SvgTransparent},{type:ShapeFillType.Full,icon:SvgFillFull}],FillStyleConfig=t=>{const{t:e}=useTranslation(),{fillColor:a,updateFillColor:r,fillType:s,updateFillType:o}=useShapeStore();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:e("title.fillStyle")}),jsxs("div",{className:"flex mt-1 items-center",children:[jsx("div",{className:"w-7 h-7 cursor-pointer",children:jsx("input",{type:"color",value:(t==null?void 0:t.fillColor)||a,onChange:n=>{var i;r(n.target.value),(i=t==null?void 0:t.updateFillColor)==null||i.call(t,n.target.value)},className:"colorInput"})}),jsx("div",{className:"divider divider-horizontal mx-2"}),jsx("div",{className:"tabs tabs-boxed bg-[#333C4D] flex",children:FillTypeSwitch.map(({type:n,icon:i})=>jsx("button",{className:`tab tab-xs flex-grow text-[#eef1ff] ${((t==null?void 0:t.fillType)||s)===n?"tab-active":""}`,onClick:()=>{var c;o(n),(c=t==null?void 0:t.updateFillType)==null||c.call(t,n)},children:i({})},n))})]})]})},PointCountConfig=()=>{const{shapeLinePointCount:t,updateShapeLinePointCount:e}=useShapeStore(),{t:a}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.shapeLinePointCount")}),jsx("input",{type:"range",min:"2",max:"5",value:t,className:"range range-primary range-xs mt-1",step:"1",onChange:r=>e(Number(r.target.value))}),jsxs("div",{className:"w-full flex justify-between text-xs px-2 font-fredokaOne",children:[jsx("span",{children:"2"}),jsx("span",{children:"3"}),jsx("span",{children:"4"}),jsx("span",{children:"5"})]})]})},SvgLine=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18 5C17.4477 5 17 5.44772 17 6C17 6.27642 17.1108 6.52505 17.2929 6.70711C17.475 6.88917 17.7236 7 18 7C18.5523 7 19 6.55228 19 6C19 5.44772 18.5523 5 18 5ZM15 6C15 4.34315 16.3431 3 18 3C19.6569 3 21 4.34315 21 6C21 7.65685 19.6569 9 18 9C17.5372 9 17.0984 8.8948 16.7068 8.70744L8.70744 16.7068C8.8948 17.0984 9 17.5372 9 18C9 19.6569 7.65685 21 6 21C4.34315 21 3 19.6569 3 18C3 16.3431 4.34315 15 6 15C6.46278 15 6.90157 15.1052 7.29323 15.2926L15.2926 7.29323C15.1052 6.90157 15 6.46278 15 6ZM6 17C5.44772 17 5 17.4477 5 18C5 18.5523 5.44772 19 6 19C6.55228 19 7 18.5523 7 18C7 17.7236 6.88917 17.475 6.70711 17.2929C6.52505 17.1108 6.27642 17 6 17Z",fill:"currentColor"}))),SvgRect=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M3 6.6C3 6.03995 3 5.75992 3.10899 5.54601C3.20487 5.35785 3.35785 5.20487 3.54601 5.10899C3.75992 5 4.03995 5 4.6 5H10.4C10.9601 5 11.2401 5 11.454 5.10899C11.6422 5.20487 11.7951 5.35785 11.891 5.54601C12 5.75992 12 6.03995 12 6.6V8.4C12 8.96005 12 9.24008 11.891 9.45399C11.7951 9.64215 11.6422 9.79513 11.454 9.89101C11.2401 10 10.9601 10 10.4 10H4.6C4.03995 10 3.75992 10 3.54601 9.89101C3.35785 9.79513 3.20487 9.64215 3.10899 9.45399C3 9.24008 3 8.96005 3 8.4V6.6Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M5 15.6C5 15.0399 5 14.7599 5.10899 14.546C5.20487 14.3578 5.35785 14.2049 5.54601 14.109C5.75992 14 6.03995 14 6.6 14H10.4C10.9601 14 11.2401 14 11.454 14.109C11.6422 14.2049 11.7951 14.3578 11.891 14.546C12 14.7599 12 15.0399 12 15.6V17.4C12 17.9601 12 18.2401 11.891 18.454C11.7951 18.6422 11.6422 18.7951 11.454 18.891C11.2401 19 10.9601 19 10.4 19H6.6C6.03995 19 5.75992 19 5.54601 18.891C5.35785 18.7951 5.20487 18.6422 5.10899 18.454C5 18.2401 5 17.9601 5 17.4V15.6Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M16 6.6C16 6.03995 16 5.75992 16.109 5.54601C16.2049 5.35785 16.3578 5.20487 16.546 5.10899C16.7599 5 17.0399 5 17.6 5H19.4C19.9601 5 20.2401 5 20.454 5.10899C20.6422 5.20487 20.7951 5.35785 20.891 5.54601C21 5.75992 21 6.03995 21 6.6V14.4C21 14.9601 21 15.2401 20.891 15.454C20.7951 15.6422 20.6422 15.7951 20.454 15.891C20.2401 16 19.9601 16 19.4 16H17.6C17.0399 16 16.7599 16 16.546 15.891C16.3578 15.7951 16.2049 15.6422 16.109 15.454C16 15.2401 16 14.9601 16 14.4V6.6Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgCircle=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z",stroke:"currentColor",strokeWidth:2}))),SvgEllipse=t=>react.exports.createElement("svg",{t:1705756373807,className:"icon",viewBox:"0 0 1066 1024",xmlns:"http://www.w3.org/2000/svg","p-id":15154,xmlnsXlink:"http://www.w3.org/1999/xlink",width:25,height:20,...t},react.exports.createElement("path",{d:"M298.24 366.506667C236.373333 407.68 204.8 459.946667 204.8 512c0 52.010667 31.573333 104.277333 93.44 145.493333 61.610667 41.045333 149.12 67.84 247.893333 67.84 98.773333 0 186.282667-26.794667 247.893334-67.84 61.866667-41.216 93.44-93.482667 93.44-145.493333 0-52.010667-31.573333-104.277333-93.44-145.493333C732.373333 325.376 644.864 298.666667 546.133333 298.666667c-98.773333 0-186.282667 26.752-247.893333 67.84zM250.965333 295.424C328.362667 243.84 432.853333 213.333333 546.133333 213.333333c113.28 0 217.770667 30.549333 295.210667 82.133334C918.442667 346.88 972.8 422.613333 972.8 512s-54.357333 165.12-131.456 216.533333C763.904 780.16 659.413333 810.666667 546.133333 810.666667c-113.28 0-217.770667-30.549333-295.210666-82.133334C173.824 677.12 119.466667 601.386667 119.466667 512s54.357333-165.12 131.456-216.533333z",fill:"currentColor","p-id":15155})),SvgTriangle=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"Shape / Triangle"},react.exports.createElement("path",{id:"Vector",d:"M4.37891 15.1999C3.46947 16.775 3.01489 17.5634 3.08281 18.2097C3.14206 18.7734 3.43792 19.2851 3.89648 19.6182C4.42204 20.0001 5.3309 20.0001 7.14853 20.0001H16.8515C18.6691 20.0001 19.5778 20.0001 20.1034 19.6182C20.5619 19.2851 20.8579 18.7734 20.9172 18.2097C20.9851 17.5634 20.5307 16.775 19.6212 15.1999L14.7715 6.79986C13.8621 5.22468 13.4071 4.43722 12.8135 4.17291C12.2957 3.94236 11.704 3.94236 11.1862 4.17291C10.5928 4.43711 10.1381 5.22458 9.22946 6.79845L4.37891 15.1999Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgArrowLine=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"Arrow / Arrow_Down_Up"},react.exports.createElement("path",{id:"Vector",d:"M11 16L8 19M8 19L5 16M8 19V5M13 8L16 5M16 5L19 8M16 5V19",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgArrowOutline=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"-11.98 -11.98 143.74 143.74",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("defs",null),react.exports.createElement("g",{id:"Layer_2","data-name":"Layer 2"},react.exports.createElement("g",{id:"Layer_1-2","data-name":"Layer 1"},react.exports.createElement("path",{d:"M60.3,78.46c-.31,5-.39,9-.82,12.91-.86,7.85-7.86,11.57-14.92,7.85A63.53,63.53,0,0,1,34.4,92.84Q19.67,81,5.29,68.78C-.35,64-1.3,58.65,1.58,51.82a30.86,30.86,0,0,1,2.19-4.65A302.23,302.23,0,0,1,31.91,9.31a48.7,48.7,0,0,1,7.64-6.84C46-2.3,51.84,0,53.52,7.92a65.45,65.45,0,0,1,.78,7.69c.14,1.66.24,3.33.4,5.53a32.54,32.54,0,0,0,4.39.14c7.11-.83,14.18-2.09,21.3-2.57a246.17,246.17,0,0,1,24.89-.54c7.68.26,11.38,3.91,12.77,11.46a112.58,112.58,0,0,1,1.63,24.8c-.05,1.42-.31,2.84-.49,4.25-1,8.35-5.08,13.81-14,14.64a17.63,17.63,0,0,0-4.09,1.24A65.73,65.73,0,0,1,78.3,78.24C72.6,78.16,66.9,78.37,60.3,78.46ZM43.47,14c-9,5.63-27.46,31.38-32.4,44.91,10.7,9.07,21.55,18.33,32.52,27.45,1.38,1.15,3.39,1.55,5.33,2.4,1.38-4.27.25-8,.35-11.62.13-4.81.95-6.57,5.41-7.27,5-.8,10.21-.76,15.33-1,7.4-.41,14.84-.49,22.2-1.28a39.24,39.24,0,0,0,16.08-5c2.55-12.13,1.56-25-2.65-33.79-4.31-1.14-8.87-1.08-13.42-.95-10.86.31-21.7.61-32.42,2.73-5.51,1.09-10.8.41-15.4-3.89C44.12,22.77,43.83,18.81,43.47,14Z"}))))),SvgCloud=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M3 13.6493C3 16.6044 5.41766 19 8.4 19L16.5 19C18.9853 19 21 16.9839 21 14.4969C21 12.6503 19.8893 10.9449 18.3 10.25C18.1317 7.32251 15.684 5 12.6893 5C10.3514 5 8.34694 6.48637 7.5 8.5C4.8 8.9375 3 11.2001 3 13.6493Z",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgTooltips=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",fill:"none",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20 10h-8a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h.93a2 2 0 0 1 1.664.89l.574.862a1 1 0 0 0 1.664 0l.574-.861A2 2 0 0 1 19.07 20H20a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2zm-6-3V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h.93a2 2 0 0 1 1.664.89L7 13.5"}))),SvgLightning=t=>react.exports.createElement("svg",{t:1705816188032,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":11440,xmlnsXlink:"http://www.w3.org/1999/xlink",width:18,height:18,...t},react.exports.createElement("path",{d:"M508.746667 299.2L485.333333 452.373333a5.333333 5.333333 0 0 0 4 5.973334l217.386667 53.333333a5.333333 5.333333 0 0 1 2.72 8.693333l-184.906667 208.8a5.333333 5.333333 0 0 1-9.28-4.32l23.413334-153.226666a5.333333 5.333333 0 0 0-4-5.973334L317.173333 512a5.333333 5.333333 0 0 1-2.506666-8.48l184.8-208.693333a5.333333 5.333333 0 0 1 9.28 4.373333z m-329.493334 256l271.253334 66.666667a5.333333 5.333333 0 0 1 4 5.973333l-51.04 335.68a5.333333 5.333333 0 0 0 9.226666 4.32l434.773334-490.346667a5.333333 5.333333 0 0 0-2.72-8.693333l-271.253334-66.666667a5.333333 5.333333 0 0 1-4-5.973333l51.04-335.626667a5.333333 5.333333 0 0 0-9.226666-4.373333L176.533333 546.506667a5.333333 5.333333 0 0 0 2.72 8.693333z","p-id":11441,fill:"currentColor"})),SvgClose$1=t=>react.exports.createElement("svg",{t:1705817265217,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":12421,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M851.456 755.419429q0 22.820571-16.018286 38.838857l-77.677714 77.677714q-16.018286 16.018286-38.838857 16.018286t-38.838857-16.018286l-168.009143-168.009143-168.009143 168.009143q-16.018286 16.018286-38.838857 16.018286t-38.838857-16.018286l-77.677714-77.677714q-16.018286-16.018286-16.018286-38.838857t16.018286-38.838857l168.009143-168.009143-168.009143-168.009143q-16.018286-16.018286-16.018286-38.838857t16.018286-38.838857l77.677714-77.677714q16.018286-16.018286 38.838857-16.018286t38.838857 16.018286l168.009143 168.009143 168.009143-168.009143q16.018286-16.018286 38.838857-16.018286t38.838857 16.018286l77.677714 77.677714q16.018286 16.018286 16.018286 38.838857t-16.018286 38.838857l-168.009143 168.009143 168.009143 168.009143q16.018286 16.018286 16.018286 38.838857z",fill:"currentColor","p-id":12422})),SvgCheck=t=>react.exports.createElement("svg",{t:1705817679376,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":15379,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M918.8 83.7c-43.5-30.3-104-19.5-134.6 24.1l-425.8 606-127-135.7c-36.4-38.9-98.1-41.1-137-4.8-39 36.2-41.1 97.7-4.7 136.6l206.5 220.7c4.7 5 9.8 9.4 15.1 13.1 0.7 0.5 1.4 1 2.2 1.5 43.5 30.3 104 19.5 134.6-24.1l494-703.2c30.7-43.5 20.1-103.9-23.3-134.2z",fill:"currentColor","p-id":15380})),SvgInfo$1=t=>react.exports.createElement("svg",{t:1705818171661,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":16367,width:16,height:16,xmlnsXlink:"http://www.w3.org/1999/xlink",...t},react.exports.createElement("path",{d:"M512 1024c282.771 0 512-229.23 512-512s-229.23-512-512-512-512 229.23-512 512 229.23 512 512 512zM432 256c0-44.183 35.817-80 80-80s80 35.817 80 80v31.999c0 44.183-35.817 80-80 80s-80-35.817-80-80v-31.999zM431.999 512c0-44.183 35.817-80 80-80s80 35.817 80 80v256c0 44.183-35.817 80-80 80s-80-35.817-80-80v-256z","p-id":16368,fill:"currentColor"})),SvgBackspace=t=>react.exports.createElement("svg",{t:1705818590143,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":15111,xmlnsXlink:"http://www.w3.org/1999/xlink",width:18,height:18,...t},react.exports.createElement("path",{d:"M800 170.666667a138.666667 138.666667 0 0 1 138.453333 130.816L938.666667 309.333333v405.333334a138.666667 138.666667 0 0 1-130.816 138.453333L800 853.333333h-362.709333a138.666667 138.666667 0 0 1-88.96-32.256l-6.613334-5.930666-213.162666-202.666667a138.666667 138.666667 0 0 1-4.906667-196.010667l4.906667-4.949333 213.162666-202.666667a138.666667 138.666667 0 0 1 86.698667-37.888L437.290667 170.666667h362.666666z m0 64h-362.709333a74.666667 74.666667 0 0 0-46.08 15.872l-5.376 4.693333-213.162667 202.666667-2.645333 2.645333a74.666667 74.666667 0 0 0-2.346667 100.352l4.992 5.205333 213.162667 202.666667c12.117333 11.52 27.733333 18.645333 44.288 20.224l7.168 0.341333h362.666666a74.666667 74.666667 0 0 0 74.453334-68.565333l0.256-6.101333v-405.333334a74.666667 74.666667 0 0 0-68.565334-74.410666L800 234.666667z m-311.637333 123.605333l3.584 3.114667L597.333333 466.730667l105.386667-105.386667a32 32 0 0 1 48.341333 41.685333l-3.114666 3.584L642.56 512l105.386667 105.386667a32 32 0 0 1-41.642667 48.341333l-3.584-3.114667L597.333333 557.269333l-105.386666 105.386667a32 32 0 0 1-48.341334-41.685333l3.072-3.584L552.106667 512l-105.386667-105.386667a32 32 0 0 1 41.685333-48.341333z",fill:"currentColor","p-id":15112})),SvgBlock=t=>react.exports.createElement("svg",{t:1705819045470,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":15265,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M512 85.333333c235.648 0 426.666667 191.061333 426.666667 426.666667 0 235.690667-191.018667 426.666667-426.666667 426.666667-235.605333 0-426.666667-190.976-426.666667-426.666667C85.333333 276.437333 276.394667 85.333333 512 85.333333z m0 64a362.666667 362.666667 0 1 0 0 725.333334 362.666667 362.666667 0 0 0 0-725.333334z m-181.333333 330.666667h362.666666a32 32 0 0 1 4.352 63.701333l-4.352 0.298667h-362.666666a32 32 0 0 1-4.352-63.701333l4.352-0.298667h362.666666-362.666666z",fill:"currentColor","p-id":15266})),SvgSpeaker=t=>react.exports.createElement("svg",{t:1705819674136,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":16477,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M731.428571 905.216c29.147429 0 50.139429-21.430857 50.139429-50.139429V171.501714c0-28.708571-20.992-52.717714-50.998857-52.717714-20.992 0-34.706286 10.294857-57.856 30.866286l-201.435429 178.706285c-2.56 2.56-6.418286 3.858286-10.697143 3.858286h-127.286857c-60.873143 0-90.88 30.427429-90.88 95.140572V597.942857c0 64.731429 30.006857 95.140571 90.88 95.140572h127.268572c4.297143 0 8.155429 1.28 10.715428 3.858285L672.731429 877.348571c20.992 18.870857 37.723429 27.867429 58.715428 27.867429z m-24.868571-90.422857c-2.139429 0-4.699429-1.28-7.277714-3.858286L509.44 639.926857c-10.276571-9.435429-18.834286-11.574857-30.427429-11.574857h-142.701714c-16.713143 0-24.868571-7.716571-24.868571-24.868571v-181.705143c0-16.713143 8.155429-24.850286 24.868571-24.850286h142.701714c11.574857 0 19.712-1.718857 30.427429-11.574857l189.860571-172.288c2.139429-1.700571 4.717714-3.419429 7.296-3.419429 3.84 0 5.997714 2.56 5.997715 5.997715v592.713142c0 3.858286-2.139429 6.436571-5.997715 6.436572z","p-id":16478,fill:"currentColor"})),SvgSearch=t=>react.exports.createElement("svg",{t:1705820436292,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":1989,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M426.666667 117.333333a309.333333 309.333333 0 0 1 240.213333 504.277334l209.066667 209.066666a32 32 0 0 1-41.642667 48.384l-3.584-3.114666-209.109333-209.066667A309.333333 309.333333 0 1 1 426.666667 117.333333z m0 64a245.333333 245.333333 0 1 0 0 490.666667 245.333333 245.333333 0 0 0 0-490.666667z",fill:"currentColor","p-id":1990})),SvgInfoOutline=t=>react.exports.createElement("svg",{width:"20px",height:"20px",viewBox:"0 -68.62 309.13 309.13",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("defs",null),react.exports.createElement("g",{id:"Layer_2","data-name":"Layer 2"},react.exports.createElement("g",{id:"Layer_1-2","data-name":"Layer 1"},react.exports.createElement("path",{d:"M89.68,0c16.93,12.78,35.09,21,56.38,20.55,2.3,0,4.59-.06,6.88.07a64.3,64.3,0,0,0,35.55-7.85c4.37-2.42,8.6-2.67,13.2-1.85a8.08,8.08,0,0,1,5.09,2.86c12,14.42,27.73,20.48,46.19,20.6,8.12,0,16-.64,23.46-4.15a13.82,13.82,0,0,1,5.81-1c2.25,0,4.13,2.72,3.63,4.92a26.24,26.24,0,0,1-1.32,3.12c-4.65,12.17-1.88,23.2,5.92,33,2.17,2.71,6.09,4.07,9.32,5.86,2.49,1.38,5.26,2.26,7.68,3.74a3.54,3.54,0,0,1,.19,5.87,20.31,20.31,0,0,1-2.87,1.84c-14.12,7.91-20.69,21-23.88,36-1.13,5.36.93,10.75,2.65,15.94a57.2,57.2,0,0,1,2.28,7.35c.63,3.33-1.25,5.55-4.74,5.64a33.64,33.64,0,0,1-6.76-.74c-19-3.33-36.39.36-51.73,12.4-2.24,1.76-4.26,3.83-6.44,5.67-2.93,2.47-5.43,2.7-8.59.86a15.43,15.43,0,0,1-2.1-1.5c-6.69-5.62-14.73-7.23-23.14-8-13.19-1.23-25.78,1.36-37.68,6.62-6.7,3-11.49.84-16.33-3.12-2.65-2.18-5.15-4.55-7.64-6.91a24.73,24.73,0,0,0-12.93-6.4c-15.06-2.69-30.13-3.61-45.11.76-4.93,1.44-10,2.46-14.87,4.11s-8.33-.65-11.48-3.67c-.87-.83-1-2.56-1.19-3.92-.87-5.65-1.52-11.33-2.46-17a24.82,24.82,0,0,0-12.9-18.3c-4.95-2.78-9.12-7.08-15.62-7.77L0,98c3.06-2.94,5.88-5.71,8.77-8.4,10.63-9.91,14.4-22.38,13.5-36.5A10.73,10.73,0,0,0,20,47.79c-2.75-3.66-2.57-7.3-.65-11.71,6.28.84,12.44,1.81,18.63,2.47C48,39.61,57.26,37,66.25,32.92A36.86,36.86,0,0,0,80.61,21.1c1.8-2.39,3.17-5,3.15-7.8,0-4.54,2.41-8.06,4-11.93C88,.93,88.7.7,89.68,0ZM194.84,20.36c-15.43,9.11-32.61,10.91-50.33,10.35s-34.57-4-49.91-13.77c-1.85,2.88-3.4,5.25-4.9,7.64a45.12,45.12,0,0,1-19,17c-9.12,4.34-18.77,7-29,6.82-2.49,0-5,.21-7.58.33-1.24,4.16-.63,7.9-.72,11.56A44.6,44.6,0,0,1,17.54,94.14c-1,.85-2.52,1.5-1.94,3.56,4.17,2.69,8.46,5.52,12.8,8.24a34.44,34.44,0,0,1,15,20.23c1,3.26,1.18,6.74,1.75,10.11.47,2.76,0,5.82,2.82,8.21a20.18,20.18,0,0,0,3.86-.54,90.34,90.34,0,0,1,31.26-4.72c8,.32,16,.8,24,1.71,10.57,1.22,19.9,5.19,26.92,13.63a33.67,33.67,0,0,0,4.06,3.5c24-8,48-11.37,71.22-.21,5.26-3,9.8-6,14.66-8.33a99.28,99.28,0,0,1,15.19-5.81,104.18,104.18,0,0,1,16-3.1c5.26-.64,10.6-.6,16.3-.87a55.92,55.92,0,0,0-1.45-7.14c-1.8-5.13-1-10.05.25-15.17a66,66,0,0,1,16.47-29.69c1.3-1.39,2.5-2.86,3.56-4.08-3.62-3.09-7.22-5.55-10-8.71a37.14,37.14,0,0,1-9.39-25.18c0-2.21.67-4.61-1.41-6.57a126.89,126.89,0,0,1-31.51-.33,59.93,59.93,0,0,1-29.87-12C203.69,27.6,199.53,24.12,194.84,20.36Z"}),react.exports.createElement("path",{d:"M194.84,20.36c4.69,3.76,8.85,7.24,13.15,10.53a59.93,59.93,0,0,0,29.87,12,126.89,126.89,0,0,0,31.51.33c2.08,2,1.39,4.36,1.41,6.57A37.14,37.14,0,0,0,280.17,75c2.81,3.16,6.41,5.62,10,8.71-1.06,1.22-2.26,2.69-3.56,4.08a66,66,0,0,0-16.47,29.69c-1.28,5.12-2.05,10-.25,15.17a55.92,55.92,0,0,1,1.45,7.14c-5.7.27-11,.23-16.3.87a104.18,104.18,0,0,0-16,3.1,99.28,99.28,0,0,0-15.19,5.81c-4.86,2.32-9.4,5.31-14.66,8.33C186,146.7,162,150.06,138,158.07a33.67,33.67,0,0,1-4.06-3.5c-7-8.44-16.35-12.41-26.92-13.63-7.94-.91-16-1.39-24-1.71A90.34,90.34,0,0,0,51.83,144a20.18,20.18,0,0,1-3.86.54c-2.84-2.39-2.35-5.45-2.82-8.21-.57-3.37-.79-6.85-1.75-10.11a34.44,34.44,0,0,0-15-20.23c-4.34-2.72-8.63-5.55-12.8-8.24-.58-2.06,1-2.71,1.94-3.56A44.6,44.6,0,0,0,33.4,60.26c.09-3.66-.52-7.4.72-11.56,2.6-.12,5.09-.37,7.58-.33,10.26.16,19.91-2.48,29-6.82a45.12,45.12,0,0,0,19-17c1.5-2.39,3-4.76,4.9-7.64,15.34,9.79,32.21,13.21,49.91,13.77S179.41,29.47,194.84,20.36Z"}))))),SvgHeart=t=>react.exports.createElement("svg",{t:1705821505982,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":2318,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M760.384 64c47.808 0 91.968 11.968 132.352 35.84a264.32 264.32 0 0 1 95.872 97.152A263.68 263.68 0 0 1 1024 330.88c0 34.752-6.592 68.544-19.712 101.312a262.4 262.4 0 0 1-57.536 87.424L512 960 77.248 519.68A268.8 268.8 0 0 1 0 330.88c0-48.384 11.776-93.056 35.392-133.952A264.32 264.32 0 0 1 131.2 99.84 255.296 255.296 0 0 1 263.68 64 260.736 260.736 0 0 1 449.92 142.208l62.08 62.912 62.144-62.912a258.944 258.944 0 0 1 86.336-58.24A259.584 259.584 0 0 1 760.512 64h-0.128z",fill:"currentColor","p-id":2319})),SvgAlert=t=>react.exports.createElement("svg",{t:1705823230352,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":3291,xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,...t},react.exports.createElement("path",{d:"M877.714286 658.285714 877.714286 365.714286C877.714286 163.766857 713.947429 0 512 0 310.052571 0 146.285714 163.766857 146.285714 365.714286L146.285714 658.285714 0 950.857143 409.014857 950.857143C424.118857 993.389714 464.274286 1024 512 1024 559.725714 1024 599.881143 993.389714 614.985143 950.857143L1024 950.857143 877.714286 658.285714",fill:"currentColor","p-id":3292})),shapeStyleSwitch={line_1:[{type:ShapeStyle.Line,icon:SvgLine},{type:ShapeStyle.Rect,icon:SvgRect},{type:ShapeStyle.Circle,icon:SvgCircle},{type:ShapeStyle.Ellipse,icon:SvgEllipse},{type:ShapeStyle.Triangle,icon:SvgTriangle}],line_2:[{type:ShapeStyle.ArrowLine,icon:SvgArrowLine},{type:ShapeStyle.ArrowOutline,icon:SvgArrowOutline},{type:ShapeStyle.Cloud,icon:SvgCloud},{type:ShapeStyle.Tooltips,icon:SvgTooltips},{type:ShapeStyle.Lightning,icon:SvgLightning}],line_3:[{type:ShapeStyle.Close,icon:SvgClose$1},{type:ShapeStyle.Check,icon:SvgCheck},{type:ShapeStyle.Info,icon:SvgInfo$1},{type:ShapeStyle.Backspace,icon:SvgBackspace},{type:ShapeStyle.Block,icon:SvgBlock}],line_4:[{type:ShapeStyle.Speaker,icon:SvgSpeaker},{type:ShapeStyle.Search,icon:SvgSearch},{type:ShapeStyle.InfoOutline,icon:SvgInfoOutline},{type:ShapeStyle.Heart,icon:SvgHeart},{type:ShapeStyle.Alert,icon:SvgAlert}]},ShapeStyleConfig=()=>{const{shapeStyle:t,updateShapeStyle:e}=useShapeStore(),{t:a}=useTranslation();return jsxs("div",{className:"mt-3",children:[jsx("div",{className:"font-bold text-sm font-fredokaOne",children:a("title.shapeType")}),Object.keys(shapeStyleSwitch).map(r=>jsx("div",{className:"btn-group mt-1 flex",children:shapeStyleSwitch[r].map(({type:s,icon:o})=>jsx("button",{className:`btn btn-xs flex-grow text-[#eef1ff] ${t===s?"btn-active":""}`,onClick:()=>{e(s)},children:o({})},s))},r))]})},ShapeDrawConfig=()=>{const{shapeStyle:t}=useShapeStore(),e=react.exports.useMemo(()=>[ShapeStyle.Line,ShapeStyle.ArrowLine].includes(t),[t]);return jsxs(Fragment,{children:[jsx(ShapeStyleConfig,{}),e&&jsx(PointCountConfig,{}),jsx(BorderTypeConfig,{}),jsx(BorderStyleConfig,{}),!e&&jsx(FillStyleConfig,{})]})},DrawConfig=()=>{useTranslation();const{drawType:t,updateDrawType:e}=useBoardStore();return jsxs(Fragment,{children:[t===DrawType.FreeStyle&&jsx(FreeDrawConfig,{}),t===DrawType.Shape&&jsx(ShapeDrawConfig,{})]})},SvgBringforward=t=>react.exports.createElement("svg",{width:"36px",height:"36px",viewBox:"0 0 76 76",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",baseProfile:"full",enableBackground:"new 0 0 76.00 76.00",xmlSpace:"preserve",fill:"#66CC89",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fill:"#66CC89",fillOpacity:1,strokeWidth:.2,strokeLinejoin:"round",d:"M 58.5835,58.5836L 53.0417,58.5836L 58.5835,53.0418L 58.5835,58.5836 Z M 34.0418,52.2504L 30.0836,56.2086L 30.0836,52.2503L 34.0418,52.2504 Z M 41.9584,52.2504L 35.6253,58.5835L 30.0836,58.5835L 30.0833,57.7918L 35.6249,52.2504L 41.9584,52.2504 Z M 49.8746,52.2504L 43.5419,58.5835L 37.2085,58.5835L 43.5415,52.2504L 49.8746,52.2504 Z M 58.5835,45.1241L 58.5835,51.4587L 51.4586,58.5835L 45.125,58.5835L 58.5835,45.1241 Z M 52.2504,34.0418L 52.2503,30.0835L 56.2087,30.0836L 52.2504,34.0418 Z M 58.5835,35.6253L 52.2504,41.9584L 52.2504,35.6249L 57.7918,30.0833L 58.5835,30.0836L 58.5835,35.6253 Z M 58.5835,43.541L 52.2504,49.8745L 52.2504,43.5415L 58.5835,37.2084L 58.5835,43.541 Z M 19,50.6667L 19,19L 50.6667,19L 50.6671,50.6661L 19,50.6667 Z "}))),SvgSendbackward=t=>react.exports.createElement("svg",{width:"36px",height:"36px",viewBox:"0 0 76 76",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",baseProfile:"full",enableBackground:"new 0 0 76.00 76.00",xmlSpace:"preserve",fill:"#66CC89",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fill:"#66CC89",fillOpacity:1,strokeWidth:.2,strokeLinejoin:"round",d:"M 19,50.6667L 19,19L 50.6667,19L 50.6668,28.5003L 28.5,28.5002L 28.5,50.6667L 19,50.6667 Z M 58.5835,58.5836L 53.0415,58.5833L 58.5833,53.0416L 58.5835,58.5836 Z M 58.5833,45.1249L 58.5833,51.4585L 51.4584,58.5833L 45.1249,58.5833L 58.5833,45.1249 Z M 58.5833,35.6251L 35.6251,58.5834L 30.0833,58.5834L 30.0833,57.7918L 57.7918,30.0834L 58.5835,30.0836L 58.5833,35.6251 Z M 58.5833,43.5418L 43.5418,58.5833L 37.2082,58.5833L 58.5833,37.2082L 58.5833,43.5418 Z M 56.2084,30.0833L 30.0833,56.2085L 30.0833,49.8749L 49.8749,30.0834L 56.2084,30.0833 Z M 48.2918,30.0834L 30.0833,48.2918L 30.0833,41.9582L 41.9582,30.0834L 48.2918,30.0834 Z M 40.3751,30.0833L 30.0833,40.3751L 30.0833,34.0416L 34.0415,30.0833L 40.3751,30.0833 Z "}))),SvgBringtofront=t=>react.exports.createElement("svg",{width:"36px",height:"36px",viewBox:"0 0 76 76",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",baseProfile:"full",enableBackground:"new 0 0 76.00 76.00",xmlSpace:"preserve",fill:"#66CC89",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fill:"#66CC89",fillOpacity:1,strokeWidth:.2,strokeLinejoin:"round",d:"M 50.6667,25.3333L 50.6667,50.6667L 25.3333,50.6667L 25.3333,25.3333L 50.6667,25.3333 Z M 17.4169,17.417L 19.7919,17.417L 17.4169,19.7921L 17.4169,17.417 Z M 27.7088,17.417L 17.4168,27.709L 17.4168,21.3752L 21.3751,17.417L 27.7088,17.417 Z M 36.417,18.6045L 36.4168,23.7503L 30.8754,23.7503L 36.0213,18.6045L 36.417,18.6045 Z M 18.6043,36.4173L 18.6043,36.0216L 23.7502,30.8755L 23.7502,36.417L 18.6043,36.4173 Z M 17.4168,29.2924L 29.2919,17.417L 35.6255,17.417L 29.2922,23.7503L 23.7502,23.7503L 23.7502,29.2923L 17.4168,35.6257L 17.4168,29.2924 Z M 58.5833,58.5833L 56.2082,58.5833L 58.5833,56.2082L 58.5833,58.5833 Z M 48.2914,58.5833L 58.5833,48.2913L 58.5833,54.6251L 54.6251,58.5833L 48.2914,58.5833 Z M 39.5832,57.3958L 39.5833,52.25L 45.1248,52.25L 39.9788,57.3958L 39.5832,57.3958 Z M 57.3959,39.583L 57.3959,39.9787L 52.25,45.1248L 52.25,39.5833L 57.3959,39.583 Z M 58.5833,46.708L 46.7082,58.5833L 40.3747,58.5833L 46.708,52.25L 52.25,52.25L 52.25,46.708L 58.5833,40.3746L 58.5833,46.708 Z "}))),SvgSendtoback=t=>react.exports.createElement("svg",{width:"36px",height:"36px",viewBox:"0 0 76 76",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",baseProfile:"full",enableBackground:"new 0 0 76.00 76.00",xmlSpace:"preserve",fill:"#66CC89",stroke:"#66CC89",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{fill:"#66CC89",fillOpacity:1,strokeWidth:.2,strokeLinejoin:"round",d:"M 50.6667,25.3333L 50.6667,41.1667L 41.1667,41.1667L 41.1667,50.6667L 25.3333,50.6667L 25.3333,34.8333L 34.8333,34.8333L 34.8333,25.3333L 50.6667,25.3333 Z M 14.25,14.25L 16.6251,14.25L 14.25,16.6251L 14.25,14.25 Z M 24.542,14.2501L 14.25,24.5421L 14.25,18.2083L 18.2082,14.25L 24.542,14.2501 Z M 15.0415,33.2503L 33.25,15.0419L 33.2499,21.3759L 21.3751,33.2503L 15.0415,33.2503 Z M 14.25,26.1254L 26.1251,14.25L 32.4586,14.25L 14.25,32.4587L 14.25,26.1254 Z M 22.9584,33.2503L 33.25,22.9585L 33.25,29.2918L 29.2922,33.2503L 22.9584,33.2503 Z M 61.75,61.75L 59.3749,61.75L 61.75,59.3749L 61.75,61.75 Z M 51.458,61.75L 61.75,51.458L 61.75,57.7918L 57.7918,61.75L 51.458,61.75 Z M 60.9584,42.7497L 42.75,60.9581L 42.75,54.6241L 54.6249,42.7497L 60.9584,42.7497 Z M 61.75,49.8746L 49.8749,61.75L 43.5414,61.75L 61.75,43.5413L 61.75,49.8746 Z M 53.0415,42.7497L 42.75,53.0415L 42.75,46.7082L 46.7078,42.7497L 53.0415,42.7497 Z "}))),LayerConfig=()=>{const{t}=useTranslation();return jsxs(Fragment,{children:[jsx("div",{className:"font-bold font-fredokaOne mt-3 text-sm",children:t("title.layer")}),jsxs("ul",{className:"menu menu-vertical lg:menu-horizontal bg-base-100 rounded-box mt-1 w-max",style:{display:"inline-grid"},children:[jsx("li",{children:jsx("a",{className:"px-1.5 py-1",onClick:()=>paintBoard.bringForWard(),children:jsx(SvgBringforward,{})})}),jsx("li",{children:jsx("a",{className:"px-1.5 py-1",onClick:()=>paintBoard.seendBackWard(),children:jsx(SvgSendbackward,{})})}),jsx("li",{children:jsx("a",{className:"px-1.5 py-1",onClick:()=>paintBoard.bringToFront(),children:jsx(SvgBringtofront,{})})}),jsx("li",{children:jsx("a",{className:"px-1.5 py-1",onClick:()=>paintBoard.sendToBack(),children:jsx(SvgSendtoback,{})})})]})]})},SelectConfig=()=>{var a;const[t,e]=react.exports.useState(0);return react.exports.useEffect(()=>{const r=()=>e(s=>s+1);return paintBoard.addHookFn(r),()=>{paintBoard.removeHookFn(r)}},[e]),jsx("div",{className:"form-control",children:((a=paintBoard.canvas)==null?void 0:a.getActiveObject())&&jsx(LayerConfig,{})})},Slider=t=>{const e=react.exports.useRef(null),a=react.exports.useRef({slSize:0,slHeight:100}),{value:r,min:s,max:o,updateValue:n,height:i}=t,[c,d]=react.exports.useState(r?r/(o||(100-s?s:0))*100:0),[h,p]=react.exports.useState(200);return react.exports.useEffect(()=>{a.slSize=c;let f=o||(100-s?s:0);f=Math.round(f/100*c),f=f<(s||0)?s||0:f,n(f)},[c]),react.exports.useEffect(()=>{a.slHeight=h},[h]),react.exports.useEffect(()=>{var m;const f=w=>{const g=w.clientY+a.slSize/100*a.slHeight,S=k=>{let x=g-k.clientY;x=x/a.slHeight*100,x=x<0?0:x,x=x>100?100:x,d(x)},b=()=>{document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",b)};document.addEventListener("mousemove",S),document.addEventListener("mouseup",b)};(m=e.current)==null||m.addEventListener("mousedown",f);let u=o||(100-s?s:0);return d(r?r/u*100:0),i&&p(i),()=>{var w;(w=e.current)==null||w.removeEventListener("mousedown",f)}},[]),jsxs("div",{className:"el-slider__runway",style:{height:h+"px",width:"6px"},children:[jsx("div",{className:"el-slider__bar",style:{height:c+"%",bottom:"0%",width:"6px"}}),jsx("div",{ref:e,tabIndex:0,className:"el-slider__button-wrapper",style:{bottom:c+"%"},children:jsx("div",{className:"el-tooltip el-slider__button","aria-describedby":"el-tooltip-6541",tabIndex:0})})]})},CanvasSizeConfig=()=>{const{canvasWidth:t,canvasHeight:e,updateCanvasWidth:a,updateCanvasHeight:r}=useBoardStore(),{t:s}=useTranslation(),o=i=>{a(i/100)},n=i=>{r(i/100)};return jsxs("div",{className:"form-control mt-3",children:[jsx("div",{className:"font-bold font-fredokaOne text-sm",children:s("title.canvasSize")}),jsxs("div",{className:"mt-1 flex items-center w-full",style:{display:"inline-grid"},children:[jsx("div",{className:"text-sm font-fredokaOne w-12 mr-2 shrink-0",children:s("canvasSize.width")}),jsx("div",{className:"text-sm font-fredokaOne mr-2 text-primary-focus w-9 shrink-0",children:(t*100).toFixed(0)+"%"}),jsx(Slider,{min:1,max:45,height:150,value:t*100,updateValue:o})]}),jsxs("div",{className:"mt-1 flex items-center w-full",style:{display:"inline-grid"},children:[jsx("div",{className:"text-sm font-fredokaOne w-12 mr-2 shrink-0",children:s("canvasSize.height")}),jsx("div",{className:"text-sm font-fredokaOne mr-2 text-primary-focus w-9 shrink-0",children:(e*100).toFixed(0)+"%"}),jsx(Slider,{min:1,max:100,height:150,value:e*100,updateValue:n})]})]})},boardConfig$2=()=>jsx(Fragment,{children:jsx(CanvasSizeConfig,{})}),DrawAIConfig=()=>{const{openAutoDraw:t,updateAutoDrawState:e}=useDrawStore(),{t:a}=useTranslation();return jsx("div",{className:"form-control mt-3",children:jsxs("div",{className:"mt-1 flex items-start w-full",children:[jsx("div",{className:"font-fredokaOne text-sm",children:a("title.AI")}),jsx("input",{style:{marginLeft:"10px"},type:"checkbox",className:"toggle toggle-success toggle-sm",checked:t,onChange:e})]})})},SvgClose=t=>react.exports.createElement("svg",{className:"{className} ",xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 512 512",...t},react.exports.createElement("path",{d:"M64,384H448V341.33H64Zm0-106.67H448V234.67H64ZM64,128v42.67H448V128Z"})),SvgMenu=t=>react.exports.createElement("svg",{className:"{className} ",xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 512 512",...t},react.exports.createElement("polygon",{points:"400 145.49 366.51 112 256 222.51 145.49 112 112 145.49 222.51 256 112 366.51 145.49 400 256 289.49 366.51 400 400 366.51 289.49 256 400 145.49"})),ToolPanel=()=>{const{t}=useTranslation(),{mode:e,updateMode:a}=useBoardStore(),[r,s]=react.exports.useState(!0);return jsxs("div",{className:`fixed top-8 left-4 flex flex-col card shadow-xl overflow-visible z-3 bg-[#eef1ff] max-h-[90%] max-w-[10%] ${r?"p-1":""}`,style:{width:"5rem"},children:[jsxs("label",{className:"btn btn-circle swap swap-rotate absolute -top-7 left-2 h-8 w-8 min-h-0",children:[jsx("input",{type:"checkbox",onChange:()=>s(o=>!o)}),jsx(SvgClose,{className:"swap-on fill-current"}),jsx(SvgMenu,{className:"swap-off fill-current"})]}),r&&jsxs("div",{className:"max-h-[100%] overflow-y-auto noScrollbar",children:[jsx("div",{className:"tabs tabs-boxed bg-[#333C4D]",style:{display:"inline-grid"},children:modeSwitch.map(({type:o,text:n})=>jsx("a",{className:`tab tab-sm flex-grow font-fredokaOne text-white font-medium ${e===o?"tab-active":""}`,onClick:()=>{a(o)},children:t(n)},o))}),jsx(DrawAIConfig,{}),e===ActionMode.DRAW&&jsx(DrawConfig,{}),e===ActionMode.SELECT&&jsx(SelectConfig,{}),e===ActionMode.Board&&jsx(boardConfig$2,{})]})]})},SvgInfo=t=>react.exports.createElement("svg",{fill:"#65CC8A",width:"28px",height:"28px",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("title",null,"info1"),react.exports.createElement("path",{d:"M16 3c-7.18 0-13 5.82-13 13s5.82 13 13 13 13-5.82 13-13-5.82-13-13-13zM18.039 20.783c-0.981 1.473-1.979 2.608-3.658 2.608-1.146-0.187-1.617-1.008-1.369-1.845l2.16-7.154c0.053-0.175-0.035-0.362-0.195-0.419-0.159-0.056-0.471 0.151-0.741 0.447l-1.306 1.571c-0.035-0.264-0.004-0.7-0.004-0.876 0.981-1.473 2.593-2.635 3.686-2.635 1.039 0.106 1.531 0.937 1.35 1.85l-2.175 7.189c-0.029 0.162 0.057 0.327 0.204 0.379 0.16 0.056 0.496-0.151 0.767-0.447l1.305-1.57c0.035 0.264-0.024 0.726-0.024 0.902zM17.748 11.439c-0.826 0-1.496-0.602-1.496-1.488s0.67-1.487 1.496-1.487 1.496 0.602 1.496 1.487c0 0.887-0.67 1.488-1.496 1.488z"}))),SvgZh=t=>react.exports.createElement("svg",{className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":2917,width:30,height:30,...t},react.exports.createElement("path",{d:"M329.696785 539.274769H487.038091v-144.6129h-157.341306zM555.2065 539.274769H713.167338v-144.6129h-157.960838z",fill:"#231815","p-id":2918}),react.exports.createElement("path",{d:"M512 0C229.240454 0 0.000903 229.225101 0.000903 511.999097c0 282.761352 229.239551 512.000903 511.999097 512.000903 282.773995 0 511.997291-229.239551 511.997291-512.000903C1023.999097 229.225101 794.773995 0 512 0zM779.455475 603.700697H555.22998v210.967868h-68.193695V603.700697H263.435741V330.237747h223.60235V222.200726H555.231787v107.997284h224.223688v273.502687z",fill:"#231815","p-id":2919})),SvgEn=t=>react.exports.createElement("svg",{className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":2771,width:30,height:30,...t},react.exports.createElement("path",{d:"M511.998194 0C229.227811 0 0.000903 229.228714 0.000903 511.999097 0.000903 794.767674 229.227811 1023.998194 511.998194 1023.998194c282.772189 0 511.999097-229.23052 511.999097-511.999097C1023.999097 229.228714 794.772189 0 511.998194 0z m4.576952 727.549335H197.680437V308.279575h310.873302v70.908439H282.319732v92.982208H492.808952v70.657374H282.319732v114.062558h234.255414v70.659181z m310.871496 0h-80.351338v-155.002256c0-32.799081-1.726743-54.027541-5.129654-63.654674a44.564774 44.564774 0 0 0-16.761687-22.435012 47.702172 47.702172 0 0 0-27.891592-8.021407c-13.91509 0-26.35992 3.803891-37.450088 11.458636-11.057656 7.613202-18.670858 17.715369-22.731232 30.308309-4.10553 12.594746-6.153779 35.880486-6.153779 69.783166v137.565044h-80.353143V423.819618h74.641887v44.620767c26.506224-34.336171 59.852589-51.469939 100.080638-51.469939 17.756912 0 33.935191 3.184359 48.610699 9.547659 14.688151 6.413874 25.812637 14.536429 33.321078 24.457975 7.542759 9.921546 12.811492 21.159824 15.73395 33.75457 2.933295 12.594746 4.436067 30.602722 4.436067 54.074503l-0.001806 188.744182z",fill:"#231815","p-id":2772})),Mask=({show:t,clickMask:e,children:a})=>jsx("div",{className:`fixed top-0 left-0 right-0 bottom-0 bg-black z-10 bg-opacity-75 ${t?"block":"hidden"}`,onClick:e,children:jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-2/4 -translate-y-2/4",onClick:r=>r.stopPropagation(),children:a})}),swiper="",pagination="",guideInfoList=[{imageList:["/lam/getImage?type=file-store&&name=drawMode_freeStyle_1.3.0.png"],title:"FreeStyle",textList:["line1","line2","line3","line4","line5"]},{imageList:["/lam/getImage?type=file-store&&name=drawMode_shape_1.3.0.png"],title:"ShapeDraw",textList:["line1"]},{imageList:["/lam/getImage?type=file-store&&name=eraserMode_1.3.0.png"],title:"EraserMode",textList:["line1","line2"]},{imageList:["/lam/getImage?type=file-store&&name=selectMode_1.3.0.png"],title:"SelectMode",textList:["line1","line2","line3","line4","line5","line6"]},{imageList:["/lam/getImage?type=file-store&&name=boardMode_1.3.0.png"],title:"BoardMode",textList:["line1","line2","line3","line4"]},{imageList:["/lam/getImage?type=file-store&&name=borderConfig.png"],title:"BorderConfig",textList:["line1","line2","line3","line4"]},{imageList:["/lam/getImage?type=file-store&&name=files.png"],title:"FileConfig",textList:["line1"]}],GuideInfoSwiper=()=>{const{t}=useTranslation();return jsx(Swiper,{slidesPerView:1,spaceBetween:20,modules:[Pagination],pagination:{dynamicBullets:!0,clickable:!0},autoHeight:!0,grabCursor:!0,className:"max-w-[500px] xs:max-w-[80vw]",children:guideInfoList.map((e,a)=>jsx(SwiperSlide,{children:jsx("div",{className:"max-h-[50vh] overflow-y-auto",children:jsxs("div",{className:"flex w-full rounded-2xl p-3 bg-[#66CC8920] box-border justify-between",children:[jsx("div",{className:"shrink-0 w-[49%] flex flex-col items-center justify-start",children:e.imageList.map((r,s)=>jsx("img",{className:"max-w-full max-h-full rounded-2xl mt-5 first:mt-0",src:r},s))}),jsxs("div",{className:"w-[48%] shrink-0 p-3 rounded-2xl bg-[#eef1ff] box-border h-max",children:[jsx("div",{className:"text-lg font-fredokaOne",children:e.title}),e.textList.map((r,s)=>jsxs("div",{className:"text-sm mt-3",children:[s+1,". ",t(`info.${e.title}.${r}`)]},s))]})]})})},a))})},GuideInfo=()=>{const{t,i18n:e}=useTranslation(),{language:a,updateLanguage:r}=useBoardStore(),[s,o]=react.exports.useState(!1),n=()=>{const i=a==="en"?"zh":"en";e.changeLanguage(i),r(i)};return jsxs(Fragment,{children:[jsx("div",{className:"fixed bottom-5 left-5 flex flex-row justify-center items-center px-2.5 py-1.5 rounded-full bg-[#eef1ff]",children:jsx(SvgInfo,{className:"bg-white rounded-full cursor-pointer",onClick:()=>o(!0)})}),jsx(Mask,{show:s,clickMask:()=>{o(!1)},children:jsxs("div",{className:"flex flex-col bg-white rounded-2xl overflow-hidden p-3 max-h-[80vh]",children:[jsxs("div",{className:"flex items-center justify-between font-bold mb-4 ",children:[jsx("div",{className:"text-sm",style:{textAlign:"center",width:"100%"},children:t("info.welecome")}),jsx("span",{className:"ml-5 cursor-pointer border-solid border-4 border-[#7b8fa1] rounded-full hover:border-[#567189] flex items-center justify-center",onClick:n,children:a==="en"?jsx(SvgEn,{}):jsx(SvgZh,{})})]}),jsx(GuideInfoSwiper,{})]})})]})},userStore=create((t,e)=>({userId:"",outputImages:[],autoTask:!1,updateUserId(a){e().userId!=a&&t({userId:a,outputImages:[]})},updateoutputImages(a){const r=[...e().outputImages],s=r.findIndex(o=>o===a);console.log(r[0],a),r[0]==a||(s!==-1?r.splice(s,1):r.unshift(a)),t({outputImages:r})},clearOutputImages(){t({outputImages:[]})},updateAutoTask(a){t({autoTask:a})}})),COMFY_UI_LOCALHOST="139.9.53.208",COMFY_UI_BASE_URL="http://"+COMFY_UI_LOCALHOST,COMFY_UI_GET_COMMANDS=COMFY_UI_BASE_URL+"/wechatauth/getCommands",COMFY_UI_ADD_TASK=COMFY_UI_BASE_URL+"/wechatauth/addTask",COMFY_UI_GET_HISTORYS=COMFY_UI_BASE_URL+"/wechatauth/getHistorys",COMFY_UI_GET_HISTORY=COMFY_UI_BASE_URL+"/history/",COMFY_UI_UPLOAD=COMFY_UI_BASE_URL+"/upload/image",COMFY_UI_IMAGE_URL=COMFY_UI_BASE_URL+"/view?",COMFY_UI_GET_USER_ID=COMFY_UI_BASE_URL+"/wechatauth/getUserOpenId",COMFY_UI_GET_QR_CODE_URL=COMFY_UI_BASE_URL+"/wechatauth/getQrCodeUrl",COMFY_UI_SOCKET_URL="ws://"+COMFY_UI_LOCALHOST+"/ws?clientId=",getCommands=async()=>{const t=await axios.get(COMFY_UI_GET_COMMANDS+"?type=paint-board");return t==null?void 0:t.data},getQrCodeUrl=async()=>{const t=await axios.get(COMFY_UI_GET_QR_CODE_URL);return t==null?void 0:t.data},getHistorys=async t=>{const e=await axios.get(COMFY_UI_GET_HISTORYS+"?openId="+t+"&type=paint-board");return e==null?void 0:e.data},getHistory=async t=>{const e=await axios.get(COMFY_UI_GET_HISTORY+t);return e==null?void 0:e.data},uploadImage=async t=>{try{let e=new FormData;e.append("image",t,t.name),e.append("overwrite","true"),e.append("type","input");const a=await axios.post(COMFY_UI_UPLOAD,e);return a==null?void 0:a.data}catch(e){return console.log(e),null}},addTask=async t=>{try{let e=new FormData;for(const r in t)if(Object.hasOwnProperty.call(t,r)){const s=t[r];s&&e.append(r,s)}const a=await axios.post(COMFY_UI_ADD_TASK,e);return a==null?void 0:a.data}catch(e){return console.log(e),null}},getUserOpenId=async t=>{try{let e=new FormData;for(const r in t)if(Object.hasOwnProperty.call(t,r)){const s=t[r];s&&e.append(r,s)}const a=await axios.post(COMFY_UI_GET_USER_ID,e);return a==null?void 0:a.data}catch(e){return console.log(e),null}},Authorize=()=>{const{t,i18n:e}=useTranslation(),{userId:a,updateUserId:r}=userStore(),[s,o]=react.exports.useState(t("authorize.title")),[n,i]=react.exports.useState(""),[c,d]=react.exports.useState(""),h=async()=>{let u=await getUserOpenId({code:n});u.success?(r(u.openId),setTimeout(function(){pywebview.api.setOpenId(u.openId)},1e3)):o("\u6388\u6743\u7801\u6821\u9A8C\u5931\u8D25\uFF0C\u8BF7\u5148\u626B\u7801\u5173\u6CE8\u83B7\u53D6\u6388\u6743\u7801\uFF01")},p=async()=>{let u=await getQrCodeUrl();u.success&&d(u.qrcodeUrl)};return react.exports.useEffect(()=>{a||p()},[]),jsx(Fragment,{children:jsx(Mask,{show:!a,clickMask:()=>{},children:jsxs("div",{className:"flex flex-col bg-white rounded-2xl overflow-hidden p-3 max-h-[80vh]",children:[jsx("div",{className:"flex items-center justify-between font-bold mb-4 ",children:jsx("div",{className:"text-sm",style:{textAlign:"center",width:"100%"},children:s})}),jsx("img",{src:c}),jsx("input",{placeholder:"\u8F93\u5165\u6388\u6743\u7801",value:n,name:"code",onChange:u=>{const{name:m,value:w}=u.target;m=="code"&&i(w)}}),jsx("button",{style:{color:"red"},onClick:h,children:"\u786E\u5B9A"})]})})})},CleanModal=()=>{const{t}=useTranslation(),e=()=>{var a;(a=paintBoard.history)==null||a.clean()};return jsxs(Fragment,{children:[jsx("input",{type:"checkbox",id:"clean-modal",className:"modal-toggle"}),jsx("label",{htmlFor:"clean-modal",className:"modal cursor-pointer",children:jsxs("label",{className:"modal-box relative flex flex-col justify-center items-center",htmlFor:"",children:[jsx("h3",{className:"text-lg font-bold text-center",children:t("cleanModal.title")}),jsxs("div",{className:"w-64 flex justify-between mt-10",children:[jsx("label",{htmlFor:"clean-modal",className:"btn btn-active btn-primary btn-md w-2/5",onClick:e,children:t("cleanModal.confirm")}),jsx("label",{htmlFor:"clean-modal",className:"btn btn-active btn-ghost btn-md w-2/5",children:t("cleanModal.cancel")})]})]})})]})},SvgUndo=t=>react.exports.createElement("svg",{className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":6082,width:26,height:26,...t},react.exports.createElement("path",{d:"M553.510259 201.860177c-312.055513 53.779187-655.249802 337.402216-45.768564 793.695176C283.646139 771.440335 83.62989 414.41051 555.277559 433.448208l1.201715 162.84822 297.307743-261.013025L552.261108 30.273979 553.510259 201.860177 553.510259 201.860177zM553.510259 201.860177","p-id":6083,fill:"#65CC8A"})),SvgRedo=t=>react.exports.createElement("svg",{className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":6082,width:26,height:26,...t},react.exports.createElement("path",{d:"M553.510259 201.860177c-312.055513 53.779187-655.249802 337.402216-45.768564 793.695176C283.646139 771.440335 83.62989 414.41051 555.277559 433.448208l1.201715 162.84822 297.307743-261.013025L552.261108 30.273979 553.510259 201.860177 553.510259 201.860177zM553.510259 201.860177","p-id":6083,fill:"#65CC8A"})),SvgSave=t=>react.exports.createElement("svg",{width:"28px",height:"28px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"System / Save"},react.exports.createElement("path",{id:"Vector",d:"M17 21.0002L7 21M17 21.0002L17.8031 21C18.921 21 19.48 21 19.9074 20.7822C20.2837 20.5905 20.5905 20.2843 20.7822 19.908C21 19.4806 21 18.921 21 17.8031V9.21955C21 8.77072 21 8.54521 20.9521 8.33105C20.9095 8.14 20.8393 7.95652 20.7432 7.78595C20.6366 7.59674 20.487 7.43055 20.1929 7.10378L17.4377 4.04241C17.0969 3.66374 16.9242 3.47181 16.7168 3.33398C16.5303 3.21 16.3242 3.11858 16.1073 3.06287C15.8625 3 15.5998 3 15.075 3H6.2002C5.08009 3 4.51962 3 4.0918 3.21799C3.71547 3.40973 3.40973 3.71547 3.21799 4.0918C3 4.51962 3 5.08009 3 6.2002V17.8002C3 18.9203 3 19.4796 3.21799 19.9074C3.40973 20.2837 3.71547 20.5905 4.0918 20.7822C4.5192 21 5.07899 21 6.19691 21H7M17 21.0002V17.1969C17 16.079 17 15.5192 16.7822 15.0918C16.5905 14.7155 16.2837 14.4097 15.9074 14.218C15.4796 14 14.9203 14 13.8002 14H10.2002C9.08009 14 8.51962 14 8.0918 14.218C7.71547 14.4097 7.40973 14.7155 7.21799 15.0918C7 15.5196 7 16.0801 7 17.2002V21M15 7H9",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgClean=t=>react.exports.createElement("svg",{t:1702137196077,className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg","p-id":4092,xmlnsXlink:"http://www.w3.org/1999/xlink",width:26,height:26,...t},react.exports.createElement("path",{d:"M512 0a170.666667 170.666667 0 0 1 170.569143 164.815238L682.666667 170.666667v146.285714h146.285714a146.285714 146.285714 0 0 1 146.18819 140.8L975.238095 463.238095v24.380953a146.334476 146.334476 0 0 1-97.523809 137.947428V877.714286a146.285714 146.285714 0 0 1-140.8 146.18819L731.428571 1024H292.571429a146.285714 146.285714 0 0 1-146.188191-140.8L146.285714 877.714286V625.590857a146.358857 146.358857 0 0 1-97.426285-132.486095L48.761905 487.619048v-24.380953a146.285714 146.285714 0 0 1 140.8-146.18819L195.047619 316.952381h146.285714V170.666667A170.666667 170.666667 0 0 1 506.148571 0.097524L512 0z m268.190476 633.904762H243.809524v243.809524a48.761905 48.761905 0 0 0 41.374476 48.201143l3.754667 0.438857L292.571429 926.47619h24.380952v-46.567619a48.761905 48.761905 0 1 1 97.523809 0V926.47619l48.761905 0.024381v-133.022476a48.761905 48.761905 0 1 1 97.52381 0V926.47619h48.761905v-219.428571a48.761905 48.761905 0 1 1 97.523809 0v219.428571h24.380952a48.761905 48.761905 0 0 0 48.64-45.104761L780.190476 877.714286V633.904762z m48.761905-219.428572H195.047619a48.761905 48.761905 0 0 0-48.64 45.104762L146.285714 463.238095v24.380953a48.761905 48.761905 0 0 0 45.104762 48.64L195.047619 536.380952h633.904762a48.761905 48.761905 0 0 0 48.64-45.104762L877.714286 487.619048v-24.380953a48.761905 48.761905 0 0 0-48.761905-48.761905zM512 97.52381a73.142857 73.142857 0 0 0-73.020952 68.851809L438.857143 170.666667v146.285714h146.285714V170.666667a73.142857 73.142857 0 0 0-64.609524-72.655238l-4.242285-0.365715L512 97.52381z",fill:"#65CC8A","p-id":4093})),SvgUpload=t=>react.exports.createElement("svg",{width:"28px",height:"28px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M13 4H8.8C7.11984 4 6.27976 4 5.63803 4.32698C5.07354 4.6146 4.6146 5.07354 4.32698 5.63803C4 6.27976 4 7.11984 4 8.8V15.2C4 16.8802 4 17.7202 4.32698 18.362C4.6146 18.9265 5.07354 19.3854 5.63803 19.673C6.27976 20 7.11984 20 8.8 20H15.2C16.8802 20 17.7202 20 18.362 19.673C18.9265 19.3854 19.3854 18.9265 19.673 18.362C20 17.7202 20 16.8802 20 15.2V11",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M4 16L8.29289 11.7071C8.68342 11.3166 9.31658 11.3166 9.70711 11.7071L13 15M13 15L15.7929 12.2071C16.1834 11.8166 16.8166 11.8166 17.2071 12.2071L20 15M13 15L15.25 17.25",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M18 8V3M18 3L16 5M18 3L20 5",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgCopy=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M10.5 2.0028C9.82495 2.01194 9.4197 2.05103 9.09202 2.21799C8.71569 2.40973 8.40973 2.71569 8.21799 3.09202C8.05103 3.4197 8.01194 3.82495 8.0028 4.5M19.5 2.0028C20.1751 2.01194 20.5803 2.05103 20.908 2.21799C21.2843 2.40973 21.5903 2.71569 21.782 3.09202C21.949 3.4197 21.9881 3.82494 21.9972 4.49999M21.9972 13.5C21.9881 14.175 21.949 14.5803 21.782 14.908C21.5903 15.2843 21.2843 15.5903 20.908 15.782C20.5803 15.949 20.1751 15.9881 19.5 15.9972M22 7.99999V9.99999M14.0001 2H16M5.2 22H12.8C13.9201 22 14.4802 22 14.908 21.782C15.2843 21.5903 15.5903 21.2843 15.782 20.908C16 20.4802 16 19.9201 16 18.8V11.2C16 10.0799 16 9.51984 15.782 9.09202C15.5903 8.71569 15.2843 8.40973 14.908 8.21799C14.4802 8 13.9201 8 12.8 8H5.2C4.0799 8 3.51984 8 3.09202 8.21799C2.71569 8.40973 2.40973 8.71569 2.21799 9.09202C2 9.51984 2 10.0799 2 11.2V18.8C2 19.9201 2 20.4802 2.21799 20.908C2.40973 21.2843 2.71569 21.5903 3.09202 21.782C3.51984 22 4.07989 22 5.2 22Z",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgText=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M3.5 3.5C3.5 2.94772 3.94772 2.5 4.5 2.5H19.5C20.0523 2.5 20.5 2.94772 20.5 3.5V6.5C20.5 7.05228 20.0523 7.5 19.5 7.5H18.5C17.9477 7.5 17.5 7.05228 17.5 6.5V5.5H13.5V18.5H15.5C16.0523 18.5 16.5 18.9477 16.5 19.5V20.5C16.5 21.0523 16.0523 21.5 15.5 21.5H8.5C7.94772 21.5 7.5 21.0523 7.5 20.5V19.5C7.5 18.9477 7.94772 18.5 8.5 18.5H10.5V5.5H6.5V6.5C6.5 7.05228 6.05228 7.5 5.5 7.5H4.5C3.94772 7.5 3.5 7.05228 3.5 6.5V3.5Z",fill:"#65CC8A"}))),SvgDelete=t=>react.exports.createElement("svg",{width:"28px",height:"28px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M10 11V17",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M14 11V17",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M4 7H20",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M6 7H12H18V18C18 19.6569 16.6569 21 15 21H9C7.34315 21 6 19.6569 6 18V7Z",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("path",{d:"M9 5C9 3.89543 9.89543 3 11 3H13C14.1046 3 15 3.89543 15 5V7H9V5Z",stroke:"#66CC89",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}))),SvgFileList=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("rect",{x:4,y:4,width:16,height:18,rx:3,stroke:"#65CC8A",strokeWidth:2}),react.exports.createElement("path",{d:"M16 10L8 10",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round"}),react.exports.createElement("path",{d:"M16 13L8 13",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round"}),react.exports.createElement("path",{d:"M16 16L8 16",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round"}))),SvgAddFile=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"Edit / Add_Plus_Square"},react.exports.createElement("path",{id:"Vector",d:"M8 12H12M12 12H16M12 12V16M12 12V8M4 16.8002V7.2002C4 6.08009 4 5.51962 4.21799 5.0918C4.40973 4.71547 4.71547 4.40973 5.0918 4.21799C5.51962 4 6.08009 4 7.2002 4H16.8002C17.9203 4 18.4801 4 18.9079 4.21799C19.2842 4.40973 19.5905 4.71547 19.7822 5.0918C20.0002 5.51962 20.0002 6.07967 20.0002 7.19978V16.7998C20.0002 17.9199 20.0002 18.48 19.7822 18.9078C19.5905 19.2841 19.2842 19.5905 18.9079 19.7822C18.4805 20 17.9215 20 16.8036 20H7.19691C6.07899 20 5.5192 20 5.0918 19.7822C4.71547 19.5905 4.40973 19.2842 4.21799 18.9079C4 18.4801 4 17.9203 4 16.8002Z",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgRemoveFile=t=>react.exports.createElement("svg",{width:"26px",height:"26px",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("g",{id:"Edit / Add_Minus_Square"},react.exports.createElement("path",{id:"Vector",d:"M8 12H16M4 16.8002V7.2002C4 6.08009 4 5.51962 4.21799 5.0918C4.40973 4.71547 4.71547 4.40973 5.0918 4.21799C5.51962 4 6.08009 4 7.2002 4H16.8002C17.9203 4 18.4801 4 18.9079 4.21799C19.2842 4.40973 19.5905 4.71547 19.7822 5.0918C20.0002 5.51962 20.0002 6.07967 20.0002 7.19978V16.7998C20.0002 17.9199 20.0002 18.48 19.7822 18.9078C19.5905 19.2841 19.2842 19.5905 18.9079 19.7822C18.4805 20 17.9215 20 16.8036 20H7.19691C6.07899 20 5.5192 20 5.0918 19.7822C4.71547 19.5905 4.40973 19.2842 4.21799 18.9079C4 18.4801 4 17.9203 4 16.8002Z",stroke:"#65CC8A",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})))),SvgExportFile=t=>react.exports.createElement("svg",{fill:"#65CC8A",width:"64px",height:"64px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M11 16h2V7h3l-4-5-4 5h3z"}),react.exports.createElement("path",{d:"M5 22h14c1.103 0 2-.897 2-2v-9c0-1.103-.897-2-2-2h-4v2h4v9H5v-9h4V9H5c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2z"}))),SvgImportFile=t=>react.exports.createElement("svg",{fill:"#65CC8A",width:"64px",height:"64px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"m12 18 4-5h-3V2h-2v11H8z"}),react.exports.createElement("path",{d:"M19 9h-4v2h4v9H5v-9h4V9H5c-1.103 0-2 .897-2 2v9c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-9c0-1.103-.897-2-2-2z"}))),Toast=({message:t})=>{const{t:e}=useTranslation();return jsx("div",{className:"toast toast-top toast-center",children:jsx("div",{className:"alert alert-success",children:jsx("div",{children:jsx("span",{className:"whitespace-nowrap",children:e(t)})})})})},FileList=({updateShow:t})=>{const{files:e,currentId:a,updateCurrentFile:r,updateTitle:s,addFile:o,saveJSON:n,uploadFile:i}=useFileStore(),{updateMode:c}=useBoardStore(),[d,h]=react.exports.useState(!1),p=u=>{r(u),paintBoard.initCanvasStorage(),c(ActionMode.DRAW)},f=u=>{i(u).then(m=>{m?(paintBoard.initCanvasStorage(),c(ActionMode.DRAW)):(h(!0),setTimeout(()=>{h(!1)},1500))})};return jsxs("div",{className:"drawer drawer-end fixed top-0 z-[1]",children:[jsx("input",{id:"my-drawer-4",type:"checkbox",className:"drawer-toggle"}),jsxs("div",{className:"drawer-side",children:[jsx("label",{htmlFor:"my-drawer-4",className:"drawer-overlay",onClick:()=>t(!1)}),jsxs("div",{className:"h-screen bg-white px-5 py-7 overflow-hidden max-w-[80%]",children:[jsx("div",{className:"font-fredokaOne text-2xl text-center",children:"PAINT-BOARD FILES"}),jsxs("div",{className:"bg-[#eef1ff] rounded-2xl mt-5 py-2 w-max max-w-full",children:[jsxs("div",{className:"flex justify-end items-center px-4 pb-2",children:[jsx(SvgAddFile,{className:"hover:bg-slate-200 cursor-pointer p-1 rounded-lg w-9 h-9",onClick:o}),jsx("label",{htmlFor:"delete-file-modal",children:jsx(SvgRemoveFile,{className:"hover:bg-slate-200 cursor-pointer p-1 rounded-lg w-9 h-9"})}),jsx(SvgExportFile,{className:"hover:bg-slate-200 cursor-pointer p-1 rounded-lg w-9 h-9",onClick:n}),jsx("label",{htmlFor:"file-upload",className:"cursor-pointer",children:jsx(SvgImportFile,{className:"hover:bg-slate-200 cursor-pointer p-1 rounded-lg w-9 h-9"})}),jsx("input",{type:"file",accept:"application/json",id:"file-upload",className:"hidden",onChange:u=>{var m;return f((m=u.target.files)==null?void 0:m[0])}})]}),jsx("ul",{className:"menu text-base-content my-2 mx-4 py-3 px-2 rounded-xl bg-white max-h-[70vh] xs:max-h-[40vh] overflow-y-auto noScrollbar flex-nowrap max-w-full",children:e.map(u=>jsx("li",{className:"my-1 block rounded-lg overflow-hidden",onClick:()=>p(u.id),children:jsx("a",{className:`${u.id===a?"active":""}`,children:jsx("input",{value:u.title,className:"px-2 max-w-full",onChange:m=>s(m.target.value,u.id)})})},u.id))})]})]})]}),d&&jsx(Toast,{message:"toast.uploadFileFail"})]})},DrawWidthConfig=()=>{useTranslation();const{drawWidth:t,updateDrawWidth:e}=useDrawStore(),{drawColors:a}=useDrawStore();return jsx("div",{children:jsxs("div",{className:"flex items-center",style:{margin:"0 1rem"},children:[jsx("div",{className:"text-lg font-fredokaOne mr-2 text-primary-focus",style:{color:a[0],width:"2rem"},children:t}),jsx("input",{type:"range",min:"5",max:"300",step:"1",value:t,className:"range range-primary range-xs",onChange:r=>e(Number(r.target.value))})]})})},EraserConfig=()=>{useTranslation();const{eraserWidth:t,updateEraserWidth:e}=useDrawStore();return jsx(Fragment,{children:jsx("div",{className:"",children:jsxs("div",{className:"flex items-center",style:{margin:"0 1rem"},children:[jsx("div",{className:"text-lg font-fredokaOne mr-2 text-primary-focus",style:{width:"2rem"},children:t}),jsx("input",{type:"range",min:"5",max:"300",step:"1",value:t,className:"range range-primary range-xs",onChange:a=>e(Number(a.target.value))})]})})})},BoardOperation=()=>{const{t}=useTranslation(),{mode:e}=useBoardStore(),[a,r]=react.exports.useState(!1),[s,o]=react.exports.useState(!0),n=()=>{paintBoard.copyObject()},i=()=>{paintBoard.deleteObject()},c=()=>{var u;(u=paintBoard.history)==null||u.undo()},d=()=>{var u;(u=paintBoard.history)==null||u.redo()},h=()=>{var u;(u=paintBoard.textElement)==null||u.loadText()},p=u=>{var g;const m=(g=u.target.files)==null?void 0:g[0];if(!m)return;const w=new FileReader;w.onload=S=>{var k;const b=(k=S.target)==null?void 0:k.result;b&&(console.log(b),b&&typeof b=="string"&&new ImageElement().addImage(b)),u.target.value=""},w.readAsDataURL(m)},f=()=>{paintBoard.saveImage()};return jsxs(Fragment,{children:[jsxs("div",{className:"fixed bottom-2 left-2/4 -translate-x-2/4 flex items-center bg-[#eef1ff] rounded-full xs:flex-col xs:right-5 xs:left-auto xs:translate-x-0 xs:justify-normal xs:max-h-[70vh] xs:overflow-y-auto xs:noScrollbar",children:[ActionMode.DRAW==e&&jsx(DrawWidthConfig,{}),e===ActionMode.ERASE&&jsx(EraserConfig,{}),s&&jsxs(Fragment,{children:[jsx("div",{onClick:c,className:"min-xs:tooltip cursor-pointer py-1.5 pl-3 pr-2 rounded-l-full hover:bg-slate-200 xs:pl-2 xs:rounded-l-none xs:rounded-t-full","data-tip":t("operate.undo"),children:jsx(SvgUndo,{className:"transform scale-x-[-1] scale-y-[1]"})}),jsx("div",{onClick:d,className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.redo"),children:jsx(SvgRedo,{})}),[ActionMode.SELECT,ActionMode.Board].includes(e)&&jsxs(Fragment,{children:[jsx("div",{onClick:n,className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.copy"),children:jsx(SvgCopy,{})}),jsx("div",{onClick:i,className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.delete"),children:jsx(SvgDelete,{})})]}),jsx("div",{"data-tip":t("operate.text"),className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200",onClick:h,children:jsx(SvgText,{})}),jsxs("div",{className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.image"),children:[jsx("label",{htmlFor:"image-upload",className:"cursor-pointer",children:jsx(SvgUpload,{})}),jsx("input",{type:"file",id:"image-upload",className:"hidden",onChange:p})]}),jsx("label",{htmlFor:"clean-modal",className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.clean"),children:jsx(SvgClean,{})}),jsx("div",{onClick:f,className:"min-xs:tooltip cursor-pointer py-1.5 px-2 hover:bg-slate-200","data-tip":t("operate.save"),children:jsx(SvgSave,{})}),jsx("label",{htmlFor:"my-drawer-4",className:"min-xs:tooltip cursor-pointer py-1.5 pl-2 pr-3 rounded-r-full hover:bg-slate-200 xs:pr-2 xs:rounded-r-none xs:rounded-b-full","data-tip":t("operate.fileList"),onClick:()=>r(!0),children:jsx(SvgFileList,{})})]}),jsxs("label",{className:"btn btn-circle swap swap-rotate w-7 h-7 min-h-0 my-1.5 mx-2 min-xs:hidden",children:[jsx("input",{type:"checkbox",onChange:()=>o(u=>!u)}),jsx(SvgClose,{className:"swap-on fill-current"}),jsx(SvgMenu,{className:"swap-off fill-current"})]})]}),a&&jsx(FileList,{updateShow:r})]})},DeleteFileModal=()=>{const{t}=useTranslation(),{files:e,deleteFile:a}=useFileStore(),{updateMode:r}=useBoardStore(),s=()=>{e.length>1&&(a(),paintBoard.initCanvasStorage(),r(ActionMode.DRAW))};return jsxs(Fragment,{children:[jsx("input",{type:"checkbox",id:"delete-file-modal",className:"modal-toggle"}),jsx("label",{htmlFor:"delete-file-modal",className:"modal cursor-pointer",children:jsxs("label",{className:"modal-box relative flex flex-col justify-center items-center",htmlFor:"",children:[jsx("h3",{className:"text-lg font-bold text-center",children:t("deleteFileModal.title")}),jsxs("div",{className:"w-64 flex justify-between mt-10",children:[jsx("label",{htmlFor:"delete-file-modal",className:"btn btn-active btn-primary btn-md w-2/5",onClick:s,children:t("deleteFileModal.confirm")}),jsx("label",{htmlFor:"delete-file-modal",className:"btn btn-active btn-ghost btn-md w-2/5",children:t("deleteFileModal.cancel")})]})]})})]})},WebSocketContext=React.createContext(null),WebSocketProvider=({children:t})=>{const[e,a]=React.useState(null),{userId:r}=userStore();let s=react.exports.useRef(!1);React.useEffect(()=>{!s.current&&r&&o(COMFY_UI_SOCKET_URL+r)},[r]);const o=i=>{const c=new WebSocket(i);return a(c),c.onopen=()=>{console.log("WebSocket \u8FDE\u63A5\u6210\u529F"),s.current=!0},c.onerror=d=>{console.log("WebSocket \u8FDE\u63A5\u9519\u8BEF:",d)},c.onclose=()=>{console.log("WebSocket \u8FDE\u63A5\u65AD\u5F00"),s.current=!1,n(i)},()=>c.close()},n=i=>{console.log("WebSocket \u91CD\u8FDE",s.current),!s.current&&setTimeout(function(){o(i)},4e3)};return jsx(WebSocketContext.Provider,{value:e,children:t})},AutoDrawPanel=()=>{useTranslation();const[url,updateUrl]=react.exports.useState(""),[loading,updateLoading]=react.exports.useState(!1),[error,updateError]=react.exports.useState(!1),[sockError,updateSocketError]=react.exports.useState(!1),[queueRemaining,updateQueueRemaining]=react.exports.useState(0),[errorMsg,updateErrorMsg]=react.exports.useState(""),[commands,updateCommands]=react.exports.useState({}),[params,updateParams]=react.exports.useState([]),[userCommand,setUserCommand]=react.exports.useState({command:""}),{outputImages,updateoutputImages,clearOutputImages}=userStore(),{userId,updateUserId}=userStore(),{autoTask,updateAutoTask}=userStore(),[comLoading,updateComLoading]=react.exports.useState(!1),[hisLoading,updateHisLoading]=react.exports.useState(!1),{drawStyle,openAutoDraw}=useDrawStore(),socket=react.exports.useContext(WebSocketContext);react.exports.useEffect(()=>{var t;(t=paintBoard.evnet)==null||t.clickEvent.changeInkHookFn(updateUrl)},[updateUrl]),react.exports.useEffect(()=>{autoTask&&url&&!loading&&addTaskClick()},[url]),react.exports.useEffect(()=>{if(socket){socket.onmessage=message=>{var t,e,a,r,s;if(message.data instanceof Blob)return;const messageJson=eval("("+message.data+")");if(messageJson.type!="crystools.monitor"){if(messageJson.type=="execution_error"){console.log(messageJson),updateErrorMsg("\u56FE\u7247\u751F\u6210\u5F02\u5E38\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458"),updateError(!0),updateLoading(!1),setTimeout(function(){updateError(!1)},3e3);return}else messageJson.type=="status"&&(e=(t=messageJson.data)==null?void 0:t.status)!=null&&e.exec_info&&updateQueueRemaining((s=(r=(a=messageJson.data)==null?void 0:a.status)==null?void 0:r.exec_info)==null?void 0:s.queue_remaining);console.log(messageJson),messageJson.type=="executing"&&!messageJson.data.node&&(getHistoryFun(messageJson.data.prompt_id),updateLoading(!1))}};const onopenFun=socket.onopen;socket.onopen=()=>{onopenFun(),getCommandsFun(),updateSocketError(!1)};const closeFun=socket.onclose;socket.onclose=()=>{closeFun(),updateErrorMsg("\u670D\u52A1\u5668\u8FDE\u63A5\u5F02\u5E38\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458"),updateSocketError(!0)}}},[socket]),react.exports.useEffect(()=>{Object.keys(commands).length===0&&!comLoading&&(updateComLoading(!0),getCommandsFun(),updateComLoading(!1))},[]);const getHistorysFun=async()=>{let t=userId;clearOutputImages(),updateHisLoading(!0);let e=await getHistorys(t);e=e.reverse();for(let n=0;n{const e=await getHistory(t);for(var a of Object.keys(e[t].outputs)){var r=e[t].outputs[a];if("images"in r)for(let s=0;s{try{const t=await getCommands();console.log(t),updateCommands(t),setUserParams(t[Object.keys(t)[0]].params,Object.keys(t)[0])}catch(t){console.log(t)}},setUserParams=async(t,e)=>{const a={};e&&(a.command=e);for(var r of Object.keys(t))if("default"in t[r])if("type"in t[r]&&t[r].type=="number"&&"original"in t[r]){let s=t[r].original,o=t[r].max;s!=o?a[r+"_show"]=t[r].default/s*o:a[r+"_show"]=t[r].default,a[r]=t[r].default}else a[r]=t[r].default;else"options"in t[r]?a[r]=t[r].options[Object.keys(t[r].options)[0]]:a[r]="";setUserCommand(Object.assign(userCommand,a)),updateParams(t)},addTaskClick=async()=>{try{updateLoading(!0);const t=url?url.substring(22):paintBoard.getImage();let e=Object.assign({openId:userId},userCommand,{image:t});const a=await addTask(e);a.success||(updateErrorMsg(a.msg),updateError(!0),updateLoading(!1),setTimeout(function(){updateError(!1)},3e3))}catch(t){updateErrorMsg(t),updateError(!0),updateLoading(!1),setTimeout(function(){updateError(!1)},3e3)}},handleChange=t=>{const{name:e,value:a}=t.target;e=="command"&&setUserParams(commands[a].params);let r=parseFloat(t.target.getAttribute("original")),s=t.target.getAttribute("yname"),o=parseFloat(t.target.getAttribute("max")),n={};if(r&&s&&o)if(r==o)n[s]=a;else{let i=Math.round(parseFloat(a)/o*r*100)/100;n[s]=i}setUserCommand({...Object.assign(userCommand,n),[e]:a})},delPanamsVal=t=>{setUserCommand({...userCommand,[t]:""})},uploadUIImage=async t=>{var o;const e=(o=t.target.files)==null?void 0:o[0];if(!e)return;const a=t.currentTarget.getAttribute("pname"),r=await uploadImage(e);console.log("\u4E0A\u4F20\u6587\u4EF6\uFF1A",r);const s=COMFY_UI_IMAGE_URL+"filename="+r.name+"&type="+r.type+"&subfolder="+r.subfolder;setUserCommand({...userCommand,[a]:s})};return jsx("div",{className:"fixed top-3 right-3 flex h-screen ",style:{display:openAutoDraw?"":"none",backgroundColor:"rgb(251 245 245 / 61%)"},children:jsxs("div",{className:"items-center text-center overflow-x-auto py-2 px-1 box-border rounded-2xl border border-solid border-[rgb(238 241 255)] bg-[#EEF1FF80]",style:{width:"10rem"},children:[(error||sockError)&&jsxs("div",{role:"alert",className:"alert alert-error",children:[jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"stroke-current shrink-0 h-6 w-6",fill:"none",viewBox:"0 0 24 24",children:jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"})}),jsxs("span",{children:["\u9519\u8BEF\uFF1A",errorMsg]})]}),loading&&jsxs("div",{role:"alert",className:"alert alert-success",children:[jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"stroke-current shrink-0 h-6 w-6",fill:"none",viewBox:"0 0 24 24",children:jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})}),jsx("span",{children:"\u63D0\u4EA4\u6210\u529F\u8BF7\u7B49\u5F85"})]}),jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:["\u4EFB\u52A1\u6570\u91CF\uFF1A",queueRemaining]})}),jsx("div",{className:"label",children:jsx("span",{className:"label-text",children:"\u81EA\u52A8\u7ED8\u753B\uFF1A"})}),jsx("div",{children:jsx("input",{type:"checkbox",className:"toggle toggle-success",onChange:()=>updateAutoTask(!autoTask),checked:autoTask})}),jsx("div",{className:"label",children:jsx("span",{className:"label-text",children:"\u7ED8\u753B\u6A21\u5F0F\uFF1A"})}),jsx("select",{className:"select select-success select-sm w-full max-w-xs",name:"command",value:userCommand.command,onChange:handleChange,children:Object.keys(commands).map((t,e)=>jsx("option",{children:t},e))}),Object.keys(params).map((t,e)=>"options"in params[t]?jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:[params[t].zhName,"\uFF1A"]})}),jsx("select",{className:"select select-success select-sm w-full max-w-xs",name:t,value:userCommand[t],onChange:handleChange,children:Object.keys(params[t].options).map((a,r)=>jsx("option",{value:params[t].options[a],children:a},r))})]},e):t=="prompt"||t=="negative"?jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:[params[t].zhName,"\uFF1A"]})}),jsx("textarea",{className:"textarea textarea-success textarea-sm h-45 ",style:{width:"100%",height:"9rem"},placeholder:params[t].zhName,name:t,value:userCommand[t],onChange:handleChange})]},e):t=="image"?"":"type"in params[t]&¶ms[t].type=="number"?jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:[params[t].zhName,"\uFF1A"]})}),jsx("div",{className:"text-lg font-fredokaOne mr-2 text-primary-focus",children:userCommand[t]}),jsx("input",{type:"range",min:params[t].min,max:params[t].max,step:"1",name:t+"_show",yname:t,original:params[t].original,value:userCommand[t+"_show"],onChange:handleChange,className:"range range-primary range-xs cursor-pointer"})]},e):"type"in params[t]&¶ms[t].type=="text"?jsxs("div",{children:[jsx("div",{className:"label",children:jsxs("span",{className:"label-text",children:[params[t].zhName,"\uFF1A"]})}),jsx("input",{type:"text",placeholder:params[t].zhName,name:t,value:userCommand[t],onChange:handleChange,className:"input input-bordered input-success input-sm w-full max-w-xs"})]},e):"type"in params[t]&¶ms[t].type=="image"?jsxs("div",{children:[jsx("div",{className:"label",children:jsx("span",{className:"label-text",children:"\u4EBA\u7269\u5934\u50CF\uFF1A"})}),jsxs("div",{className:"avatar",children:[userCommand[t]?jsx("div",{className:"w-24 rounded",children:jsx("img",{src:userCommand[t]})}):jsxs("div",{className:"bg-neutral text-neutral-content w-24",children:[jsx("label",{htmlFor:"image-upload-comfy"+t,className:"cursor-pointer ",children:jsx(SvgUpload,{style:{margin:"35%"}})}),jsx("input",{type:"file",id:"image-upload-comfy"+t,pname:t,className:"hidden",onChange:uploadUIImage})]}),userCommand[t]?jsx(SvgMenu,{className:"swap-on fill-current",onClick:()=>{delPanamsVal(t)}}):""]})]}):""),jsx("div",{className:"label"}),!autoTask&&jsx("button",{className:"btn btn-outline btn-success btn-sm",onClick:addTaskClick,disabled:loading,children:"AI\u521B\u610F\u5B9E\u73B0"}),!autoTask&&jsx("button",{className:"btn btn-outline btn-success btn-sm",onClick:getHistorysFun,disabled:loading,children:"\u67E5\u8BE2\u5386\u53F2"})]})]})})},SvgArrowLeft=t=>react.exports.createElement("svg",{fill:"#000000",width:"30px",height:"30px",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg",id:"memory-arrow-left-circle",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M12 16H10V15H9V14H8V13H7V12H6V10H7V9H8V8H9V7H10V6H12V8H11V9H10V10H16V12H10V13H11V14H12V16M15 21H7V20H5V19H4V18H3V17H2V15H1V7H2V5H3V4H4V3H5V2H7V1H15V2H17V3H18V4H19V5H20V7H21V15H20V17H19V18H18V19H17V20H15V21M16 17H17V16H18V14H19V8H18V6H17V5H16V4H14V3H8V4H6V5H5V6H4V8H3V14H4V16H5V17H6V18H8V19H14V18H16V17Z"}))),SvgArrowRight=t=>react.exports.createElement("svg",{fill:"#000000",width:"30px",height:"30px",viewBox:"0 0 22 22",xmlns:"http://www.w3.org/2000/svg",id:"memory-arrow-right-circle",...t},react.exports.createElement("g",{id:"SVGRepo_bgCarrier",strokeWidth:0}),react.exports.createElement("g",{id:"SVGRepo_tracerCarrier",strokeLinecap:"round",strokeLinejoin:"round"}),react.exports.createElement("g",{id:"SVGRepo_iconCarrier"},react.exports.createElement("path",{d:"M7 1H15V2H17V3H18V4H19V5H20V7H21V15H20V17H19V18H18V19H17V20H15V21H7V20H5V19H4V18H3V17H2V15H1V7H2V5H3V4H4V3H5V2H7V1M6 5H5V6H4V8H3V14H4V16H5V17H6V18H8V19H14V18H16V17H17V16H18V14H19V8H18V6H17V5H16V4H14V3H8V4H6V5M10 6H12V7H13V8H14V9H15V10H16V12H15V13H14V14H13V15H12V16H10V14H11V13H12V12H6V10H12V9H11V8H10V6Z"}))),arrowLeft="_arrowLeft_1wio0_1",arrowRight="_arrowRight_1wio0_5",styles={arrowLeft,arrowRight},ViewImage=()=>{const{t}=useTranslation(),{outputImages:e,autoTask:a}=userStore(),[r,s]=react.exports.useState({url:"",status:0}),{mode:o,updateMode:n}=useBoardStore(),i=()=>{const p=document.getElementById("autodraw-scroll-container");p==null||p.scrollBy({left:-300,behavior:"smooth"})},c=()=>{const p=document.getElementById("autodraw-scroll-container");p==null||p.scrollBy({left:300,behavior:"smooth"})},d=(p,f)=>{f==1?s({url:p,status:f}):r.status==1&&r.url==p&&f==2&&(h(r.url,!1),s({url:"",status:0}),n(ActionMode.SELECT))},h=(p,f=!0)=>{var u=new XMLHttpRequest;u.open("GET",p,!0),u.responseType="blob",u.onload=function(){if(console.log(u),u.status===200){var m=u.response,w=new FileReader;w.onloadend=function(){var g=w.result;if(g&&typeof g=="string"){const S=new ImageElement;f?S.addTileImage(g):S.addImage(g)}},w.readAsDataURL(m)}},u.send()};return jsxs("div",{className:"fixed top-3 flex",style:{right:"24vw"},children:[jsx("div",{className:`absolute top-0 bottom-0 left-0 z-10 flex items-center w-16 h-full pl-[15px] cursor-pointer rounded-2xl ${styles.arrowLeft}`,children:jsx(SvgArrowLeft,{onClick:i})}),jsx("div",{className:"flex items-center text-center w-[50vw] overflow-x-auto py-2 px-16 h-18 noScrollbar box-border rounded-2xl border border-solid border-[rgb(238 241 255)] bg-[#EEF1FF80]",id:"autodraw-scroll-container",children:e.length?e.map((p,f)=>jsx("img",{src:p,className:"w-auto h-16 p-1 mr-4 hover:cursor-pointer hover:bg-[rgba(203,213,225,0.3)] rounded-lg",onClick:()=>h(p),onMouseDown:()=>d(p,1),onDragEnd:()=>d(p,2)},f)):t("request.tip")}),jsx("div",{className:`absolute top-0 bottom-0 right-0 z-10 flex items-center justify-end w-16 h-full pr-[15px] cursor-pointer rounded-2xl ${styles.arrowRight}`,children:jsx(SvgArrowRight,{onClick:c})})]})},Board=()=>{useBoardStore();const{canvasWidth:t}=useBoardStore(),{canvasHeight:e}=useBoardStore(),{outputImages:a,autoTask:r}=userStore();useDrawStore();const s=react.exports.useRef(null),[o,n]=react.exports.useState(!1),{userId:i,updateUserId:c}=userStore(),h=new URLSearchParams(window.location.search).get("openId");if(h){const f=atob(h);f&&c(f)}react.exports.useEffect(()=>(s.current&&paintBoard.initCanvas(s.current).then(f=>{n(f)}),()=>{paintBoard.removeCanvas()}),[]);const p=f=>{var u=new XMLHttpRequest;u.open("GET",f,!0),u.responseType="blob",u.onload=function(){if(console.log(u),u.status===200){var m=u.response,w=new FileReader;w.onloadend=function(){var g=w.result;g&&typeof g=="string"&&new ImageElement().addTileImage(g)},w.readAsDataURL(m)}},u.send()};return jsxs("div",{children:[jsx(Authorize,{}),jsxs("div",{className:"h-screen flex justify-center items-center bg-slate-100",children:[jsx("canvas",{className:"w-full h-full block",ref:s}),r&&jsx("div",{style:{width:t*100+"vw",height:e*100+"vh",backgroundColor:"#ffffff",marginLeft:"20px"},children:a.length>0&&jsx("img",{style:{width:"100%",height:"100%",padding:"0"},src:a[0],onClick:()=>p(a[0]),className:"w-auto h-16 p-1 mr-4 hover:cursor-pointer hover:bg-[rgba(203,213,225,0.3)] rounded-lg"})})]}),o&&jsxs(Fragment,{children:[jsx(ToolPanel,{}),jsx(GuideInfo,{}),jsx(CleanModal,{}),jsx(DeleteFileModal,{}),jsx(BoardOperation,{}),!r&&jsx(ViewImage,{}),jsx(AutoDrawPanel,{})]})]})};function App(){return jsx("div",{children:jsx(Board,{})})}const index="",tool$1={draw:"Draw",eraser:"Eraser",select:"Select",board:"Board"},title$1={drawType:"Draw Type",drawStyle:"Draw Style",drawWidth:"Draw Width",drawColor:"Draw Color",shadow:"Shadow",AI:"AI",shapeType:"Shape Type",shapeCount:"Shape Count",materialType:"Material Type",multiColorType:"MultiColor Type",drawText:"Draw Text",fontFamily:"Font Family",shapeLinePointCount:"Point Count",borderType:"Border Type",borderStyle:"Border Style",fillStyle:"Fill Style",eraserWidth:"Eraser Width",opacity:"Opacity",layer:"Layer",imageFilters:"Image Filters",fontStyle:"Font Style",canvasBackground:"Canvas Background",canvasSize:"Canvas Size",drawCache:"Draw Cache",guideLine:"GuideLine"},canvasSize$1={width:"Width",height:"Height"},drawType$1={freeStyle:"FreeStyle",shape:"Shape"},style$1={basic:"Basic",rainbow:"Rainbow",shape:"Shape",material:"Material",pixels:"Pixels",multiColor:"MultiColor",text:"Text",multiLine:"MultiLine",reticulate:"Reticulate",multiPoint:"MultiPoint",wiggle:"Wiggle",thorn:"Thorn"},operate$1={undo:"undo",redo:"redo",copy:"copy",delete:"delete",text:"add text",image:"upload image",clean:"clean",save:"Save as image",fileList:"File List"},info$1={welecome:"Welcome to star",FreeStyle:{line1:"Provides 12 different styles of brushes, including Basic Brush, Rainbow Brush, Multi-Shape Brush, Multi-Material Brush, Pixel Brush, Multi-Color Brush, Text Brush, Multi-Line Connection Brush, Reticulate Brush, Multi-Point Connection Brush, Wiggle Brush, Thorn Brush. Satisfy the diversified drawing",line2:"All brushes support color and brush width configurations",line3:"MultiShape allows flexible configuration of shape types and quantities",line4:"Material and MultiColor allows you to adjust the material type of the brush",line5:"Text drawing support for cyclic text and font configuration"},ShapeDraw:{line1:"A variety of common shapes are provided for drawing, with support for multi-point segments and arrows. The shapes support border and fill styles."},EraserMode:{line1:"Eraser mode linearly erases all content",line2:"Supports linear width configurations"},SelectMode:{line1:"In selection mode, you can click on the content of the drawing to select it",line2:"Click handle supports drag and drop, zoom and rotate operations, providing flexible editing options",line3:"Selecting images supports multiple filter configurations",line4:"Support for font configuration when selecting text",line5:"Layer settings are supported for all drawings, including Move Layer Up, Move Layer Down, Move to Top, and Move to Bottom",line6:"All drawings support transparency configurations"},BoardMode:{line1:"Drawing board support for configuring background color and transparency configurations",line2:"The drawing board supports customized width and height configurations",line3:"Support for drawing cache enable. Enabling caching will improve drawing performance in the presence of large amounts of drawing content, while disabling caching will improve canvas clarity.",line4:"Supports guide line on and off"},BorderConfig:{line1:"The bottom left button shows the current zoom ratio in real time, click it to reset the zoom ratio",line2:"The list of buttons in the center, in order from left to right, are: Undo, Redo, Copy Current Selection, Delete Current Selection, Draw Text, Upload Image, Clear Drawing, Save as Image, and Open File List",line3:"PC: Hold down the Space key and click the left mouse button to move the canvas, scroll the mouse wheel to realize the canvas zoom, hold down the Backspace key to delete the selected content, and hold down the Ctrl + V keys to paste the clipboard image at the same time",line4:"Mobile: support for dragging and zooming the canvas after a two-finger press"},FileConfig:{line1:"Multi-file configuration: support multiple canvas switching, each canvas can be customized title, add, delete, and provide upload and download"}},cleanModal$1={title:"Confirm clearing content?",confirm:"Confirmed",cancel:"Cancel"},deleteFileModal$1={title:"Confirm deleting the current file?",confirm:"Confirmed",cancel:"Cancel"},toast$1={uploadFileFail:"Upload failed, please try again"},filters$1={Sepia:"Sepia",Invert:"Invert",BlackWhite:"BlackWhite",Grayscale:"Grayscale",Blur:"Blur",Vintage:"Vintage",BlendColor:"BlendColor",Brownie:"Brownie",Kodachrome:"Kodachrome",Pixelate:"Pixelate",Polaroid:"Polaroid",Technicolor:"Technicolor",Brightness:"Brightness",Noise:"Noise",Convolute:"Emboss"},fontStyle$1={bold:"Bold",italic:"Italic",underLine:"UnderLine",lineThrough:"LineThrough"},boardConfig$1={cacheTip:"In the presence of a large amount of drawing content, enabling caching will improve drawing performance, while disabling caching will improve canvas sharpness"},request$1={tip:"Please feel free to draw...",loading:"Loading data, please wait...",error:"Something went wrong. Please try again later."},en={tool:tool$1,title:title$1,canvasSize:canvasSize$1,drawType:drawType$1,style:style$1,operate:operate$1,info:info$1,cleanModal:cleanModal$1,deleteFileModal:deleteFileModal$1,toast:toast$1,filters:filters$1,fontStyle:fontStyle$1,boardConfig:boardConfig$1,request:request$1},tool={draw:"\u7ED8\u753B",eraser:"\u6A61\u76AE",select:"\u9009\u62E9",board:"\u753B\u677F"},title={drawType:"\u7ED8\u753B\u7C7B\u578B",drawStyle:"\u7ED8\u753B\u98CE\u683C",drawWidth:"\u753B\u7B14\u5BBD\u5EA6",drawColor:"\u753B\u7B14\u989C\u8272",shadow:"\u9634\u5F71",AI:"AI",shapeType:"\u5F62\u72B6\u7C7B\u578B",shapeCount:"\u5F62\u72B6\u6570\u91CF",materialType:"\u7D20\u6750\u7C7B\u578B",multiColorType:"\u591A\u8272\u7C7B\u578B",drawText:"\u6587\u5B57\u5185\u5BB9",fontFamily:"\u5B57\u4F53",shapeLinePointCount:"\u7EBF\u6BB5\u7AEF\u70B9",borderType:"\u8FB9\u6846\u7C7B\u578B",borderStyle:"\u8FB9\u6846\u6837\u5F0F",fillStyle:"\u586B\u5145\u6837\u5F0F",eraserWidth:"\u6A61\u76AE\u5BBD\u5EA6",opacity:"\u900F\u660E\u5EA6",layer:"\u56FE\u5C42",imageFilters:"\u56FE\u50CF\u6EE4\u955C",fontStyle:"\u5B57\u4F53\u6837\u5F0F",canvasBackground:"\u753B\u677F\u80CC\u666F",canvasSize:"\u753B\u677F\u5C3A\u5BF8",drawCache:"\u7ED8\u5236\u7F13\u5B58",guideLine:"\u8F85\u52A9\u7EBF"},canvasSize={width:"\u5BBD\u5EA6",height:"\u9AD8\u5EA6"},drawType={freeStyle:"\u81EA\u7531\u7ED8\u753B",shape:"\u5F62\u72B6\u7ED8\u753B"},style={basic:"\u57FA\u7840",rainbow:"\u5F69\u8679 ",shape:"\u591A\u5F62\u72B6",material:"\u7D20\u6750",pixels:"\u50CF\u7D20",multiColor:"\u591A\u8272",text:"\u6587\u5B57",multiLine:"\u591A\u7EBF\u8FDE\u63A5",reticulate:"\u7F51\u72B6",multiPoint:"\u591A\u70B9\u8FDE\u63A5",wiggle:"\u6CE2\u6D6A\u66F2\u7EBF",thorn:"\u8346\u68D8"},operate={undo:"\u64A4\u9500",redo:"\u91CD\u505A",copy:"\u590D\u5236",delete:"\u5220\u9664",text:"\u6DFB\u52A0\u6587\u5B57",image:"\u4E0A\u4F20\u56FE\u7247",clean:"\u6E05\u9664\u753B\u677F",save:"\u4FDD\u5B58\u4E3A\u56FE\u7247",fileList:"\u6587\u4EF6\u5217\u8868"},info={welecome:"\u6B22\u8FCE\u4F7F\u7528\u8DA3\u5473\u7ED8\u672C",FreeStyle:{line1:"\u63D0\u4F9B\u4E86 12 \u79CD\u4E0D\u540C\u98CE\u683C\u7684\u753B\u7B14\uFF0C\u5305\u62EC\u57FA\u672C\u753B\u7B14\uFF0C\u5F69\u8679\u753B\u7B14\uFF0C\u591A\u5F62\u72B6\u753B\u7B14\uFF0C\u591A\u7D20\u6750\u753B\u7B14\uFF0C\u50CF\u7D20\u753B\u7B14\uFF0C\u591A\u8272\u753B\u7B14\uFF0C\u6587\u5B57\u753B\u7B14\uFF0C\u591A\u7EBF\u8FDE\u63A5\u753B\u7B14\uFF0C\u7F51\u72B6\u753B\u7B14\uFF0C\u591A\u70B9\u8FDE\u63A5\u753B\u7B14\uFF0C\u6CE2\u6D6A\u66F2\u7EBF\u753B\u7B14\uFF0C\u8346\u68D8\u753B\u7B14\u3002\u6EE1\u8DB3\u591A\u6837\u5316\u7684\u7ED8\u753B",line2:"\u6240\u6709\u753B\u7B14\u5747\u652F\u6301\u989C\u8272\u548C\u753B\u7B14\u5BBD\u5EA6\u7684\u914D\u7F6E",line3:"\u591A\u5F62\u72B6\u53EF\u4EE5\u7075\u6D3B\u914D\u7F6E\u5F62\u72B6\u7C7B\u578B\u548C\u6570\u91CF",line4:"\u7D20\u6750\u548C\u591A\u8272\u53EF\u4EE5\u8C03\u6574\u753B\u7B14\u7684\u7D20\u6750\u7C7B\u578B",line5:"\u6587\u5B57\u7ED8\u5236\u652F\u6301\u5FAA\u73AF\u6587\u6848\u914D\u7F6E\u548C\u5B57\u4F53\u4FEE\u6539"},ShapeDraw:{line1:"\u63D0\u4F9B\u4E86\u591A\u79CD\u5E38\u89C1\u5F62\u72B6\u7684\u7ED8\u5236, \u5E76\u652F\u6301\u591A\u7AEF\u70B9\u7EBF\u6BB5\u4EE5\u53CA\u7BAD\u5934. \u5E76\u4E14\u8FD9\u4E9B\u5F62\u72B6\u5747\u652F\u6301\u8FB9\u6846\u548C\u586B\u5145\u7684\u6837\u5F0F\u914D\u7F6E"},EraserMode:{line1:"\u6A61\u76AE\u64E6\u6A21\u5F0F\u53EF\u4EE5\u7EBF\u6027\u64E6\u9664\u6240\u6709\u5185\u5BB9",line2:"\u652F\u6301\u7EBF\u6027\u5BBD\u5EA6\u914D\u7F6E"},SelectMode:{line1:"\u5728\u9009\u62E9\u6A21\u5F0F\u4E0B\uFF0C\u53EF\u4EE5\u901A\u8FC7\u70B9\u51FB\u7ED8\u753B\u5185\u5BB9\u8FDB\u884C\u6846\u9009",line2:"\u70B9\u51FB\u624B\u67C4\u652F\u6301\u62D6\u62FD\u3001\u7F29\u653E\u548C\u65CB\u8F6C\u64CD\u4F5C\uFF0C\u63D0\u4F9B\u7075\u6D3B\u7684\u7F16\u8F91\u65B9\u5F0F",line3:"\u9009\u62E9\u56FE\u7247\u652F\u6301\u591A\u79CD\u6EE4\u955C\u914D\u7F6E",line4:"\u9009\u62E9\u6587\u5B57\u65F6\uFF0C\u652F\u6301\u5B57\u4F53\u8BBE\u7F6E",line5:"\u6240\u6709\u7ED8\u5236\u5185\u5BB9\u5747\u652F\u6301\u56FE\u5C42\u8BBE\u7F6E\uFF0C\u5305\u62EC\u5411\u4E0A\u79FB\u52A8\u5C42\u7EA7\u3001\u5411\u4E0B\u79FB\u52A8\u5C42\u7EA7\u3001\u79FB\u52A8\u81F3\u9876\u5C42\u548C\u79FB\u52A8\u81F3\u5E95\u5C42",line6:"\u6240\u6709\u7ED8\u5236\u5185\u5BB9\u652F\u6301\u900F\u660E\u5EA6\u914D\u7F6E"},BoardMode:{line1:"\u753B\u677F\u652F\u6301\u914D\u7F6E\u80CC\u666F\u989C\u8272\u548C\u900F\u660E\u5EA6\u914D\u7F6E",line2:"\u753B\u677F\u652F\u6301\u81EA\u5B9A\u4E49\u5BBD\u9AD8\u914D\u7F6E",line3:"\u652F\u6301\u7ED8\u5236\u7F13\u5B58\u5F00\u542F. \u5728\u5B58\u5728\u5927\u91CF\u7ED8\u5236\u5185\u5BB9\u7684\u60C5\u51B5\u4E0B\uFF0C\u542F\u7528\u7F13\u5B58\u5C06\u63D0\u9AD8\u7ED8\u5236\u6027\u80FD\uFF0C\u800C\u7981\u7528\u7F13\u5B58\u5219\u4F1A\u63D0\u5347\u753B\u5E03\u6E05\u6670\u5EA6",line4:"\u652F\u6301\u8F85\u52A9\u7EBF\u7684\u5F00\u542F\u4E0E\u5173\u95ED"},BorderConfig:{line1:"\u5DE6\u4E0B\u89D2\u6309\u94AE\u5B9E\u65F6\u663E\u793A\u5F53\u524D\u7F29\u653E\u6BD4\u4F8B\uFF0C\u70B9\u51FB\u5373\u53EF\u91CD\u7F6E\u7F29\u653E\u6BD4\u4F8B",line2:"\u4E2D\u95F4\u6309\u94AE\u5217\u8868\u6309\u4ECE\u5DE6\u5230\u53F3\u7684\u987A\u5E8F\u5206\u522B\u4E3A\uFF1A\u64A4\u9500\u3001\u53CD\u64A4\u9500\u3001\u590D\u5236\u5F53\u524D\u9009\u62E9\u5185\u5BB9\u3001\u5220\u9664\u5F53\u524D\u9009\u62E9\u5185\u5BB9\u3001\u7ED8\u5236\u6587\u5B57\u3001\u4E0A\u4F20\u56FE\u7247\u3001\u6E05\u9664\u7ED8\u5236\u5185\u5BB9\u3001\u4FDD\u5B58\u4E3A\u56FE\u7247\u3001\u6253\u5F00\u6587\u4EF6\u5217\u8868",line3:"\u7535\u8111\u7AEF\uFF1A\u6309\u4F4F Space \u952E\u5E76\u70B9\u51FB\u9F20\u6807\u5DE6\u952E\u53EF\u79FB\u52A8\u753B\u5E03\uFF0C\u6EDA\u52A8\u9F20\u6807\u6EDA\u8F6E\u5B9E\u73B0\u753B\u5E03\u7F29\u653E\uFF0C\u6309\u4F4F Backspace \u952E\u53EF\u5220\u9664\u5DF2\u9009\u5185\u5BB9\uFF0C\u540C\u65F6\u6309\u4F4F Ctrl \u952E + V \u952E\u53EF\u7C98\u8D34\u526A\u8D34\u677F\u56FE\u7247",line4:"\u79FB\u52A8\u7AEF\uFF1A\u652F\u6301\u53CC\u6307\u6309\u538B\u540E\u62D6\u62FD\u548C\u7F29\u653E\u753B\u5E03"},FileConfig:{line1:"\u591A\u6587\u4EF6\u914D\u7F6E\uFF1A\u652F\u6301\u591A\u4E2A\u753B\u5E03\u5207\u6362\uFF0C\u6BCF\u4E2A\u753B\u5E03\u53EF\u81EA\u5B9A\u4E49\u6807\u9898\u3001\u589E\u52A0\u3001\u5220\u9664\uFF0C\u5E76\u63D0\u4F9B\u4E0A\u4F20\u548C\u4E0B\u8F7D\u529F\u80FD"}},cleanModal={title:"\u786E\u8BA4\u6E05\u9664\u5185\u5BB9\uFF1F",confirm:"\u786E\u8BA4",cancel:"\u53D6\u6D88"},deleteFileModal={title:"\u786E\u8BA4\u5220\u9664\u5F53\u524D\u6587\u4EF6\u5417\uFF1F",confirm:"\u786E\u8BA4",cancel:"\u53D6\u6D88"},toast={uploadFileFail:"\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5"},filters={Sepia:"\u590D\u53E4",Invert:"\u5E95\u7247",BlackWhite:"\u9ED1\u767D",Grayscale:"\u7070\u5EA6",Blur:"\u6A21\u7CCA",Vintage:"\u53E4\u5178",BlendColor:"\u6DF7\u8272",Brownie:"\u68D5\u4ED9",Kodachrome:"\u80F6\u7247",Pixelate:"\u50CF\u7D20",Polaroid:"\u5B9D\u4E3D\u6765",Technicolor:"\u5F69\u8272",Brightness:"\u589E\u4EAE",Noise:"\u566A\u70B9",Convolute:"\u6D6E\u96D5"},fontStyle={bold:"\u7C97\u4F53",italic:"\u659C\u4F53",underLine:"\u4E0B\u5212\u7EBF",lineThrough:"\u5220\u9664\u7EBF"},boardConfig={cacheTip:"\u5728\u5B58\u5728\u5927\u91CF\u7ED8\u5236\u5185\u5BB9\u7684\u60C5\u51B5\u4E0B\uFF0C\u542F\u7528\u7F13\u5B58\u5C06\u63D0\u9AD8\u7ED8\u5236\u6027\u80FD\uFF0C\u800C\u7981\u7528\u7F13\u5B58\u5219\u4F1A\u63D0\u5347\u753B\u5E03\u6E05\u6670\u5EA6"},request={tip:"\u70B9\u51FB\u6309\u94AE\u5B9E\u73B0\u521B\u610F",loading:"\u8BF7\u7A0D\u5019...",error:"\u51FA\u9519\u4E86\u3002\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002"},authorize={title:"\u5FAE\u4FE1\u626B\u7801\u5173\u6CE8\u516C\u4F17\u53F7\u83B7\u53D6\u6388\u6743\u7801"},zh={tool,title,canvasSize,drawType,style,operate,info,cleanModal,deleteFileModal,toast,filters,fontStyle,boardConfig,request,authorize},lang=useBoardStore.getState().language;instance.use(initReactI18next).init({resources:{en:{translation:en},zh:{translation:zh}},lng:lang});{const t=document.createElement("script");t.textContent=` (function(c,l,a,r,i,t,y){ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; diff --git a/py/LamCommonHidden.py b/py/LamCommonHidden.py new file mode 100644 index 0000000..367388d --- /dev/null +++ b/py/LamCommonHidden.py @@ -0,0 +1,104 @@ +from .src.utils.uitls import AlwaysEqualProxy,AlwaysTupleZero +import comfy.samplers +import base64 + +class LamCommonHidden: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "hidden": { + "hidden": ("STRING",{"multiline": True}), #隐藏参数 + "unique_id": "UNIQUE_ID", #节点编号 + "dynprompt": "DYNPROMPT", + "prompt": "PROMPT", #流程节点信息 + "extra_pnginfo": "EXTRA_PNGINFO" #前端流程图信息 + } + } + RETURN_TYPES = AlwaysTupleZero(AlwaysEqualProxy("*"),) + + FUNCTION = "commm_hidden" + + OUTPUT_NODE = True + + CATEGORY = "lam" + + def commm_hidden(self,hidden="",unique_id=None,extra_pnginfo=None,**kwargs): + if hidden=="": + hidden=[node['properties']['hidden'] for node in extra_pnginfo['workflow']['nodes'] if int(node['id'])==int(unique_id)][0] + lookup = {} + for arg in kwargs: + lookup[arg] = kwargs[arg] + + msg='完成' + r="" + expand=None + if hidden: + hidden = base64.b64decode(hidden).decode("utf-8") + exec(hidden, lookup) + if 'result' in lookup: + r = lookup['result'] + if "expand" in lookup: + expand = lookup['expand'] + else: + raise SyntaxError("隐藏节点语法错误") + + if not isinstance(r, tuple): + r = (r,) + + return {"ui": {"value": [msg]}, "result": r,"expand":expand} + +class LamSamplerName: + + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "sampler_name": (comfy.samplers.KSampler.SAMPLERS, {"tooltip": "The algorithm used when sampling, this can affect the quality, speed, and style of the generated output."}) + } + } + + RETURN_TYPES = (AlwaysEqualProxy("*"),) + RETURN_NAMES = ("sampler_name",) + FUNCTION = "sampler_name" + CATEGORY = "lam" + + def sampler_name(self, sampler_name): + return (sampler_name,) + +class LamScheduler: + + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "scheduler": (comfy.samplers.KSampler.SCHEDULERS, {"tooltip": "The scheduler controls how noise is gradually removed to form the image."}) + } + } + + RETURN_TYPES = (AlwaysEqualProxy("*"),) + RETURN_NAMES = ("scheduler",) + FUNCTION = "scheduler" + CATEGORY = "lam" + + def scheduler(self, scheduler): + return (scheduler,) + + + + +NODE_CLASS_MAPPINGS = { + "LamCommonHidden": LamCommonHidden, + "LamSamplerName":LamSamplerName, + "LamScheduler": LamScheduler +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "LamCommonHidden": "通用隐藏节点", + "LamSamplerName": "采样器名称", + "LamScheduler": "调度器名称" +} + +