orbcafe-ui 1.0.8 → 1.1.0
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 +97 -0
- package/dist/index.d.mts +241 -3
- package/dist/index.d.ts +241 -3
- package/dist/index.js +12 -3
- package/dist/index.mjs +12 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
| `StdReport` | 标准报表主容器(筛选、表格、分页、变体、布局) | `src/components/StdReport` | `src/components/StdReport/README.md` |
|
|
23
23
|
| `GraphReport` | 图形报表弹窗(KPI、图表、联动、AI 输入区) | `src/components/GraphReport` | `src/components/GraphReport/README.md` |
|
|
24
24
|
| `CustomizeAgent` | AI 参数与 Prompt 模板设置弹窗 | `src/components/CustomizeAgent` | `src/components/CustomizeAgent/README.md` |
|
|
25
|
+
| `DetailInfo` | 标准详情页容器(信息块 + Tabs + 底部表格 + AI/搜索) | `src/components/DetailInfo` | `src/components/DetailInfo/README.md` |
|
|
25
26
|
| `PageLayout` | 页面壳层(Header + Navigation + Content) | `src/components/PageLayout` | `src/components/PageLayout/README.md` |
|
|
26
27
|
|
|
27
28
|
### 文档查阅顺序(推荐)
|
|
@@ -36,6 +37,7 @@
|
|
|
36
37
|
- `GraphReport Hooks`:`src/components/GraphReport/Hooks/README.md`
|
|
37
38
|
- `StdReport Hooks`:`src/components/StdReport/Hooks/README.md`
|
|
38
39
|
- `PageLayout Hooks`:`src/components/PageLayout/Hooks/README.md`
|
|
40
|
+
- `DetailInfo` 模块文档:`src/components/DetailInfo/README.md`
|
|
39
41
|
|
|
40
42
|
---
|
|
41
43
|
|
|
@@ -105,6 +107,101 @@ module.exports = {
|
|
|
105
107
|
}
|
|
106
108
|
```
|
|
107
109
|
|
|
110
|
+
### Next.js App Router 最小接入(推荐)
|
|
111
|
+
|
|
112
|
+
```tsx
|
|
113
|
+
// app/page.tsx (Server Component)
|
|
114
|
+
import HomeClientPage from './HomeClientPage';
|
|
115
|
+
|
|
116
|
+
export default function Page() {
|
|
117
|
+
return <HomeClientPage />;
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
```tsx
|
|
122
|
+
// app/HomeClientPage.tsx (Client Component)
|
|
123
|
+
'use client';
|
|
124
|
+
|
|
125
|
+
import { CAppPageLayout } from 'orbcafe-ui';
|
|
126
|
+
|
|
127
|
+
export default function HomeClientPage() {
|
|
128
|
+
return <CAppPageLayout appTitle="ORBCAFE" menuData={[]} />;
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Next.js 16 兼容性说明(务必阅读)
|
|
135
|
+
|
|
136
|
+
官方 example 已按 Next.js `16.1.6` 调整,接入时请遵循以下规则:
|
|
137
|
+
|
|
138
|
+
### 1. 动态路由参数必须在 Server Page 解包
|
|
139
|
+
|
|
140
|
+
在 Next 16 中,`params` / `searchParams` 是 Promise 语义。
|
|
141
|
+
不要在 Client Page 里直接把它当普通对象枚举或访问属性。
|
|
142
|
+
|
|
143
|
+
推荐写法:
|
|
144
|
+
|
|
145
|
+
```tsx
|
|
146
|
+
// app/detail/[id]/page.tsx (Server Component)
|
|
147
|
+
import DetailClientPage from './DetailClientPage';
|
|
148
|
+
|
|
149
|
+
interface PageProps {
|
|
150
|
+
params: Promise<{ id: string }>;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export default async function Page({ params }: PageProps) {
|
|
154
|
+
const { id } = await params;
|
|
155
|
+
return <DetailClientPage rowId={id} />;
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### 2. Client Component 避免首屏依赖不稳定值
|
|
160
|
+
|
|
161
|
+
Hydration mismatch 常见来源:
|
|
162
|
+
|
|
163
|
+
- 首屏直接使用 `usePathname()` 结果做高亮
|
|
164
|
+
- `Date.now()` / `Math.random()` 直接参与首屏渲染
|
|
165
|
+
- 仅在浏览器可用的数据(`window` / `localStorage`)首屏参与结构分支
|
|
166
|
+
|
|
167
|
+
建议:
|
|
168
|
+
|
|
169
|
+
- 用 `mounted`(`useEffect` 后置为 `true`)再启用这类 UI 高亮/分支
|
|
170
|
+
- 浏览器侧状态在 `useEffect` 中读取
|
|
171
|
+
- 保持 SSR 首屏与 CSR 首帧 DOM 结构一致
|
|
172
|
+
|
|
173
|
+
### 3. 常见报错对照
|
|
174
|
+
|
|
175
|
+
- `searchParams is a Promise and must be unwrapped with React.use()`
|
|
176
|
+
根因:在错误层级直接同步访问了 `searchParams`。
|
|
177
|
+
- `params are being enumerated`
|
|
178
|
+
根因:对 `params` 做了 `Object.keys/entries` 或扩展操作。
|
|
179
|
+
- `Hydration failed because the server rendered HTML didn't match the client`
|
|
180
|
+
根因:SSR 与 CSR 首屏输出不一致(通常由路由状态或浏览器变量引起)。
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## 官方 Example 验证命令
|
|
185
|
+
|
|
186
|
+
提交前建议至少执行:
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
# 1) 构建组件库
|
|
190
|
+
npm run build
|
|
191
|
+
|
|
192
|
+
# 2) 校验 examples
|
|
193
|
+
cd examples
|
|
194
|
+
npm run lint
|
|
195
|
+
npx tsc --noEmit
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
如果只想快速看运行效果:
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
cd examples
|
|
202
|
+
npm run dev
|
|
203
|
+
```
|
|
204
|
+
|
|
108
205
|
---
|
|
109
206
|
|
|
110
207
|
## Internationalization (i18n)
|
package/dist/index.d.mts
CHANGED
|
@@ -88,6 +88,39 @@ interface UseNavigationIslandResult {
|
|
|
88
88
|
*/
|
|
89
89
|
declare const useNavigationIsland: (options?: UseNavigationIslandOptions) => UseNavigationIslandResult;
|
|
90
90
|
|
|
91
|
+
type CMessageBoxType = 'success' | 'warning' | 'error' | 'info' | 'default';
|
|
92
|
+
type MessageContent = string | ReactNode;
|
|
93
|
+
interface MessageOptions {
|
|
94
|
+
title?: string;
|
|
95
|
+
onClose?: () => void;
|
|
96
|
+
onConfirm?: () => void;
|
|
97
|
+
confirmText?: string;
|
|
98
|
+
cancelText?: string;
|
|
99
|
+
showCancel?: boolean;
|
|
100
|
+
maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
101
|
+
}
|
|
102
|
+
interface MessageEvent {
|
|
103
|
+
type: CMessageBoxType;
|
|
104
|
+
content: MessageContent;
|
|
105
|
+
options?: MessageOptions;
|
|
106
|
+
}
|
|
107
|
+
declare class MessageManager {
|
|
108
|
+
private listener;
|
|
109
|
+
register(listener: (event: MessageEvent | null) => void): void;
|
|
110
|
+
unregister(): void;
|
|
111
|
+
show(type: CMessageBoxType, content: MessageContent, options?: MessageOptions): void;
|
|
112
|
+
hide(): void;
|
|
113
|
+
}
|
|
114
|
+
declare const messageManager: MessageManager;
|
|
115
|
+
declare const message: {
|
|
116
|
+
success: (content: MessageContent, options?: MessageOptions) => void;
|
|
117
|
+
error: (content: MessageContent, options?: MessageOptions) => void;
|
|
118
|
+
warning: (content: MessageContent, options?: MessageOptions) => void;
|
|
119
|
+
info: (content: MessageContent, options?: MessageOptions) => void;
|
|
120
|
+
show: (type: CMessageBoxType, content: MessageContent, options?: MessageOptions) => void;
|
|
121
|
+
hide: () => void;
|
|
122
|
+
};
|
|
123
|
+
|
|
91
124
|
/**
|
|
92
125
|
* @file 10_Frontend/components/sap/ui/Common/Molecules/CMessageBox.tsx
|
|
93
126
|
*
|
|
@@ -120,7 +153,6 @@ declare const useNavigationIsland: (options?: UseNavigationIslandOptions) => Use
|
|
|
120
153
|
* --------------------------
|
|
121
154
|
*/
|
|
122
155
|
|
|
123
|
-
type CMessageBoxType = 'success' | 'warning' | 'error' | 'info' | 'default';
|
|
124
156
|
interface CMessageBoxProps {
|
|
125
157
|
open: boolean;
|
|
126
158
|
title?: string;
|
|
@@ -134,6 +166,7 @@ interface CMessageBoxProps {
|
|
|
134
166
|
type?: CMessageBoxType;
|
|
135
167
|
}
|
|
136
168
|
declare const CMessageBox: React__default.FC<CMessageBoxProps>;
|
|
169
|
+
declare const GlobalMessage: React__default.FC;
|
|
137
170
|
|
|
138
171
|
interface CustomizeAgentSettings {
|
|
139
172
|
baseUrl: string;
|
|
@@ -344,6 +377,7 @@ interface CTableProps {
|
|
|
344
377
|
quickCreate?: CTableQuickCreateConfig;
|
|
345
378
|
quickEdit?: CTableQuickEditConfig;
|
|
346
379
|
quickDelete?: CTableQuickDeleteConfig;
|
|
380
|
+
serviceUrl?: string;
|
|
347
381
|
}
|
|
348
382
|
interface CTableHeadProps {
|
|
349
383
|
columns: any[];
|
|
@@ -517,13 +551,14 @@ interface CSmartFilterProps {
|
|
|
517
551
|
layoutId: string | null;
|
|
518
552
|
}>;
|
|
519
553
|
variantService?: IVariantService;
|
|
554
|
+
serviceUrl?: string;
|
|
520
555
|
}
|
|
521
556
|
/**
|
|
522
557
|
* CSmartFilter Component
|
|
523
558
|
*
|
|
524
559
|
* Renders a filter bar with "Go" button, variant management, and "Adapt Filters" capability.
|
|
525
560
|
*/
|
|
526
|
-
declare const CSmartFilter: ({ fields, filters, onFilterChange, variants, currentVariantId, onVariantLoad, onVariantSave, onVariantDelete, onVariantSetDefault, onSearch, loading, appId, tableKey, currentLayout, currentLayoutId, layoutRefs, variantService }: CSmartFilterProps) => react_jsx_runtime.JSX.Element;
|
|
561
|
+
declare const CSmartFilter: ({ fields, filters, onFilterChange, variants, currentVariantId, onVariantLoad, onVariantSave, onVariantDelete, onVariantSetDefault, onSearch, loading, appId, tableKey, currentLayout, currentLayoutId, layoutRefs, variantService, serviceUrl }: CSmartFilterProps) => react_jsx_runtime.JSX.Element;
|
|
527
562
|
|
|
528
563
|
interface CStandardPageProps {
|
|
529
564
|
/** Page Title */
|
|
@@ -932,6 +967,109 @@ interface CCustomizeAgentProps {
|
|
|
932
967
|
}
|
|
933
968
|
declare const CCustomizeAgent: ({ open, onClose, value, onSaveAll, modelOptions, promptLangOptions, analysisTemplateOptions, responseTemplateOptions, defaultAnalysisTemplateId, defaultResponseTemplateId, }: CCustomizeAgentProps) => react_jsx_runtime.JSX.Element;
|
|
934
969
|
|
|
970
|
+
interface DetailInfoField {
|
|
971
|
+
id: string;
|
|
972
|
+
label: string;
|
|
973
|
+
value: ReactNode;
|
|
974
|
+
searchableText?: string;
|
|
975
|
+
}
|
|
976
|
+
interface DetailInfoSection {
|
|
977
|
+
id: string;
|
|
978
|
+
title: string;
|
|
979
|
+
fields: DetailInfoField[];
|
|
980
|
+
columns?: 1 | 2 | 3;
|
|
981
|
+
}
|
|
982
|
+
interface DetailInfoTab {
|
|
983
|
+
id: string;
|
|
984
|
+
label: string;
|
|
985
|
+
description?: string;
|
|
986
|
+
content?: ReactNode;
|
|
987
|
+
sections?: DetailInfoSection[];
|
|
988
|
+
fields?: DetailInfoField[];
|
|
989
|
+
}
|
|
990
|
+
interface DetailInfoSearchHit {
|
|
991
|
+
source: 'section' | 'tab';
|
|
992
|
+
sourceId: string;
|
|
993
|
+
sourceSectionId?: string;
|
|
994
|
+
sourceTitle: string;
|
|
995
|
+
fieldId: string;
|
|
996
|
+
fieldLabel: string;
|
|
997
|
+
fieldValue: string;
|
|
998
|
+
}
|
|
999
|
+
interface DetailInfoAiConfig {
|
|
1000
|
+
enabled?: boolean;
|
|
1001
|
+
placeholder?: string;
|
|
1002
|
+
onSubmit?: (query: string, context: {
|
|
1003
|
+
query: string;
|
|
1004
|
+
hits: DetailInfoSearchHit[];
|
|
1005
|
+
activeTabId?: string;
|
|
1006
|
+
sections: DetailInfoSection[];
|
|
1007
|
+
tabs: DetailInfoTab[];
|
|
1008
|
+
}) => Promise<string | void> | string | void;
|
|
1009
|
+
onVoiceInput?: () => void;
|
|
1010
|
+
}
|
|
1011
|
+
interface DetailInfoTableConfig {
|
|
1012
|
+
title?: string;
|
|
1013
|
+
tableProps: Omit<CTableProps, 'filterConfig'>;
|
|
1014
|
+
}
|
|
1015
|
+
interface CDetailInfoPageProps {
|
|
1016
|
+
title: string;
|
|
1017
|
+
subtitle?: string;
|
|
1018
|
+
sections: DetailInfoSection[];
|
|
1019
|
+
tabs?: DetailInfoTab[];
|
|
1020
|
+
defaultTabId?: string;
|
|
1021
|
+
table?: DetailInfoTableConfig;
|
|
1022
|
+
ai?: DetailInfoAiConfig;
|
|
1023
|
+
rightHeaderSlot?: ReactNode;
|
|
1024
|
+
searchBarWidth?: number | string;
|
|
1025
|
+
onClose?: () => void;
|
|
1026
|
+
closeLabel?: string;
|
|
1027
|
+
}
|
|
1028
|
+
|
|
1029
|
+
declare const CDetailInfoPage: ({ title, subtitle, sections, tabs, defaultTabId, table, ai, rightHeaderSlot, searchBarWidth, onClose, closeLabel, }: CDetailInfoPageProps) => react_jsx_runtime.JSX.Element;
|
|
1030
|
+
|
|
1031
|
+
type DetailInfoSearchMode = 'idle' | 'search' | 'ai';
|
|
1032
|
+
interface UseDetailInfoOptions {
|
|
1033
|
+
sections: DetailInfoSection[];
|
|
1034
|
+
tabs?: DetailInfoTab[];
|
|
1035
|
+
defaultTabId?: string;
|
|
1036
|
+
ai?: DetailInfoAiConfig;
|
|
1037
|
+
}
|
|
1038
|
+
interface UseDetailInfoResult {
|
|
1039
|
+
query: string;
|
|
1040
|
+
setQuery: (value: string) => void;
|
|
1041
|
+
activeTabId?: string;
|
|
1042
|
+
setActiveTabId: (value: string) => void;
|
|
1043
|
+
searchMode: DetailInfoSearchMode;
|
|
1044
|
+
hits: DetailInfoSearchHit[];
|
|
1045
|
+
statusText: string;
|
|
1046
|
+
aiResponse: string;
|
|
1047
|
+
searching: boolean;
|
|
1048
|
+
handleSubmit: () => Promise<void>;
|
|
1049
|
+
clearResult: () => void;
|
|
1050
|
+
}
|
|
1051
|
+
declare const useDetailInfo: ({ sections, tabs, defaultTabId, ai, }: UseDetailInfoOptions) => UseDetailInfoResult;
|
|
1052
|
+
|
|
1053
|
+
interface CDetailSearchAiBarProps {
|
|
1054
|
+
value: string;
|
|
1055
|
+
onChange: (value: string) => void;
|
|
1056
|
+
onSubmit: () => void;
|
|
1057
|
+
onVoiceInput?: () => void;
|
|
1058
|
+
onClear?: () => void;
|
|
1059
|
+
placeholder: string;
|
|
1060
|
+
statusText?: string;
|
|
1061
|
+
loading?: boolean;
|
|
1062
|
+
compact?: boolean;
|
|
1063
|
+
showStatusText?: boolean;
|
|
1064
|
+
}
|
|
1065
|
+
declare const CDetailSearchAiBar: ({ value, onChange, onSubmit, onVoiceInput, onClear, placeholder, statusText, loading, compact, showStatusText, }: CDetailSearchAiBarProps) => react_jsx_runtime.JSX.Element;
|
|
1066
|
+
|
|
1067
|
+
interface CDetailSectionCardProps {
|
|
1068
|
+
section: DetailInfoSection;
|
|
1069
|
+
highlightQuery?: string;
|
|
1070
|
+
}
|
|
1071
|
+
declare const CDetailSectionCard: ({ section, highlightQuery }: CDetailSectionCardProps) => react_jsx_runtime.JSX.Element;
|
|
1072
|
+
|
|
935
1073
|
type OrbcafeLocale = 'en' | 'zh' | 'fr' | 'de' | 'ja' | 'ko';
|
|
936
1074
|
declare const en: {
|
|
937
1075
|
readonly 'common.cancel': "Cancel";
|
|
@@ -1061,6 +1199,12 @@ declare const en: {
|
|
|
1061
1199
|
readonly 'graph.unassigned': "Unassigned";
|
|
1062
1200
|
readonly 'graph.column.reportHours': "Report Hours";
|
|
1063
1201
|
readonly 'graph.column.billableHours': "Billable Hours";
|
|
1202
|
+
readonly 'detail.searchAi.placeholder': "Search fields, or ask AI if no match...";
|
|
1203
|
+
readonly 'detail.searchAi.matches': "{count} matches found";
|
|
1204
|
+
readonly 'detail.searchAi.noMatch': "No matching field found.";
|
|
1205
|
+
readonly 'detail.searchAi.autoAiFallback': "No direct match. Triggering AI analysis...";
|
|
1206
|
+
readonly 'detail.searchAi.aiResultTitle': "AI Insight";
|
|
1207
|
+
readonly 'detail.table.title': "Related Records";
|
|
1064
1208
|
readonly 'quickCreate.newItem': "New Item";
|
|
1065
1209
|
readonly 'quickCreate.createWithTitle': "Create {title}";
|
|
1066
1210
|
readonly 'quickEdit.editWithTitle': "Edit {title}";
|
|
@@ -1152,4 +1296,98 @@ declare const usePageLayout: ({ menuData, initialNavigationCollapsed, }?: UsePag
|
|
|
1152
1296
|
navigationMaxHeight: number;
|
|
1153
1297
|
};
|
|
1154
1298
|
|
|
1155
|
-
|
|
1299
|
+
interface MarkdownRendererProps {
|
|
1300
|
+
markdown?: string;
|
|
1301
|
+
content?: string;
|
|
1302
|
+
className?: string;
|
|
1303
|
+
enableMath?: boolean;
|
|
1304
|
+
enableMermaid?: boolean;
|
|
1305
|
+
enableThinkBlock?: boolean;
|
|
1306
|
+
codeCopyable?: boolean;
|
|
1307
|
+
codeLineNumbers?: boolean;
|
|
1308
|
+
}
|
|
1309
|
+
declare const MarkdownRenderer: ({ markdown, content, className, enableMath, enableMermaid, enableThinkBlock, codeCopyable, codeLineNumbers, }: MarkdownRendererProps) => react_jsx_runtime.JSX.Element;
|
|
1310
|
+
|
|
1311
|
+
interface CodeBlockProps {
|
|
1312
|
+
code: string;
|
|
1313
|
+
language?: string;
|
|
1314
|
+
copyable?: boolean;
|
|
1315
|
+
showLineNumbers?: boolean;
|
|
1316
|
+
wrapLongLines?: boolean;
|
|
1317
|
+
maxHeight?: number | string;
|
|
1318
|
+
}
|
|
1319
|
+
declare const CodeBlock: ({ code, language, copyable, showLineNumbers, wrapLongLines, maxHeight, }: CodeBlockProps) => react_jsx_runtime.JSX.Element;
|
|
1320
|
+
|
|
1321
|
+
interface MathBlockProps {
|
|
1322
|
+
expression: string;
|
|
1323
|
+
inline?: boolean;
|
|
1324
|
+
allowKatex?: boolean;
|
|
1325
|
+
}
|
|
1326
|
+
declare const MathBlock: ({ expression, inline, allowKatex }: MathBlockProps) => react_jsx_runtime.JSX.Element | null;
|
|
1327
|
+
|
|
1328
|
+
interface MermaidBlockProps {
|
|
1329
|
+
code: string;
|
|
1330
|
+
title?: string;
|
|
1331
|
+
height?: number | string;
|
|
1332
|
+
enabled?: boolean;
|
|
1333
|
+
}
|
|
1334
|
+
declare const MermaidBlock: ({ code, title, height, enabled, }: MermaidBlockProps) => react_jsx_runtime.JSX.Element;
|
|
1335
|
+
|
|
1336
|
+
type TableAlign = 'left' | 'center' | 'right';
|
|
1337
|
+
interface ParsedMarkdownTable {
|
|
1338
|
+
headers: string[];
|
|
1339
|
+
aligns: TableAlign[];
|
|
1340
|
+
rows: string[][];
|
|
1341
|
+
}
|
|
1342
|
+
interface TableBlockProps {
|
|
1343
|
+
markdown?: string;
|
|
1344
|
+
table?: ParsedMarkdownTable;
|
|
1345
|
+
maxHeight?: number | string;
|
|
1346
|
+
}
|
|
1347
|
+
declare const parseMarkdownTable: (markdown: string) => ParsedMarkdownTable | null;
|
|
1348
|
+
declare const TableBlock: ({ markdown, table, maxHeight }: TableBlockProps) => react_jsx_runtime.JSX.Element;
|
|
1349
|
+
|
|
1350
|
+
interface ThinkBlockProps {
|
|
1351
|
+
content: string;
|
|
1352
|
+
title?: string;
|
|
1353
|
+
defaultExpanded?: boolean;
|
|
1354
|
+
isStreaming?: boolean;
|
|
1355
|
+
}
|
|
1356
|
+
declare const ThinkBlock: ({ content, title, defaultExpanded, isStreaming, }: ThinkBlockProps) => react_jsx_runtime.JSX.Element;
|
|
1357
|
+
|
|
1358
|
+
declare const renderMarkdown: (markdown: string, options?: Omit<MarkdownRendererProps, "markdown" | "content">) => ReactNode;
|
|
1359
|
+
|
|
1360
|
+
type PageTransitionVariant = 'none' | 'fade' | 'slide-up' | 'slide-left' | 'scale';
|
|
1361
|
+
interface CPageTransitionProps {
|
|
1362
|
+
children: ReactNode;
|
|
1363
|
+
transitionKey?: string | number;
|
|
1364
|
+
variant?: PageTransitionVariant;
|
|
1365
|
+
durationMs?: number;
|
|
1366
|
+
delayMs?: number;
|
|
1367
|
+
easing?: string;
|
|
1368
|
+
disabled?: boolean;
|
|
1369
|
+
sx?: SxProps<Theme>;
|
|
1370
|
+
}
|
|
1371
|
+
/**
|
|
1372
|
+
* Lightweight page transition wrapper.
|
|
1373
|
+
* - GPU-friendly properties only (opacity/transform)
|
|
1374
|
+
* - no layout-thrashing animation
|
|
1375
|
+
* - respects reduced-motion automatically
|
|
1376
|
+
*/
|
|
1377
|
+
declare const CPageTransition: ({ children, transitionKey, variant, durationMs, delayMs, easing, disabled, sx, }: CPageTransitionProps) => react_jsx_runtime.JSX.Element;
|
|
1378
|
+
declare const PAGE_TRANSITION_PRESETS: {
|
|
1379
|
+
subtle: {
|
|
1380
|
+
variant: "fade";
|
|
1381
|
+
durationMs: number;
|
|
1382
|
+
};
|
|
1383
|
+
smooth: {
|
|
1384
|
+
variant: "slide-up";
|
|
1385
|
+
durationMs: number;
|
|
1386
|
+
};
|
|
1387
|
+
snappy: {
|
|
1388
|
+
variant: "scale";
|
|
1389
|
+
durationMs: number;
|
|
1390
|
+
};
|
|
1391
|
+
};
|
|
1392
|
+
|
|
1393
|
+
export { type AmapEmbedOptions, Button, type ButtonProps, CAmapChart, type CAmapChartProps, CAppHeader, type CAppHeaderProps, type CAppHeaderUser, type CAppHeaderUserMenuItem, CAppPageLayout, type CAppPageLayoutProps, CBarChart, type CBarChartProps, CChartCard, type CChartCardProps, CComboChart, type CComboChartProps, CCustomizeAgent, type CCustomizeAgentProps, CDetailInfoPage, type CDetailInfoPageProps, CDetailSearchAiBar, type CDetailSearchAiBarProps, CDetailSectionCard, type CDetailSectionCardProps, CFishboneChart, type CFishboneChartProps, CGoogleMapChart, type CGoogleMapChartProps, CGraphCharts, CGraphKpiCards, CGraphReport, type CGraphReportProps, CHeatmapChart, type CHeatmapChartProps, CLayoutManagement, type CLayoutManagementProps, CLayoutManager, type CLayoutManagerProps, CLineChart, type CLineChartProps, CMessageBox, type CMessageBoxProps, type CMessageBoxType, CPageLayout, type CPageLayoutProps, CPageTransition, type CPageTransitionProps, CPieChart, type CPieChartProps, CSmartFilter, type CSmartFilterProps, CSmartTable, CStandardPage, type CStandardPageProps, CTable, CTableBody, type CTableBodyProps, CTableCell, type CTableCellProps, CTableContainer, type CTableContainerProps, CTableHead, type CTableHeadProps, type CTableProps, type CTableQuickCreateConfig, type CTableQuickDeleteConfig, type CTableQuickEditConfig, CTableRow, type CTableRowProps, CVariantManagement, type CVariantManagementProps, CVariantManager, CWaterfallChart, type CWaterfallChartProps, CodeBlock, type CodeBlockProps, type CustomizeAgentSavePayload, type CustomizeAgentSettings, type CustomizeAgentTemplateOption, type DateOperator, type DetailInfoAiConfig, type DetailInfoField, type DetailInfoSearchHit, type DetailInfoSearchMode, type DetailInfoSection, type DetailInfoTab, type DetailInfoTableConfig, type FilterField, type FilterOperator, type FilterType, type FilterValue, GlobalMessage, type GoogleMapEmbedOptions, type GraphBarDatum, type GraphComboDatum, type GraphFishboneBranch, type GraphHeatmapDatum, type GraphLineDatum, type GraphMapLocation, type GraphPieDatum, type GraphReportConfig, type GraphReportFieldMapping, type GraphReportInteractionState, type GraphReportKpis, type GraphReportModel, type GraphRow, type GraphTableColumn, type GraphWaterfallDatum, type IVariantService, type LayoutMetadata, MarkdownRenderer, type MarkdownRendererProps, MathBlock, type MathBlockProps, MermaidBlock, type MermaidBlockProps, type MessageContent, type MessageEvent, type MessageOptions, NavigationIsland, type NavigationIslandProps, type NumberOperator, ORBCAFE_I18N_MESSAGES, type OrbcafeI18nContextValue, OrbcafeI18nProvider, type OrbcafeI18nProviderProps, type OrbcafeLocale, type OrbcafeLocaleMessages, type OrbcafeMessageKey, type OrbcafeMessageParams, PAGE_TRANSITION_PRESETS, type PageTransitionVariant, type ParsedMarkdownTable, type ReportColumn, type ReportFilter, type ReportMetadata, type SelectOperator, type TableAlign, TableBlock, type TableBlockProps, type TextOperator, ThinkBlock, type ThinkBlockProps, TreeMenu, type TreeMenuItem, type UseAmapEmbedUrlOptions, type UseDetailInfoOptions, type UseDetailInfoResult, type UseGoogleMapEmbedUrlOptions, type UseGraphChartDataOptions, type UseGraphChartDataResult, type UseGraphInteractionResult, type UseGraphReportOptions, type UseGraphReportResult, type UseNavigationIslandOptions, type UseNavigationIslandResult, type UsePageLayoutOptions, type UseStandardReportOptions, type VariantMetadata, buildAmapEmbedUrl, buildGoogleMapEmbedUrl, buildGoogleMapIframe, buttonVariants, message, messageManager, parseMarkdownTable, renderMarkdown, useAmapEmbedUrl, useDetailInfo, useGoogleMapEmbedUrl, useGraphChartData, useGraphInteraction, useGraphReport, useNavigationIsland, useOrbcafeI18n, usePageLayout, useStandardReport };
|