@openviking/react 0.1.1 → 0.1.3
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 +18 -15
- package/dist/1~0.js +506 -0
- package/dist/2~0.js +122 -0
- package/dist/30~0.js +1332 -0
- package/dist/3~0.js +2113 -4
- package/dist/ark-message-list-view~0.js +310 -0
- package/dist/c7~0.js +24 -0
- package/dist/client/index.d.ts +2 -1
- package/dist/client/paths.d.ts +64 -0
- package/dist/client/response.d.ts +31 -0
- package/dist/client/sse.d.ts +39 -0
- package/dist/client/stream.d.ts +26 -0
- package/dist/client/types.d.ts +104 -0
- package/dist/client.js +1 -239
- package/dist/components/agent-connect/agent-connect-copy.d.ts +34 -0
- package/dist/components/agent-connect/agent-connect-design.d.ts +1781 -0
- package/dist/components/agent-connect/agent-connect-detail.d.ts +13 -0
- package/dist/components/agent-connect/agent-connect-installer.d.ts +3 -0
- package/dist/components/agent-connect/agent-connect-instructions-view.d.ts +14 -0
- package/dist/components/agent-connect/agent-connect-instructions.d.ts +145 -0
- package/dist/components/agent-connect/agent-connect-markdown.d.ts +3 -0
- package/dist/components/agent-connect/agent-connect.d.ts +3 -3
- package/dist/components/agent-connect/content-en.d.ts +137 -0
- package/dist/components/agent-connect/content-zh.d.ts +137 -0
- package/dist/components/agent-connect/style.css +495 -6
- package/dist/components/agent-connect/types.d.ts +20 -166
- package/dist/components/file-browser-entries/file-browser-entries-icons.d.ts +18 -0
- package/dist/components/file-browser-entries/file-browser-entries.d.ts +14 -0
- package/dist/components/file-browser-entries/index.d.ts +1 -0
- package/dist/components/file-browser-entries/style.css +155 -0
- package/dist/components/file-browser-entries/types.d.ts +45 -0
- package/dist/components/file-browser-entries.js +1 -0
- package/dist/components/file-preview/file-preview-adapters.d.ts +33 -0
- package/dist/components/file-preview/file-preview-body.d.ts +24 -12
- package/dist/components/file-preview/file-preview-breadcrumb-menu.d.ts +16 -0
- package/dist/components/file-preview/file-preview-breadcrumb.d.ts +21 -0
- package/dist/components/file-preview/file-preview-copy-path.d.ts +12 -0
- package/dist/components/file-preview/file-preview-directory.d.ts +32 -0
- package/dist/components/file-preview/file-preview-editor.d.ts +22 -0
- package/dist/components/file-preview/file-preview-handle-adapters.d.ts +26 -0
- package/dist/components/file-preview/file-preview-header.d.ts +41 -14
- package/dist/components/file-preview/file-preview-labels.d.ts +15 -4
- package/dist/components/file-preview/file-preview-lazy-viewer.d.ts +3 -0
- package/dist/components/file-preview/file-preview-panels.d.ts +41 -0
- package/dist/components/file-preview/file-preview-path.d.ts +30 -0
- package/dist/components/file-preview/file-preview-source.d.ts +24 -0
- package/dist/components/file-preview/file-preview-state.d.ts +35 -0
- package/dist/components/file-preview/file-preview-tab-row.d.ts +16 -0
- package/dist/components/file-preview/file-preview-viewer.d.ts +31 -0
- package/dist/components/file-preview/file-preview.d.ts +9 -11
- package/dist/components/file-preview/level-selection.d.ts +25 -0
- package/dist/components/file-preview/style.css +4055 -126
- package/dist/components/file-preview/types.d.ts +350 -170
- package/dist/components/file-preview/use-directory-level.d.ts +30 -0
- package/dist/components/file-preview/use-file-preview-actions-context.d.ts +27 -0
- package/dist/components/file-preview/use-file-preview-actions.d.ts +19 -0
- package/dist/components/file-preview/use-file-preview-editing.d.ts +21 -2
- package/dist/components/file-preview/use-file-preview-ids.d.ts +24 -0
- package/dist/components/file-preview.js +1 -442
- package/dist/components/file-tree/file-tree-body.d.ts +8 -4
- package/dist/components/file-tree/file-tree-entry-row.d.ts +9 -3
- package/dist/components/file-tree/file-tree-icons.d.ts +12 -5
- package/dist/components/file-tree/file-tree-info-labels.d.ts +21 -0
- package/dist/components/file-tree/file-tree-info-tooltip.d.ts +43 -0
- package/dist/components/file-tree/file-tree-info.d.ts +29 -0
- package/dist/components/file-tree/file-tree-keyboard.d.ts +8 -4
- package/dist/components/file-tree/file-tree-row-context.d.ts +29 -12
- package/dist/components/file-tree/file-tree-row-shared.d.ts +18 -0
- package/dist/components/file-tree/file-tree-spinner.d.ts +10 -0
- package/dist/components/file-tree/file-tree-state-row.d.ts +7 -0
- package/dist/components/file-tree/file-tree-tooltip-surface.d.ts +22 -0
- package/dist/components/file-tree/file-tree.d.ts +12 -1
- package/dist/components/file-tree/style.css +280 -75
- package/dist/components/file-tree/types.d.ts +203 -0
- package/dist/components/file-tree/use-file-tree-actions.d.ts +7 -0
- package/dist/components/file-tree.js +1 -1
- package/dist/components/scope-switcher/scope-panel.d.ts +9 -3
- package/dist/components/scope-switcher/scope-selector.d.ts +1 -1
- package/dist/components/scope-switcher/scope-switcher.d.ts +1 -1
- package/dist/components/scope-switcher/style.css +282 -76
- package/dist/components/scope-switcher/types.d.ts +230 -108
- package/dist/components/style.css +14128 -390
- package/dist/components/tui/command-catalog.d.ts +58 -0
- package/dist/components/tui/command-completion.d.ts +19 -0
- package/dist/components/tui/command-definitions.d.ts +10 -0
- package/dist/components/tui/command-input.d.ts +16 -0
- package/dist/components/tui/style.css +1543 -5
- package/dist/components/tui/tui-assist.d.ts +15 -0
- package/dist/components/tui/tui-code-block.d.ts +8 -0
- package/dist/components/tui/tui-command-help.d.ts +9 -0
- package/dist/components/tui/tui-command-text.d.ts +6 -0
- package/dist/components/tui/tui-composer.d.ts +24 -0
- package/dist/components/tui/tui-copy-button.d.ts +9 -0
- package/dist/components/tui/tui-input-mirror.d.ts +14 -0
- package/dist/components/tui/tui-labels-zh.d.ts +2 -0
- package/dist/components/tui/tui-labels.d.ts +5 -0
- package/dist/components/tui/tui-markdown-renderers.d.ts +10 -0
- package/dist/components/tui/tui-markdown.d.ts +6 -0
- package/dist/components/tui/tui-param-hint.d.ts +7 -0
- package/dist/components/tui/tui-record-time.d.ts +11 -0
- package/dist/components/tui/tui-record.d.ts +13 -0
- package/dist/components/tui/tui-resource-preview.d.ts +10 -0
- package/dist/components/tui/tui-resource-tree.d.ts +10 -0
- package/dist/components/tui/tui-result-header.d.ts +7 -0
- package/dist/components/tui/tui-result-text.d.ts +5 -0
- package/dist/components/tui/tui-search-list.d.ts +8 -0
- package/dist/components/tui/tui-skeleton.d.ts +6 -0
- package/dist/components/tui/tui-status-card.d.ts +7 -0
- package/dist/components/tui/tui-text.d.ts +10 -0
- package/dist/components/tui/tui-uri-text.d.ts +19 -0
- package/dist/components/tui/tui-write-result.d.ts +7 -0
- package/dist/components/tui/tui.d.ts +10 -2
- package/dist/components/tui/types.d.ts +57 -15
- package/dist/components/tui/use-tui-assist-position.d.ts +3 -0
- package/dist/components/tui/use-tui-completion.d.ts +14 -0
- package/dist/components/tui/use-tui-composer-keyboard.d.ts +25 -0
- package/dist/components/viking-bot/ark-adapter.d.ts +45 -0
- package/dist/components/viking-bot/ark-message-body.d.ts +16 -0
- package/dist/components/viking-bot/ark-message-list-view.d.ts +7 -0
- package/dist/components/viking-bot/ark-message-row.d.ts +19 -0
- package/dist/components/viking-bot/index.d.ts +10 -0
- package/dist/components/viking-bot/interaction/ask-human-fields.d.ts +10 -0
- package/dist/components/viking-bot/interaction/index.d.ts +4 -0
- package/dist/components/viking-bot/interaction/labels.d.ts +7 -0
- package/dist/components/viking-bot/interaction/lazy-interaction.d.ts +3 -0
- package/dist/components/viking-bot/interaction/schedule-input.d.ts +13 -0
- package/dist/components/viking-bot/interaction/style.css +189 -0
- package/dist/components/viking-bot/interaction/style.js +0 -0
- package/dist/components/viking-bot/interaction/types.d.ts +188 -0
- package/dist/components/viking-bot/interaction/viking-bot-interaction.d.ts +9 -0
- package/dist/components/viking-bot/interaction.js +2 -0
- package/dist/components/viking-bot/labels.d.ts +2 -0
- package/dist/components/viking-bot/lazy-composer.d.ts +3 -0
- package/dist/components/viking-bot/message-groups.d.ts +12 -0
- package/dist/components/viking-bot/model.d.ts +252 -0
- package/dist/components/viking-bot/render-part.d.ts +12 -0
- package/dist/components/viking-bot/style.css +7135 -0
- package/dist/components/viking-bot/style.js +0 -0
- package/dist/components/viking-bot/types.d.ts +140 -0
- package/dist/components/viking-bot/viking-bot-composer.d.ts +6 -0
- package/dist/components/viking-bot/viking-bot-message-list.d.ts +3 -0
- package/dist/components/viking-bot/viking-bot.d.ts +16 -0
- package/dist/components/viking-bot.js +4 -0
- package/dist/c~0.js +201 -0
- package/dist/file-preview-viewer~0.js +191 -0
- package/dist/f~0.js +149 -77
- package/dist/h~0.js +58 -0
- package/dist/icons/file-type-icon.d.ts +31 -0
- package/dist/icons/index.d.ts +33 -23
- package/dist/icons/nextjs-icon.d.ts +19 -0
- package/dist/icons.js +1 -25
- package/dist/index.d.ts +4 -2
- package/dist/index.js +2 -1
- package/dist/k~0.js +1440 -0
- package/dist/lk~0.js +25 -12
- package/dist/l~0.js +1464 -25
- package/dist/modules/console/style.css +83 -1
- package/dist/modules/file-browser/file-browser-detail-icons.d.ts +10 -0
- package/dist/modules/file-browser/file-browser-detail.d.ts +33 -0
- package/dist/modules/file-browser/file-browser-empty.d.ts +3 -0
- package/dist/modules/file-browser/file-browser-failure.d.ts +22 -0
- package/dist/modules/file-browser/file-browser-icons.d.ts +18 -0
- package/dist/modules/file-browser/file-browser-labels.d.ts +28 -0
- package/dist/modules/file-browser/file-browser-layout.d.ts +27 -0
- package/dist/modules/file-browser/file-browser-toolbar.d.ts +18 -0
- package/dist/modules/file-browser/file-browser-tree-pane.d.ts +30 -0
- package/dist/modules/file-browser/file-browser.d.ts +14 -5
- package/dist/modules/file-browser/find-result.d.ts +24 -0
- package/dist/modules/file-browser/fs-directories.d.ts +33 -0
- package/dist/modules/file-browser/fs-file-kind.d.ts +19 -0
- package/dist/modules/file-browser/fs-icon.d.ts +17 -0
- package/dist/modules/file-browser/fs-model.d.ts +106 -0
- package/dist/modules/file-browser/fs-page.d.ts +16 -0
- package/dist/modules/file-browser/fs-path.d.ts +16 -0
- package/dist/modules/file-browser/fs-read-directory.d.ts +20 -0
- package/dist/modules/file-browser/fs-scope.d.ts +22 -0
- package/dist/modules/file-browser/fs-stat.d.ts +25 -0
- package/dist/modules/file-browser/index.d.ts +3 -1
- package/dist/modules/file-browser/style.css +5009 -34
- package/dist/modules/file-browser/tree-info-copy.d.ts +15 -0
- package/dist/modules/file-browser/tree-info-copy.zh-CN.d.ts +15 -0
- package/dist/modules/file-browser/types.d.ts +189 -44
- package/dist/modules/file-browser/use-container-width.d.ts +17 -0
- package/dist/modules/file-browser/use-file-browser.d.ts +49 -0
- package/dist/modules/file-browser/use-fs-preview.d.ts +51 -0
- package/dist/modules/file-browser/use-fs-search.d.ts +35 -0
- package/dist/modules/file-browser/use-fs-tree.d.ts +43 -0
- package/dist/modules/file-browser/use-request-scope.d.ts +39 -0
- package/dist/modules/file-browser.js +1 -1
- package/dist/modules/scope-cascade/style.css +282 -76
- package/dist/modules/style.css +5445 -130
- package/dist/n~0.js +568 -236
- package/dist/o~0.js +103 -0
- package/dist/shared/components/divider/divider.d.ts +18 -0
- package/dist/shared/components/divider/index.d.ts +1 -0
- package/dist/shared/components/divider/types.d.ts +35 -0
- package/dist/shared/components/overlay/types.d.ts +7 -0
- package/dist/shared/components/overlay/use-overlay-position.d.ts +38 -0
- package/dist/shared/components/popover/index.d.ts +1 -0
- package/dist/shared/components/popover/popover.d.ts +23 -0
- package/dist/shared/components/popover/types.d.ts +50 -0
- package/dist/shared/components/resizable/clamp.d.ts +13 -0
- package/dist/shared/components/resizable/index.d.ts +2 -0
- package/dist/shared/components/resizable/resizable-handle.d.ts +25 -0
- package/dist/shared/components/resizable/types.d.ts +48 -0
- package/dist/shared/components/tooltip/index.d.ts +1 -0
- package/dist/shared/components/tooltip/tooltip.d.ts +25 -0
- package/dist/shared/components/tooltip/types.d.ts +42 -0
- package/dist/style.css +19664 -530
- package/dist/u~0.js +1597 -4
- package/dist/viking-bot-composer~0.js +164 -0
- package/dist/viking-bot-interaction~0.js +284 -0
- package/dist/w~0.js +19 -0
- package/package.json +23 -10
- package/dist/components/file-preview/file-preview-icons.d.ts +0 -2
- package/dist/components/file-preview/file-preview-operations.d.ts +0 -1
- package/dist/components/file-tree/file-tree-dom.d.ts +0 -4
- package/dist/components/file-tree/file-tree-labels.d.ts +0 -5
- package/dist/components/file-tree/file-tree-rows.d.ts +0 -12
- package/dist/components/file-tree/file-tree-tooltip.d.ts +0 -11
- package/dist/i~0.js +0 -21
- package/dist/modules/file-browser/file-browser-toolbar-button.d.ts +0 -10
- package/dist/modules/task-center/columns.d.ts +0 -129
- package/dist/modules/task-center/index.d.ts +0 -1
- package/dist/modules/task-center/style.css +0 -29
- package/dist/modules/task-center/task-center.d.ts +0 -4
- package/dist/modules/task-center/types.d.ts +0 -168
- package/dist/modules/task-center.js +0 -1
- /package/dist/{modules/task-center → components/file-browser-entries}/style.js +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { FilePreviewLabels } from './types.js';
|
|
2
|
+
/** 空文件态:严格长度为 0。The empty-file state, for a strictly zero-length body. */
|
|
3
|
+
export declare function EmptyFileState({ text, }: {
|
|
4
|
+
text: Required<FilePreviewLabels>;
|
|
5
|
+
}): import("react").JSX.Element;
|
|
6
|
+
/** 无可见内容态:正文存在但没有可渲染的文本。 */
|
|
7
|
+
export declare function NoContentState({ text, }: {
|
|
8
|
+
text: Required<FilePreviewLabels>;
|
|
9
|
+
}): import("react").JSX.Element;
|
|
10
|
+
/**
|
|
11
|
+
* 加载态。只用到 `loading` 一条文案,因此参数收窄到这一项:宿主在正文还没
|
|
12
|
+
* 取回来时手上没有完整的一套文案,也不该为了显示加载中而编一份。
|
|
13
|
+
*
|
|
14
|
+
* A loading state. Only `loading` is read, so the parameter narrows to that one
|
|
15
|
+
* field: a host that has not received the body yet has no full copy set, and should
|
|
16
|
+
* not have to invent one just to show that something is loading.
|
|
17
|
+
*/
|
|
18
|
+
export declare function LoadingState({ text, }: {
|
|
19
|
+
text: Pick<FilePreviewLabels, 'loading'>;
|
|
20
|
+
}): import("react").JSX.Element;
|
|
21
|
+
/** 读取失败态,带重试入口。A read-failure state with a retry entry. */
|
|
22
|
+
export declare function LoadFailedState({ text, description, onRetry, }: {
|
|
23
|
+
text: Required<FilePreviewLabels>;
|
|
24
|
+
description?: string;
|
|
25
|
+
onRetry?: () => void;
|
|
26
|
+
}): import("react").JSX.Element;
|
|
27
|
+
/** 格式不支持态,带下载入口。An unsupported-format state with a download entry. */
|
|
28
|
+
export declare function UnsupportedState({ text, onDownload, }: {
|
|
29
|
+
text: Required<FilePreviewLabels>;
|
|
30
|
+
onDownload?: () => void;
|
|
31
|
+
}): import("react").JSX.Element;
|
|
32
|
+
/** 正文被截断时的提示,固定在正文下方。 */
|
|
33
|
+
export declare function TruncatedNotice({ text, }: {
|
|
34
|
+
text: Required<FilePreviewLabels>;
|
|
35
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { FilePreviewTab } from './types.js';
|
|
2
|
+
export interface FilePreviewTabRowProps {
|
|
3
|
+
tabs: readonly FilePreviewTab[];
|
|
4
|
+
activeKey: string;
|
|
5
|
+
disabled: boolean;
|
|
6
|
+
/** 按 key 生成页签的 DOM id,带实例前缀避免多实例重复。 */
|
|
7
|
+
tabId: (key: string) => string;
|
|
8
|
+
/** 按 key 生成面板的 DOM id,与 `tabId` 同源。 */
|
|
9
|
+
panelId: (key: string) => string;
|
|
10
|
+
onSelect: (key: string) => void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 页签行:文件夹卡片式页签,选中页签与内容区连成一体。
|
|
14
|
+
* The tab row: folder-style tabs where the selected one joins the content area.
|
|
15
|
+
*/
|
|
16
|
+
export declare function FilePreviewTabRow({ tabs, activeKey, disabled, tabId, panelId, onSelect, }: FilePreviewTabRowProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ViewerHandle, ViewerViewModeOption } from '@ark-design/ui/file-viewer/core';
|
|
2
|
+
import type { MarkdownAdapterOptions } from '@ark-design/ui/file-viewer/adapters/markdown';
|
|
3
|
+
import type { FilePreviewFileTab, FilePreviewLabels, FilePreviewViewMode } from './types.js';
|
|
4
|
+
export interface FilePreviewViewerProps {
|
|
5
|
+
tab: FilePreviewFileTab;
|
|
6
|
+
text: Required<FilePreviewLabels>;
|
|
7
|
+
locale?: 'en-US' | 'zh-CN';
|
|
8
|
+
viewMode: FilePreviewViewMode;
|
|
9
|
+
onViewModeChange: (mode: FilePreviewViewMode) => void;
|
|
10
|
+
onDownload: () => void;
|
|
11
|
+
onHandleChange: (handle: ViewerHandle | null) => void;
|
|
12
|
+
onViewModesChange: (modes: readonly ViewerViewModeOption[]) => void;
|
|
13
|
+
/** Markdown 正文里的链接被点击时调用;传入即由宿主接管导航。 */
|
|
14
|
+
onLinkClick?: MarkdownAdapterOptions['onLinkClick'];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* 文件页签的正文:把宿主的 `source` 交给底座按格式渲染。
|
|
18
|
+
*
|
|
19
|
+
* `toolbar` 恒为 `false`,外壳全部由组件渲染;兜底态通过 `slots` 换成组件
|
|
20
|
+
* 自己的文案,底座只负责格式路由、渲染器按需加载与准入。
|
|
21
|
+
*
|
|
22
|
+
* 本模块会静态引入底座,只能由懒加载入口引用,见 `file-preview-body.tsx`。
|
|
23
|
+
*
|
|
24
|
+
* The body of a file tab: hands the host `source` to the base component for
|
|
25
|
+
* format rendering. `toolbar` stays `false` because the component renders the
|
|
26
|
+
* whole shell, and the fallback states are replaced through `slots` so the copy
|
|
27
|
+
* comes from this component. The base keeps format routing, on-demand renderer
|
|
28
|
+
* loading and admission. This module statically imports the base, so only the
|
|
29
|
+
* lazy entry may reference it; see `file-preview-body.tsx`.
|
|
30
|
+
*/
|
|
31
|
+
export declare function FilePreviewViewer({ tab, text, locale, viewMode, onViewModeChange, onDownload, onHandleChange, onViewModesChange, onLinkClick, }: FilePreviewViewerProps): string | number | bigint | boolean | import("react").JSX.Element | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | Iterable<import("react").ReactNode> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined>;
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import type { FilePreviewComponent } from './types.js';
|
|
2
|
-
export
|
|
2
|
+
export { LoadingState } from './file-preview-state.js';
|
|
3
|
+
export type { FilePreviewActions, FilePreviewComponent, FilePreviewContentTab, FilePreviewDirectoryLevel, FilePreviewDirectoryTab, FilePreviewEditing, FilePreviewFileTab, FilePreviewFileTabSlots, FilePreviewHandle, FilePreviewHeaderSlots, FilePreviewLabels, FilePreviewOperations, FilePreviewProps, FilePreviewSource, FilePreviewTab, FilePreviewTabBase, FilePreviewViewMode, } from './types.js';
|
|
3
4
|
/**
|
|
4
|
-
*
|
|
5
|
+
* 文件预览:页签行、内容区标题行与正文组成的外壳,正文由底座按格式渲染。
|
|
5
6
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* 按宿主给的节点渲染。
|
|
7
|
+
* 文件页签的正文交给 `FileViewerCore`,内容页签的正文由宿主原样渲染。空文件、
|
|
8
|
+
* 截断与编辑态由组件自己处理,不经过底座。
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* wired to FileViewer yet: a file tab falls back to plain text, while a content
|
|
15
|
-
* tab renders the node the host supplies.
|
|
10
|
+
* File preview: a shell of tab row, content header and body, where the body is
|
|
11
|
+
* rendered by the base component according to the format. A file tab hands its
|
|
12
|
+
* body to `FileViewerCore`; a content tab renders the host node as-is. Empty
|
|
13
|
+
* files, truncation and editing are handled by this component, not the base.
|
|
16
14
|
*/
|
|
17
15
|
export declare const FilePreview: FilePreviewComponent;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 目录页签的初始层级:受控值优先,其次是非受控时记下的选择,然后是
|
|
3
|
+
* `defaultLevelKey`,最后回落到第一级。
|
|
4
|
+
*
|
|
5
|
+
* 单列成纯函数是因为它有一条容易漏掉的规则:外壳算出的 `activeLevelKey` 是受控
|
|
6
|
+
* 值,正文组件因此没有机会用上自己的初值,`defaultLevelKey` 必须在这里就被尊重,
|
|
7
|
+
* 否则宿主声明的默认层级会被静默改成第一级。
|
|
8
|
+
*
|
|
9
|
+
* The initial level of a directory tab: the controlled value first, then the choice
|
|
10
|
+
* recorded while uncontrolled, then `defaultLevelKey`, and the first level as the last
|
|
11
|
+
* resort.
|
|
12
|
+
*
|
|
13
|
+
* It is a standalone pure function because of one easily missed rule: the
|
|
14
|
+
* `activeLevelKey` the shell computes is a controlled value, so the body component never
|
|
15
|
+
* applies its own initial one — `defaultLevelKey` has to be honoured here, or the
|
|
16
|
+
* host's declared default is silently replaced by the first level.
|
|
17
|
+
*/
|
|
18
|
+
export interface LevelChoiceTab {
|
|
19
|
+
levels: readonly {
|
|
20
|
+
key: string;
|
|
21
|
+
}[];
|
|
22
|
+
activeLevelKey?: string;
|
|
23
|
+
defaultLevelKey?: string;
|
|
24
|
+
}
|
|
25
|
+
export declare function initialLevelKey(tab: LevelChoiceTab, remembered: Readonly<Record<string, string>>, tabKey: string): string;
|