@deot/docs-client 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +325 -0
- package/dist/chunks/_commonjsHelpers-BFTU3MAI-D_7z5o6A.js +8 -0
- package/dist/chunks/echarts-I1Rk_oCV.js +45301 -0
- package/dist/chunks/jsx-H2PmTOgp-C0GVSSMR.js +128281 -0
- package/dist/chunks/photoswipe.esm-CT37djgx.js +1628 -0
- package/dist/chunks/rolldown-runtime-Ce3zPWPd.js +24 -0
- package/dist/chunks/vc-components-C7ruefOT.js +6 -0
- package/dist/chunks/vc-components-m3l_xrd8.js +6 -0
- package/dist/index.cjs +8508 -0
- package/dist/index.d.ts +422 -0
- package/dist/index.js +119018 -0
- package/dist/index.style.css +22 -0
- package/package.json +43 -0
package/README.md
ADDED
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
# @deot/docs-client
|
|
2
|
+
|
|
3
|
+
`@deot/docs-client` 是浏览器端文档应用壳,提供多语言路由、五个布局插槽、Markdown、远程 SFC 与模块化页面渲染,以及带 IndexedDB 缓存和更新订阅的 `ResourceGateway`。
|
|
4
|
+
|
|
5
|
+
## 安装
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pnpm add @deot/docs-client
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 快速开始
|
|
12
|
+
|
|
13
|
+
页面需要先声明 `#app` 和 `window.$docs`,再加载样式与 ES module:
|
|
14
|
+
|
|
15
|
+
```html
|
|
16
|
+
<div id="app"></div>
|
|
17
|
+
|
|
18
|
+
<script>
|
|
19
|
+
window.$docs = {
|
|
20
|
+
base: new URL('./', document.baseURI).href,
|
|
21
|
+
namespace: 'my-docs',
|
|
22
|
+
locales: {
|
|
23
|
+
'zh-CN': {
|
|
24
|
+
label: '简体中文',
|
|
25
|
+
client: {
|
|
26
|
+
search: { placeholder: '搜索文档' }
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
'en-US': { label: 'English' }
|
|
30
|
+
},
|
|
31
|
+
routes: {
|
|
32
|
+
'/components/:name': {
|
|
33
|
+
content: 'default',
|
|
34
|
+
sidebar: './sidebar.json',
|
|
35
|
+
header: 'default',
|
|
36
|
+
footer: 'default',
|
|
37
|
+
extra: null
|
|
38
|
+
},
|
|
39
|
+
'*': '/components/installation'
|
|
40
|
+
},
|
|
41
|
+
resolve: {
|
|
42
|
+
markdown: ({ value }) => `./${value}.md`
|
|
43
|
+
},
|
|
44
|
+
modules: {},
|
|
45
|
+
styles: {}
|
|
46
|
+
};
|
|
47
|
+
</script>
|
|
48
|
+
|
|
49
|
+
<link rel="stylesheet" href="//unpkg.com/@deot/docs-client/dist/index.style.css">
|
|
50
|
+
<script type="module" src="//unpkg.com/@deot/docs-client/dist/index.js"></script>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
入口模块检测到页面存在 `#app` 时会自动调用 `bootstrap()`。也可以在不触发自动启动的环境中导入并手动调用:
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
import { bootstrap } from '@deot/docs-client';
|
|
57
|
+
|
|
58
|
+
const { app, router, disconnect } = await bootstrap(window.$docs);
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
`disconnect()` 用于关闭当前实例创建的 SSE、空闲预加载和联网恢复监听。
|
|
62
|
+
|
|
63
|
+
## `$docs` 配置
|
|
64
|
+
|
|
65
|
+
| 字段 | 说明 |
|
|
66
|
+
| --- | --- |
|
|
67
|
+
| `locales` | 语言代码到 `{ label, client?, markdown?, playground?, renderer? }` 的映射;第一项是默认文档语言。 |
|
|
68
|
+
| `routes` | 去掉语言前缀后的路由配置。字符串和函数表示重定向。 |
|
|
69
|
+
| `base` | production 资源的基准 URL。 |
|
|
70
|
+
| `namespace` | IndexedDB 缓存隔离标识;未设置时使用规范化后的 `base`。 |
|
|
71
|
+
| `modules` | 站点级裸模块名到 URL 的映射,对所有 Playground(含 Markdown)生效;远程 SFC 仍可通过实例 `builtinImportMap` 覆盖。 |
|
|
72
|
+
| `styles` | 站点级预览 CSS 默认地址;同名 key 覆盖内置样式表,也可追加。管理页 `/:lang/__docs/playground-resource` 与 `modules` 同一张表管理。 |
|
|
73
|
+
| `prefetch` | 空闲预加载开关或 `{ batchSize, idleTimeout }` 配置,默认开启。 |
|
|
74
|
+
| `theme` | 主题开关或 `{ default: 'system' \| 'light' \| 'dark' }`,默认跟随系统。 |
|
|
75
|
+
| `home` | 可选的 `{ locales }` 首页配置;语言值是 Renderer 文档或 `.page.json` 地址。未配置时首页为空。 |
|
|
76
|
+
| `renderers` | 业务自定义 Renderer 模块注册项;type 必须使用非 `docs:` 的命名空间。 |
|
|
77
|
+
| `resolve.markdown` | 根据 `lang`、`value` 和当前路由生成 Markdown 逻辑地址。 |
|
|
78
|
+
| `resolve.resource` | 将任意逻辑资源转换为最终 URL。 |
|
|
79
|
+
| `resolve.link` | 将 Markdown 原始链接同步转换为外链或包含语言的站内 Router 地址。 |
|
|
80
|
+
|
|
81
|
+
每个对象路由支持 `header`、`sidebar`、`content`、`footer` 和 `extra` 五个插槽:
|
|
82
|
+
|
|
83
|
+
- `null`:不渲染;
|
|
84
|
+
- `default`:content 使用 Markdown resolver,sidebar 加载 `./sidebar.json`,header/footer 使用内置组件;
|
|
85
|
+
- `.md`:渲染 Markdown;
|
|
86
|
+
- `.json`:解析为数据,当前主要用于递归 sidebar;
|
|
87
|
+
- `.vue`:通过独立 Playground iframe 渲染远程 SFC。
|
|
88
|
+
- `.page.json`:使用 `@deot/docs-renderer` 渲染模块化页面,并订阅 Gateway 内容更新。
|
|
89
|
+
|
|
90
|
+
Sidebar 使用递归的 `{ label, value?, children? }` 结构。原有 JSON/Gateway
|
|
91
|
+
加载方式保持不变,也可以直接传入 JavaScript 数组:
|
|
92
|
+
|
|
93
|
+
```js
|
|
94
|
+
const routes = {
|
|
95
|
+
'/components/:name': {
|
|
96
|
+
sidebar: [
|
|
97
|
+
{ label: '开始使用', value: '/components/installation' },
|
|
98
|
+
{
|
|
99
|
+
label: '组件',
|
|
100
|
+
children: [
|
|
101
|
+
{ label: 'Button', value: '/components/button' }
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
多语言站点可以传入以 lang 为键的数据映射;当前语言缺失时回退到站点默认语言:
|
|
110
|
+
|
|
111
|
+
```js
|
|
112
|
+
const sidebar = {
|
|
113
|
+
'zh-CN': [{ label: '简介', value: '/guide' }],
|
|
114
|
+
'en-US': [{ label: 'Introduction', value: '/guide' }]
|
|
115
|
+
};
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### 首页
|
|
119
|
+
|
|
120
|
+
未配置 `routes['/']` 时,Client 渲染 `$docs.home`。首页文档必须由站点自己提供,Client 不内置示例页:
|
|
121
|
+
|
|
122
|
+
```js
|
|
123
|
+
window.$docs = {
|
|
124
|
+
home: {
|
|
125
|
+
locales: {
|
|
126
|
+
'zh-CN': './pages/home.page.json',
|
|
127
|
+
'en-US': {
|
|
128
|
+
schemaVersion: 2,
|
|
129
|
+
meta: { id: 'home-en', title: 'Home' },
|
|
130
|
+
layout: {
|
|
131
|
+
mode: 'sortable',
|
|
132
|
+
maxWidth: 1920,
|
|
133
|
+
minHeight: 600,
|
|
134
|
+
background: '#fff'
|
|
135
|
+
},
|
|
136
|
+
blocks: []
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
未配置 `home` 时首页画布为空,仍保留默认 Header/Footer、不展示 Sidebar。`routes['/']` 可以完全覆盖该首页路由。
|
|
144
|
+
|
|
145
|
+
首页入口链接由站点文档自己声明。业务 routes 和 Sidebar 只决定内容页怎么走:
|
|
146
|
+
|
|
147
|
+
1. 按 routes 的声明顺序选择路由模式;
|
|
148
|
+
2. 静态内容路由可以直接作为入口;
|
|
149
|
+
3. 动态路由按 Sidebar 深度优先顺序寻找第一个完整匹配的 value;
|
|
150
|
+
4. 当前模式无法实例化时继续下一模式。
|
|
151
|
+
|
|
152
|
+
`/packages/:name`、`/components/:name`、`/api/:version/:name` 等只是业务配置,Client 不固定前缀、参数名或参数数量。
|
|
153
|
+
|
|
154
|
+
路由的 `content` 也可直接传入 Renderer 文档。`/:lang/__docs/renderer-editor` 在所有运行模式下都会注册;可从 Header 进入,编辑 Markdown、远程 SFC、内置模块和业务通过 `renderers` 声明的模块。development 下保存会 `PUT /__docs/page`,body 为 `{ lang, source, document }`,只写入工作区内带语言前缀的 `.page.json`;production 不开放该接口,仍可使用导入、导出和预览。Combo 草稿写入 IndexedDB 库 `deot-docs-renderer`,与 Gateway 的 `deot-docs` 分库。
|
|
155
|
+
|
|
156
|
+
对照组合与短路径 `/:lang/renderer-editor-demos` 仅在 development 注入;目录页列出全部演示,`?name=landing` 进入对应 Combo。若站点占用了 `/renderer-editor-demos`,改从 `/:lang/__docs/renderer-editor-demos` 访问。production 不注册这些演示路由。工厂函数也可直接赋给 `$docs.home` 或路由 `content`:
|
|
157
|
+
|
|
158
|
+
| 查询 | 内容 |
|
|
159
|
+
|---|---|
|
|
160
|
+
| (无 `name`) | 演示目录;第九格进入空白 `/renderer-editor` |
|
|
161
|
+
| `?name=sortable` | 空白流式画布 |
|
|
162
|
+
| `?name=landing` | Hero → Features → Steps → FAQ → CTA |
|
|
163
|
+
| `?name=shared` | Title / Text / List / Image / Actions / Space |
|
|
164
|
+
| `?name=promo` | 广告位四种样式(模块 type 仍是 `ads`) |
|
|
165
|
+
| `?name=docs` | `docs:markdown` + `docs:sfc` |
|
|
166
|
+
| `?name=combo` | 落地模块 + Markdown + 广告位 |
|
|
167
|
+
| `?name=draggable` | 自由画布 |
|
|
168
|
+
| `?name=selection` | 预置 selection 组合框 |
|
|
169
|
+
|
|
170
|
+
演示文档可由 `createRendererEditorDemoDocument(name, lang)` 生成(`@deot/docs-client` 导出),也可直接指向保存后的 `.page.json`:
|
|
171
|
+
|
|
172
|
+
```ts
|
|
173
|
+
window.$docs = {
|
|
174
|
+
home: {
|
|
175
|
+
locales: {
|
|
176
|
+
'zh-CN': './home.page.json'
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
};
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Locale 与 lang
|
|
183
|
+
|
|
184
|
+
`lang` 始终来自当前路由,用于文档资源寻址、搜索与缓存隔离;`locale` 只负责界面文案。Client 会在路由切换时同步 `<html lang>`。内置 `zh-CN` 和 `en-US`,自定义语言或缺少字段会逐字段回退到 `en-US`。翻译 key 必须属于 `client.*`、`markdown.*`、`playground.*` 或 `renderer.*`。
|
|
185
|
+
|
|
186
|
+
### Theme
|
|
187
|
+
|
|
188
|
+
内置 Header 在启用主题时展示切换入口。Client 同步维护 `<body data-doc-theme>` 与 `<body data-vc-theme>`,因此 Docs 和 `@deot/vc` 会使用同一套 Light/Dark 状态。用户选择按站点 namespace 保存到 IndexedDB;首次进入时依次使用已保存设置、HTML 预设、配置默认值和系统偏好。
|
|
189
|
+
|
|
190
|
+
公共主题类型、`--docs-*` 语义变量和 SCSS 工具由 `@deot/docs-theme` 提供;Client 仅负责运行时状态、持久化和切换动画。Markdown、Playground 和 Client 的构建都会内联同一份变量样式,不要求页面额外加载主题 CSS。
|
|
191
|
+
|
|
192
|
+
```js
|
|
193
|
+
window.$docs = {
|
|
194
|
+
// 其他配置
|
|
195
|
+
theme: {
|
|
196
|
+
default: 'system'
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
设置 `theme: false` 可关闭内置主题控制。自定义 Header 可以从 `@deot/docs-client` 导入共享的 `Theme`,读取 `current/enabled/ready`,或调用 `Theme.set()`、`Theme.toggle()`;传入触发元素时,支持 View Transition 的浏览器会以该元素为圆心切换。
|
|
202
|
+
|
|
203
|
+
### 空闲预加载
|
|
204
|
+
|
|
205
|
+
首屏路由就绪后,Client 默认在浏览器空闲阶段预加载已配置资源。它会先准备 sidebar、SFC 及递归依赖,再按 sidebar 的深度优先顺序加载 Markdown 与页面文档;页面文档还会带上其引用的 Markdown / SFC。当前路由请求始终使用更高优先级。每批默认提交 2 个资源,单次等待空闲最长 1500ms:
|
|
206
|
+
|
|
207
|
+
```js
|
|
208
|
+
window.$docs = {
|
|
209
|
+
// 其他配置
|
|
210
|
+
prefetch: {
|
|
211
|
+
batchSize: 2,
|
|
212
|
+
idleTimeout: 1500
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
设置 `prefetch: false` 可关闭自动预加载,不影响诊断页的手动 Prefetch。诊断页位于 `/:lang/__docs/database`。Playground 资源管理页位于 `/:lang/__docs/playground-resource`,可覆盖模块 import 与预览 CSS,并对当前地址做探测(阶段状态 waiting/pending/success/error);`$docs.modules` 与 `$docs.styles` 作为站点默认对所有 Playground 生效,并出现在同一张管理表中。默认地址、探测结果与覆盖都保存在独立的 `deot-docs-playground-resource` IndexedDB 中;当前地址与默认不同才算覆盖,启动时只有覆盖会灌进内存。保存后对新打开的 Playground 生效;已挂载的 Playground 不会热更新 import map。回滚覆盖后回退默认地址。离线失败会保留历史内容和 error 状态;浏览器恢复联网后,只补充本会话失败、未完成和新发现的资源。
|
|
218
|
+
|
|
219
|
+
## Runtime 与资源寻址
|
|
220
|
+
|
|
221
|
+
production 页面不需要声明 runtime。`doc dev` 会在其他页面脚本前注入:
|
|
222
|
+
|
|
223
|
+
```js
|
|
224
|
+
window.__DOCS_RUNTIME__ = Object.freeze({
|
|
225
|
+
mode: 'development',
|
|
226
|
+
workspace: '/site/',
|
|
227
|
+
events: '/__docs/events'
|
|
228
|
+
});
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
客户端会将它归一化到 `window.$docs.runtime`。默认寻址规则:
|
|
232
|
+
|
|
233
|
+
- development:`./guide.md` 解析为 `/site/{lang}/guide.md`;
|
|
234
|
+
- production:相对于 `$docs.base` 生成绝对 URL;未配置时,客户端会在路由启动前推导并固定部署目录;
|
|
235
|
+
- 相对依赖:相对于 `importer` URL 解析。
|
|
236
|
+
|
|
237
|
+
组件不应自行拼接资源 URL;应使用 `resolveResource()` 和 `createResourceIdentity()`。
|
|
238
|
+
|
|
239
|
+
同一份配置也可以按 runtime 切换数据源。例如源码仓库的 development 可返回本地子包 README,preview 和直接部署则返回仓库 Raw URL:
|
|
240
|
+
|
|
241
|
+
```js
|
|
242
|
+
const resolve = {
|
|
243
|
+
markdown: ({ value }) => `packages/${value}/README.md`,
|
|
244
|
+
resource: ({ source, runtime }) => runtime.mode === 'development'
|
|
245
|
+
? `/${source}`
|
|
246
|
+
: new URL(source, 'https://raw.githubusercontent.com/example/docs/refs/heads/main/').href,
|
|
247
|
+
link: ({ href, lang, source }) => {
|
|
248
|
+
const target = new URL(href, new URL(source, 'https://docs.local/'));
|
|
249
|
+
if (target.pathname === '/packages/cli/README.md') return `/${lang}/cli`;
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
`resolve.link` 为同步 Resolver。返回 `null`、`undefined` 或空字符串时保留原地址;返回绝对 URL 时保持浏览器外链行为;其他结果交给 Vue Router。Client 会把 Router 生成的真实 `href` 写回元素,因此复制链接、使用 deployment subpath 或在新标签打开时也能得到正确地址。锚点不会进入该 Resolver。
|
|
255
|
+
|
|
256
|
+
## ResourceGateway
|
|
257
|
+
|
|
258
|
+
```ts
|
|
259
|
+
import {
|
|
260
|
+
Gateway,
|
|
261
|
+
createResourceIdentity
|
|
262
|
+
} from '@deot/docs-client';
|
|
263
|
+
|
|
264
|
+
const identity = createResourceIdentity(
|
|
265
|
+
window.$docs,
|
|
266
|
+
'zh-CN',
|
|
267
|
+
'markdown',
|
|
268
|
+
'./guide.md'
|
|
269
|
+
);
|
|
270
|
+
const page = createResourceIdentity(
|
|
271
|
+
window.$docs,
|
|
272
|
+
'zh-CN',
|
|
273
|
+
'page',
|
|
274
|
+
'./pages/home.page.json'
|
|
275
|
+
);
|
|
276
|
+
|
|
277
|
+
const record = await Gateway.load(identity);
|
|
278
|
+
const unsubscribe = Gateway.subscribe(identity, () => undefined);
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
`Gateway` 是共享的 `ResourceGateway` 实例;`Network` 是基于 `@deot/http` 的原始文本传输实例。资源 `type` 为 `markdown`、`sidebar`、`page`、`sfc`、`module` 或 `style`。
|
|
282
|
+
|
|
283
|
+
| Gateway 方法 | 说明 |
|
|
284
|
+
| --- | --- |
|
|
285
|
+
| `load(identity, options?)` | 优先返回可用缓存,并默认在后台重新校验。 |
|
|
286
|
+
| `revalidate(identity, options?)` | 等待一次网络校验完成。 |
|
|
287
|
+
| `prefetch(identities, options?)` | 将资源标记为预加载并批量加入调度队列;支持 priority 和 signal。 |
|
|
288
|
+
| `subscribe(identity, listener)` | 仅在成功内容 hash 变化时通知。 |
|
|
289
|
+
| `subscribeStatus(listener)` | 订阅 `waiting`、`pending`、`success`、`error` 请求状态。 |
|
|
290
|
+
| `poll(identityOrIdentities, options?)` | 显式开启单资源或批量轮询,并返回停止函数。 |
|
|
291
|
+
| `stopPolling(identity)` | 停止指定资源轮询。 |
|
|
292
|
+
| `list()` | 列出缓存记录。 |
|
|
293
|
+
| `invalidate(identity)` | 删除单个资源并取消对应请求。 |
|
|
294
|
+
| `clear()` | 清空全部资源并取消当前请求。 |
|
|
295
|
+
| `prune(namespace, retained)` | 删除指定 namespace 中不在保留集合内的资源。 |
|
|
296
|
+
| `setConcurrency(value)` | 调整全局请求并发数。 |
|
|
297
|
+
|
|
298
|
+
默认缓存数据库名为 `deot-docs`。有旧内容但最新请求失败时,内容状态仍为 `success`,请求状态为 `error`;内容订阅不会被纯请求状态变化触发。
|
|
299
|
+
|
|
300
|
+
## Header 搜索
|
|
301
|
+
|
|
302
|
+
内置 Header 会搜索当前 namespace、当前语言下已进入 Gateway 缓存的 Markdown 与页面文档。空查询展示最近访问结果;选择文档或小节后会记录历史,并支持收藏和删除。搜索不会主动请求资源,后台空闲预加载完成后会静默扩充结果。
|
|
303
|
+
|
|
304
|
+
搜索历史独立保存在 `deot-docs-search` 数据库中,最多保留 20 条,Gateway 的 Clear 和 Prune 不会删除这些导航历史。
|
|
305
|
+
|
|
306
|
+
## 其他公共导出
|
|
307
|
+
|
|
308
|
+
- Runtime:`initializeDocsRuntime`、`getDocsConfig`、`getDocsRuntime`。
|
|
309
|
+
- Resolver:`getDocsBase`、`getDocsDeploymentBase`、`getDefaultLanguage`、`getDocsNamespace`、`resolveResource`、`createResourceIdentity`、`resourceIdentityKey`。
|
|
310
|
+
- Playground 资源:`PlaygroundResource`、`PlaygroundResourceCache`。
|
|
311
|
+
- 演示文档:`createRendererEditorDemoDocument`、`RENDERER_EDITOR_DEMOS`、`listRendererEditorDemos`、`isRendererEditorDemo`、`rendererEditorDemoPath`。
|
|
312
|
+
- 类型:`DocsConfig`、`DocsPrefetchOptions`、`DocsRoute`、`DocsRuntime`、`DocsLinkContext`、`DocsResourceType`、`ResourceIdentity`、`ResourceRecord`、`ResourceContentRecord`、`ResourceLoadOptions`、`ResourcePrefetchOptions`、`PlaygroundResourceRecord` 等。
|
|
313
|
+
|
|
314
|
+
## 仓库内验证
|
|
315
|
+
|
|
316
|
+
在仓库根目录执行:
|
|
317
|
+
|
|
318
|
+
```bash
|
|
319
|
+
npm run test -- --package-name client
|
|
320
|
+
npm run build -- --package-name client
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
## 许可证
|
|
324
|
+
|
|
325
|
+
MIT
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
globalThis.process;
|
|
2
|
+
//#region node_modules/.pnpm/@vue+repl@4.6.1/node_modules/@vue/repl/dist/chunks/_commonjsHelpers-BFTU3MAI.js
|
|
3
|
+
var e = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
4
|
+
function t(e) {
|
|
5
|
+
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
6
|
+
}
|
|
7
|
+
//#endregion
|
|
8
|
+
export { t as n, e as t };
|