diff --git a/packages/design/src/Icon.vue b/packages/design/src/Icon.vue index 4cbec831..1485553b 100644 --- a/packages/design/src/Icon.vue +++ b/packages/design/src/Icon.vue @@ -6,6 +6,7 @@ diff --git a/packages/design/src/types.ts b/packages/design/src/types.ts index 7983547f..444abe8c 100644 --- a/packages/design/src/types.ts +++ b/packages/design/src/types.ts @@ -29,6 +29,7 @@ export interface ButtonProps { size?: FieldSize; link?: boolean; text?: boolean; + circle?: boolean; icon?: any; } @@ -380,6 +381,10 @@ export interface CascaderOption { children?: CascaderOption[]; } +export interface IconProps { + size?: string; +} + export interface TMagicMessage { success: (msg: string) => void; warning: (msg: string) => void; @@ -526,8 +531,8 @@ export interface Components { }; icon: { - component: DefineComponent<{}, {}, any> | string; - props: () => {}; + component: DefineComponent | string; + props: (props: IconProps) => IconProps; }; input: { diff --git a/packages/editor/src/components/FloatingBox.vue b/packages/editor/src/components/FloatingBox.vue index 6258d1e8..56fb0eeb 100644 --- a/packages/editor/src/components/FloatingBox.vue +++ b/packages/editor/src/components/FloatingBox.vue @@ -6,7 +6,7 @@ {{ title }}
- +
@@ -23,6 +23,8 @@ import VanillaMoveable from 'moveable'; import { TMagicButton, useZIndex } from '@tmagic/design'; +import MIcon from '@editor/components/Icon.vue'; + interface Position { left: number; top: number; diff --git a/packages/editor/src/fields/DataSourceFieldSelect.vue b/packages/editor/src/fields/DataSourceFieldSelect.vue index 4bff0392..f44e956a 100644 --- a/packages/editor/src/fields/DataSourceFieldSelect.vue +++ b/packages/editor/src/fields/DataSourceFieldSelect.vue @@ -19,9 +19,9 @@ style="margin-left: 5px" link :type="showDataSourceFieldSelect ? 'primary' : 'default'" - :icon="Coin" :size="size" @click="showDataSourceFieldSelect = !showDataSourceFieldSelect" + >
@@ -36,6 +36,7 @@ import { MCascader } from '@tmagic/form'; import type { DataSchema, DataSourceFieldType } from '@tmagic/schema'; import { DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX } from '@tmagic/utils'; +import MIcon from '@editor/components/Icon.vue'; import type { DataSourceFieldSelectConfig, Services } from '@editor/type'; defineOptions({ diff --git a/packages/editor/src/fields/DataSourceInput.vue b/packages/editor/src/fields/DataSourceInput.vue index f1df7612..d3f1c7a0 100644 --- a/packages/editor/src/fields/DataSourceInput.vue +++ b/packages/editor/src/fields/DataSourceInput.vue @@ -29,9 +29,13 @@ -
+
-
+
diff --git a/packages/editor/src/theme/code-block.scss b/packages/editor/src/theme/code-block.scss index ab11d569..91e18f1a 100644 --- a/packages/editor/src/theme/code-block.scss +++ b/packages/editor/src/theme/code-block.scss @@ -1,7 +1,3 @@ -.m-editor-code-block-list { - height: 100%; -} - .m-fields-code-select { width: 100%; .el-card__header { diff --git a/packages/editor/src/theme/component-list-panel.scss b/packages/editor/src/theme/component-list-panel.scss index e2ac1c84..b9129c09 100644 --- a/packages/editor/src/theme/component-list-panel.scss +++ b/packages/editor/src/theme/component-list-panel.scss @@ -1,6 +1,5 @@ .ui-component-panel { &.tmagic-design-collapse { - height: 100%; border-top: 0 !important; margin-top: 48px; background-color: $--sidebar-content-background-color; diff --git a/packages/editor/src/theme/icon.scss b/packages/editor/src/theme/icon.scss index c1de8a40..9de70f97 100644 --- a/packages/editor/src/theme/icon.scss +++ b/packages/editor/src/theme/icon.scss @@ -1,4 +1,10 @@ -.magic-editor-icon { +.tmagic-design-icon { + --color: inherit; + height: 1em; + width: 1em; + position: relative; + fill: currentColor; + img { max-width: 100%; max-height: 100%; diff --git a/packages/editor/src/theme/layer-panel.scss b/packages/editor/src/theme/layer-panel.scss index d31623cf..f5431175 100644 --- a/packages/editor/src/theme/layer-panel.scss +++ b/packages/editor/src/theme/layer-panel.scss @@ -1,6 +1,5 @@ .m-editor-layer-panel { background: $--sidebar-content-background-color; - position: relative; .m-editor-tree { padding-top: 48px; diff --git a/packages/editor/src/theme/sidebar.scss b/packages/editor/src/theme/sidebar.scss index d594f978..63625706 100644 --- a/packages/editor/src/theme/sidebar.scss +++ b/packages/editor/src/theme/sidebar.scss @@ -50,10 +50,6 @@ overflow: auto; } - .tmagic-design-scrollbar { - height: 100%; - } - .fold-icon { position: absolute; bottom: 8px; diff --git a/packages/element-plus-adapter/src/index.ts b/packages/element-plus-adapter/src/index.ts index e76c9049..29c05606 100644 --- a/packages/element-plus-adapter/src/index.ts +++ b/packages/element-plus-adapter/src/index.ts @@ -69,6 +69,7 @@ import type { DropdownProps, FormItemProps, FormProps, + IconProps, InputNumberProps, InputProps, OptionGroupProps, @@ -200,8 +201,8 @@ const adapter: PluginOptions = { }, icon: { - component: ElIcon, - props: () => ({}), + component: ElIcon as any, + props: (props: IconProps) => props, }, input: { diff --git a/packages/form/src/containers/GroupListItem.vue b/packages/form/src/containers/GroupListItem.vue index 827e7d81..7e096eff 100644 --- a/packages/form/src/containers/GroupListItem.vue +++ b/packages/form/src/containers/GroupListItem.vue @@ -1,9 +1,9 @@ diff --git a/packages/tdesign-vue-next-adapter/src/Scrollbar.vue b/packages/tdesign-vue-next-adapter/src/Scrollbar.vue index 7fe609c4..22d82a46 100644 --- a/packages/tdesign-vue-next-adapter/src/Scrollbar.vue +++ b/packages/tdesign-vue-next-adapter/src/Scrollbar.vue @@ -1,7 +1,9 @@ diff --git a/packages/tdesign-vue-next-adapter/src/index.ts b/packages/tdesign-vue-next-adapter/src/index.ts index 65b41ed5..53764fe1 100644 --- a/packages/tdesign-vue-next-adapter/src/index.ts +++ b/packages/tdesign-vue-next-adapter/src/index.ts @@ -59,6 +59,7 @@ import type { DropdownProps, FormItemProps, FormProps, + IconProps, InputNumberProps, InputProps, OptionGroupProps, @@ -125,6 +126,7 @@ const adapter: any = { size: props.size === 'default' ? 'medium' : props.size, icon: () => (props.icon ? h(props.icon) : null), variant: props.link || props.text ? 'text' : 'base', + shape: props.circle ? 'circle' : 'rectangle', }), }, @@ -303,7 +305,7 @@ const adapter: any = { icon: { component: Icon, - props: () => ({}), + props: (props: IconProps) => props, }, input: {