1
0
mirror of synced 2026-03-24 11:48:35 +08:00

feat: 将ui-react中的组件独立成包

This commit is contained in:
roymondchen
2024-08-13 20:35:14 +08:00
committed by roymondchen
parent 60d2b64aa5
commit cab36b49a3
93 changed files with 1772 additions and 741 deletions

View File

@@ -0,0 +1,35 @@
{
"version": "0.0.1",
"name": "@tmagic/react-text",
"type": "module",
"main": "src/index.ts",
"files": [
"src"
],
"engines": {
"node": ">=18"
},
"repository": {
"type": "git",
"url": "https://github.com/Tencent/tmagic-editor.git"
},
"peerDependencies": {
"@tmagic/schema": "workspace:*",
"@tmagic/react-runtime-help": "workspace:*",
"react": ">=18.3.1",
"react-dom": ">=18.3.1",
"typescript": "*"
},
"peerDependenciesMeta": {
"@tmagic/schema": {
"optional": true
},
"typescript": {
"optional": true
}
},
"devDependencies": {
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0"
}
}

View File

@@ -0,0 +1,69 @@
/*
* Tencent is pleased to support the open source community by making TMagicEditor available.
*
* Copyright (C) 2023 THL A29 Limited, a Tencent company. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import React from 'react';
import { useApp } from '@tmagic/react-runtime-help';
import type { Id, MComponent } from '@tmagic/schema';
interface TextSchema extends Omit<MComponent, 'id'> {
id?: Id;
type?: 'text';
text: string;
}
interface TextProps {
id: Id;
config: TextSchema;
className: string;
style: Record<string, any>;
containerIndex: number;
iteratorIndex?: number[];
iteratorContainerId?: Id[];
}
const Text: React.FC<TextProps> = ({
id,
config,
className,
style,
containerIndex,
iteratorIndex,
iteratorContainerId,
}) => {
const { app } = useApp({ config, iteratorIndex, iteratorContainerId });
if (!app) return null;
return (
<p
className={className}
style={style}
data-tmagic-id={id}
data-tmagic-container-index={containerIndex}
data-tmagic-iterator-index={iteratorIndex}
data-tmagic-iterator-container-id={iteratorContainerId}
>
{config.text}
</p>
);
};
Text.displayName = 'magic-ui-text';
export default Text;

View File

@@ -0,0 +1,4 @@
export default {
methods: [],
events: [],
};

View File

@@ -0,0 +1,30 @@
/*
* Tencent is pleased to support the open source community by making TMagicEditor available.
*
* Copyright (C) 2023 THL A29 Limited, a Tencent company. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export default [
{
name: 'text',
text: '文本',
type: 'data-source-input',
},
{
name: 'multiple',
text: '多行文本',
type: 'switch',
},
];

View File

@@ -0,0 +1,25 @@
/*
* Tencent is pleased to support the open source community by making TMagicEditor available.
*
* Copyright (C) 2023 THL A29 Limited, a Tencent company. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import Text from './Text';
export { default as config } from './formConfig';
export { default as value } from './initValue';
export { default as event } from './event';
export default Text;

View File

@@ -0,0 +1,27 @@
/*
* Tencent is pleased to support the open source community by making TMagicEditor available.
*
* Copyright (C) 2023 THL A29 Limited, a Tencent company. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export default {
type: 'text',
text: '请输入文本内容',
multiple: true,
style: {
width: '100',
height: 'auto',
},
};