From ce905141ddf4aae996fe75a25356efe50acdacd4 Mon Sep 17 00:00:00 2001 From: 07akioni <07akioni2@gmail.com> Date: Mon, 23 May 2022 03:10:57 +0800 Subject: [PATCH] docs(discrete): basic docs --- demo/routes/routes.js | 8 +++ demo/store/menu-options.js | 6 ++ src/config-provider/src/ConfigProvider.ts | 9 +-- src/discrete/demos/enUS/basic.demo.vue | 51 +++++++++++++ src/discrete/demos/enUS/index.demo-entry.md | 15 ++++ src/discrete/demos/zhCN/basic.demo.vue | 71 +++++++++++++++++++ src/discrete/demos/zhCN/index.demo-entry.md | 15 ++++ src/discrete/src/discrete.ts | 2 +- .../src/{discrete-app.ts => discreteApp.ts} | 0 9 files changed, 172 insertions(+), 5 deletions(-) create mode 100644 src/discrete/demos/enUS/basic.demo.vue create mode 100644 src/discrete/demos/enUS/index.demo-entry.md create mode 100644 src/discrete/demos/zhCN/basic.demo.vue create mode 100644 src/discrete/demos/zhCN/index.demo-entry.md rename src/discrete/src/{discrete-app.ts => discreteApp.ts} (100%) diff --git a/demo/routes/routes.js b/demo/routes/routes.js index c3a5e5736..eca7821f0 100644 --- a/demo/routes/routes.js +++ b/demo/routes/routes.js @@ -513,6 +513,10 @@ export const enComponentRoutes = [ path: 'watermark', component: () => import('../../src/watermark/demos/enUS/index.demo-entry.md') + }, + { + path: 'discrete', + component: () => import('../../src/discrete/demos/enUS/index.demo-entry.md') } ] @@ -877,6 +881,10 @@ export const zhComponentRoutes = [ path: 'watermark', component: () => import('../../src/watermark/demos/zhCN/index.demo-entry.md') + }, + { + path: 'discrete', + component: () => import('../../src/discrete/demos/zhCN/index.demo-entry.md') } ] diff --git a/demo/store/menu-options.js b/demo/store/menu-options.js index 28b4fdb41..964618319 100644 --- a/demo/store/menu-options.js +++ b/demo/store/menu-options.js @@ -704,6 +704,12 @@ export function createComponentMenuOptions ({ lang, theme, mode }) { enSuffix: true, path: '/collapse-transition' }, + { + en: 'Discrete API', + zh: '独立 API', + enSuffix: true, + path: '/discrete' + }, { en: 'Scrollbar', zh: '滚动条', diff --git a/src/config-provider/src/ConfigProvider.ts b/src/config-provider/src/ConfigProvider.ts index 8257f9590..279f246e6 100644 --- a/src/config-provider/src/ConfigProvider.ts +++ b/src/config-provider/src/ConfigProvider.ts @@ -6,12 +6,13 @@ import { PropType, provide, ComputedRef, - markRaw + markRaw, + ExtractPropTypes } from 'vue' import { useMemo } from 'vooks' import { merge } from 'lodash-es' import { hash } from 'css-render' -import { ExtractPublicPropTypes, warn } from '../../_utils' +import { warn } from '../../_utils' import { defaultClsPrefix, Hljs } from '../../_mixins' import { NDateLocale, NLocale } from '../../locales' import type { @@ -64,8 +65,8 @@ export const configProviderProps = { } } as const -export type ConfigProviderProps = ExtractPublicPropTypes< - typeof configProviderProps +export type ConfigProviderProps = Partial< +ExtractPropTypes > export default defineComponent({ diff --git a/src/discrete/demos/enUS/basic.demo.vue b/src/discrete/demos/enUS/basic.demo.vue new file mode 100644 index 000000000..05bf4e53b --- /dev/null +++ b/src/discrete/demos/enUS/basic.demo.vue @@ -0,0 +1,51 @@ + +# 基础用法 + +使用 `useDiscreteApi` 来创建一系列 API。 + + + + + diff --git a/src/discrete/demos/enUS/index.demo-entry.md b/src/discrete/demos/enUS/index.demo-entry.md new file mode 100644 index 000000000..1bbf55659 --- /dev/null +++ b/src/discrete/demos/enUS/index.demo-entry.md @@ -0,0 +1,15 @@ +# 脱离上下文的 API + +如果你用过想在 `setup` 外使用 `useDialog`、`useMessage`、`useNotification`、`useLoadingBar`,你可以通过 `createDiscreateApi` 来构建对应的 API。 + + + 脱离上下文的 API 不会受 n-xxx-provider 的影响,并且和应用上下文中对应组件会使用不同的 DOM 容器。如果需要的话,你需要手动同步这些信息。并且最好不要混用两类 API。 + + +## 演示 + +```demo +basic.vue +``` + +## API diff --git a/src/discrete/demos/zhCN/basic.demo.vue b/src/discrete/demos/zhCN/basic.demo.vue new file mode 100644 index 000000000..e322d22d0 --- /dev/null +++ b/src/discrete/demos/zhCN/basic.demo.vue @@ -0,0 +1,71 @@ + +# 基础用法 + +使用 `useDiscreteApi` 来创建一系列 API。 + + + + + diff --git a/src/discrete/demos/zhCN/index.demo-entry.md b/src/discrete/demos/zhCN/index.demo-entry.md new file mode 100644 index 000000000..1bbf55659 --- /dev/null +++ b/src/discrete/demos/zhCN/index.demo-entry.md @@ -0,0 +1,15 @@ +# 脱离上下文的 API + +如果你用过想在 `setup` 外使用 `useDialog`、`useMessage`、`useNotification`、`useLoadingBar`,你可以通过 `createDiscreateApi` 来构建对应的 API。 + + + 脱离上下文的 API 不会受 n-xxx-provider 的影响,并且和应用上下文中对应组件会使用不同的 DOM 容器。如果需要的话,你需要手动同步这些信息。并且最好不要混用两类 API。 + + +## 演示 + +```demo +basic.vue +``` + +## API diff --git a/src/discrete/src/discrete.ts b/src/discrete/src/discrete.ts index b81a52ab9..4d97bb87b 100644 --- a/src/discrete/src/discrete.ts +++ b/src/discrete/src/discrete.ts @@ -2,7 +2,7 @@ import { NMessageProvider, useMessage } from '../../message' import { NDialogProvider, useDialog } from '../../dialog' import { NNotificationProvider, useNotification } from '../../notification' import { NLoadingBarProvider, useLoadingBar } from '../../loading-bar' -import { createDiscreteApp } from './discrete-app' +import { createDiscreteApp } from './discreteApp' import { DialogApiOptions, DialogDiscreteApi, diff --git a/src/discrete/src/discrete-app.ts b/src/discrete/src/discreteApp.ts similarity index 100% rename from src/discrete/src/discrete-app.ts rename to src/discrete/src/discreteApp.ts