UNPKG

antd-color-editor

Version:

An open-source color editor for designing color system

92 lines (90 loc) 3.49 kB
var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/useSketchJSON/index.ts var useSketchJSON_exports = {}; __export(useSketchJSON_exports, { default: () => useSketchJSON_default }); module.exports = __toCommonJS(useSketchJSON_exports); var import_antd = require("antd"); var import_copy_to_clipboard = __toESM(require("copy-to-clipboard")); var import_html2sketch = require("html2sketch"); var import_react = require("react"); if (typeof window !== "undefined") { window.DUMI_HTML2SKETCH = { nodeToGroup: import_html2sketch.nodeToGroup, nodeToSymbol: import_html2sketch.nodeToSymbol }; } var useSketchJSON = () => { const [sketchJSON, setJSON] = (0, import_react.useState)(); const parserFactory = async (elements, parserFunc) => { try { console.groupCollapsed("[html2sketch]开始转换..."); let result; if (Array.isArray(elements)) { const objects = []; for (const el of elements) { const symbolJSON = await parserFunc(el); objects.push(symbolJSON); } result = objects; } else { result = await parserFunc(elements); } console.groupEnd(); console.log("解析结果:", result); (0, import_copy_to_clipboard.default)(JSON.stringify(result)); setJSON(result); await import_antd.message.success("转换成功🎉 已复制到剪切板"); return result; } catch (error) { await import_antd.message.error("解析失败,请检查 Console 输出 😶"); console.groupEnd(); console.groupEnd(); console.error("报错如下:"); console.error(error); } }; return { generateGroup: async (elements) => { await parserFactory(elements, async (el) => { const group = await (0, import_html2sketch.nodeToGroup)(el); return group.toSketchJSON(); }); }, generateSymbol: async (elements) => { await parserFactory(elements, async (el) => { const symbol = await (0, import_html2sketch.nodeToSymbol)(el); return symbol.toSketchJSON(); }); }, sketchJSON }; }; var useSketchJSON_default = useSketchJSON;