mirror of
https://github.com/smartxworks/sunmao-ui.git
synced 2025-04-06 21:40:23 +08:00
Merge branch 'develop' into merge-validator
* develop: feat(docs): update readme feat(docs): compress logo image feat(docs): add sunmao start link in readme feat(runtime): use render set to check all the slot elements hidden or not fix(styleTraitForm): fix nested button warning feat(runtime): pass slot fallback into slot elements docs(*): replace webzard-io with smartxworks fix(runtime): remove react-markdown # Conflicts: # yarn.lock
This commit is contained in:
commit
aeaa083486
54
README.md
54
README.md
@ -1,21 +1,33 @@
|
||||
<div align="center">
|
||||
<img src="./docs/images/logo.png" alt="logo" width="200" />
|
||||
<a href='https://sunmao-ui.com' target='_blank'>
|
||||
<img src="./docs/images/logo.png" alt="logo" width="200" />
|
||||
</a>
|
||||
</div>
|
||||
<div align="center">
|
||||
<h1>Sunmao</h1>
|
||||
</div>
|
||||
|
||||
<p align="center">
|
||||
<img alt="Apache-2.0" src="https://img.shields.io/github/license/webzard-io/sunmao-ui"/>
|
||||
<a href="https://github.com/webzard-io/sunmao-ui/issues">
|
||||
<img src="https://img.shields.io/github/issues/webzard-io/sunmao-ui" alt="GitHub issues">
|
||||
<img alt="Apache-2.0" src="https://img.shields.io/github/license/smartxworks/sunmao-ui"/>
|
||||
<a href="https://github.com/smartxworks/sunmao-ui/issues">
|
||||
<img src="https://img.shields.io/github/issues/smartxworks/sunmao-ui" alt="GitHub issues">
|
||||
</a>
|
||||
<img alt="Github Stars" src="https://badgen.net/github/stars/smartxworks/sunmao-ui" />
|
||||
<a href="https://join.slack.com/t/sunmao/shared_invite/zt-1cgk81ebm-DyG9p2D5GNFS6vtbQwWj7A">
|
||||
<img src="https://img.shields.io/badge/slack-@sunmao-purple.svg?logo=slack" alt="Join the chat at Slack">
|
||||
</a>
|
||||
<img alt="Github Stars" src="https://badgen.net/github/stars/webzard-io/sunmao-ui" />
|
||||
</p>
|
||||
Sunmao is a front-end low-code framework. Through Sunmao, you can easily encapsulate any front-end UI components into low-code component libraries, so as to build your own low-code UI development platform, making front-end development as tight as Sunmao.
|
||||
|
||||
Sunmao(榫卯 /suən mɑʊ/) is a front-end low-code framework. Through Sunmao, you can easily encapsulate any front-end UI components into low-code component libraries, so as to build your own low-code UI development platform, making front-end development as tight as Sunmao.
|
||||
|
||||
[中文](./docs/zh/README.md)
|
||||
|
||||
## DEMO
|
||||
|
||||
Sunmao‘s website is developed with Sunmao,look here:[Sunmao 官网](https://sunmao-ui.com/dev.html)
|
||||
|
||||
We also provide an open-to-use template:[Sunmao Starter Kit](https://github.com/webzard-io/sunmao-start)
|
||||
|
||||
## Why Sunmao?
|
||||
|
||||
### Reactive low-code framework
|
||||
@ -36,6 +48,19 @@ You are in type safety both when developing Sunmao components and when using the
|
||||
|
||||
For more details, read [Sunmao: A truly extensible low-code UI framework](./docs/en/what-is-sunmao.md).
|
||||
|
||||
## Tutorial
|
||||
|
||||
Sunmao users are divided into two roles, one is a developer and the other is a user.
|
||||
|
||||
The responsibilities of developers are similar to those of common front-end developers. They are responsible for developing UI components and encapsulating common UI components to Sunmao components. Developers need to write code to implement the logic of the component.
|
||||
|
||||
The user's responsibility is to use the Sunmao components encapsulated by developers to build front-end applications in the Sunmao low-code editor. Users do not need front-end knowledge and programming skills. They can complete application construction only through UI interaction.
|
||||
|
||||
We have prepared two tutorials for different roles. The user only needs to read the user's tutorial, but the developer has to read both.
|
||||
|
||||
- [User's Tutorial](./docs/en/user.md)
|
||||
- [Developer's Tutorial](./docs/en/developer.md)
|
||||
|
||||
## local development
|
||||
|
||||
### Start
|
||||
@ -60,23 +85,6 @@ yarn
|
||||
|
||||
> When you run the runtime or editor locally, if you modify the code of other packages, you must rebuild the modified package, otherwise, the runtime and editor will still run the old code.
|
||||
|
||||
## Tutorial
|
||||
|
||||
Sunmao users are divided into two roles, one is a developer and the other is a user.
|
||||
|
||||
The responsibilities of developers are similar to those of common front-end developers. They are responsible for developing UI components and encapsulating common UI components to Sunmao components. Developers need to write code to implement the logic of the component.
|
||||
|
||||
The user's responsibility is to use the Sunmao components encapsulated by developers to build front-end applications in the Sunmao low-code editor. Users do not need front-end knowledge and programming skills. They can complete application construction only through UI interaction.
|
||||
|
||||
We have prepared two tutorials for different roles. The user only needs to read the user's tutorial, but the developer has to read both.
|
||||
|
||||
- [User's Tutorial](./docs/en/user.md)
|
||||
- [Developer's Tutorial](./docs/en/developer.md)
|
||||
|
||||
## Online Demo
|
||||
|
||||
[Sunmao Playground](https://sunmao-ui-cloud.vercel.app)
|
||||
|
||||
## License
|
||||
|
||||
Apache-2.0
|
||||
|
@ -135,7 +135,7 @@ We believe that providing props like `dataUrl`, `hidden`, or `handlers` to every
|
||||
|
||||
Sunmao's GUI editor will read all of the components' specs and generate a form based on its JSON schema description.
|
||||
|
||||
If some of the form widgets require extensive customization, component developers can implement their own widgets and allow specific components to use them. A detailed design of the customized widgets can be found [here](https://github.com/webzard-io/Sunmao/issues/313).
|
||||
If some of the form widgets require extensive customization, component developers can implement their own widgets and allow specific components to use them. A detailed design of the customized widgets can be found [here](https://github.com/smartxworks/sunmao-ui/issues/313).
|
||||
|
||||
## Sunmao is open
|
||||
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 2.7 KiB |
@ -1,20 +1,31 @@
|
||||
<div align="center">
|
||||
<img src="../images/logo.png" alt="logo" width="200" />
|
||||
<a href='https://sunmao-ui.com' target='_blank'>
|
||||
<img src="../images/logo.png" alt="logo" width="200" />
|
||||
</a>
|
||||
</div>
|
||||
<div align="center">
|
||||
<h1>Sunmao</h1>
|
||||
</div>
|
||||
|
||||
<p align="center">
|
||||
<img alt="Apache-2.0 License" src="https://img.shields.io/github/license/webzard-io/sunmao-ui"/>
|
||||
<a href="https://github.com/webzard-io/sunmao-ui/issues">
|
||||
<img src="https://img.shields.io/github/issues/webzard-io/sunmao-ui" alt="GitHub issues">
|
||||
<img alt="Apache-2.0 License" src="https://img.shields.io/github/license/smartxworks/sunmao-ui"/>
|
||||
<a href="https://github.com/smartxworks/sunmao-ui/issues">
|
||||
<img src="https://img.shields.io/github/issues/smartxworks/sunmao-ui" alt="GitHub issues">
|
||||
</a>
|
||||
<img alt="Github Stars" src="https://badgen.net/github/stars/smartxworks/sunmao-ui" />
|
||||
<a href="https://join.slack.com/t/sunmao/shared_invite/zt-1cgk81ebm-DyG9p2D5GNFS6vtbQwWj7A">
|
||||
<img src="https://img.shields.io/badge/slack-@sunmao-purple.svg?logo=slack" alt="Join the chat at Slack">
|
||||
</a>
|
||||
<img alt="Github Stars" src="https://badgen.net/github/stars/webzard-io/sunmao-ui" />
|
||||
</p>
|
||||
|
||||
Sunmao 是一个前端低代码框架。通过 Sunmao,您可以轻松将各种前端 UI 组件库和自己开发的前端组件,封装成低代码组件库,从而搭建您自己的低代码 UI 开发工具,使前端开发变得如榫卯般严丝合缝。
|
||||
|
||||
## DEMO
|
||||
|
||||
Sunmao 的官网就是由 Sunmao 开发的,可以即刻体验:[Sunmao 官网](https://sunmao-ui.com/dev.html)
|
||||
|
||||
我们还提供了一个项目模板,开箱即用:[Sunmao Starter Kit](https://github.com/webzard-io/sunmao-start)
|
||||
|
||||
## 为什么选择 Sunmao?
|
||||
|
||||
### 响应式的低代码框架
|
||||
@ -35,6 +46,19 @@ Sunmao 内置了低代码工具的 GUI 编辑器,几乎囊括了一个完整
|
||||
|
||||
更多详情,请见 [Sunmao:一个真正可扩展的低代码 UI 框架](./what-is-sunmao.md)
|
||||
|
||||
## 教程
|
||||
|
||||
Sunmao 的用户分为两种角色,一种是开发者,一种是使用者。
|
||||
|
||||
开发者的职责和寻常的前端开发者类似,负责开发 UI 组件,并且把普通的 UI 组件封装为 Sunmao 的组件。开发者需要通过写代码来实现组件的逻辑。
|
||||
|
||||
使用者的职责是利用开发者封装好的 Sunmao 组件,在 Sunmao 低代码编辑器中搭建前端应用。使用者不需要前端知识和编程能力,仅通过 UI 交互就可以完成应用搭建。
|
||||
|
||||
为此,我们准备了两份教程,分别面向不同的角色。使用者仅需阅读使用者的教程,但开发者则要先阅读使用者教程,再阅读开发者教程。
|
||||
|
||||
- [使用者的教程](./user.md)
|
||||
- [开发者的教程](./developer.md)
|
||||
|
||||
## 本地开发
|
||||
|
||||
### 启动项目
|
||||
@ -59,23 +83,6 @@ yarn
|
||||
|
||||
> 当你本地运行 runtime 或 editor 时,如果你修改了别的包的代码,必须重新构建被修改的包,否则 runtime 和 editor 中运行的依旧是旧代码。
|
||||
|
||||
## 教程
|
||||
|
||||
Sunmao 的用户分为两种角色,一种是开发者,一种是使用者。
|
||||
|
||||
开发者的职责和寻常的前端开发者类似,负责开发 UI 组件,并且把普通的 UI 组件封装为 Sunmao 的组件。开发者需要通过写代码来实现组件的逻辑。
|
||||
|
||||
使用者的职责是利用开发者封装好的 Sunmao 组件,在 Sunmao 低代码编辑器中搭建前端应用。使用者不需要前端知识和编程能力,仅通过 UI 交互就可以完成应用搭建。
|
||||
|
||||
为此,我们准备了两份教程,分别面向不同的角色。使用者仅需阅读使用者的教程,但开发者则要先阅读使用者教程,再阅读开发者教程。
|
||||
|
||||
- [使用者的教程](./user.md)
|
||||
- [开发者的教程](./developer.md)
|
||||
|
||||
## 在线 DEMO
|
||||
|
||||
[Sunmao Playground](https://sunmao-ui-cloud.vercel.app)
|
||||
|
||||
## 许可证
|
||||
|
||||
Apache-2.0
|
||||
|
@ -133,7 +133,7 @@ Web UI 开发已经相当成熟,所以 Sunmao 只是在此基础之上增加
|
||||
|
||||
Sunmao 的可视化编辑器读取所有组件的规范并基于其定义的 JSON schema 自动生成表单。
|
||||
|
||||
如果一部分表单需要定制,组件开发者可以实现自定义的编辑器 widget。关于扩展可视化编辑器的设计可以进一步阅读这一[设计文档](https://github.com/webzard-io/Sunmao/issues/313)。
|
||||
如果一部分表单需要定制,组件开发者可以实现自定义的编辑器 widget。关于扩展可视化编辑器的设计可以进一步阅读这一[设计文档](https://github.com/smartxworks/sunmao-ui/issues/313)。
|
||||
|
||||
## 保持开放
|
||||
|
||||
|
@ -70,7 +70,30 @@
|
||||
"container": {
|
||||
"id": "nested_tabs",
|
||||
"slot": "content"
|
||||
}
|
||||
},
|
||||
"ifCondition": "{{ $slot.tabIndex === 0 }}"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "text_2",
|
||||
"type": "core/v1/text",
|
||||
"properties": {
|
||||
"value": {
|
||||
"raw": "also in tab3",
|
||||
"format": "plain"
|
||||
}
|
||||
},
|
||||
"traits": [
|
||||
{
|
||||
"type": "core/v1/slot",
|
||||
"properties": {
|
||||
"container": {
|
||||
"id": "nested_tabs",
|
||||
"slot": "content"
|
||||
},
|
||||
"ifCondition": "{{ $slot.tabIndex === 0 }}"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -1,14 +1,14 @@
|
||||
{
|
||||
"name": "@sunmao-ui/arco-lib",
|
||||
"version": "0.3.1",
|
||||
"homepage": "https://github.com/webzard-io/sunmao-ui-arco-lib",
|
||||
"homepage": "https://github.com/smartxworks/sunmao-ui-arco-lib",
|
||||
"license": "Apache-2.0",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/webzard-io/sunmao-ui-arco-lib.git"
|
||||
"url": "git+https://github.com/smartxworks/sunmao-ui-arco-lib.git"
|
||||
},
|
||||
"main": "dist/index.js",
|
||||
"module": "dist/esm/index.js",
|
||||
|
@ -3,14 +3,14 @@
|
||||
"version": "0.5.1",
|
||||
"description": "sunmao-ui chakra-ui library",
|
||||
"author": "sunmao-ui developers",
|
||||
"homepage": "https://github.com/webzard-io/sunmao-ui#readme",
|
||||
"homepage": "https://github.com/smartxworks/sunmao-ui#readme",
|
||||
"license": "Apache-2.0",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/webzard-io/sunmao-ui.git"
|
||||
"url": "git+https://github.com/smartxworks/sunmao-ui.git"
|
||||
},
|
||||
"main": "dist/index.js",
|
||||
"module": "dist/esm/index.js",
|
||||
|
@ -101,9 +101,7 @@ export default implementRuntimeComponent({
|
||||
${customStyle?.tabContent}
|
||||
`}
|
||||
>
|
||||
{slotsElements?.content
|
||||
? slotsElements.content({ tabIndex: idx })
|
||||
: placeholder}
|
||||
{slotsElements?.content?.({ tabIndex: idx }, placeholder)}
|
||||
</TabPanel>
|
||||
);
|
||||
})}
|
||||
|
@ -3,14 +3,14 @@
|
||||
"version": "0.7.1",
|
||||
"description": "sunmao-ui core",
|
||||
"author": "sunmao-ui developers",
|
||||
"homepage": "https://github.com/webzard-io/sunmao-ui#readme",
|
||||
"homepage": "https://github.com/smartxworks/sunmao-ui#readme",
|
||||
"license": "Apache-2.0",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/webzard-io/sunmao-ui.git"
|
||||
"url": "git+https://github.com/smartxworks/sunmao-ui.git"
|
||||
},
|
||||
"main": "dist/index.js",
|
||||
"module": "dist/esm/index.js",
|
||||
@ -29,7 +29,7 @@
|
||||
"prepublish": "npm run build && npm run typings"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/webzard-io/sunmao-ui/issues"
|
||||
"url": "https://github.com/smartxworks/sunmao-ui/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"lodash": "^4.17.21"
|
||||
|
@ -3,7 +3,7 @@
|
||||
"version": "0.3.1",
|
||||
"description": "The SDK for SunMao Editor",
|
||||
"author": "sunmao-ui developers",
|
||||
"homepage": "https://github.com/webzard-io/sunmao-ui#readme",
|
||||
"homepage": "https://github.com/smartxworks/sunmao-ui#readme",
|
||||
"license": "Apache-2.0",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
@ -41,7 +41,6 @@
|
||||
"mobx-react-lite": "^3.2.2",
|
||||
"rc-select": "^14.1.5",
|
||||
"react-color": "^2.19.3",
|
||||
"react-markdown": "6.0.3",
|
||||
"tern": "^0.24.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
@ -34,7 +34,6 @@ import { NullField } from './NullField';
|
||||
import { MultiSpecField } from './MultiSpecField';
|
||||
import { CategoryWidget } from './CategoryWidget';
|
||||
import { UnsupportedField } from './UnsupportedField';
|
||||
import ReactMarkdown from 'react-markdown';
|
||||
|
||||
type ExpressionButtonProps = {
|
||||
isExpression?: boolean;
|
||||
@ -161,9 +160,7 @@ const DefaultTemplate: React.FC<TemplateProps> = props => {
|
||||
bg="blackAlpha.700"
|
||||
_focus={{ boxShadow: 'none' }}
|
||||
>
|
||||
<ReactMarkdown className={css(descriptionStyle)}>
|
||||
{description}
|
||||
</ReactMarkdown>
|
||||
<p className={css(descriptionStyle)}>{description}</p>
|
||||
</PopoverContent>
|
||||
) : null}
|
||||
</Portal>
|
||||
|
@ -35,12 +35,12 @@ describe('update component property', () => {
|
||||
const appModel = new AppModel(AppSchema.spec.components, registry);
|
||||
const origin = appModel.toSchema();
|
||||
const text1 = appModel.getComponentById('text1' as any);
|
||||
text1!.updateComponentProperty('value', { raw: 'hello', format: 'md' });
|
||||
text1!.updateComponentProperty('value', { raw: 'hello', format: 'plain' });
|
||||
text1!.updateComponentProperty('newProperty', "a property that didn't exist before");
|
||||
const newSchema = appModel.toSchema();
|
||||
|
||||
it('update component properties', () => {
|
||||
expect(newSchema[5].properties.value).toEqual({ raw: 'hello', format: 'md' });
|
||||
expect(newSchema[5].properties.value).toEqual({ raw: 'hello', format: 'plain' });
|
||||
});
|
||||
|
||||
it("update a new property that component don't have", () => {
|
||||
|
@ -48,7 +48,7 @@ export const ComponentInvalidSchema: ComponentSchema[] = [
|
||||
properties: {
|
||||
value: {
|
||||
raw: false,
|
||||
format: 'md',
|
||||
format: 'plain',
|
||||
},
|
||||
},
|
||||
traits: [],
|
||||
@ -88,7 +88,7 @@ export const ComponentWrongPropertyExpressionSchema: ComponentSchema[] = [
|
||||
properties: {
|
||||
text: {
|
||||
raw: '{{fetch.data.value}}',
|
||||
format: 'md',
|
||||
format: 'plain',
|
||||
},
|
||||
isLoading: false,
|
||||
colorScheme: 'blue',
|
||||
@ -119,7 +119,7 @@ export const ComponentWrongPropertyExpressionSchema: ComponentSchema[] = [
|
||||
properties: {
|
||||
value: {
|
||||
raw: '{{ Math.random2() }}',
|
||||
format: 'md',
|
||||
format: 'plain',
|
||||
},
|
||||
},
|
||||
traits: [],
|
||||
@ -189,7 +189,7 @@ export const TraitInvalidSchema: ComponentSchema[] = [
|
||||
properties: {
|
||||
value: {
|
||||
raw: 'hello',
|
||||
format: 'md',
|
||||
format: 'plain',
|
||||
},
|
||||
},
|
||||
traits: [
|
||||
@ -205,7 +205,7 @@ export const TraitInvalidSchema: ComponentSchema[] = [
|
||||
properties: {
|
||||
value: {
|
||||
raw: 'hello',
|
||||
format: 'md',
|
||||
format: 'plain',
|
||||
},
|
||||
},
|
||||
traits: [
|
||||
@ -238,7 +238,7 @@ export const EventTraitSchema: ComponentSchema[] = [
|
||||
properties: {
|
||||
text: {
|
||||
raw: 'hello',
|
||||
format: 'md',
|
||||
format: 'plain',
|
||||
},
|
||||
isLoading: false,
|
||||
colorScheme: 'blue',
|
||||
@ -310,7 +310,7 @@ export const EventTraitMethodSchema: ComponentSchema[] = [
|
||||
properties: {
|
||||
value: {
|
||||
raw: 'hello',
|
||||
format: 'md',
|
||||
format: 'plain',
|
||||
},
|
||||
},
|
||||
traits: [
|
||||
@ -326,7 +326,7 @@ export const EventTraitMethodSchema: ComponentSchema[] = [
|
||||
properties: {
|
||||
text: {
|
||||
raw: 'hello',
|
||||
format: 'md',
|
||||
format: 'plain',
|
||||
},
|
||||
isLoading: false,
|
||||
colorScheme: 'blue',
|
||||
|
@ -3,7 +3,7 @@
|
||||
"version": "0.7.1",
|
||||
"description": "sunmao-ui editor",
|
||||
"author": "sunmao-ui developers",
|
||||
"homepage": "https://github.com/webzard-io/sunmao-ui#readme",
|
||||
"homepage": "https://github.com/smartxworks/sunmao-ui#readme",
|
||||
"license": "Apache-2.0",
|
||||
"main": "dist/index.js",
|
||||
"module": "dist/esm/index.js",
|
||||
@ -25,10 +25,10 @@
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/webzard-io/sunmao-ui.git"
|
||||
"url": "git+https://github.com/smartxworks/sunmao-ui.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/webzard-io/sunmao-ui/issues"
|
||||
"url": "https://github.com/smartxworks/sunmao-ui/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"@chakra-ui/icons": "^1.0.15",
|
||||
|
@ -169,6 +169,7 @@ export const StyleTraitForm: React.FC<Props> = props => {
|
||||
size="sm"
|
||||
variant="ghost"
|
||||
colorScheme="red"
|
||||
as="div"
|
||||
icon={<CloseIcon fontSize="12px" />}
|
||||
onClick={removeStyle}
|
||||
/>
|
||||
|
@ -46,7 +46,7 @@ type Props = {
|
||||
};
|
||||
|
||||
// Read this pr to understand the coordinates system before you modify this component.
|
||||
// https://github.com/webzard-io/sunmao-ui/pull/286
|
||||
// https://github.com/smartxworks/sunmao-ui/pull/286
|
||||
export const EditorMask: React.FC<Props> = observer((props: Props) => {
|
||||
const { services, mousePosition, wrapperRef, hoverComponentIdRef, dragOverSlotRef } =
|
||||
props;
|
||||
|
@ -15,17 +15,4 @@ describe('Text component', () => {
|
||||
expect(ele).toBeTruthy();
|
||||
expect(ele.innerHTML).toMatchInlineSnapshot('"plain text"');
|
||||
});
|
||||
it('should render markdown text', () => {
|
||||
const { queryByText } = render(
|
||||
<Text
|
||||
value={{
|
||||
raw: '**plain** text',
|
||||
format: 'md',
|
||||
}}
|
||||
></Text>
|
||||
);
|
||||
const ele = queryByText(/text/i);
|
||||
expect(ele).toBeTruthy();
|
||||
expect(ele.innerHTML).toMatchInlineSnapshot('"<strong>plain</strong> text"');
|
||||
});
|
||||
});
|
||||
|
@ -3,14 +3,14 @@
|
||||
"version": "0.7.1",
|
||||
"description": "sunmao-ui runtime",
|
||||
"author": "sunmao-ui developers",
|
||||
"homepage": "https://github.com/webzard-io/sunmao-ui#readme",
|
||||
"homepage": "https://github.com/smartxworks/sunmao-ui#readme",
|
||||
"license": "Apache-2.0",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/webzard-io/sunmao-ui.git"
|
||||
"url": "git+https://github.com/smartxworks/sunmao-ui.git"
|
||||
},
|
||||
"main": "dist/index.js",
|
||||
"module": "dist/esm/index.js",
|
||||
@ -41,7 +41,6 @@
|
||||
"lodash": "^4.17.21",
|
||||
"mitt": "^3.0.0",
|
||||
"path-to-regexp": "^6.2.0",
|
||||
"react-markdown": "6.0.3",
|
||||
"react-resize-detector": "^6.7.6",
|
||||
"react-simple-code-editor": "^0.11.0",
|
||||
"use-deep-compare": "^1.1.0",
|
||||
|
@ -22,7 +22,8 @@ export const ImplWrapper = React.memo<ImplWrapperProps>(
|
||||
isEqual &&
|
||||
prevComponent === nextComponent &&
|
||||
// TODO: keep ImplWrapper memorized and get slot props from store
|
||||
shallowCompare(prevProps.slotProps, nextProps.slotProps)
|
||||
shallowCompare(prevProps.slotProps, nextProps.slotProps) &&
|
||||
shallowCompare(prevProps.slotContext, nextProps.slotContext)
|
||||
);
|
||||
}
|
||||
);
|
||||
|
@ -161,7 +161,7 @@ export const ImplWrapperMain = React.forwardRef<HTMLDivElement, ImplWrapperProps
|
||||
<Impl
|
||||
ref={ref}
|
||||
key={c.id}
|
||||
{...omit(props, 'slotProps')}
|
||||
{...omit(props, ['slotProps', 'slotContext'])}
|
||||
{...mergedProps}
|
||||
slotsElements={slotElements}
|
||||
mergeState={mergeState}
|
||||
|
@ -8,7 +8,7 @@ import { watch } from '../../..';
|
||||
|
||||
export const UnmountImplWrapper = React.forwardRef<HTMLDivElement, ImplWrapperProps>(
|
||||
function UnmountImplWrapper(props, ref) {
|
||||
const { component: c, services } = props;
|
||||
const { component: c, services, slotContext } = props;
|
||||
const { stateManager, registry } = services;
|
||||
const { executeTrait } = useRuntimeFunctions(props);
|
||||
|
||||
@ -76,6 +76,12 @@ export const UnmountImplWrapper = React.forwardRef<HTMLDivElement, ImplWrapperPr
|
||||
initSingleComponentState(registry, stateManager, c);
|
||||
}
|
||||
|
||||
if (isHidden && slotContext) {
|
||||
slotContext.renderSet.delete(c.id);
|
||||
if (slotContext.renderSet.size === 0) {
|
||||
return <>{slotContext.fallback}</>;
|
||||
}
|
||||
}
|
||||
return !isHidden ? <ImplWrapperMain {...props} ref={ref} /> : null;
|
||||
}
|
||||
);
|
||||
|
@ -17,8 +17,20 @@ export function getSlotElements(
|
||||
return <ImplWrapper key={child.id} {...props} component={child} />;
|
||||
});
|
||||
|
||||
slotElements[slot] = function getSlot(slotProps) {
|
||||
return slotChildren.map(child => React.cloneElement(child, { slotProps }));
|
||||
slotElements[slot] = function getSlot(slotProps, slotFallback) {
|
||||
const slotContext = {
|
||||
renderSet: new Set(childrenMap[c.id][slot].map(child => child.id)),
|
||||
parentId: c.id,
|
||||
slotProps: JSON.stringify(slotProps),
|
||||
fallback: slotFallback,
|
||||
};
|
||||
const children = slotChildren.map(child =>
|
||||
React.cloneElement(child, {
|
||||
slotProps,
|
||||
slotContext,
|
||||
})
|
||||
);
|
||||
return children;
|
||||
};
|
||||
}
|
||||
return slotElements;
|
||||
|
@ -1,6 +1,5 @@
|
||||
import React from 'react';
|
||||
import { css } from '@emotion/css';
|
||||
import ReactMarkdown from 'react-markdown';
|
||||
import { Static, Type } from '@sinclair/typebox';
|
||||
|
||||
export const TextPropertySpec = Type.Object(
|
||||
@ -11,7 +10,6 @@ export const TextPropertySpec = Type.Object(
|
||||
format: Type.KeyOf(
|
||||
Type.Object({
|
||||
plain: Type.String(),
|
||||
md: Type.String(),
|
||||
}),
|
||||
{
|
||||
title: 'Format',
|
||||
@ -31,18 +29,6 @@ export type TextProps = {
|
||||
|
||||
const Text = React.forwardRef<HTMLDivElement, TextProps>(({ value, cssStyle }, ref) => {
|
||||
const text = typeof value.raw === 'string' ? value.raw : `${value.raw}`;
|
||||
if (value.format === 'md') {
|
||||
return (
|
||||
<div
|
||||
className={css`
|
||||
${cssStyle}
|
||||
`}
|
||||
ref={ref}
|
||||
>
|
||||
<ReactMarkdown>{text}</ReactMarkdown>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<span
|
||||
|
@ -21,6 +21,7 @@ export type ImplWrapperProps<
|
||||
app: RuntimeApplication;
|
||||
evalListItem?: boolean;
|
||||
slotProps?: unknown;
|
||||
slotContext?: { renderSet: Set<string>; fallback?: React.ReactNode };
|
||||
} & ComponentParamsFromApp;
|
||||
|
||||
export type ComponentImplProps<
|
||||
@ -70,7 +71,10 @@ type SubscribeMethods<U> = (map: {
|
||||
}) => void;
|
||||
type MergeState<T> = (partialState: Partial<T>) => void;
|
||||
export type SlotsElements<U extends Record<string, SlotSpec>> = {
|
||||
[K in keyof U]?: (props: Static<U[K]['slotProps']>) => React.ReactNode;
|
||||
[K in keyof U]?: (
|
||||
props: Static<U[K]['slotProps']>,
|
||||
fallback?: React.ReactNode
|
||||
) => React.ReactNode;
|
||||
};
|
||||
|
||||
export type RuntimeFunctions<
|
||||
|
@ -3,7 +3,7 @@
|
||||
"version": "0.2.1",
|
||||
"description": "The Sunmao shared lib",
|
||||
"author": "sunmao-ui developers",
|
||||
"homepage": "https://github.com/webzard-io/sunmao-ui#readme",
|
||||
"homepage": "https://github.com/smartxworks/sunmao-ui#readme",
|
||||
"license": "Apache-2.0",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
@ -3,7 +3,7 @@
|
||||
"version": "1.0.3",
|
||||
"description": "vite plugins for sunmao-ui",
|
||||
"author": "sunmao-ui developers",
|
||||
"homepage": "https://github.com/webzard-io/sunmao-ui#readme",
|
||||
"homepage": "https://github.com/smartxworks/sunmao-ui#readme",
|
||||
"license": "Apache-2.0",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
@ -14,7 +14,7 @@
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/webzard-io/sunmao-ui.git"
|
||||
"url": "git+https://github.com/smartxworks/sunmao-ui.git"
|
||||
},
|
||||
"scripts": {}
|
||||
}
|
||||
|
278
yarn.lock
278
yarn.lock
@ -4262,13 +4262,6 @@
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/hast@^2.0.0":
|
||||
version "2.3.4"
|
||||
resolved "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz"
|
||||
integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==
|
||||
dependencies:
|
||||
"@types/unist" "*"
|
||||
|
||||
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
|
||||
version "2.0.3"
|
||||
resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz"
|
||||
@ -4343,13 +4336,6 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.182.tgz#05301a4d5e62963227eaafe0ce04dd77c54ea5c2"
|
||||
integrity sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==
|
||||
|
||||
"@types/mdast@^3.0.0":
|
||||
version "3.0.10"
|
||||
resolved "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz"
|
||||
integrity sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==
|
||||
dependencies:
|
||||
"@types/unist" "*"
|
||||
|
||||
"@types/minimatch@^3.0.3":
|
||||
version "3.0.5"
|
||||
resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz"
|
||||
@ -4497,11 +4483,6 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/tinycolor2/-/tinycolor2-1.4.2.tgz#721ca5c5d1a2988b4a886e35c2ffc5735b6afbdf"
|
||||
integrity sha512-PeHg/AtdW6aaIO2a+98Xj7rWY4KC1E6yOy7AFknJQ7VXUGNrMlyxDFxJo7HqLtjQms/ZhhQX52mLVW/EX3JGOw==
|
||||
|
||||
"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3":
|
||||
version "2.0.6"
|
||||
resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz"
|
||||
integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==
|
||||
|
||||
"@types/warning@^3.0.0":
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/@types/warning/-/warning-3.0.0.tgz"
|
||||
@ -5146,11 +5127,6 @@ babel-runtime@^6.23.0:
|
||||
core-js "^2.4.0"
|
||||
regenerator-runtime "^0.11.0"
|
||||
|
||||
bail@^1.0.0:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776"
|
||||
integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==
|
||||
|
||||
balanced-match@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
|
||||
@ -5425,21 +5401,6 @@ char-regex@^1.0.2:
|
||||
resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz"
|
||||
integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
|
||||
|
||||
character-entities-legacy@^1.0.0:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1"
|
||||
integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==
|
||||
|
||||
character-entities@^1.0.0:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b"
|
||||
integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==
|
||||
|
||||
character-reference-invalid@^1.0.0:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560"
|
||||
integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==
|
||||
|
||||
chardet@^0.7.0:
|
||||
version "0.7.0"
|
||||
resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz"
|
||||
@ -5647,11 +5608,6 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
|
||||
dependencies:
|
||||
delayed-stream "~1.0.0"
|
||||
|
||||
comma-separated-tokens@^1.0.0:
|
||||
version "1.0.8"
|
||||
resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea"
|
||||
integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==
|
||||
|
||||
commander@^4.0.0:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz"
|
||||
@ -6067,7 +6023,7 @@ debug@2.6.9, debug@^2.6.9:
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2:
|
||||
debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2:
|
||||
version "4.3.2"
|
||||
resolved "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz"
|
||||
integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
|
||||
@ -7191,7 +7147,7 @@ expect@^27.3.1:
|
||||
jest-message-util "^27.3.1"
|
||||
jest-regex-util "^27.0.6"
|
||||
|
||||
extend@^3.0.0, extend@~3.0.2:
|
||||
extend@~3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz"
|
||||
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
|
||||
@ -8042,11 +7998,6 @@ init-package-json@^2.0.2:
|
||||
validate-npm-package-license "^3.0.4"
|
||||
validate-npm-package-name "^3.0.0"
|
||||
|
||||
inline-style-parser@0.1.1:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz"
|
||||
integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==
|
||||
|
||||
inquirer@6.5.2, inquirer@^6.3.1:
|
||||
version "6.5.2"
|
||||
resolved "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz"
|
||||
@ -8106,19 +8057,6 @@ ip@^1.1.5:
|
||||
resolved "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz"
|
||||
integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
|
||||
|
||||
is-alphabetical@^1.0.0:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d"
|
||||
integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==
|
||||
|
||||
is-alphanumerical@^1.0.0:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf"
|
||||
integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==
|
||||
dependencies:
|
||||
is-alphabetical "^1.0.0"
|
||||
is-decimal "^1.0.0"
|
||||
|
||||
is-arrayish@^0.2.1:
|
||||
version "0.2.1"
|
||||
resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
|
||||
@ -8151,11 +8089,6 @@ is-boolean-object@^1.1.0:
|
||||
call-bind "^1.0.2"
|
||||
has-tostringtag "^1.0.0"
|
||||
|
||||
is-buffer@^2.0.0:
|
||||
version "2.0.5"
|
||||
resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz"
|
||||
integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==
|
||||
|
||||
is-callable@^1.1.4, is-callable@^1.2.4:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz"
|
||||
@ -8189,11 +8122,6 @@ is-date-object@^1.0.1:
|
||||
dependencies:
|
||||
has-tostringtag "^1.0.0"
|
||||
|
||||
is-decimal@^1.0.0:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5"
|
||||
integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==
|
||||
|
||||
is-directory@^0.3.1:
|
||||
version "0.3.1"
|
||||
resolved "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz"
|
||||
@ -8233,11 +8161,6 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
|
||||
dependencies:
|
||||
is-extglob "^2.1.1"
|
||||
|
||||
is-hexadecimal@^1.0.0:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7"
|
||||
integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
|
||||
|
||||
is-lambda@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz"
|
||||
@ -9413,48 +9336,6 @@ material-colors@^1.2.1:
|
||||
resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.6.tgz#6d1958871126992ceecc72f4bcc4d8f010865f46"
|
||||
integrity sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==
|
||||
|
||||
mdast-util-definitions@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz#c5c1a84db799173b4dcf7643cda999e440c24db2"
|
||||
integrity sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==
|
||||
dependencies:
|
||||
unist-util-visit "^2.0.0"
|
||||
|
||||
mdast-util-from-markdown@^0.8.0:
|
||||
version "0.8.5"
|
||||
resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c"
|
||||
integrity sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==
|
||||
dependencies:
|
||||
"@types/mdast" "^3.0.0"
|
||||
mdast-util-to-string "^2.0.0"
|
||||
micromark "~2.11.0"
|
||||
parse-entities "^2.0.0"
|
||||
unist-util-stringify-position "^2.0.0"
|
||||
|
||||
mdast-util-to-hast@^10.2.0:
|
||||
version "10.2.0"
|
||||
resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-10.2.0.tgz#61875526a017d8857b71abc9333942700b2d3604"
|
||||
integrity sha512-JoPBfJ3gBnHZ18icCwHR50orC9kNH81tiR1gs01D8Q5YpV6adHNO9nKNuFBCJQ941/32PT1a63UF/DitmS3amQ==
|
||||
dependencies:
|
||||
"@types/mdast" "^3.0.0"
|
||||
"@types/unist" "^2.0.0"
|
||||
mdast-util-definitions "^4.0.0"
|
||||
mdurl "^1.0.0"
|
||||
unist-builder "^2.0.0"
|
||||
unist-util-generated "^1.0.0"
|
||||
unist-util-position "^3.0.0"
|
||||
unist-util-visit "^2.0.0"
|
||||
|
||||
mdast-util-to-string@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b"
|
||||
integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==
|
||||
|
||||
mdurl@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz"
|
||||
integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=
|
||||
|
||||
media-typer@0.3.0:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
|
||||
@ -9505,14 +9386,6 @@ merge@^2.1.1:
|
||||
resolved "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz"
|
||||
integrity sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==
|
||||
|
||||
micromark@~2.11.0:
|
||||
version "2.11.4"
|
||||
resolved "https://registry.yarnpkg.com/micromark/-/micromark-2.11.4.tgz#d13436138eea826383e822449c9a5c50ee44665a"
|
||||
integrity sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==
|
||||
dependencies:
|
||||
debug "^4.0.0"
|
||||
parse-entities "^2.0.0"
|
||||
|
||||
micromatch@^4.0.2, micromatch@^4.0.4:
|
||||
version "4.0.4"
|
||||
resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz"
|
||||
@ -10288,18 +10161,6 @@ parent-module@^1.0.0:
|
||||
dependencies:
|
||||
callsites "^3.0.0"
|
||||
|
||||
parse-entities@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8"
|
||||
integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==
|
||||
dependencies:
|
||||
character-entities "^1.0.0"
|
||||
character-entities-legacy "^1.0.0"
|
||||
character-reference-invalid "^1.0.0"
|
||||
is-alphanumerical "^1.0.0"
|
||||
is-decimal "^1.0.0"
|
||||
is-hexadecimal "^1.0.0"
|
||||
|
||||
parse-json@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz"
|
||||
@ -10620,13 +10481,6 @@ prop-types@^15.5.10, prop-types@^15.8.1:
|
||||
object-assign "^4.1.1"
|
||||
react-is "^16.13.1"
|
||||
|
||||
property-information@^5.3.0:
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69"
|
||||
integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==
|
||||
dependencies:
|
||||
xtend "^4.0.0"
|
||||
|
||||
proto-list@~1.2.1:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz"
|
||||
@ -10923,7 +10777,7 @@ react-is@^16.12.0, react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.1:
|
||||
resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
|
||||
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
|
||||
|
||||
react-is@^17.0.0, react-is@^17.0.1:
|
||||
react-is@^17.0.1:
|
||||
version "17.0.2"
|
||||
resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz"
|
||||
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
|
||||
@ -10938,25 +10792,6 @@ react-json-tree@^0.16.1:
|
||||
prop-types "^15.8.1"
|
||||
react-base16-styling "^0.9.1"
|
||||
|
||||
react-markdown@6.0.3:
|
||||
version "6.0.3"
|
||||
resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-6.0.3.tgz#625ec767fa321d91801129387e7d31ee0cb99254"
|
||||
integrity sha512-kQbpWiMoBHnj9myLlmZG9T1JdoT/OEyHK7hqM6CqFT14MAkgWiWBUYijLyBmxbntaN6dCDicPcUhWhci1QYodg==
|
||||
dependencies:
|
||||
"@types/hast" "^2.0.0"
|
||||
"@types/unist" "^2.0.3"
|
||||
comma-separated-tokens "^1.0.0"
|
||||
prop-types "^15.7.2"
|
||||
property-information "^5.3.0"
|
||||
react-is "^17.0.0"
|
||||
remark-parse "^9.0.0"
|
||||
remark-rehype "^8.0.0"
|
||||
space-separated-tokens "^1.1.0"
|
||||
style-to-object "^0.3.0"
|
||||
unified "^9.0.0"
|
||||
unist-util-visit "^2.0.0"
|
||||
vfile "^4.0.0"
|
||||
|
||||
react-nanny@^2.9.0:
|
||||
version "2.14.0"
|
||||
resolved "https://registry.yarnpkg.com/react-nanny/-/react-nanny-2.14.0.tgz#c53afa8cd9612ca0eee57a35e0d38b65f76445a4"
|
||||
@ -11276,20 +11111,6 @@ regjsparser@^0.7.0:
|
||||
dependencies:
|
||||
jsesc "~0.5.0"
|
||||
|
||||
remark-parse@^9.0.0:
|
||||
version "9.0.0"
|
||||
resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-9.0.0.tgz#4d20a299665880e4f4af5d90b7c7b8a935853640"
|
||||
integrity sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==
|
||||
dependencies:
|
||||
mdast-util-from-markdown "^0.8.0"
|
||||
|
||||
remark-rehype@^8.0.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-8.1.0.tgz#610509a043484c1e697437fa5eb3fd992617c945"
|
||||
integrity sha512-EbCu9kHgAxKmW1yEYjx3QafMyGY3q8noUbNUI5xyKbaFP89wbhDrKxyIQNukNYthzjNHZu6J7hwFg7hRm1svYA==
|
||||
dependencies:
|
||||
mdast-util-to-hast "^10.2.0"
|
||||
|
||||
request@^2.88.0, request@^2.88.2:
|
||||
version "2.88.2"
|
||||
resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz"
|
||||
@ -11754,11 +11575,6 @@ source-map@^0.7.3:
|
||||
resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz"
|
||||
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
|
||||
|
||||
space-separated-tokens@^1.1.0:
|
||||
version "1.1.5"
|
||||
resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899"
|
||||
integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==
|
||||
|
||||
spdx-correct@^3.0.0:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz"
|
||||
@ -12009,13 +11825,6 @@ strong-log-transformer@^2.1.0:
|
||||
minimist "^1.2.0"
|
||||
through "^2.3.4"
|
||||
|
||||
style-to-object@^0.3.0:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz"
|
||||
integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==
|
||||
dependencies:
|
||||
inline-style-parser "0.1.1"
|
||||
|
||||
style-value-types@4.1.4:
|
||||
version "4.1.4"
|
||||
resolved "https://registry.yarnpkg.com/style-value-types/-/style-value-types-4.1.4.tgz#80f37cb4fb024d6394087403dfb275e8bb627e75"
|
||||
@ -12318,11 +12127,6 @@ trim-newlines@^3.0.0:
|
||||
resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz"
|
||||
integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
|
||||
|
||||
trough@^1.0.0:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406"
|
||||
integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==
|
||||
|
||||
ts-interface-checker@^0.1.9:
|
||||
version "0.1.13"
|
||||
resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz"
|
||||
@ -12587,18 +12391,6 @@ unicode-property-aliases-ecmascript@^2.0.0:
|
||||
resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz"
|
||||
integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==
|
||||
|
||||
unified@^9.0.0:
|
||||
version "9.2.2"
|
||||
resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975"
|
||||
integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==
|
||||
dependencies:
|
||||
bail "^1.0.0"
|
||||
extend "^3.0.0"
|
||||
is-buffer "^2.0.0"
|
||||
is-plain-obj "^2.0.0"
|
||||
trough "^1.0.0"
|
||||
vfile "^4.0.0"
|
||||
|
||||
unique-filename@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz"
|
||||
@ -12613,50 +12405,6 @@ unique-slug@^2.0.0:
|
||||
dependencies:
|
||||
imurmurhash "^0.1.4"
|
||||
|
||||
unist-builder@^2.0.0:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436"
|
||||
integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==
|
||||
|
||||
unist-util-generated@^1.0.0:
|
||||
version "1.1.6"
|
||||
resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.6.tgz#5ab51f689e2992a472beb1b35f2ce7ff2f324d4b"
|
||||
integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==
|
||||
|
||||
unist-util-is@^4.0.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797"
|
||||
integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==
|
||||
|
||||
unist-util-position@^3.0.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.1.0.tgz#1c42ee6301f8d52f47d14f62bbdb796571fa2d47"
|
||||
integrity sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==
|
||||
|
||||
unist-util-stringify-position@^2.0.0:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da"
|
||||
integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==
|
||||
dependencies:
|
||||
"@types/unist" "^2.0.2"
|
||||
|
||||
unist-util-visit-parents@^3.0.0:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6"
|
||||
integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==
|
||||
dependencies:
|
||||
"@types/unist" "^2.0.0"
|
||||
unist-util-is "^4.0.0"
|
||||
|
||||
unist-util-visit@^2.0.0:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c"
|
||||
integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==
|
||||
dependencies:
|
||||
"@types/unist" "^2.0.0"
|
||||
unist-util-is "^4.0.0"
|
||||
unist-util-visit-parents "^3.0.0"
|
||||
|
||||
universal-user-agent@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz"
|
||||
@ -12788,24 +12536,6 @@ verror@1.10.0:
|
||||
core-util-is "1.0.2"
|
||||
extsprintf "^1.2.0"
|
||||
|
||||
vfile-message@^2.0.0:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a"
|
||||
integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==
|
||||
dependencies:
|
||||
"@types/unist" "^2.0.0"
|
||||
unist-util-stringify-position "^2.0.0"
|
||||
|
||||
vfile@^4.0.0:
|
||||
version "4.2.1"
|
||||
resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624"
|
||||
integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==
|
||||
dependencies:
|
||||
"@types/unist" "^2.0.0"
|
||||
is-buffer "^2.0.0"
|
||||
unist-util-stringify-position "^2.0.0"
|
||||
vfile-message "^2.0.0"
|
||||
|
||||
vite@^2.6.13:
|
||||
version "2.6.13"
|
||||
resolved "https://registry.npmjs.org/vite/-/vite-2.6.13.tgz"
|
||||
@ -13063,7 +12793,7 @@ xmlchars@^2.2.0:
|
||||
resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz"
|
||||
integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
|
||||
|
||||
xtend@^4.0.0, xtend@~4.0.1:
|
||||
xtend@~4.0.1:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz"
|
||||
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
|
||||
|
Loading…
x
Reference in New Issue
Block a user