@kne/modules-dev 2.1.16 → 2.1.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +373 -26
- package/dist/create-entry.js +26 -20
- package/dist/create-entry.js.map +1 -1
- package/dist/create-entry.modern.js +26 -20
- package/dist/create-entry.modern.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,19 +16,28 @@ npm i --save @kne/modules-dev
|
|
|
16
16
|
|
|
17
17
|
### 概述
|
|
18
18
|
|
|
19
|
-
modules-dev
|
|
19
|
+
modules-dev 是一个强大的组件开发辅助工具,为你的远程组件或前端库项目提供完整的开发环境。无论是实时预览组件示例,还是生成可集成到文档系统的代码,modules-dev 都能轻松应对。
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
### 核心特性
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
- **零配置开箱即用**:基于 Craco 封装的构建插件,支持远程组件和组件库两种场景
|
|
24
|
+
- **实时预览**:开发环境支持组件示例的实时预览,所见即所得
|
|
25
|
+
- **文档自动生成**:自动解析 `doc/` 目录下的文档和示例代码
|
|
26
|
+
- **命令行工具**:提供 `modules-dev-create` 和 `modules-dev-libs-init` 快速创建组件目录结构
|
|
27
|
+
- **模块联邦支持**:内置 Webpack Module Federation 支持,方便远程组件开发
|
|
28
|
+
- **灵活的路径配置**:通过环境变量自定义组件目录和别名
|
|
29
|
+
|
|
30
|
+
### 应用场景
|
|
31
|
+
|
|
32
|
+
1. **远程组件开发**:在开发远程组件时提供实时预览环境,组件发布后可集成到 kne-union 文档系统
|
|
33
|
+
2. **组件库开发**:为前端组件库提供统一的示例展示和文档生成能力
|
|
34
|
+
3. **业务项目调试**:在开发模式下集成示例预览,快速验证组件功能
|
|
27
35
|
|
|
28
36
|
### 构建工具使用
|
|
29
37
|
|
|
30
|
-
|
|
31
|
-
|
|
38
|
+
#### 远程组件项目
|
|
39
|
+
|
|
40
|
+
在项目的 `craco.config.js` 中配置 CracoRemoteComponentsPlugin:
|
|
32
41
|
|
|
33
42
|
```js
|
|
34
43
|
const {CracoRemoteComponentsPlugin} = require("@kne/modules-dev");
|
|
@@ -40,9 +49,9 @@ module.exports = {
|
|
|
40
49
|
};
|
|
41
50
|
```
|
|
42
51
|
|
|
43
|
-
|
|
52
|
+
#### 组件库项目
|
|
44
53
|
|
|
45
|
-
example/craco.config.js
|
|
54
|
+
在示例目录的 `example/craco.config.js` 中配置 CracoLibsExamplePlugin:
|
|
46
55
|
|
|
47
56
|
```js
|
|
48
57
|
const {CracoLibsExamplePlugin} = require("@kne/modules-dev");
|
|
@@ -54,13 +63,9 @@ module.exports = {
|
|
|
54
63
|
};
|
|
55
64
|
```
|
|
56
65
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
### Example部分使用
|
|
60
|
-
|
|
61
|
-
1. 远程组件库中
|
|
66
|
+
### Example 组件使用
|
|
62
67
|
|
|
63
|
-
|
|
68
|
+
#### 远程组件库项目
|
|
64
69
|
|
|
65
70
|
```jsx
|
|
66
71
|
import createEntry from "@kne/modules-dev/dist/create-entry";
|
|
@@ -84,9 +89,7 @@ const App = ({preset, themeToken, ...props}) => {
|
|
|
84
89
|
};
|
|
85
90
|
```
|
|
86
91
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
src/bootstrap.js
|
|
92
|
+
#### 业务项目集成开发模式
|
|
90
93
|
|
|
91
94
|
```jsx
|
|
92
95
|
if (process.env.NODE_ENV === 'development') {
|
|
@@ -104,42 +107,386 @@ if (process.env.NODE_ENV === 'development') {
|
|
|
104
107
|
}
|
|
105
108
|
```
|
|
106
109
|
|
|
107
|
-
|
|
110
|
+
### 命令行工具
|
|
111
|
+
|
|
112
|
+
- `modules-dev-create`:在远程组件项目中创建新的组件目录结构和文档模板
|
|
113
|
+
- `modules-dev-libs-init`:为前端库项目初始化示例开发环境
|
|
114
|
+
|
|
115
|
+
### 环境变量配置
|
|
116
|
+
|
|
117
|
+
| 变量名 | 说明 | 默认值 |
|
|
118
|
+
|--------|------|--------|
|
|
119
|
+
| MODULES_DEV_BASE_DIR | 组件基础目录 | ./src/components |
|
|
120
|
+
| MODULES_DEV_ALIAS_NAME | 组件别名 | @components |
|
|
121
|
+
| MODULES_DEV_STATIC_BASE_URL | 静态资源基础路径 | /ui_components |
|
|
122
|
+
| MODULES_DEV_PUBLIC_URL | 公共 URL | 自动生成 |
|
|
123
|
+
| CURRENT_VERSION | 当前版本 | 从 package.json 读取 |
|
|
124
|
+
| OPEN_CURRENT_VERSION | 是否在 URL 中显示版本号 | true |
|
|
108
125
|
|
|
109
126
|
|
|
110
127
|
### 示例
|
|
111
128
|
|
|
112
129
|
#### 示例代码
|
|
113
130
|
|
|
131
|
+
- 基础用法
|
|
132
|
+
- 展示 createEntry 的基本使用方式,包装业务组件并集成开发环境功能
|
|
133
|
+
- _ModulesDev(@kne/modules-dev)[import * as _ModulesDev from "@kne/modules-dev"],remoteLoader(@kne/remote-loader),antd(antd)
|
|
134
|
+
|
|
135
|
+
```jsx
|
|
136
|
+
const { createEntry, ExampleRoutes } = _ModulesDev;
|
|
137
|
+
const { createWithRemoteLoader, getPublicPath } = remoteLoader;
|
|
138
|
+
const { Card, Typography, Space } = antd;
|
|
139
|
+
const { useState } = React;
|
|
140
|
+
|
|
141
|
+
const BaseExample = createWithRemoteLoader({
|
|
142
|
+
modules: ['components-core:Global@PureGlobal', 'components-core:InfoPage']
|
|
143
|
+
})(({ remoteModules }) => {
|
|
144
|
+
const [PureGlobal, InfoPage] = remoteModules;
|
|
145
|
+
const [wrapped, setWrapped] = useState(true);
|
|
146
|
+
|
|
147
|
+
const MockComponent = () => (
|
|
148
|
+
<Card title="业务组件" style={{ maxWidth: 400 }}>
|
|
149
|
+
<Typography.Paragraph>这是一个模拟的业务组件内容</Typography.Paragraph>
|
|
150
|
+
</Card>
|
|
151
|
+
);
|
|
152
|
+
|
|
153
|
+
const WrappedComponent = createEntry(MockComponent);
|
|
154
|
+
|
|
155
|
+
return (
|
|
156
|
+
<PureGlobal preset={{
|
|
157
|
+
ajax: async api => {
|
|
158
|
+
return { data: { code: 0, data: api.loader() } };
|
|
159
|
+
},
|
|
160
|
+
apis: {
|
|
161
|
+
example: {
|
|
162
|
+
staticUrl: getPublicPath('modules-dev') || window.PUBLIC_URL,
|
|
163
|
+
getUrl: {
|
|
164
|
+
loader: async ({ params }) => {
|
|
165
|
+
return 'mock-data';
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}}>
|
|
171
|
+
<InfoPage>
|
|
172
|
+
<InfoPage.Part title="基础用法">
|
|
173
|
+
<Space direction="vertical" size="large" style={{ width: '100%' }}>
|
|
174
|
+
<Typography.Title level={3}>createEntry 高阶组件</Typography.Title>
|
|
175
|
+
<Typography.Paragraph>
|
|
176
|
+
createEntry 是一个高阶组件工厂函数,用于包装业务组件,
|
|
177
|
+
集成开发环境的文档预览功能。当存在组件 README 数据时,
|
|
178
|
+
会自动显示组件导航和示例页面。
|
|
179
|
+
</Typography.Paragraph>
|
|
180
|
+
<Card title="控制面板">
|
|
181
|
+
<Space>
|
|
182
|
+
<Typography.Text>启用包装:</Typography.Text>
|
|
183
|
+
<Typography.Switch checked={wrapped} onChange={setWrapped} />
|
|
184
|
+
</Space>
|
|
185
|
+
</Card>
|
|
186
|
+
<div style={{ padding: 20, background: '#f5f5f5', borderRadius: 8 }}>
|
|
187
|
+
{wrapped ? <WrappedComponent /> : <MockComponent />}
|
|
188
|
+
</div>
|
|
189
|
+
</Space>
|
|
190
|
+
</InfoPage.Part>
|
|
191
|
+
</InfoPage>
|
|
192
|
+
</PureGlobal>
|
|
193
|
+
);
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
render(<BaseExample />);
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
- FontList 图标列表
|
|
201
|
+
- 使用 FontList 组件展示和预览图标字体
|
|
202
|
+
- _ModulesDev(@kne/modules-dev)[import * as _ModulesDev from "@kne/modules-dev"],remoteLoader(@kne/remote-loader),antd(antd)
|
|
203
|
+
|
|
204
|
+
```jsx
|
|
205
|
+
const { FontList } = _ModulesDev;
|
|
206
|
+
const { createWithRemoteLoader, getPublicPath } = remoteLoader;
|
|
207
|
+
const { Space, Typography, Card } = antd;
|
|
208
|
+
|
|
209
|
+
const FontListExample = createWithRemoteLoader({
|
|
210
|
+
modules: ['components-core:Global@PureGlobal', 'components-core:InfoPage']
|
|
211
|
+
})(({ remoteModules }) => {
|
|
212
|
+
const [PureGlobal, InfoPage] = remoteModules;
|
|
213
|
+
|
|
214
|
+
return (
|
|
215
|
+
<PureGlobal preset={{
|
|
216
|
+
ajax: async api => {
|
|
217
|
+
return { data: { code: 0, data: api.loader() } };
|
|
218
|
+
},
|
|
219
|
+
apis: {
|
|
220
|
+
example: {
|
|
221
|
+
staticUrl: getPublicPath('modules-dev') || window.PUBLIC_URL,
|
|
222
|
+
getUrl: {
|
|
223
|
+
loader: async ({ params }) => {
|
|
224
|
+
return {
|
|
225
|
+
'kne-font': {
|
|
226
|
+
glyphs: [
|
|
227
|
+
{ font_class: 'icon-home' },
|
|
228
|
+
{ font_class: 'icon-user' },
|
|
229
|
+
{ font_class: 'icon-setting' },
|
|
230
|
+
{ font_class: 'icon-delete' },
|
|
231
|
+
{ font_class: 'icon-edit' },
|
|
232
|
+
{ font_class: 'icon-add' }
|
|
233
|
+
]
|
|
234
|
+
},
|
|
235
|
+
'kne-font-colorful': {
|
|
236
|
+
glyphs: [
|
|
237
|
+
{ font_class: 'icon-star' },
|
|
238
|
+
{ font_class: 'icon-heart' },
|
|
239
|
+
{ font_class: 'icon-check' }
|
|
240
|
+
]
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}}>
|
|
248
|
+
<InfoPage>
|
|
249
|
+
<InfoPage.Part title="FontList 图标列表">
|
|
250
|
+
<Space direction="vertical" size="large" style={{ width: '100%' }}>
|
|
251
|
+
<Typography.Title level={3}>图标字体预览组件</Typography.Title>
|
|
252
|
+
<Typography.Paragraph>
|
|
253
|
+
FontList 组件用于展示和预览图标字体,支持调整图标大小,
|
|
254
|
+
点击图标名称可以复制使用代码。
|
|
255
|
+
</Typography.Paragraph>
|
|
256
|
+
<Card title="示例展示">
|
|
257
|
+
<FontList fonts={{
|
|
258
|
+
'kne-font': {
|
|
259
|
+
glyphs: [
|
|
260
|
+
{ font_class: 'icon-home' },
|
|
261
|
+
{ font_class: 'icon-user' },
|
|
262
|
+
{ font_class: 'icon-setting' },
|
|
263
|
+
{ font_class: 'icon-delete' },
|
|
264
|
+
{ font_class: 'icon-edit' },
|
|
265
|
+
{ font_class: 'icon-add' }
|
|
266
|
+
]
|
|
267
|
+
},
|
|
268
|
+
'kne-font-colorful': {
|
|
269
|
+
glyphs: [
|
|
270
|
+
{ font_class: 'icon-star' },
|
|
271
|
+
{ font_class: 'icon-heart' },
|
|
272
|
+
{ font_class: 'icon-check' }
|
|
273
|
+
]
|
|
274
|
+
}
|
|
275
|
+
}} />
|
|
276
|
+
</Card>
|
|
277
|
+
</Space>
|
|
278
|
+
</InfoPage.Part>
|
|
279
|
+
</InfoPage>
|
|
280
|
+
</PureGlobal>
|
|
281
|
+
);
|
|
282
|
+
});
|
|
283
|
+
|
|
284
|
+
render(<FontListExample />);
|
|
285
|
+
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
- Highlight 代码高亮
|
|
289
|
+
- 使用 Highlight 组件实现代码语法高亮显示
|
|
290
|
+
- _ModulesDev(@kne/modules-dev)[import * as _ModulesDev from "@kne/modules-dev"],antd(antd)
|
|
291
|
+
|
|
292
|
+
```jsx
|
|
293
|
+
const { Highlight } = _ModulesDev;
|
|
294
|
+
const { Space, Typography, Card, Input } = antd;
|
|
295
|
+
const { useState } = React;
|
|
296
|
+
|
|
297
|
+
const codeTemplate = `import React from 'react';
|
|
298
|
+
|
|
299
|
+
function App() {
|
|
300
|
+
return (
|
|
301
|
+
<div className="app">
|
|
302
|
+
<h1>Hello World</h1>
|
|
303
|
+
<p>Welcome to React</p>
|
|
304
|
+
</div>
|
|
305
|
+
);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
export default App;`;
|
|
309
|
+
|
|
310
|
+
const HighlightExample = () => {
|
|
311
|
+
const [code, setCode] = useState(codeTemplate);
|
|
312
|
+
|
|
313
|
+
return (
|
|
314
|
+
<Space direction="vertical" size="large" style={{ width: '100%' }}>
|
|
315
|
+
<Typography.Title level={3}>Highlight 代码高亮组件</Typography.Title>
|
|
316
|
+
<Typography.Paragraph>
|
|
317
|
+
Highlight 组件基于 highlight.js 实现,支持多种编程语言的语法高亮显示。
|
|
318
|
+
</Typography.Paragraph>
|
|
319
|
+
<Card title="代码输入">
|
|
320
|
+
<Input.TextArea
|
|
321
|
+
value={code}
|
|
322
|
+
onChange={(e) => setCode(e.target.value)}
|
|
323
|
+
rows={8}
|
|
324
|
+
placeholder="输入要高亮的代码"
|
|
325
|
+
/>
|
|
326
|
+
</Card>
|
|
327
|
+
<Card title="高亮效果">
|
|
328
|
+
<Highlight html={`<pre><code class="language-javascript hljs">${escapeHtml(code)}</code></pre>`} />
|
|
329
|
+
</Card>
|
|
330
|
+
</Space>
|
|
331
|
+
);
|
|
332
|
+
};
|
|
333
|
+
|
|
334
|
+
function escapeHtml(text) {
|
|
335
|
+
return text
|
|
336
|
+
.replace(/&/g, '&')
|
|
337
|
+
.replace(/</g, '<')
|
|
338
|
+
.replace(/>/g, '>')
|
|
339
|
+
.replace(/"/g, '"')
|
|
340
|
+
.replace(/'/g, ''');
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
render(<HighlightExample />);
|
|
344
|
+
|
|
345
|
+
```
|
|
114
346
|
|
|
115
347
|
|
|
116
348
|
### API
|
|
117
349
|
|
|
118
350
|
```js
|
|
119
|
-
const {CracoRemoteComponentsPlugin,CracoLibsExamplePlugin,env} = require('@kne/modules-dev');
|
|
351
|
+
const {CracoRemoteComponentsPlugin, CracoLibsExamplePlugin, env} = require('@kne/modules-dev');
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### CracoRemoteComponentsPlugin
|
|
355
|
+
|
|
356
|
+
用于远程组件项目的 Craco 插件,自动配置文档解析、模块联邦和 CSS Modules 支持。
|
|
357
|
+
|
|
358
|
+
| 属性名 | 说明 | 类型 | 默认值 |
|
|
359
|
+
|-----|----|----|-----|
|
|
360
|
+
| middleware | 中间件配置 | object | undefined |
|
|
361
|
+
|
|
362
|
+
### CracoLibsExamplePlugin
|
|
363
|
+
|
|
364
|
+
用于组件库示例项目的 Craco 插件,自动配置文档解析、版本管理和模块联邦支持。
|
|
365
|
+
|
|
366
|
+
| 属性名 | 说明 | 类型 | 默认值 |
|
|
367
|
+
|-----|----|----|-----|
|
|
368
|
+
| middleware | 中间件配置 | object | undefined |
|
|
369
|
+
|
|
370
|
+
### env
|
|
371
|
+
|
|
372
|
+
环境变量配置对象,提供项目构建所需的各种路径和配置信息。
|
|
373
|
+
|
|
374
|
+
| 属性名 | 说明 | 类型 |
|
|
375
|
+
|-----|----|----|
|
|
376
|
+
| appDir | 应用根目录 | string |
|
|
377
|
+
| manifestPath | manifest 文件路径 | string |
|
|
378
|
+
| staticBaseUrl | 静态资源基础 URL | string |
|
|
379
|
+
| moduleBasePath | 组件基础路径 | string |
|
|
380
|
+
| moduleBaseDir | 组件基础目录(绝对路径) | string |
|
|
381
|
+
| moduleAliasName | 组件别名名称 | string |
|
|
382
|
+
| templateDir | 模板目录 | string |
|
|
383
|
+
| templateLibsExampleDir | 组件库示例模板目录 | string |
|
|
384
|
+
| componentsName | 组件名称 | string |
|
|
385
|
+
| openComponentsVersion | 是否在 URL 中显示版本号 | boolean |
|
|
386
|
+
| componentsVersion | 组件版本号 | string |
|
|
387
|
+
| publicUrl | 公共 URL | string |
|
|
388
|
+
|
|
389
|
+
```js
|
|
390
|
+
import createEntry from '@kne/modules-dev/dist/create-entry';
|
|
391
|
+
|
|
392
|
+
const Entry = createEntry(children);
|
|
120
393
|
```
|
|
121
394
|
|
|
122
|
-
|
|
395
|
+
### createEntry
|
|
396
|
+
|
|
397
|
+
高阶组件工厂函数,用于包装业务组件,集成开发环境的文档预览功能。
|
|
398
|
+
|
|
399
|
+
| 属性名 | 说明 | 类型 | 默认值 |
|
|
400
|
+
|-----|----|----|-----|
|
|
401
|
+
| children | 要包装的业务组件 | ReactComponent | - |
|
|
402
|
+
| preset | 全局预设配置 | object | - |
|
|
403
|
+
| projectName | 项目名称 | string | - |
|
|
404
|
+
| themeToken | 主题配置 | object | - |
|
|
405
|
+
| pageProps | 页面属性 | object | - |
|
|
406
|
+
| baseUrl | 基础路径 | string | '' |
|
|
407
|
+
|
|
408
|
+
### createEntry.ExampleRoutes
|
|
409
|
+
|
|
410
|
+
示例路由组件,用于渲染组件示例页面。
|
|
411
|
+
|
|
412
|
+
| 属性名 | 说明 | 类型 | 默认值 |
|
|
413
|
+
|-----|----|----|-----|
|
|
414
|
+
| readme | 组件 README 数据 | object | - |
|
|
415
|
+
| paths | 路径配置列表 | array | - |
|
|
416
|
+
| preset | 全局预设配置 | object | - |
|
|
417
|
+
| themeToken | 主题配置 | object | - |
|
|
418
|
+
| baseUrl | 基础路径 | string | '' |
|
|
419
|
+
| projectName | 项目名称 | string | - |
|
|
420
|
+
| pageProps | 页面属性 | object | - |
|
|
421
|
+
| children | 子路由内容 | ReactNode | - |
|
|
422
|
+
|
|
423
|
+
### createEntry.Example
|
|
424
|
+
|
|
425
|
+
单个组件示例展示组件。
|
|
123
426
|
|
|
124
427
|
| 属性名 | 说明 | 类型 | 默认值 |
|
|
125
428
|
|-----|----|----|-----|
|
|
429
|
+
| baseUrl | 基础路径 | string | - |
|
|
430
|
+
| readme | 组件 README 数据 | object | - |
|
|
431
|
+
| pageProps | 页面属性 | object | - |
|
|
126
432
|
|
|
127
|
-
|
|
433
|
+
### createEntry.ExamplePage
|
|
434
|
+
|
|
435
|
+
示例页面组件,用于展示组件文档和代码示例。
|
|
128
436
|
|
|
129
437
|
| 属性名 | 说明 | 类型 | 默认值 |
|
|
130
438
|
|-----|----|----|-----|
|
|
439
|
+
| data | 组件数据 | object | - |
|
|
440
|
+
| current | 当前组件 ID | string | - |
|
|
441
|
+
| items | 组件列表 | array | - |
|
|
442
|
+
| pageProps | 页面属性 | object | - |
|
|
443
|
+
|
|
444
|
+
### createEntry.ExampleContent
|
|
131
445
|
|
|
132
|
-
|
|
446
|
+
示例内容组件,渲染组件的描述、概述、代码示例和 API 文档。
|
|
133
447
|
|
|
134
448
|
| 属性名 | 说明 | 类型 | 默认值 |
|
|
135
449
|
|-----|----|----|-----|
|
|
450
|
+
| data | 组件数据 | object | - |
|
|
136
451
|
|
|
137
452
|
```js
|
|
138
|
-
import
|
|
453
|
+
import {FontList} from '@kne/modules-dev/dist/index';
|
|
454
|
+
```
|
|
139
455
|
|
|
140
|
-
|
|
456
|
+
### FontList
|
|
457
|
+
|
|
458
|
+
图标字体列表展示组件,用于预览和复制图标代码。
|
|
459
|
+
|
|
460
|
+
| 属性名 | 说明 | 类型 | 默认值 |
|
|
461
|
+
|-----|----|----|-----|
|
|
462
|
+
| fonts | 图标字体数据 | object | - |
|
|
463
|
+
|
|
464
|
+
```js
|
|
465
|
+
import {Example} from '@kne/modules-dev/dist/index';
|
|
141
466
|
```
|
|
142
467
|
|
|
468
|
+
### Example
|
|
469
|
+
|
|
470
|
+
组件示例展示组件(别名,同 createEntry.Example)。
|
|
471
|
+
|
|
472
|
+
| 属性名 | 说明 | 类型 | 默认值 |
|
|
473
|
+
|-----|----|----|-----|
|
|
474
|
+
| baseUrl | 基础路径 | string | - |
|
|
475
|
+
| readme | 组件 README 数据 | object | - |
|
|
476
|
+
| pageProps | 页面属性 | object | - |
|
|
477
|
+
|
|
478
|
+
```js
|
|
479
|
+
import {ExamplePage} from '@kne/modules-dev/dist/index';
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
### ExamplePage
|
|
483
|
+
|
|
484
|
+
示例页面组件(别名,同 createEntry.ExamplePage)。
|
|
485
|
+
|
|
143
486
|
| 属性名 | 说明 | 类型 | 默认值 |
|
|
144
487
|
|-----|----|----|-----|
|
|
488
|
+
| data | 组件数据 | object | - |
|
|
489
|
+
| current | 当前组件 ID | string | - |
|
|
490
|
+
| items | 组件列表 | array | - |
|
|
491
|
+
| pageProps | 页面属性 | object | - |
|
|
145
492
|
|
package/dist/create-entry.js
CHANGED
|
@@ -465,16 +465,19 @@ const FontList = _ref => {
|
|
|
465
465
|
type: font_class,
|
|
466
466
|
size: value
|
|
467
467
|
})
|
|
468
|
-
}), /*#__PURE__*/jsxRuntime.jsx(antd.
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
468
|
+
}), /*#__PURE__*/jsxRuntime.jsx(antd.Flex, {
|
|
469
|
+
justify: "center",
|
|
470
|
+
children: /*#__PURE__*/jsxRuntime.jsx(antd.Typography.Text, {
|
|
471
|
+
style: {
|
|
472
|
+
display: 'block',
|
|
473
|
+
width: '120px',
|
|
474
|
+
wordBreak: 'break-all'
|
|
475
|
+
},
|
|
476
|
+
copyable: {
|
|
477
|
+
text: '<Icon colorful type="' + font_class + '"/>'
|
|
478
|
+
},
|
|
479
|
+
children: font_class
|
|
480
|
+
})
|
|
478
481
|
})]
|
|
479
482
|
}) : /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
480
483
|
children: [/*#__PURE__*/jsxRuntime.jsx(antd.Flex, {
|
|
@@ -484,16 +487,19 @@ const FontList = _ref => {
|
|
|
484
487
|
size: value,
|
|
485
488
|
fontClassName: fontClassName
|
|
486
489
|
})
|
|
487
|
-
}), /*#__PURE__*/jsxRuntime.jsx(antd.
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
490
|
+
}), /*#__PURE__*/jsxRuntime.jsx(antd.Flex, {
|
|
491
|
+
justify: "center",
|
|
492
|
+
children: /*#__PURE__*/jsxRuntime.jsx(antd.Typography.Text, {
|
|
493
|
+
style: {
|
|
494
|
+
display: 'block',
|
|
495
|
+
width: '120px',
|
|
496
|
+
wordBreak: 'break-all'
|
|
497
|
+
},
|
|
498
|
+
copyable: {
|
|
499
|
+
text: '<Icon type="' + font_class + '" fontClassName="' + fontClassName + '"/>'
|
|
500
|
+
},
|
|
501
|
+
children: font_class
|
|
502
|
+
})
|
|
497
503
|
})]
|
|
498
504
|
})
|
|
499
505
|
}, font_class);
|
package/dist/create-entry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-entry.js","sources":["../src/Highlight.js","../src/ExamplePage.js","../src/Example.js","../src/createEntry.js","../src/FontList.js"],"sourcesContent":["import hljs from 'highlight.js';\nimport React, {useEffect, useRef} from 'react';\nimport 'highlight.js/styles/github.css';\n\nhljs.configure({\n ignoreUnescapedHTML: true\n});\nconst Highlight = ({html, ...props}) => {\n const ref = useRef(null);\n useEffect(() => {\n ref.current.querySelectorAll('pre code').forEach((el) => {\n hljs.highlightElement(el);\n });\n }, [html]);\n return <div {...props} ref={ref} dangerouslySetInnerHTML={{__html: html}}/>\n};\n\nexport default Highlight;","import '@kne/example-driver/dist/index.css';\nimport React, {useEffect, useMemo} from \"react\";\nimport get from \"lodash/get\";\nimport {Space} from \"antd\";\nimport style from \"./example.module.scss\";\nimport classnames from \"classnames\";\nimport ExampleDriver from \"@kne/example-driver\";\nimport {HashRouter} from \"react-router-dom\";\nimport {createWithRemoteLoader} from '@kne/remote-loader';\nimport Highlight from './Highlight';\n\nconst ExampleDriverContext = createWithRemoteLoader({\n modules: [\"components-core:Global@GlobalProvider\"]\n})(({remoteModules, children, ...props}) => {\n const [GlobalProvider] = remoteModules;\n return <HashRouter>\n <GlobalProvider {...props}>{children}</GlobalProvider>\n </HashRouter>\n});\n\nexport const ExampleContent = createWithRemoteLoader({\n modules: [\"components-core:Global@useGlobalContext\", \"components-core:Global@usePreset\"]\n})(({remoteModules, data}) => {\n const [useGlobalContext, usePreset] = remoteModules;\n const {global: global} = useGlobalContext();\n const preset = usePreset();\n\n const exampleStyle = get(data, 'example.style');\n const DriverContext = useMemo(() => {\n return ({children}) => <ExampleDriverContext {...global} preset={preset}>\n {children}\n </ExampleDriverContext>\n }, [global]);\n useEffect(() => {\n if (!exampleStyle) {\n return;\n }\n const dom = document.createElement('style');\n dom.innerText = exampleStyle.replace(/\\n/g, '');\n document.head.append(dom);\n return () => {\n document.head.removeChild(dom);\n };\n }, [exampleStyle]);\n\n return <Space className={classnames('container', style['main'])} direction=\"vertical\">\n {data.packageName && <>\n <h2 className={style['part-title']}>安装</h2>\n <Highlight className=\"mark-down-html\"\n html={`<pre><code class=\"language-shell hljs\">npm install --save ${data.packageName}</code></pre>`}/>\n </>}\n {data.description && <>\n <h2 className={style['part-title']}>描述</h2>\n <Highlight className=\"mark-down-html\" html={data.description}/>\n </>}\n {data.summary && <>\n <h2 className={style['part-title']}>概述</h2>\n <Highlight className=\"mark-down-html\" html={data.summary}/>\n </>}\n {data.example.list && data.example.list.length > 0 && <>\n <h2 className={style['part-title']}>代码示例</h2>\n <div className={classnames(style['example'], data.example.className)}>\n <ExampleDriver contextComponent={DriverContext} isFull={data.example.isFull}\n list={data.example.list}/>\n </div>\n </>}\n <h2 className={style['part-title']}>API</h2>\n <Highlight className=\"mark-down-html\" html={data.api}/>\n </Space>\n});\n\nconst ExamplePage = createWithRemoteLoader({\n modules: [\"components-core:Layout@Page\", \"components-core:Layout@Menu\", \"components-core:Global@useGlobalContext\"]\n})(({remoteModules, data, current, items, pageProps = {}}) => {\n const [Page, Menu] = remoteModules;\n return <Page title={data.name} className={style['example-page']}\n menu={items && items.length > 0 && <Menu currentKey={current} items={items}/>} {...pageProps}>\n <ExampleContent data={data}/>\n </Page>\n});\n\nexport default ExamplePage;\n","import React from 'react';\nimport {useParams, Navigate, useSearchParams} from \"react-router-dom\";\nimport ExamplePage from './ExamplePage';\nimport ensureSlash from '@kne/ensure-slash';\nimport Fetch from '@kne/react-fetch';\n\nconst Example = ({baseUrl, readme, pageProps}) => {\n const {id: current} = useParams();\n const [searchParams] = useSearchParams();\n const searchString = searchParams.size > 0 ? '?' + searchParams.toString() : '';\n const data = readme[current];\n\n if (!(current && readme[current])) {\n return <Navigate to={`${ensureSlash(baseUrl, true)}${Object.keys(readme)[0]}${searchString}`} replace/>\n }\n\n const renderExamplePage = ({data}) => <ExamplePage pageProps={pageProps} data={data} current={current}\n items={Object.keys(readme).map((name) => {\n return {\n label: name,\n key: name,\n path: `${ensureSlash(baseUrl, true)}` + name + searchString\n };\n })}/>\n\n if (data && data.hasOwnProperty('loader') || data.hasOwnProperty('url')) {\n return <Fetch {...Object.assign({}, data)} render={renderExamplePage}/>\n }\n\n return renderExamplePage({data});\n};\n\nexport default Example;\n","import React, {useEffect, useState} from 'react';\nimport {Navigate, Route, Routes, useLocation, useNavigate, Outlet} from 'react-router-dom';\nimport {createWithRemoteLoader} from '@kne/remote-loader';\nimport ensureSlash from '@kne/ensure-slash';\nimport {Result, FloatButton} from 'antd';\nimport Example from './Example';\nimport ExamplePage, {ExampleContent} from './ExamplePage';\nimport get from 'lodash/get';\n\nconst ModulesIsEmpty = ({readme, baseUrl}) => {\n const location = useLocation();\n if (readme && Object.keys(readme).length > 0 && ensureSlash(location.pathname, true) === baseUrl) {\n return <Navigate to={`${baseUrl}${Object.keys(readme)[0]}`}/>;\n }\n if (readme && Object.keys(readme).length > 0) {\n return <Outlet/>\n }\n return <Result\n status=\"404\"\n title=\"没有检测到业务组件\"\n subTitle=\"您可以通过 modules-dev create 命令创建组件,如果已经有组件请检查环境变量 MODULES_DEV_BASE_DIR和MODULES_DEV_ALIAS_NAME 是否设置正确\"\n />\n};\n\nconst EntryButton = createWithRemoteLoader({\n modules: ['components-core:Icon']\n})(({remoteModules}) => {\n const [Icon] = remoteModules;\n const navigate = useNavigate();\n return <FloatButton icon={<Icon className=\"icon\" type=\"icon-liangdian\"/>} onClick={() => {\n navigate('/modules-dev-components');\n }}/>;\n});\n\nconst MainLayout = createWithRemoteLoader({\n modules: [\"components-core:Global\", \"components-core:Layout\"]\n})(({remoteModules, paths, preset, ...props}) => {\n const [Global, Layout] = remoteModules;\n return <Global {...props} preset={preset}><Layout navigation={{\n showIndex: false, list: paths\n }}><Outlet/></Layout></Global>;\n});\n\nconst ExampleRoutes = ({\n preset, themeToken, projectName, baseUrl = '', paths = [{\n key: 'index', path: '/', title: '首页'\n }, {\n key: 'components', path: `${baseUrl}/components`, title: '组件'\n }], readme, pageProps, children, ...props\n }) => {\n const componentsPath = paths.find((item) => item.key === 'components');\n const componentsBaseUrl = ensureSlash(get(componentsPath, 'path', '/'), true);\n const baseUrlPrefix = new RegExp(`^${ensureSlash(baseUrl,true)}`);\n const componentsRoutePath = ensureSlash(componentsBaseUrl.replace(baseUrlPrefix, ''));\n return <Routes>\n <Route element={<MainLayout paths={paths} preset={preset} themeToken={themeToken} {...props}/>}>\n {componentsPath && <Route path={componentsRoutePath}\n element={<ModulesIsEmpty baseUrl={componentsBaseUrl} readme={readme}/>}>\n <Route path=\":id\"\n element={<Example baseUrl={componentsBaseUrl} readme={readme} pageProps={pageProps}/>}/>\n <Route path=\":id/*\"\n element={<Example baseUrl={componentsBaseUrl} readme={readme} pageProps={pageProps}/>}/>\n </Route>}\n </Route>\n <Route path='*' element={children}/>\n </Routes>\n};\n\n\nconst createEntry = (WrappedComponents) => (({\n remoteModules,\n preset,\n projectName,\n themeToken,\n pageProps,\n baseUrl = '',\n ...props\n }) => {\n const [readme, setReadme] = useState({});\n useEffect(() => {\n import('readme').then((module) => {\n setReadme(module.__esModule === true ? module.default : module);\n });\n }, []);\n return <>\n {Object.keys(readme).length > 0 ?\n <ExampleRoutes preset={preset} baseUrl={baseUrl} projectName={projectName} readme={readme}\n pageProps={pageProps}\n paths={[{\n key: 'index', path: '/', title: '首页'\n }, {\n key: 'components', path: `${baseUrl}/modules-dev-components`, title: '组件'\n }]}\n themeToken={themeToken}>\n <WrappedComponents {...props}/><EntryButton/>\n </ExampleRoutes> : <WrappedComponents {...props}/>}\n </>;\n});\ncreateEntry.Example = Example;\ncreateEntry.ExampleRoutes = ExampleRoutes;\ncreateEntry.ExamplePage = ExamplePage;\ncreateEntry.ExampleContent = ExampleContent;\n\nexport default createEntry;\n","import {useState} from 'react';\nimport {Flex, Slider, Typography, Card} from 'antd';\nimport Icon from '@kne/react-icon';\n\nconst FontList = ({fonts}) => {\n const [value, setValue] = useState(30);\n return <Flex vertical gap={20}>\n <Flex gap={8}>\n <div>调整大小:</div>\n <Slider style={{ width: 100 }} max={60} min={12} value={value} onChange={setValue} />\n <div>{value}px</div>\n </Flex>\n {Object.keys(fonts).map(fontClassName => {\n const { glyphs: list } = fonts[fontClassName];\n const isColorful = /-colorful$/.test(fontClassName);\n return (\n <Flex vertical gap={8} key={fontClassName}>\n <Typography.Title level={4}>{fontClassName}</Typography.Title>\n <Flex gap={12} wrap>\n {list.map(({ font_class }) => {\n return (\n <Card size=\"small\" key={font_class}>\n {isColorful ? (\n <>\n <Flex justify=\"center\">\n <Icon colorful type={font_class} size={value} />\n </Flex>\n <Typography.Text\n style={{ display: 'block', width: '120px', wordBreak: 'break-all' }}\n copyable={{\n text: '<Icon colorful type=\"' + font_class + '\" size={' + value + '}/>'\n }}>\n {font_class}\n </Typography.Text>\n </>\n ) : (\n <>\n <Flex justify=\"center\">\n <Icon type={font_class} size={value} fontClassName={fontClassName} />\n </Flex>\n <Typography.Text\n style={{ display: 'block', width: '120px', wordBreak: 'break-all' }}\n copyable={{\n text: '<Icon type=\"' + font_class + '\" size={' + value + '} fontClassName={' + fontClassName + '}/>'\n }}>\n {font_class}\n </Typography.Text>\n </>\n )}\n </Card>\n );\n })}\n </Flex>\n </Flex>\n );\n })}\n </Flex>\n};\n\nexport default FontList;"],"names":["hljs","configure","ignoreUnescapedHTML","Highlight","html","props","ref","useRef","useEffect","current","querySelectorAll","forEach","el","highlightElement","_jsx","dangerouslySetInnerHTML","__html","ExampleDriverContext","createWithRemoteLoader","modules","_ref","remoteModules","children","_objectWithoutPropertiesLoose","_excluded","GlobalProvider","HashRouter","_extends","ExampleContent","_ref2","data","useGlobalContext","usePreset","global","preset","exampleStyle","get","DriverContext","useMemo","_ref3","dom","document","createElement","innerText","replace","head","append","removeChild","_jsxs","Space","className","classnames","style","direction","packageName","_Fragment","description","summary","example","list","length","ExampleDriver","contextComponent","isFull","api","ExamplePage","_ref4","items","pageProps","Page","Menu","title","name","menu","currentKey","Example","baseUrl","readme","id","useParams","searchParams","useSearchParams","searchString","size","toString","Navigate","to","ensureSlash","Object","keys","renderExamplePage","map","label","key","path","hasOwnProperty","Fetch","assign","render","ModulesIsEmpty","location","useLocation","pathname","Outlet","Result","status","subTitle","EntryButton","Icon","navigate","useNavigate","FloatButton","icon","type","onClick","MainLayout","paths","Global","Layout","navigation","showIndex","ExampleRoutes","themeToken","_excluded2","componentsPath","find","item","componentsBaseUrl","baseUrlPrefix","RegExp","componentsRoutePath","Routes","Route","element","createEntry","WrappedComponents","_ref5","projectName","_excluded3","setReadme","useState","then","module","__esModule","default","FontList","fonts","value","setValue","Flex","vertical","gap","Slider","width","max","min","onChange","fontClassName","glyphs","isColorful","test","Typography","Title","level","wrap","font_class","Card","justify","colorful","Text","display","wordBreak","copyable","text"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-entry.js","sources":["../src/Highlight.js","../src/ExamplePage.js","../src/Example.js","../src/createEntry.js","../src/FontList.js"],"sourcesContent":["import hljs from 'highlight.js';\nimport React, {useEffect, useRef} from 'react';\nimport 'highlight.js/styles/github.css';\n\nhljs.configure({\n ignoreUnescapedHTML: true\n});\nconst Highlight = ({html, ...props}) => {\n const ref = useRef(null);\n useEffect(() => {\n ref.current.querySelectorAll('pre code').forEach((el) => {\n hljs.highlightElement(el);\n });\n }, [html]);\n return <div {...props} ref={ref} dangerouslySetInnerHTML={{__html: html}}/>\n};\n\nexport default Highlight;","import '@kne/example-driver/dist/index.css';\nimport React, {useEffect, useMemo} from \"react\";\nimport get from \"lodash/get\";\nimport {Space} from \"antd\";\nimport style from \"./example.module.scss\";\nimport classnames from \"classnames\";\nimport ExampleDriver from \"@kne/example-driver\";\nimport {HashRouter} from \"react-router-dom\";\nimport {createWithRemoteLoader} from '@kne/remote-loader';\nimport Highlight from './Highlight';\n\nconst ExampleDriverContext = createWithRemoteLoader({\n modules: [\"components-core:Global@GlobalProvider\"]\n})(({remoteModules, children, ...props}) => {\n const [GlobalProvider] = remoteModules;\n return <HashRouter>\n <GlobalProvider {...props}>{children}</GlobalProvider>\n </HashRouter>\n});\n\nexport const ExampleContent = createWithRemoteLoader({\n modules: [\"components-core:Global@useGlobalContext\", \"components-core:Global@usePreset\"]\n})(({remoteModules, data}) => {\n const [useGlobalContext, usePreset] = remoteModules;\n const {global: global} = useGlobalContext();\n const preset = usePreset();\n\n const exampleStyle = get(data, 'example.style');\n const DriverContext = useMemo(() => {\n return ({children}) => <ExampleDriverContext {...global} preset={preset}>\n {children}\n </ExampleDriverContext>\n }, [global]);\n useEffect(() => {\n if (!exampleStyle) {\n return;\n }\n const dom = document.createElement('style');\n dom.innerText = exampleStyle.replace(/\\n/g, '');\n document.head.append(dom);\n return () => {\n document.head.removeChild(dom);\n };\n }, [exampleStyle]);\n\n return <Space className={classnames('container', style['main'])} direction=\"vertical\">\n {data.packageName && <>\n <h2 className={style['part-title']}>安装</h2>\n <Highlight className=\"mark-down-html\"\n html={`<pre><code class=\"language-shell hljs\">npm install --save ${data.packageName}</code></pre>`}/>\n </>}\n {data.description && <>\n <h2 className={style['part-title']}>描述</h2>\n <Highlight className=\"mark-down-html\" html={data.description}/>\n </>}\n {data.summary && <>\n <h2 className={style['part-title']}>概述</h2>\n <Highlight className=\"mark-down-html\" html={data.summary}/>\n </>}\n {data.example.list && data.example.list.length > 0 && <>\n <h2 className={style['part-title']}>代码示例</h2>\n <div className={classnames(style['example'], data.example.className)}>\n <ExampleDriver contextComponent={DriverContext} isFull={data.example.isFull}\n list={data.example.list}/>\n </div>\n </>}\n <h2 className={style['part-title']}>API</h2>\n <Highlight className=\"mark-down-html\" html={data.api}/>\n </Space>\n});\n\nconst ExamplePage = createWithRemoteLoader({\n modules: [\"components-core:Layout@Page\", \"components-core:Layout@Menu\", \"components-core:Global@useGlobalContext\"]\n})(({remoteModules, data, current, items, pageProps = {}}) => {\n const [Page, Menu] = remoteModules;\n return <Page title={data.name} className={style['example-page']}\n menu={items && items.length > 0 && <Menu currentKey={current} items={items}/>} {...pageProps}>\n <ExampleContent data={data}/>\n </Page>\n});\n\nexport default ExamplePage;\n","import React from 'react';\nimport {useParams, Navigate, useSearchParams} from \"react-router-dom\";\nimport ExamplePage from './ExamplePage';\nimport ensureSlash from '@kne/ensure-slash';\nimport Fetch from '@kne/react-fetch';\n\nconst Example = ({baseUrl, readme, pageProps}) => {\n const {id: current} = useParams();\n const [searchParams] = useSearchParams();\n const searchString = searchParams.size > 0 ? '?' + searchParams.toString() : '';\n const data = readme[current];\n\n if (!(current && readme[current])) {\n return <Navigate to={`${ensureSlash(baseUrl, true)}${Object.keys(readme)[0]}${searchString}`} replace/>\n }\n\n const renderExamplePage = ({data}) => <ExamplePage pageProps={pageProps} data={data} current={current}\n items={Object.keys(readme).map((name) => {\n return {\n label: name,\n key: name,\n path: `${ensureSlash(baseUrl, true)}` + name + searchString\n };\n })}/>\n\n if (data && data.hasOwnProperty('loader') || data.hasOwnProperty('url')) {\n return <Fetch {...Object.assign({}, data)} render={renderExamplePage}/>\n }\n\n return renderExamplePage({data});\n};\n\nexport default Example;\n","import React, {useEffect, useState} from 'react';\nimport {Navigate, Route, Routes, useLocation, useNavigate, Outlet} from 'react-router-dom';\nimport {createWithRemoteLoader} from '@kne/remote-loader';\nimport ensureSlash from '@kne/ensure-slash';\nimport {Result, FloatButton} from 'antd';\nimport Example from './Example';\nimport ExamplePage, {ExampleContent} from './ExamplePage';\nimport get from 'lodash/get';\n\nconst ModulesIsEmpty = ({readme, baseUrl}) => {\n const location = useLocation();\n if (readme && Object.keys(readme).length > 0 && ensureSlash(location.pathname, true) === baseUrl) {\n return <Navigate to={`${baseUrl}${Object.keys(readme)[0]}`}/>;\n }\n if (readme && Object.keys(readme).length > 0) {\n return <Outlet/>\n }\n return <Result\n status=\"404\"\n title=\"没有检测到业务组件\"\n subTitle=\"您可以通过 modules-dev create 命令创建组件,如果已经有组件请检查环境变量 MODULES_DEV_BASE_DIR和MODULES_DEV_ALIAS_NAME 是否设置正确\"\n />\n};\n\nconst EntryButton = createWithRemoteLoader({\n modules: ['components-core:Icon']\n})(({remoteModules}) => {\n const [Icon] = remoteModules;\n const navigate = useNavigate();\n return <FloatButton icon={<Icon className=\"icon\" type=\"icon-liangdian\"/>} onClick={() => {\n navigate('/modules-dev-components');\n }}/>;\n});\n\nconst MainLayout = createWithRemoteLoader({\n modules: [\"components-core:Global\", \"components-core:Layout\"]\n})(({remoteModules, paths, preset, ...props}) => {\n const [Global, Layout] = remoteModules;\n return <Global {...props} preset={preset}><Layout navigation={{\n showIndex: false, list: paths\n }}><Outlet/></Layout></Global>;\n});\n\nconst ExampleRoutes = ({\n preset, themeToken, projectName, baseUrl = '', paths = [{\n key: 'index', path: '/', title: '首页'\n }, {\n key: 'components', path: `${baseUrl}/components`, title: '组件'\n }], readme, pageProps, children, ...props\n }) => {\n const componentsPath = paths.find((item) => item.key === 'components');\n const componentsBaseUrl = ensureSlash(get(componentsPath, 'path', '/'), true);\n const baseUrlPrefix = new RegExp(`^${ensureSlash(baseUrl,true)}`);\n const componentsRoutePath = ensureSlash(componentsBaseUrl.replace(baseUrlPrefix, ''));\n return <Routes>\n <Route element={<MainLayout paths={paths} preset={preset} themeToken={themeToken} {...props}/>}>\n {componentsPath && <Route path={componentsRoutePath}\n element={<ModulesIsEmpty baseUrl={componentsBaseUrl} readme={readme}/>}>\n <Route path=\":id\"\n element={<Example baseUrl={componentsBaseUrl} readme={readme} pageProps={pageProps}/>}/>\n <Route path=\":id/*\"\n element={<Example baseUrl={componentsBaseUrl} readme={readme} pageProps={pageProps}/>}/>\n </Route>}\n </Route>\n <Route path='*' element={children}/>\n </Routes>\n};\n\n\nconst createEntry = (WrappedComponents) => (({\n remoteModules,\n preset,\n projectName,\n themeToken,\n pageProps,\n baseUrl = '',\n ...props\n }) => {\n const [readme, setReadme] = useState({});\n useEffect(() => {\n import('readme').then((module) => {\n setReadme(module.__esModule === true ? module.default : module);\n });\n }, []);\n return <>\n {Object.keys(readme).length > 0 ?\n <ExampleRoutes preset={preset} baseUrl={baseUrl} projectName={projectName} readme={readme}\n pageProps={pageProps}\n paths={[{\n key: 'index', path: '/', title: '首页'\n }, {\n key: 'components', path: `${baseUrl}/modules-dev-components`, title: '组件'\n }]}\n themeToken={themeToken}>\n <WrappedComponents {...props}/><EntryButton/>\n </ExampleRoutes> : <WrappedComponents {...props}/>}\n </>;\n});\ncreateEntry.Example = Example;\ncreateEntry.ExampleRoutes = ExampleRoutes;\ncreateEntry.ExamplePage = ExamplePage;\ncreateEntry.ExampleContent = ExampleContent;\n\nexport default createEntry;\n","import {useState} from 'react';\nimport {Flex, Slider, Typography, Card} from 'antd';\nimport Icon from '@kne/react-icon';\n\nconst FontList = ({fonts}) => {\n const [value, setValue] = useState(30);\n return <Flex vertical gap={20}>\n <Flex gap={8}>\n <div>调整大小:</div>\n <Slider style={{width: 100}} max={60} min={12} value={value} onChange={setValue}/>\n <div>{value}px</div>\n </Flex>\n {Object.keys(fonts).map(fontClassName => {\n const {glyphs: list} = fonts[fontClassName];\n const isColorful = /-colorful$/.test(fontClassName);\n return (<Flex vertical gap={8} key={fontClassName}>\n <Typography.Title level={4}>{fontClassName}</Typography.Title>\n <Flex gap={12} wrap>\n {list.map(({font_class}) => {\n return (<Card size=\"small\" key={font_class}>\n {isColorful ? (<>\n <Flex justify=\"center\">\n <Icon colorful type={font_class} size={value}/>\n </Flex>\n <Flex justify=\"center\">\n <Typography.Text\n style={{display: 'block', width: '120px', wordBreak: 'break-all'}}\n copyable={{\n text: '<Icon colorful type=\"' + font_class + '\"/>'\n }}>\n {font_class}\n </Typography.Text>\n </Flex>\n </>) : (<>\n <Flex justify=\"center\">\n <Icon type={font_class} size={value} fontClassName={fontClassName}/>\n </Flex>\n <Flex justify=\"center\">\n <Typography.Text\n style={{display: 'block', width: '120px', wordBreak: 'break-all'}}\n copyable={{\n text: '<Icon type=\"' + font_class + '\" fontClassName=\"' + fontClassName + '\"/>'\n }}>\n {font_class}\n </Typography.Text>\n </Flex>\n </>)}\n </Card>);\n })}\n </Flex>\n </Flex>);\n })}\n </Flex>\n};\n\nexport default FontList;"],"names":["hljs","configure","ignoreUnescapedHTML","Highlight","html","props","ref","useRef","useEffect","current","querySelectorAll","forEach","el","highlightElement","_jsx","dangerouslySetInnerHTML","__html","ExampleDriverContext","createWithRemoteLoader","modules","_ref","remoteModules","children","_objectWithoutPropertiesLoose","_excluded","GlobalProvider","HashRouter","_extends","ExampleContent","_ref2","data","useGlobalContext","usePreset","global","preset","exampleStyle","get","DriverContext","useMemo","_ref3","dom","document","createElement","innerText","replace","head","append","removeChild","_jsxs","Space","className","classnames","style","direction","packageName","_Fragment","description","summary","example","list","length","ExampleDriver","contextComponent","isFull","api","ExamplePage","_ref4","items","pageProps","Page","Menu","title","name","menu","currentKey","Example","baseUrl","readme","id","useParams","searchParams","useSearchParams","searchString","size","toString","Navigate","to","ensureSlash","Object","keys","renderExamplePage","map","label","key","path","hasOwnProperty","Fetch","assign","render","ModulesIsEmpty","location","useLocation","pathname","Outlet","Result","status","subTitle","EntryButton","Icon","navigate","useNavigate","FloatButton","icon","type","onClick","MainLayout","paths","Global","Layout","navigation","showIndex","ExampleRoutes","themeToken","_excluded2","componentsPath","find","item","componentsBaseUrl","baseUrlPrefix","RegExp","componentsRoutePath","Routes","Route","element","createEntry","WrappedComponents","_ref5","projectName","_excluded3","setReadme","useState","then","module","__esModule","default","FontList","fonts","value","setValue","Flex","vertical","gap","Slider","width","max","min","onChange","fontClassName","glyphs","isColorful","test","Typography","Title","level","wrap","font_class","Card","justify","colorful","Text","display","wordBreak","copyable","text"],"mappings":"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"}
|
|
@@ -425,16 +425,19 @@ const FontList = ({
|
|
|
425
425
|
type: font_class,
|
|
426
426
|
size: value
|
|
427
427
|
})
|
|
428
|
-
}), /*#__PURE__*/jsx(
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
428
|
+
}), /*#__PURE__*/jsx(Flex, {
|
|
429
|
+
justify: "center",
|
|
430
|
+
children: /*#__PURE__*/jsx(Typography.Text, {
|
|
431
|
+
style: {
|
|
432
|
+
display: 'block',
|
|
433
|
+
width: '120px',
|
|
434
|
+
wordBreak: 'break-all'
|
|
435
|
+
},
|
|
436
|
+
copyable: {
|
|
437
|
+
text: '<Icon colorful type="' + font_class + '"/>'
|
|
438
|
+
},
|
|
439
|
+
children: font_class
|
|
440
|
+
})
|
|
438
441
|
})]
|
|
439
442
|
}) : /*#__PURE__*/jsxs(Fragment, {
|
|
440
443
|
children: [/*#__PURE__*/jsx(Flex, {
|
|
@@ -444,16 +447,19 @@ const FontList = ({
|
|
|
444
447
|
size: value,
|
|
445
448
|
fontClassName: fontClassName
|
|
446
449
|
})
|
|
447
|
-
}), /*#__PURE__*/jsx(
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
450
|
+
}), /*#__PURE__*/jsx(Flex, {
|
|
451
|
+
justify: "center",
|
|
452
|
+
children: /*#__PURE__*/jsx(Typography.Text, {
|
|
453
|
+
style: {
|
|
454
|
+
display: 'block',
|
|
455
|
+
width: '120px',
|
|
456
|
+
wordBreak: 'break-all'
|
|
457
|
+
},
|
|
458
|
+
copyable: {
|
|
459
|
+
text: '<Icon type="' + font_class + '" fontClassName="' + fontClassName + '"/>'
|
|
460
|
+
},
|
|
461
|
+
children: font_class
|
|
462
|
+
})
|
|
457
463
|
})]
|
|
458
464
|
})
|
|
459
465
|
}, font_class);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-entry.modern.js","sources":["../src/Highlight.js","../src/ExamplePage.js","../src/Example.js","../src/createEntry.js","../src/FontList.js"],"sourcesContent":["import hljs from 'highlight.js';\nimport React, {useEffect, useRef} from 'react';\nimport 'highlight.js/styles/github.css';\n\nhljs.configure({\n ignoreUnescapedHTML: true\n});\nconst Highlight = ({html, ...props}) => {\n const ref = useRef(null);\n useEffect(() => {\n ref.current.querySelectorAll('pre code').forEach((el) => {\n hljs.highlightElement(el);\n });\n }, [html]);\n return <div {...props} ref={ref} dangerouslySetInnerHTML={{__html: html}}/>\n};\n\nexport default Highlight;","import '@kne/example-driver/dist/index.css';\nimport React, {useEffect, useMemo} from \"react\";\nimport get from \"lodash/get\";\nimport {Space} from \"antd\";\nimport style from \"./example.module.scss\";\nimport classnames from \"classnames\";\nimport ExampleDriver from \"@kne/example-driver\";\nimport {HashRouter} from \"react-router-dom\";\nimport {createWithRemoteLoader} from '@kne/remote-loader';\nimport Highlight from './Highlight';\n\nconst ExampleDriverContext = createWithRemoteLoader({\n modules: [\"components-core:Global@GlobalProvider\"]\n})(({remoteModules, children, ...props}) => {\n const [GlobalProvider] = remoteModules;\n return <HashRouter>\n <GlobalProvider {...props}>{children}</GlobalProvider>\n </HashRouter>\n});\n\nexport const ExampleContent = createWithRemoteLoader({\n modules: [\"components-core:Global@useGlobalContext\", \"components-core:Global@usePreset\"]\n})(({remoteModules, data}) => {\n const [useGlobalContext, usePreset] = remoteModules;\n const {global: global} = useGlobalContext();\n const preset = usePreset();\n\n const exampleStyle = get(data, 'example.style');\n const DriverContext = useMemo(() => {\n return ({children}) => <ExampleDriverContext {...global} preset={preset}>\n {children}\n </ExampleDriverContext>\n }, [global]);\n useEffect(() => {\n if (!exampleStyle) {\n return;\n }\n const dom = document.createElement('style');\n dom.innerText = exampleStyle.replace(/\\n/g, '');\n document.head.append(dom);\n return () => {\n document.head.removeChild(dom);\n };\n }, [exampleStyle]);\n\n return <Space className={classnames('container', style['main'])} direction=\"vertical\">\n {data.packageName && <>\n <h2 className={style['part-title']}>安装</h2>\n <Highlight className=\"mark-down-html\"\n html={`<pre><code class=\"language-shell hljs\">npm install --save ${data.packageName}</code></pre>`}/>\n </>}\n {data.description && <>\n <h2 className={style['part-title']}>描述</h2>\n <Highlight className=\"mark-down-html\" html={data.description}/>\n </>}\n {data.summary && <>\n <h2 className={style['part-title']}>概述</h2>\n <Highlight className=\"mark-down-html\" html={data.summary}/>\n </>}\n {data.example.list && data.example.list.length > 0 && <>\n <h2 className={style['part-title']}>代码示例</h2>\n <div className={classnames(style['example'], data.example.className)}>\n <ExampleDriver contextComponent={DriverContext} isFull={data.example.isFull}\n list={data.example.list}/>\n </div>\n </>}\n <h2 className={style['part-title']}>API</h2>\n <Highlight className=\"mark-down-html\" html={data.api}/>\n </Space>\n});\n\nconst ExamplePage = createWithRemoteLoader({\n modules: [\"components-core:Layout@Page\", \"components-core:Layout@Menu\", \"components-core:Global@useGlobalContext\"]\n})(({remoteModules, data, current, items, pageProps = {}}) => {\n const [Page, Menu] = remoteModules;\n return <Page title={data.name} className={style['example-page']}\n menu={items && items.length > 0 && <Menu currentKey={current} items={items}/>} {...pageProps}>\n <ExampleContent data={data}/>\n </Page>\n});\n\nexport default ExamplePage;\n","import React from 'react';\nimport {useParams, Navigate, useSearchParams} from \"react-router-dom\";\nimport ExamplePage from './ExamplePage';\nimport ensureSlash from '@kne/ensure-slash';\nimport Fetch from '@kne/react-fetch';\n\nconst Example = ({baseUrl, readme, pageProps}) => {\n const {id: current} = useParams();\n const [searchParams] = useSearchParams();\n const searchString = searchParams.size > 0 ? '?' + searchParams.toString() : '';\n const data = readme[current];\n\n if (!(current && readme[current])) {\n return <Navigate to={`${ensureSlash(baseUrl, true)}${Object.keys(readme)[0]}${searchString}`} replace/>\n }\n\n const renderExamplePage = ({data}) => <ExamplePage pageProps={pageProps} data={data} current={current}\n items={Object.keys(readme).map((name) => {\n return {\n label: name,\n key: name,\n path: `${ensureSlash(baseUrl, true)}` + name + searchString\n };\n })}/>\n\n if (data && data.hasOwnProperty('loader') || data.hasOwnProperty('url')) {\n return <Fetch {...Object.assign({}, data)} render={renderExamplePage}/>\n }\n\n return renderExamplePage({data});\n};\n\nexport default Example;\n","import React, {useEffect, useState} from 'react';\nimport {Navigate, Route, Routes, useLocation, useNavigate, Outlet} from 'react-router-dom';\nimport {createWithRemoteLoader} from '@kne/remote-loader';\nimport ensureSlash from '@kne/ensure-slash';\nimport {Result, FloatButton} from 'antd';\nimport Example from './Example';\nimport ExamplePage, {ExampleContent} from './ExamplePage';\nimport get from 'lodash/get';\n\nconst ModulesIsEmpty = ({readme, baseUrl}) => {\n const location = useLocation();\n if (readme && Object.keys(readme).length > 0 && ensureSlash(location.pathname, true) === baseUrl) {\n return <Navigate to={`${baseUrl}${Object.keys(readme)[0]}`}/>;\n }\n if (readme && Object.keys(readme).length > 0) {\n return <Outlet/>\n }\n return <Result\n status=\"404\"\n title=\"没有检测到业务组件\"\n subTitle=\"您可以通过 modules-dev create 命令创建组件,如果已经有组件请检查环境变量 MODULES_DEV_BASE_DIR和MODULES_DEV_ALIAS_NAME 是否设置正确\"\n />\n};\n\nconst EntryButton = createWithRemoteLoader({\n modules: ['components-core:Icon']\n})(({remoteModules}) => {\n const [Icon] = remoteModules;\n const navigate = useNavigate();\n return <FloatButton icon={<Icon className=\"icon\" type=\"icon-liangdian\"/>} onClick={() => {\n navigate('/modules-dev-components');\n }}/>;\n});\n\nconst MainLayout = createWithRemoteLoader({\n modules: [\"components-core:Global\", \"components-core:Layout\"]\n})(({remoteModules, paths, preset, ...props}) => {\n const [Global, Layout] = remoteModules;\n return <Global {...props} preset={preset}><Layout navigation={{\n showIndex: false, list: paths\n }}><Outlet/></Layout></Global>;\n});\n\nconst ExampleRoutes = ({\n preset, themeToken, projectName, baseUrl = '', paths = [{\n key: 'index', path: '/', title: '首页'\n }, {\n key: 'components', path: `${baseUrl}/components`, title: '组件'\n }], readme, pageProps, children, ...props\n }) => {\n const componentsPath = paths.find((item) => item.key === 'components');\n const componentsBaseUrl = ensureSlash(get(componentsPath, 'path', '/'), true);\n const baseUrlPrefix = new RegExp(`^${ensureSlash(baseUrl,true)}`);\n const componentsRoutePath = ensureSlash(componentsBaseUrl.replace(baseUrlPrefix, ''));\n return <Routes>\n <Route element={<MainLayout paths={paths} preset={preset} themeToken={themeToken} {...props}/>}>\n {componentsPath && <Route path={componentsRoutePath}\n element={<ModulesIsEmpty baseUrl={componentsBaseUrl} readme={readme}/>}>\n <Route path=\":id\"\n element={<Example baseUrl={componentsBaseUrl} readme={readme} pageProps={pageProps}/>}/>\n <Route path=\":id/*\"\n element={<Example baseUrl={componentsBaseUrl} readme={readme} pageProps={pageProps}/>}/>\n </Route>}\n </Route>\n <Route path='*' element={children}/>\n </Routes>\n};\n\n\nconst createEntry = (WrappedComponents) => (({\n remoteModules,\n preset,\n projectName,\n themeToken,\n pageProps,\n baseUrl = '',\n ...props\n }) => {\n const [readme, setReadme] = useState({});\n useEffect(() => {\n import('readme').then((module) => {\n setReadme(module.__esModule === true ? module.default : module);\n });\n }, []);\n return <>\n {Object.keys(readme).length > 0 ?\n <ExampleRoutes preset={preset} baseUrl={baseUrl} projectName={projectName} readme={readme}\n pageProps={pageProps}\n paths={[{\n key: 'index', path: '/', title: '首页'\n }, {\n key: 'components', path: `${baseUrl}/modules-dev-components`, title: '组件'\n }]}\n themeToken={themeToken}>\n <WrappedComponents {...props}/><EntryButton/>\n </ExampleRoutes> : <WrappedComponents {...props}/>}\n </>;\n});\ncreateEntry.Example = Example;\ncreateEntry.ExampleRoutes = ExampleRoutes;\ncreateEntry.ExamplePage = ExamplePage;\ncreateEntry.ExampleContent = ExampleContent;\n\nexport default createEntry;\n","import {useState} from 'react';\nimport {Flex, Slider, Typography, Card} from 'antd';\nimport Icon from '@kne/react-icon';\n\nconst FontList = ({fonts}) => {\n const [value, setValue] = useState(30);\n return <Flex vertical gap={20}>\n <Flex gap={8}>\n <div>调整大小:</div>\n <Slider style={{ width: 100 }} max={60} min={12} value={value} onChange={setValue} />\n <div>{value}px</div>\n </Flex>\n {Object.keys(fonts).map(fontClassName => {\n const { glyphs: list } = fonts[fontClassName];\n const isColorful = /-colorful$/.test(fontClassName);\n return (\n <Flex vertical gap={8} key={fontClassName}>\n <Typography.Title level={4}>{fontClassName}</Typography.Title>\n <Flex gap={12} wrap>\n {list.map(({ font_class }) => {\n return (\n <Card size=\"small\" key={font_class}>\n {isColorful ? (\n <>\n <Flex justify=\"center\">\n <Icon colorful type={font_class} size={value} />\n </Flex>\n <Typography.Text\n style={{ display: 'block', width: '120px', wordBreak: 'break-all' }}\n copyable={{\n text: '<Icon colorful type=\"' + font_class + '\" size={' + value + '}/>'\n }}>\n {font_class}\n </Typography.Text>\n </>\n ) : (\n <>\n <Flex justify=\"center\">\n <Icon type={font_class} size={value} fontClassName={fontClassName} />\n </Flex>\n <Typography.Text\n style={{ display: 'block', width: '120px', wordBreak: 'break-all' }}\n copyable={{\n text: '<Icon type=\"' + font_class + '\" size={' + value + '} fontClassName={' + fontClassName + '}/>'\n }}>\n {font_class}\n </Typography.Text>\n </>\n )}\n </Card>\n );\n })}\n </Flex>\n </Flex>\n );\n })}\n </Flex>\n};\n\nexport default FontList;"],"names":["hljs","configure","ignoreUnescapedHTML","Highlight","_ref","html","props","_objectWithoutPropertiesLoose","_excluded","ref","useRef","useEffect","current","querySelectorAll","forEach","el","highlightElement","_jsx","_extends","dangerouslySetInnerHTML","__html","ExampleDriverContext","createWithRemoteLoader","modules","remoteModules","children","GlobalProvider","HashRouter","ExampleContent","data","useGlobalContext","usePreset","global","preset","exampleStyle","get","DriverContext","useMemo","dom","document","createElement","innerText","replace","head","append","removeChild","_jsxs","Space","className","classnames","style","direction","packageName","_Fragment","description","summary","example","list","length","ExampleDriver","contextComponent","isFull","api","ExamplePage","items","pageProps","Page","Menu","title","name","menu","currentKey","Example","baseUrl","readme","id","useParams","searchParams","useSearchParams","searchString","size","toString","Navigate","to","ensureSlash","Object","keys","renderExamplePage","map","label","key","path","hasOwnProperty","Fetch","assign","render","ModulesIsEmpty","location","useLocation","pathname","Outlet","Result","status","subTitle","EntryButton","Icon","navigate","useNavigate","FloatButton","icon","type","onClick","MainLayout","paths","Global","Layout","navigation","showIndex","ExampleRoutes","_ref2","themeToken","_excluded2","componentsPath","find","item","componentsBaseUrl","baseUrlPrefix","RegExp","componentsRoutePath","Routes","Route","element","createEntry","WrappedComponents","_ref3","projectName","_excluded3","setReadme","useState","then","module","__esModule","default","FontList","fonts","value","setValue","Flex","vertical","gap","Slider","width","max","min","onChange","fontClassName","glyphs","isColorful","test","Typography","Title","level","wrap","font_class","Card","justify","colorful","Text","display","wordBreak","copyable","text"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-entry.modern.js","sources":["../src/Highlight.js","../src/ExamplePage.js","../src/Example.js","../src/createEntry.js","../src/FontList.js"],"sourcesContent":["import hljs from 'highlight.js';\nimport React, {useEffect, useRef} from 'react';\nimport 'highlight.js/styles/github.css';\n\nhljs.configure({\n ignoreUnescapedHTML: true\n});\nconst Highlight = ({html, ...props}) => {\n const ref = useRef(null);\n useEffect(() => {\n ref.current.querySelectorAll('pre code').forEach((el) => {\n hljs.highlightElement(el);\n });\n }, [html]);\n return <div {...props} ref={ref} dangerouslySetInnerHTML={{__html: html}}/>\n};\n\nexport default Highlight;","import '@kne/example-driver/dist/index.css';\nimport React, {useEffect, useMemo} from \"react\";\nimport get from \"lodash/get\";\nimport {Space} from \"antd\";\nimport style from \"./example.module.scss\";\nimport classnames from \"classnames\";\nimport ExampleDriver from \"@kne/example-driver\";\nimport {HashRouter} from \"react-router-dom\";\nimport {createWithRemoteLoader} from '@kne/remote-loader';\nimport Highlight from './Highlight';\n\nconst ExampleDriverContext = createWithRemoteLoader({\n modules: [\"components-core:Global@GlobalProvider\"]\n})(({remoteModules, children, ...props}) => {\n const [GlobalProvider] = remoteModules;\n return <HashRouter>\n <GlobalProvider {...props}>{children}</GlobalProvider>\n </HashRouter>\n});\n\nexport const ExampleContent = createWithRemoteLoader({\n modules: [\"components-core:Global@useGlobalContext\", \"components-core:Global@usePreset\"]\n})(({remoteModules, data}) => {\n const [useGlobalContext, usePreset] = remoteModules;\n const {global: global} = useGlobalContext();\n const preset = usePreset();\n\n const exampleStyle = get(data, 'example.style');\n const DriverContext = useMemo(() => {\n return ({children}) => <ExampleDriverContext {...global} preset={preset}>\n {children}\n </ExampleDriverContext>\n }, [global]);\n useEffect(() => {\n if (!exampleStyle) {\n return;\n }\n const dom = document.createElement('style');\n dom.innerText = exampleStyle.replace(/\\n/g, '');\n document.head.append(dom);\n return () => {\n document.head.removeChild(dom);\n };\n }, [exampleStyle]);\n\n return <Space className={classnames('container', style['main'])} direction=\"vertical\">\n {data.packageName && <>\n <h2 className={style['part-title']}>安装</h2>\n <Highlight className=\"mark-down-html\"\n html={`<pre><code class=\"language-shell hljs\">npm install --save ${data.packageName}</code></pre>`}/>\n </>}\n {data.description && <>\n <h2 className={style['part-title']}>描述</h2>\n <Highlight className=\"mark-down-html\" html={data.description}/>\n </>}\n {data.summary && <>\n <h2 className={style['part-title']}>概述</h2>\n <Highlight className=\"mark-down-html\" html={data.summary}/>\n </>}\n {data.example.list && data.example.list.length > 0 && <>\n <h2 className={style['part-title']}>代码示例</h2>\n <div className={classnames(style['example'], data.example.className)}>\n <ExampleDriver contextComponent={DriverContext} isFull={data.example.isFull}\n list={data.example.list}/>\n </div>\n </>}\n <h2 className={style['part-title']}>API</h2>\n <Highlight className=\"mark-down-html\" html={data.api}/>\n </Space>\n});\n\nconst ExamplePage = createWithRemoteLoader({\n modules: [\"components-core:Layout@Page\", \"components-core:Layout@Menu\", \"components-core:Global@useGlobalContext\"]\n})(({remoteModules, data, current, items, pageProps = {}}) => {\n const [Page, Menu] = remoteModules;\n return <Page title={data.name} className={style['example-page']}\n menu={items && items.length > 0 && <Menu currentKey={current} items={items}/>} {...pageProps}>\n <ExampleContent data={data}/>\n </Page>\n});\n\nexport default ExamplePage;\n","import React from 'react';\nimport {useParams, Navigate, useSearchParams} from \"react-router-dom\";\nimport ExamplePage from './ExamplePage';\nimport ensureSlash from '@kne/ensure-slash';\nimport Fetch from '@kne/react-fetch';\n\nconst Example = ({baseUrl, readme, pageProps}) => {\n const {id: current} = useParams();\n const [searchParams] = useSearchParams();\n const searchString = searchParams.size > 0 ? '?' + searchParams.toString() : '';\n const data = readme[current];\n\n if (!(current && readme[current])) {\n return <Navigate to={`${ensureSlash(baseUrl, true)}${Object.keys(readme)[0]}${searchString}`} replace/>\n }\n\n const renderExamplePage = ({data}) => <ExamplePage pageProps={pageProps} data={data} current={current}\n items={Object.keys(readme).map((name) => {\n return {\n label: name,\n key: name,\n path: `${ensureSlash(baseUrl, true)}` + name + searchString\n };\n })}/>\n\n if (data && data.hasOwnProperty('loader') || data.hasOwnProperty('url')) {\n return <Fetch {...Object.assign({}, data)} render={renderExamplePage}/>\n }\n\n return renderExamplePage({data});\n};\n\nexport default Example;\n","import React, {useEffect, useState} from 'react';\nimport {Navigate, Route, Routes, useLocation, useNavigate, Outlet} from 'react-router-dom';\nimport {createWithRemoteLoader} from '@kne/remote-loader';\nimport ensureSlash from '@kne/ensure-slash';\nimport {Result, FloatButton} from 'antd';\nimport Example from './Example';\nimport ExamplePage, {ExampleContent} from './ExamplePage';\nimport get from 'lodash/get';\n\nconst ModulesIsEmpty = ({readme, baseUrl}) => {\n const location = useLocation();\n if (readme && Object.keys(readme).length > 0 && ensureSlash(location.pathname, true) === baseUrl) {\n return <Navigate to={`${baseUrl}${Object.keys(readme)[0]}`}/>;\n }\n if (readme && Object.keys(readme).length > 0) {\n return <Outlet/>\n }\n return <Result\n status=\"404\"\n title=\"没有检测到业务组件\"\n subTitle=\"您可以通过 modules-dev create 命令创建组件,如果已经有组件请检查环境变量 MODULES_DEV_BASE_DIR和MODULES_DEV_ALIAS_NAME 是否设置正确\"\n />\n};\n\nconst EntryButton = createWithRemoteLoader({\n modules: ['components-core:Icon']\n})(({remoteModules}) => {\n const [Icon] = remoteModules;\n const navigate = useNavigate();\n return <FloatButton icon={<Icon className=\"icon\" type=\"icon-liangdian\"/>} onClick={() => {\n navigate('/modules-dev-components');\n }}/>;\n});\n\nconst MainLayout = createWithRemoteLoader({\n modules: [\"components-core:Global\", \"components-core:Layout\"]\n})(({remoteModules, paths, preset, ...props}) => {\n const [Global, Layout] = remoteModules;\n return <Global {...props} preset={preset}><Layout navigation={{\n showIndex: false, list: paths\n }}><Outlet/></Layout></Global>;\n});\n\nconst ExampleRoutes = ({\n preset, themeToken, projectName, baseUrl = '', paths = [{\n key: 'index', path: '/', title: '首页'\n }, {\n key: 'components', path: `${baseUrl}/components`, title: '组件'\n }], readme, pageProps, children, ...props\n }) => {\n const componentsPath = paths.find((item) => item.key === 'components');\n const componentsBaseUrl = ensureSlash(get(componentsPath, 'path', '/'), true);\n const baseUrlPrefix = new RegExp(`^${ensureSlash(baseUrl,true)}`);\n const componentsRoutePath = ensureSlash(componentsBaseUrl.replace(baseUrlPrefix, ''));\n return <Routes>\n <Route element={<MainLayout paths={paths} preset={preset} themeToken={themeToken} {...props}/>}>\n {componentsPath && <Route path={componentsRoutePath}\n element={<ModulesIsEmpty baseUrl={componentsBaseUrl} readme={readme}/>}>\n <Route path=\":id\"\n element={<Example baseUrl={componentsBaseUrl} readme={readme} pageProps={pageProps}/>}/>\n <Route path=\":id/*\"\n element={<Example baseUrl={componentsBaseUrl} readme={readme} pageProps={pageProps}/>}/>\n </Route>}\n </Route>\n <Route path='*' element={children}/>\n </Routes>\n};\n\n\nconst createEntry = (WrappedComponents) => (({\n remoteModules,\n preset,\n projectName,\n themeToken,\n pageProps,\n baseUrl = '',\n ...props\n }) => {\n const [readme, setReadme] = useState({});\n useEffect(() => {\n import('readme').then((module) => {\n setReadme(module.__esModule === true ? module.default : module);\n });\n }, []);\n return <>\n {Object.keys(readme).length > 0 ?\n <ExampleRoutes preset={preset} baseUrl={baseUrl} projectName={projectName} readme={readme}\n pageProps={pageProps}\n paths={[{\n key: 'index', path: '/', title: '首页'\n }, {\n key: 'components', path: `${baseUrl}/modules-dev-components`, title: '组件'\n }]}\n themeToken={themeToken}>\n <WrappedComponents {...props}/><EntryButton/>\n </ExampleRoutes> : <WrappedComponents {...props}/>}\n </>;\n});\ncreateEntry.Example = Example;\ncreateEntry.ExampleRoutes = ExampleRoutes;\ncreateEntry.ExamplePage = ExamplePage;\ncreateEntry.ExampleContent = ExampleContent;\n\nexport default createEntry;\n","import {useState} from 'react';\nimport {Flex, Slider, Typography, Card} from 'antd';\nimport Icon from '@kne/react-icon';\n\nconst FontList = ({fonts}) => {\n const [value, setValue] = useState(30);\n return <Flex vertical gap={20}>\n <Flex gap={8}>\n <div>调整大小:</div>\n <Slider style={{width: 100}} max={60} min={12} value={value} onChange={setValue}/>\n <div>{value}px</div>\n </Flex>\n {Object.keys(fonts).map(fontClassName => {\n const {glyphs: list} = fonts[fontClassName];\n const isColorful = /-colorful$/.test(fontClassName);\n return (<Flex vertical gap={8} key={fontClassName}>\n <Typography.Title level={4}>{fontClassName}</Typography.Title>\n <Flex gap={12} wrap>\n {list.map(({font_class}) => {\n return (<Card size=\"small\" key={font_class}>\n {isColorful ? (<>\n <Flex justify=\"center\">\n <Icon colorful type={font_class} size={value}/>\n </Flex>\n <Flex justify=\"center\">\n <Typography.Text\n style={{display: 'block', width: '120px', wordBreak: 'break-all'}}\n copyable={{\n text: '<Icon colorful type=\"' + font_class + '\"/>'\n }}>\n {font_class}\n </Typography.Text>\n </Flex>\n </>) : (<>\n <Flex justify=\"center\">\n <Icon type={font_class} size={value} fontClassName={fontClassName}/>\n </Flex>\n <Flex justify=\"center\">\n <Typography.Text\n style={{display: 'block', width: '120px', wordBreak: 'break-all'}}\n copyable={{\n text: '<Icon type=\"' + font_class + '\" fontClassName=\"' + fontClassName + '\"/>'\n }}>\n {font_class}\n </Typography.Text>\n </Flex>\n </>)}\n </Card>);\n })}\n </Flex>\n </Flex>);\n })}\n </Flex>\n};\n\nexport default FontList;"],"names":["hljs","configure","ignoreUnescapedHTML","Highlight","_ref","html","props","_objectWithoutPropertiesLoose","_excluded","ref","useRef","useEffect","current","querySelectorAll","forEach","el","highlightElement","_jsx","_extends","dangerouslySetInnerHTML","__html","ExampleDriverContext","createWithRemoteLoader","modules","remoteModules","children","GlobalProvider","HashRouter","ExampleContent","data","useGlobalContext","usePreset","global","preset","exampleStyle","get","DriverContext","useMemo","dom","document","createElement","innerText","replace","head","append","removeChild","_jsxs","Space","className","classnames","style","direction","packageName","_Fragment","description","summary","example","list","length","ExampleDriver","contextComponent","isFull","api","ExamplePage","items","pageProps","Page","Menu","title","name","menu","currentKey","Example","baseUrl","readme","id","useParams","searchParams","useSearchParams","searchString","size","toString","Navigate","to","ensureSlash","Object","keys","renderExamplePage","map","label","key","path","hasOwnProperty","Fetch","assign","render","ModulesIsEmpty","location","useLocation","pathname","Outlet","Result","status","subTitle","EntryButton","Icon","navigate","useNavigate","FloatButton","icon","type","onClick","MainLayout","paths","Global","Layout","navigation","showIndex","ExampleRoutes","_ref2","themeToken","_excluded2","componentsPath","find","item","componentsBaseUrl","baseUrlPrefix","RegExp","componentsRoutePath","Routes","Route","element","createEntry","WrappedComponents","_ref3","projectName","_excluded3","setReadme","useState","then","module","__esModule","default","FontList","fonts","value","setValue","Flex","vertical","gap","Slider","width","max","min","onChange","fontClassName","glyphs","isColorful","test","Typography","Title","level","wrap","font_class","Card","justify","colorful","Text","display","wordBreak","copyable","text"],"mappings":"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"}
|