+ language="jsx"
+ mode="auto"
+ >
+
diff --git a/tdesign/desktop/site/src/router.ts b/tdesign/desktop/site/src/router.ts
index ce09e1ed1c..6c098c2ca3 100644
--- a/tdesign/desktop/site/src/router.ts
+++ b/tdesign/desktop/site/src/router.ts
@@ -27,6 +27,7 @@ const components = [
'list',
'back-top',
'grid',
+ 'loading',
]
export function registerRouting(rootEl: any) {
diff --git a/tdesign/desktop/src/avatar/avatar.en-US.md b/tdesign/desktop/src/avatar/avatar.en-US.md
index a2ddd048d0..e8495c1f0e 100644
--- a/tdesign/desktop/src/avatar/avatar.en-US.md
+++ b/tdesign/desktop/src/avatar/avatar.en-US.md
@@ -1,31 +1,32 @@
:: BASE_DOC ::
## API
+
### Avatar Props
-name | type | default | description | required
--- | -- | -- | -- | --
-className | String | - | 类名 | N
-style | Object | - | 样式,Typescript:`React.CSSProperties` | N
-alt | String | - | show it when url is not valid | N
-children | TNode | - | children, same as `content`。Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N
-content | TNode | - | content slot or props.content。Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N
-hideOnLoadFailed | Boolean | false | hide image when loading image failed | N
-icon | TElement | - | use icon to fill。Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N
-image | String | - | images url | N
-imageProps | Object | - | Typescript:`ImageProps`,[Image API Documents](./image?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/avatar/type.ts) | N
-shape | String | circle | shape。options:circle/round。Typescript:`ShapeEnum ` `type ShapeEnum = 'circle' \| 'round'`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/avatar/type.ts) | N
-size | String | - | size | N
-onError | Function | | Typescript:`(context: { e: ImageEvent }) => void`
trigger on image load failed | N
+| name | type | default | description | required |
+| ---------------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- |
+| className | String | - | 类名 | N |
+| style | Object | - | 样式,Typescript:`React.CSSProperties` | N |
+| alt | String | - | show it when url is not valid | N |
+| children | TNode | - | children, same as `content`。Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/omi/blob/master/tdesign/desktop/src/common.ts) | N |
+| content | TNode | - | content slot or props.content。Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/omi/blob/master/tdesign/desktop/src/common.ts) | N |
+| hideOnLoadFailed | Boolean | false | hide image when loading image failed | N |
+| icon | TElement | - | use icon to fill。Typescript:`TNode`。[see more ts definition](https://github.com/Tencent/omi/blob/master/tdesign/desktop/src/common.ts) | N |
+| image | String | - | images url | N |
+| imageProps | Object | - | Typescript:`ImageProps`,[Image API Documents](./image?tab=api)。[see more ts definition](https://github.com/Tencent/omi/blob/master/tdesign/desktop/src/avatar/type.ts) | N |
+| shape | String | circle | shape。options:circle/round。Typescript:`ShapeEnum ` `type ShapeEnum = 'circle' \| 'round'`。[see more ts definition](https://github.com/Tencent/omi/blob/master/tdesign/desktop/src/avatar/type.ts) | N |
+| size | String | - | size | N |
+| onError | Function | | Typescript:`(context: { e: ImageEvent }) => void`
trigger on image load failed | N |
### AvatarGroup Props
-name | type | default | description | required
--- | -- | -- | -- | --
-className | String | - | 类名 | N
-style | Object | - | 样式,Typescript:`React.CSSProperties` | N
-cascading | String | 'right-up' | multiple images cascading。options:left-up/right-up。Typescript:`CascadingValue` `type CascadingValue = 'left-up' \| 'right-up'`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/avatar/type.ts) | N
-collapseAvatar | TNode | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N
-max | Number | - | \- | N
-popupProps | Object | - | Typescript:`PopupProps`,[Popup API Documents](./popup?tab=api)。[see more ts definition](https://github.com/Tencent/tdesign-react/blob/develop/src/avatar/type.ts) | N
-size | String | - | size | N
+| name | type | default | description | required |
+| -------------- | ------ | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- |
+| className | String | - | 类名 | N |
+| style | Object | - | 样式,Typescript:`React.CSSProperties` | N |
+| cascading | String | 'right-up' | multiple images cascading。options:left-up/right-up。Typescript:`CascadingValue` `type CascadingValue = 'left-up' \| 'right-up'`。[see more ts definition](https://github.com/Tencent/omi/blob/master/tdesign/desktop/src/avatar/type.ts) | N |
+| collapseAvatar | TNode | - | Typescript:`string \| TNode`。[see more ts definition](https://github.com/Tencent/omi/blob/master/tdesign/desktop/src/common.ts) | N |
+| max | Number | - | \- | N |
+| popupProps | Object | - | Typescript:`PopupProps`,[Popup API Documents](./popup?tab=api)。[see more ts definition](https://github.com/Tencent/omi/blob/master/tdesign/desktop/src/avatar/type.ts) | N |
+| size | String | - | size | N |
diff --git a/tdesign/desktop/src/avatar/avatar.md b/tdesign/desktop/src/avatar/avatar.md
index 07ad27d6e9..83560fbae3 100644
--- a/tdesign/desktop/src/avatar/avatar.md
+++ b/tdesign/desktop/src/avatar/avatar.md
@@ -8,13 +8,13 @@
className | String | - | 类名 | N
style | Object | - | 样式,TS 类型:`React.CSSProperties` | N
alt | String | - | 头像替换文本,仅当图片加载失败时有效 | N
-children | TNode | - | 子元素内容,同 content。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N
-content | TNode | - | 子元素内容。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N
+children | TNode | - | 子元素内容,同 content。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/omi/blob/master/tdesign/desktop/src/common.ts) | N
+content | TNode | - | 子元素内容。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/omi/blob/master/tdesign/desktop/src/common.ts) | N
hideOnLoadFailed | Boolean | false | 加载失败时隐藏图片 | N
-icon | TElement | - | 图标。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N
+icon | TElement | - | 图标。TS 类型:`TNode`。[通用类型定义](https://github.com/Tencent/omi/blob/master/tdesign/desktop/src/common.ts) | N
image | String | - | 图片地址 | N
-imageProps | Object | - | 透传至 Image 组件。TS 类型:`ImageProps`,[Image API Documents](./image?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/avatar/type.ts) | N
-shape | String | circle | 形状。可选项:circle/round。TS 类型:`ShapeEnum ` `type ShapeEnum = 'circle' \| 'round'`。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/avatar/type.ts) | N
+imageProps | Object | - | 透传至 Image 组件。TS 类型:`ImageProps`,[Image API Documents](./image?tab=api)。[详细类型定义](https://github.com/Tencent/omi/blob/master/tdesign/desktop/src/avatar/type.ts) | N
+shape | String | circle | 形状。可选项:circle/round。TS 类型:`ShapeEnum ` `type ShapeEnum = 'circle' \| 'round'`。[详细类型定义](https://github.com/Tencent/omi/blob/master/tdesign/desktop/src/avatar/type.ts) | N
size | String | - | 尺寸,示例值:small/medium/large/24px/38px 等。优先级高于 AvatarGroup.size 。Avatar 单独存在时,默认值为 medium。如果父组件存在 AvatarGroup,默认值便由 AvatarGroup.size 决定 | N
onError | Function | | TS 类型:`(context: { e: ImageEvent }) => void`
图片加载失败时触发 | N
@@ -24,8 +24,8 @@ onError | Function | | TS 类型:`(context: { e: ImageEvent }) => void`
-- | -- | -- | -- | --
className | String | - | 类名 | N
style | Object | - | 样式,TS 类型:`React.CSSProperties` | N
-cascading | String | 'right-up' | 图片之间的层叠关系,可选值:左侧图片在上和右侧图片在上。可选项:left-up/right-up。TS 类型:`CascadingValue` `type CascadingValue = 'left-up' \| 'right-up'`。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/avatar/type.ts) | N
-collapseAvatar | TNode | - | 头像数量超出时,会出现一个头像折叠元素。该元素内容可自定义。默认为 `+N`。示例:`+5`,`...`, `更多`。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/common.ts) | N
+cascading | String | 'right-up' | 图片之间的层叠关系,可选值:左侧图片在上和右侧图片在上。可选项:left-up/right-up。TS 类型:`CascadingValue` `type CascadingValue = 'left-up' \| 'right-up'`。[详细类型定义](https://github.com/Tencent/omi/blob/master/tdesign/desktop/src/avatar/type.ts) | N
+collapseAvatar | TNode | - | 头像数量超出时,会出现一个头像折叠元素。该元素内容可自定义。默认为 `+N`。示例:`+5`,`...`, `更多`。TS 类型:`string \| TNode`。[通用类型定义](https://github.com/Tencent/omi/blob/master/tdesign/desktop/src/common.ts) | N
max | Number | - | 能够同时显示的最多头像数量 | N
-popupProps | Object | - | 头像右上角提示信息。TS 类型:`PopupProps`,[Popup API Documents](./popup?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-react/blob/develop/src/avatar/type.ts) | N
+popupProps | Object | - | 头像右上角提示信息。TS 类型:`PopupProps`,[Popup API Documents](./popup?tab=api)。[详细类型定义](https://github.com/Tencent/omi/blob/master/tdesign/desktop/src/avatar/type.ts) | N
size | String | - | 尺寸,示例值:small/medium/large/24px/38px 等。优先级低于 Avatar.size | N
diff --git a/tdesign/desktop/src/grid/row.tsx b/tdesign/desktop/src/grid/row.tsx
index dbcb1605b4..dc2527598c 100644
--- a/tdesign/desktop/src/grid/row.tsx
+++ b/tdesign/desktop/src/grid/row.tsx
@@ -89,7 +89,6 @@ export default class Row extends WeElement
{
const currentSize = calcSize(window.innerWidth)
if (currentSize !== this.size) {
this.size = currentSize
- console.log('newSize: ', this.size)
// this.update()
}
}
diff --git a/tdesign/desktop/src/loading/_example/delay.tsx b/tdesign/desktop/src/loading/_example/delay.tsx
index 41b83b6a98..fb22665aa5 100644
--- a/tdesign/desktop/src/loading/_example/delay.tsx
+++ b/tdesign/desktop/src/loading/_example/delay.tsx
@@ -26,27 +26,25 @@ export default class LoadingDelay extends WeElement {
render() {
const { loading, data, loadingData } = this
return (
-
-
-
-
- {data ?
{`loading 作为独立元素:${data}`}
: null}
-
-
-
- {{data ? `loading 作为包裹元素:${data}` : ''}
}
-
-
-
-
- 快速重新加载数据(无loading)
-
- loadingData(3000)} size="small">
- 慢速重新加载数据
-
-
-
-
+
+
+
+ {data ?
{`loading 作为独立元素:${data}`}
: null}
+
+
+
+ {{data ? `loading 作为包裹元素:${data}` : ''}
}
+
+
+
+
+ 快速重新加载数据(无loading)
+
+ loadingData(2000)} size="small">
+ 慢速重新加载数据
+
+
+
)
}
}
diff --git a/tdesign/desktop/src/loading/_example/fullscreen.tsx b/tdesign/desktop/src/loading/_example/fullscreen.tsx
new file mode 100644
index 0000000000..fdc48da8b4
--- /dev/null
+++ b/tdesign/desktop/src/loading/_example/fullscreen.tsx
@@ -0,0 +1,32 @@
+import { h, tag, WeElement } from 'omi'
+
+import '../index'
+import '../../button'
+@tag('loading-fullscreen')
+export default class LoadingFullScreen extends WeElement {
+ checked = false
+ loading = false
+
+ onChange = (value: boolean) => {
+ this.checked = value
+ this.loading = value
+
+ if (value) {
+ setTimeout(() => {
+ this.checked = false
+ this.loading = false
+ this.update()
+ }, 2000)
+ }
+ this.update()
+ }
+ render() {
+ return (
+ <>
+
+ Loading state: {this.checked}
+ Change state
+ >
+ )
+ }
+}
diff --git a/tdesign/desktop/src/loading/_example/icon-text.tsx b/tdesign/desktop/src/loading/_example/icon-text.tsx
new file mode 100644
index 0000000000..fdf4a92878
--- /dev/null
+++ b/tdesign/desktop/src/loading/_example/icon-text.tsx
@@ -0,0 +1,10 @@
+import { h, tag, WeElement } from 'omi'
+
+import '../index'
+
+@tag('loading-icon-text')
+export default class LoadingIconText extends WeElement {
+ render() {
+ return
+ }
+}
diff --git a/tdesign/desktop/src/loading/_example/service.tsx b/tdesign/desktop/src/loading/_example/service.tsx
new file mode 100644
index 0000000000..96680ef434
--- /dev/null
+++ b/tdesign/desktop/src/loading/_example/service.tsx
@@ -0,0 +1,38 @@
+import { h, tag, WeElement } from 'omi'
+
+import { loading } from '../index'
+import '../../button'
+
+@tag('loading-service')
+export default class LoadingService extends WeElement {
+ // static isLightDom = true
+ handleFullscreen = () => {
+ const loadInstance = loading(true)
+
+ setTimeout(() => loadInstance.hide(), 1000)
+ }
+
+ handleAttach = () => {
+ const loadInstance = loading({ attach: () => this.shadowRoot.querySelector('#loading-service') })
+ setTimeout(() => loadInstance.hide(), 1000)
+ }
+ render() {
+ return (
+ <>
+
+ 我是service的容器
+
+
+
+
+ 服务加载方式(全屏)
+
+ 服务加载方式(局部)
+
+ >
+ )
+ }
+}
diff --git a/tdesign/desktop/src/loading/_example/size.tsx b/tdesign/desktop/src/loading/_example/size.tsx
new file mode 100644
index 0000000000..015c2cdee8
--- /dev/null
+++ b/tdesign/desktop/src/loading/_example/size.tsx
@@ -0,0 +1,17 @@
+import { h, tag, WeElement } from 'omi'
+
+import '../index'
+import '../../space/index'
+
+@tag('loading-size')
+export default class LoadingSize extends WeElement {
+ render() {
+ return (
+
+
+
+
+
+ )
+ }
+}
diff --git a/tdesign/desktop/src/loading/_example/text.tsx b/tdesign/desktop/src/loading/_example/text.tsx
new file mode 100644
index 0000000000..d37c3ef399
--- /dev/null
+++ b/tdesign/desktop/src/loading/_example/text.tsx
@@ -0,0 +1,10 @@
+import { h, tag, WeElement } from 'omi'
+
+import '../index'
+
+@tag('loading-text')
+export default class LoadingText extends WeElement {
+ render() {
+ return
+ }
+}
diff --git a/tdesign/desktop/src/loading/_example/wrap.tsx b/tdesign/desktop/src/loading/_example/wrap.tsx
new file mode 100644
index 0000000000..5563ec536f
--- /dev/null
+++ b/tdesign/desktop/src/loading/_example/wrap.tsx
@@ -0,0 +1,40 @@
+import { h, tag, WeElement } from 'omi'
+
+import '../index'
+import '../../button/index'
+import '../../space/index'
+
+@tag('loading-wrap')
+export default class LoadingWrap extends WeElement {
+ loading = false
+ setLoading = (value: boolean) => {
+ if (this.loading !== value) {
+ this.loading = value
+ this.update()
+ }
+ }
+ render() {
+ const { loading } = this
+ return (
+
+
+
+ this is loading component
+ this is loading component
+ this is loading component
+ this is loading component
+ this is loading component
+
+
+
+ this.setLoading(true)}>
+ 加载中
+
+ this.setLoading(false)}>
+ 加载完成
+
+
+
+ )
+ }
+}
diff --git a/tdesign/desktop/src/loading/index.html b/tdesign/desktop/src/loading/index.html
index 213763c5b5..74457673b5 100644
--- a/tdesign/desktop/src/loading/index.html
+++ b/tdesign/desktop/src/loading/index.html
@@ -1,8 +1,23 @@
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
diff --git a/tdesign/desktop/src/loading/index.ts b/tdesign/desktop/src/loading/index.ts
index bb16c3c431..2cc03e2a10 100644
--- a/tdesign/desktop/src/loading/index.ts
+++ b/tdesign/desktop/src/loading/index.ts
@@ -1,9 +1,11 @@
import _Loading from './loading'
-
+import { LoadingPlugin as _LoadingPlugin } from './plugin'
import './style/index.js'
export * from './type'
export const Loading = _Loading
+export const loading = _LoadingPlugin
+export const LoadingPlugin = _LoadingPlugin
export default Loading
diff --git a/tdesign/desktop/src/loading/loading.tsx b/tdesign/desktop/src/loading/loading.tsx
index cca59476a3..11fb16a5a6 100644
--- a/tdesign/desktop/src/loading/loading.tsx
+++ b/tdesign/desktop/src/loading/loading.tsx
@@ -58,6 +58,7 @@ export default class Loading extends WeElement {
}, delay)
} else {
this.showLoading = loading
+ this.flag = true
this.update()
}
}
@@ -117,7 +118,6 @@ export default class Loading extends WeElement {
}
render(props: OmiProps) {
- console.log('render: ', props)
const {
componentName,
fullClass,
@@ -132,8 +132,6 @@ export default class Loading extends WeElement {
} = this
const { fullscreen, content, children, loading, showOverlay } = props
const loadingStyle = this.calcStyles()
- const contentNode = commonContent()
- console.log('contentNode', contentNode, 'showLoading', showLoading)
const baseClasses = classNames(
centerClass,
@@ -151,7 +149,7 @@ export default class Loading extends WeElement {
if (fullscreen) {
return loading ? (
-
{contentNode}
+
{commonContent()}
) : null
}
@@ -167,7 +165,7 @@ export default class Loading extends WeElement {
})}
style={calcStyles}
>
- {contentNode}
+ {commonContent()}