antd-color-editor
Version:
An open-source color editor for designing color system
92 lines (90 loc) • 3.49 kB
JavaScript
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;