open-index/open-npm huggingface dataset:
npm package: @junegod/label-core
Description: 无框架绑定的标签编辑器核心能力包，包含模板模型、编辑状态管理、渲染与导出能力。
Latest version: 0.1.0

# @junegod/label-core

无框架绑定的标签编辑器核心能力包，包含模板模型、编辑状态管理、渲染与导出能力。

## 安装

```bash
pnpm add @junegod/label-core
```

## 最小示例

```ts
import { EditorCore, createDefaultTemplate } from "@junegod/label-core";

const editor = new EditorCore({
  dpi: 96,
  template: createDefaultTemplate(),
});
```

## 浏览器环境说明

- 渲染依赖 `Konva`，需要浏览器 DOM 环境。
- 图片跨域建议配置代理或同源资源地址。

## 导出 DPI 建议

- 预览：`96 DPI`
- PNG 导出：建议 `300 DPI`
- PDF 导出：建议 `600 DPI`（小标签打印更清晰）

## 能力概览

- 模板模型标准化（mm 单位）
- 图层/历史记录管理
- 画布渲染与交互控制
- PDF / PNG / TSPL 导出
- 字段绑定与批量填充
npm package: @junegod/label-react-designer
Description: React 标签设计器组件包，提供开箱即用的“设计器内核 UI”（不包含标签库列表页），并支持业务扩展点。
Latest version: 0.1.0

# @junegod/label-react-designer

React 标签设计器组件包，提供开箱即用的“设计器内核 UI”（不包含标签库列表页），并支持业务扩展点。

## 安装

```bash
pnpm add @junegod/label-react-designer @junegod/label-core react react-dom antd
```

## 最小示例

```tsx
import { useState } from "react";
import { LabelDesigner } from "@junegod/label-react-designer";
import { createDefaultTemplate } from "@junegod/label-core";
import "@junegod/label-react-designer/style.css";

export function Demo(): JSX.Element {
  const [template, setTemplate] = useState(createDefaultTemplate());
  const [rows, setRows] = useState<Record<string, unknown>[]>([{}]);

  return (
    <LabelDesigner
      value={template}
      onChange={setTemplate}
      printDataRows={rows}
      onPrintDataRowsChange={setRows}
    />
  );
}
```

## 扩展能力

- `dataAdapter`：对接模板加载/保存、字段列表接口。
- `toolbarSlots`：插入头部自定义按钮区域。
- `actionOverrides`：覆盖打印预览弹窗中的操作行为。
- `inspectorExtensions`：扩展右侧属性面板分组。

## 字体策略（可选加载）

当前包默认不内置大体积字体资源，减少安装包体积。  
如果你需要特定字体，请在业务项目中按需引入，例如：

```ts
import "@fontsource-variable/noto-sans-sc/index.css";
import "@fontsource-variable/noto-serif-sc/index.css";
```