orbcafe-ui 1.4.5 → 2.0.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/dist/index.d.mts CHANGED
@@ -1,21 +1,1006 @@
1
- import * as React$1 from 'react';
2
- import React__default, { Dispatch, SetStateAction, ReactNode, HTMLAttributes } from 'react';
3
- import * as react_jsx_runtime from 'react/jsx-runtime';
1
+ import * as react from 'react';
2
+ import react__default, { ReactNode, HTMLAttributes, ButtonHTMLAttributes, ElementType, ChangeEvent, FocusEvent, KeyboardEvent, InputHTMLAttributes, TextareaHTMLAttributes, CSSProperties, MouseEvent, Dispatch, SetStateAction } from 'react';
3
+ import { Dayjs } from 'dayjs';
4
4
  import * as class_variance_authority_types from 'class-variance-authority/types';
5
5
  import { VariantProps } from 'class-variance-authority';
6
- import { TextFieldProps, TableCellProps } from '@mui/material';
7
- import { SxProps, Theme } from '@mui/material/styles';
6
+
7
+ /**
8
+ * ORBCAFE × ORBIS design tokens (TypeScript side).
9
+ *
10
+ * Single source of truth for JS/TS consumers that cannot read CSS variables
11
+ * (SVG charts, canvas, inline-style computations). Values are the registered
12
+ * ORBIS brand palette plus derived OKLCh mixes — keep in sync with
13
+ * `src/styles/orbis.css`, which is adapted from the official
14
+ * `orbis-reference.css` design handoff.
15
+ *
16
+ * Brand literals: #ffffff #f5f5f5 #555555 #8c8c8c #dbdbdb #154194 #fc4c02
17
+ * Dark literals: #01091a #0a1526
18
+ */
19
+ type OrbMode = 'light' | 'dark';
20
+ interface OrbTokens {
21
+ canvas: string;
22
+ surface: string;
23
+ surface2: string;
24
+ surface3: string;
25
+ fg: string;
26
+ muted: string;
27
+ border: string;
28
+ primary: string;
29
+ onPrimary: string;
30
+ link: string;
31
+ p50: string;
32
+ p100: string;
33
+ p200: string;
34
+ p300: string;
35
+ p600: string;
36
+ p700: string;
37
+ accent: string;
38
+ err: string;
39
+ errBg: string;
40
+ warnBg: string;
41
+ hover: string;
42
+ selected: string;
43
+ focusRing: string;
44
+ focusSolid: string;
45
+ disabledFg: string;
46
+ disabledBg: string;
47
+ chartGrid: string;
48
+ chartText: string;
49
+ track: string;
50
+ shadow1: string;
51
+ shadow2: string;
52
+ shadow3: string;
53
+ }
54
+ /**
55
+ * Light mode. Derived tints documented with their OKLCh mix formula from the
56
+ * handoff; computed hex values are used so charts render identically in
57
+ * environments where we cannot resolve color-mix() from JS.
58
+ */
59
+ declare const ORB_LIGHT: OrbTokens;
60
+ /** Dark mode per handoff (canvas #01091a, surface #0a1526). */
61
+ declare const ORB_DARK: OrbTokens;
62
+ declare const ORB_TOKENS: Record<OrbMode, OrbTokens>;
63
+ /** Montserrat-first font stack per handoff. */
64
+ declare const ORB_FONT_STACK = "\"Montserrat\", system-ui, -apple-system, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif";
65
+ /** Chart series order mandated by the handoff: primary → p300 → muted → p700, repeat. */
66
+ declare const orbChartSeries: (mode: OrbMode) => string[];
67
+ /** Radius / motion constants shared by JS-driven components. */
68
+ declare const ORB_RADIUS = 10;
69
+ declare const ORB_TRANSITION_FAST = "0.2s ease";
70
+
71
+ type OrbModeSetting = OrbMode | 'system';
72
+ interface OrbisModeProviderProps {
73
+ /** Controlled mode setting. Defaults to 'light'. */
74
+ mode?: OrbModeSetting;
75
+ /** Default mode for uncontrolled usage. */
76
+ defaultMode?: OrbModeSetting;
77
+ children: ReactNode;
78
+ }
79
+ /**
80
+ * Provides the ORBIS light/dark mode to all ORBCAFE components.
81
+ *
82
+ * Central color-mode provider: it toggles the `orb-dark` class and
83
+ * `data-orb-mode` attribute on `<html>` so the CSS variables in `orbis.css`
84
+ * switch, and exposes the resolved mode through `useOrbMode()`.
85
+ *
86
+ * `CAppPageLayout` and `PAppPageLayout` already render this provider with
87
+ * their persisted mode setting, so app-level usage is only needed for
88
+ * standalone surfaces (e.g. a login page without the app shell).
89
+ */
90
+ declare const OrbisModeProvider: ({ mode, defaultMode, children }: OrbisModeProviderProps) => react.JSX.Element;
91
+ /** Effective ORBIS mode resolved from the nearest OrbisModeProvider (defaults to light). */
92
+ declare const useOrbMode: () => OrbMode;
93
+ /** ORBIS token hex values for the current mode — for JS-driven rendering (SVG charts, canvas). */
94
+ declare const useOrbTokens: () => OrbTokens;
95
+
96
+ /**
97
+ * Tiny framework-independent color alpha helper.
98
+ * Supports #rgb / #rrggbb inputs; returns rgba() string. Non-hex inputs
99
+ * (e.g. CSS variables) fall back to color-mix(), which modern browsers
100
+ * resolve natively.
101
+ */
102
+ declare const orbAlpha: (color: string, alpha: number) => string;
103
+
104
+ /**
105
+ * Minimal framework-independent matchMedia hook.
106
+ * Accepts a full media query ('(min-width:900px)') or a shorth breakpoint
107
+ * expression like 'up:900' / 'down:900' (px).
108
+ */
109
+ declare const useMediaQuery: (query: string) => boolean;
110
+
111
+ /**
112
+ * SAP-icons v5.13 codepoints from the official SAP theming base-content
113
+ * metadata. The matching font files are shipped in dist/fonts, so rendering
114
+ * is completely offline and does not call UI5 or any SAP service at runtime.
115
+ */
116
+ declare const SAP_ICON_CODEPOINTS: {
117
+ readonly accept: 57435;
118
+ readonly activate: 57864;
119
+ readonly activity: 57769;
120
+ readonly add: 57432;
121
+ readonly barChart: 57417;
122
+ readonly calendar: 57414;
123
+ readonly camera: 57413;
124
+ readonly checklist: 57952;
125
+ readonly collapseAll: 57988;
126
+ readonly command: 57997;
127
+ readonly copy: 57925;
128
+ readonly darkMode: 58122;
129
+ readonly decline: 57406;
130
+ readonly delete: 57405;
131
+ readonly dimension: 57718;
132
+ readonly document: 57780;
133
+ readonly down: 57827;
134
+ readonly download: 57402;
135
+ readonly duplicate: 57401;
136
+ readonly edit: 57400;
137
+ readonly email: 57399;
138
+ readonly employee: 57398;
139
+ readonly error: 57836;
140
+ readonly expandAll: 57987;
141
+ readonly factory: 57464;
142
+ readonly favorite: 57445;
143
+ readonly filter: 57462;
144
+ readonly fullScreen: 57702;
145
+ readonly grid: 57457;
146
+ readonly hide: 57834;
147
+ readonly home: 57456;
148
+ readonly information: 57993;
149
+ readonly inventory: 57693;
150
+ readonly ipad: 57491;
151
+ readonly lightMode: 58121;
152
+ readonly lightbulb: 57380;
153
+ readonly lineChart: 57740;
154
+ readonly locked: 57683;
155
+ readonly log: 57378;
156
+ readonly map: 57377;
157
+ readonly menu: 57822;
158
+ readonly message: 57884;
159
+ readonly microphone: 57586;
160
+ readonly move: 57832;
161
+ readonly navigationLeft: 57447;
162
+ readonly navigationRight: 57446;
163
+ readonly overflow: 57842;
164
+ readonly overview: 57551;
165
+ readonly paperPlane: 57548;
166
+ readonly picture: 57366;
167
+ readonly pieChart: 57365;
168
+ readonly play: 57499;
169
+ readonly process: 57543;
170
+ readonly product: 57361;
171
+ readonly pushpin: 57503;
172
+ readonly qrCode: 57999;
173
+ readonly receipt: 57541;
174
+ readonly refresh: 57360;
175
+ readonly save: 57498;
176
+ readonly search: 57357;
177
+ readonly show: 57833;
178
+ readonly shipping: 57523;
179
+ readonly slimDown: 57839;
180
+ readonly slimUp: 57840;
181
+ readonly sort: 57853;
182
+ readonly sound: 57895;
183
+ readonly splitOne: 57919;
184
+ readonly splitTwo: 57920;
185
+ readonly stop: 57861;
186
+ readonly sum: 57998;
187
+ readonly synchronize: 57354;
188
+ readonly table: 57530;
189
+ readonly tableColumn: 57983;
190
+ readonly tableRow: 57982;
191
+ readonly thumbDown: 57891;
192
+ readonly thumbUp: 57890;
193
+ readonly time: 57508;
194
+ readonly translate: 57995;
195
+ readonly tree: 57588;
196
+ readonly trendDown: 57931;
197
+ readonly up: 57828;
198
+ readonly upload: 57881;
199
+ readonly warning: 57492;
200
+ readonly world: 57489;
201
+ readonly wrench: 57346;
202
+ };
203
+ type SapIconName = keyof typeof SAP_ICON_CODEPOINTS;
204
+ interface SapIconProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {
205
+ name: SapIconName;
206
+ size?: number | string;
207
+ title?: string;
208
+ /** Accepted for drop-in compatibility with SVG outline icon libraries. */
209
+ strokeWidth?: number | string;
210
+ fill?: string;
211
+ }
212
+ declare const SapIcon: react.ForwardRefExoticComponent<SapIconProps & react.RefAttributes<HTMLSpanElement>>;
213
+ declare const createSapIcon: (name: SapIconName, displayName?: string) => react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
214
+
215
+ declare const Activity: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
216
+ declare const AlertCircle: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
217
+ declare const AlertTriangle: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
218
+ declare const ArrowDown: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
219
+ declare const ArrowRight: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
220
+ declare const ArrowUp: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
221
+ declare const BarChart: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
222
+ declare const Bot: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
223
+ declare const Calendar: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
224
+ declare const CalendarDays: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
225
+ declare const Camera: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
226
+ declare const ChartNoAxesCombined: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
227
+ declare const Check: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
228
+ declare const CheckCircle: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
229
+ declare const ChevronDown: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
230
+ declare const ChevronLeft: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
231
+ declare const ChevronRight: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
232
+ declare const ChevronUp: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
233
+ declare const ChevronsDown: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
234
+ declare const ChevronsUp: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
235
+ declare const CircleAlert: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
236
+ declare const CircleCheck: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
237
+ declare const CircleCheckBig: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
238
+ declare const CircleStop: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
239
+ declare const Clipboard: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
240
+ declare const ClipboardCheck: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
241
+ declare const ClipboardList: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
242
+ declare const Clock: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
243
+ declare const Columns3: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
244
+ declare const Copy: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
245
+ declare const CopyPlus: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
246
+ declare const Delete: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
247
+ declare const Download: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
248
+ declare const Edit: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
249
+ declare const Expand: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
250
+ declare const Eye: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
251
+ declare const EyeOff: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
252
+ declare const File$1: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
253
+ declare const FileText: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
254
+ declare const Filter: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
255
+ declare const FolderTree: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
256
+ declare const GitBranch: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
257
+ declare const Globe: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
258
+ declare const Grid: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
259
+ declare const GripVertical: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
260
+ declare const Hammer: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
261
+ declare const Image: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
262
+ declare const Info: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
263
+ declare const Languages: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
264
+ declare const Layers: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
265
+ declare const LayoutDashboard: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
266
+ declare const Lightbulb: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
267
+ declare const LineChart: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
268
+ declare const Loader2: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
269
+ declare const Lock: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
270
+ declare const LockKeyhole: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
271
+ declare const LogOut: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
272
+ declare const Mail: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
273
+ declare const MapPin: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
274
+ declare const Menu: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
275
+ declare const MessageCircle: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
276
+ declare const MessageSquare: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
277
+ declare const Mic: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
278
+ declare const MicOff: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
279
+ declare const Moon: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
280
+ declare const MoreHorizontal: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
281
+ declare const PackageCheck: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
282
+ declare const PackageSearch: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
283
+ declare const PanelLeftOpen: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
284
+ declare const PanelRight: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
285
+ declare const PanelsTopLeft: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
286
+ declare const PieChart: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
287
+ declare const Pin: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
288
+ declare const Play: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
289
+ declare const Plus: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
290
+ declare const QrCode: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
291
+ declare const ReceiptText: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
292
+ declare const RefreshCw: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
293
+ declare const Rocket: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
294
+ declare const RotateCcw: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
295
+ declare const RotateCw: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
296
+ declare const Rows3: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
297
+ declare const Save: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
298
+ declare const ScanLine: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
299
+ declare const Search: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
300
+ declare const Send: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
301
+ declare const SendHorizontal: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
302
+ declare const Settings: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
303
+ declare const ShieldCheck: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
304
+ declare const Sigma: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
305
+ declare const SortAsc: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
306
+ declare const SquareSplitHorizontal: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
307
+ declare const Star: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
308
+ declare const Sun: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
309
+ declare const Table2: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
310
+ declare const TabletSmartphone: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
311
+ declare const Terminal: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
312
+ declare const ThumbsDown: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
313
+ declare const ThumbsUp: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
314
+ declare const Trash2: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
315
+ declare const TreePine: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
316
+ declare const TrendingDown: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
317
+ declare const TriangleAlert: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
318
+ declare const Truck: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
319
+ declare const UploadCloud: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
320
+ declare const User: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
321
+ declare const Volume2: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
322
+ declare const Warehouse: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
323
+ declare const Workflow: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
324
+ declare const X: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
325
+ declare const XCircle: react.ForwardRefExoticComponent<Omit<SapIconProps, "name"> & react.RefAttributes<HTMLSpanElement>>;
326
+
327
+ type OrbSxPrimitive = string | number | null | undefined | boolean;
328
+ type OrbSxPropertyFunction = (theme: OrbCompatTheme) => OrbSxPrimitive | OrbSxObject;
329
+ interface OrbSxObject {
330
+ [key: string]: OrbSxPrimitive | OrbSxObject | OrbSxPropertyFunction;
331
+ }
332
+ type OrbSxValue = OrbSxObject | ((theme: OrbCompatTheme) => OrbSxObject);
333
+ type OrbSxProps = OrbSxValue | readonly OrbSxValue[];
334
+ interface OrbCompatTheme {
335
+ palette: {
336
+ mode: 'light' | 'dark';
337
+ primary: {
338
+ main: string;
339
+ light: string;
340
+ dark: string;
341
+ contrastText: string;
342
+ };
343
+ secondary: {
344
+ main: string;
345
+ contrastText: string;
346
+ };
347
+ error: {
348
+ main: string;
349
+ contrastText: string;
350
+ };
351
+ warning: {
352
+ main: string;
353
+ contrastText: string;
354
+ };
355
+ info: {
356
+ main: string;
357
+ contrastText: string;
358
+ };
359
+ success: {
360
+ main: string;
361
+ contrastText: string;
362
+ };
363
+ text: {
364
+ primary: string;
365
+ secondary: string;
366
+ disabled: string;
367
+ };
368
+ background: {
369
+ default: string;
370
+ paper: string;
371
+ };
372
+ action: {
373
+ hover: string;
374
+ selected: string;
375
+ focus: string;
376
+ disabled: string;
377
+ disabledBackground: string;
378
+ active: string;
379
+ };
380
+ divider: string;
381
+ common: {
382
+ white: string;
383
+ black: string;
384
+ };
385
+ grey: Record<number, string>;
386
+ };
387
+ shape: {
388
+ borderRadius: number;
389
+ };
390
+ breakpoints: {
391
+ up: (key: OrbBreakpoint) => string;
392
+ down: (key: OrbBreakpoint) => string;
393
+ };
394
+ spacing: (...values: number[]) => string;
395
+ transitions: {
396
+ create: (properties?: string | string[], options?: {
397
+ duration?: number;
398
+ easing?: string;
399
+ }) => string;
400
+ duration: {
401
+ shortest: number;
402
+ shorter: number;
403
+ short: number;
404
+ standard: number;
405
+ };
406
+ };
407
+ zIndex: {
408
+ modal: number;
409
+ drawer: number;
410
+ appBar: number;
411
+ tooltip: number;
412
+ };
413
+ }
414
+ type OrbBreakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
415
+ type OrbResponsive<T> = T | Partial<Record<OrbBreakpoint, T>>;
416
+
417
+ type CButtonVariant = 'primary' | 'secondary' | 'ghost' | 'neutral';
418
+ type CButtonSize = 'small' | 'medium' | 'large';
419
+ interface CButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'style'> {
420
+ /** Visual variant. Compatibility values map contained→primary, outlined→secondary, text→ghost. */
421
+ variant?: CButtonVariant | 'contained' | 'outlined' | 'text';
422
+ size?: CButtonSize;
423
+ /** Stretch to fill the parent width. */
424
+ block?: boolean;
425
+ /** Show a spinner and freeze interactions (label stays to keep width stable). */
426
+ loading?: boolean;
427
+ startIcon?: ReactNode;
428
+ endIcon?: ReactNode;
429
+ component?: ElementType;
430
+ href?: string;
431
+ /** ORBIS style override. */
432
+ sx?: OrbSxProps;
433
+ }
434
+ declare const CButton: react.ForwardRefExoticComponent<CButtonProps & react.RefAttributes<HTMLButtonElement>>;
435
+
436
+ interface CTextFieldProps {
437
+ label?: ReactNode;
438
+ value?: string | number | readonly string[];
439
+ defaultValue?: string | number | readonly string[];
440
+ onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
441
+ onFocus?: (event: FocusEvent<HTMLInputElement>) => void;
442
+ onBlur?: (event: FocusEvent<HTMLInputElement>) => void;
443
+ onKeyDown?: (event: KeyboardEvent<HTMLInputElement>) => void;
444
+ type?: string;
445
+ placeholder?: string;
446
+ disabled?: boolean;
447
+ readOnly?: boolean;
448
+ required?: boolean;
449
+ autoFocus?: boolean;
450
+ autoComplete?: string;
451
+ name?: string;
452
+ id?: string;
453
+ /** Error message — puts the field into the orange error family state. */
454
+ error?: string | boolean;
455
+ /** Helper text shown below the field. */
456
+ helperText?: ReactNode;
457
+ /** Dense 36px variant (tables / filter bars). Standard is 44px. */
458
+ dense?: boolean;
459
+ size?: 'small' | 'medium';
460
+ fullWidth?: boolean;
461
+ select?: boolean;
462
+ multiline?: boolean;
463
+ rows?: number;
464
+ children?: ReactNode;
465
+ variant?: string;
466
+ margin?: string;
467
+ onClick?: React.MouseEventHandler<HTMLElement>;
468
+ /** Leading adornment (icon). */
469
+ startAdornment?: ReactNode;
470
+ /** Trailing adornment (icon/button). */
471
+ endAdornment?: ReactNode;
472
+ /** Compatibility InputProps slot — only startAdornment/endAdornment/readOnly are honoured. */
473
+ InputProps?: {
474
+ startAdornment?: ReactNode;
475
+ endAdornment?: ReactNode;
476
+ readOnly?: boolean;
477
+ sx?: OrbSxProps;
478
+ [key: string]: unknown;
479
+ };
480
+ InputLabelProps?: Record<string, unknown>;
481
+ SelectProps?: Record<string, unknown>;
482
+ inputProps?: InputHTMLAttributes<HTMLInputElement>;
483
+ sx?: OrbSxProps;
484
+ className?: string;
485
+ }
486
+ declare const CTextField: react.ForwardRefExoticComponent<CTextFieldProps & react.RefAttributes<HTMLInputElement>>;
487
+
488
+ interface CTextAreaProps {
489
+ label?: ReactNode;
490
+ value?: string;
491
+ defaultValue?: string;
492
+ onChange?: (event: ChangeEvent<HTMLTextAreaElement>) => void;
493
+ placeholder?: string;
494
+ disabled?: boolean;
495
+ readOnly?: boolean;
496
+ rows?: number;
497
+ minRows?: number;
498
+ maxRows?: number;
499
+ /** Compatibility flag for callers migrated from multiline text fields. */
500
+ multiline?: boolean;
501
+ error?: boolean | string;
502
+ helperText?: ReactNode;
503
+ fullWidth?: boolean;
504
+ name?: string;
505
+ id?: string;
506
+ inputProps?: TextareaHTMLAttributes<HTMLTextAreaElement>;
507
+ sx?: OrbSxProps;
508
+ className?: string;
509
+ }
510
+ declare const CTextArea: react.ForwardRefExoticComponent<CTextAreaProps & react.RefAttributes<HTMLTextAreaElement>>;
511
+
512
+ interface CSelectOption {
513
+ value: string | number;
514
+ label: ReactNode;
515
+ disabled?: boolean;
516
+ }
517
+ interface CSelectProps {
518
+ label?: ReactNode;
519
+ options?: CSelectOption[];
520
+ /** Alternatively pass native <option> children. */
521
+ children?: ReactNode;
522
+ value?: string | number | readonly string[];
523
+ defaultValue?: string | number | readonly string[];
524
+ onChange?: (event: ChangeEvent<HTMLSelectElement>) => void;
525
+ disabled?: boolean;
526
+ size?: 'small' | 'medium';
527
+ dense?: boolean;
528
+ fullWidth?: boolean;
529
+ minWidth?: number | string;
530
+ placeholder?: string;
531
+ displayEmpty?: boolean;
532
+ renderValue?: (value: string | number | readonly string[] | undefined) => ReactNode;
533
+ multiple?: boolean;
534
+ MenuProps?: Record<string, unknown>;
535
+ variant?: string;
536
+ disableUnderline?: boolean;
537
+ onClick?: React.MouseEventHandler<HTMLElement>;
538
+ onMouseDown?: React.MouseEventHandler<HTMLElement>;
539
+ error?: boolean | string;
540
+ helperText?: ReactNode;
541
+ name?: string;
542
+ id?: string;
543
+ 'aria-label'?: string;
544
+ sx?: OrbSxProps;
545
+ className?: string;
546
+ }
547
+ /** ORBIS select — custom popup chrome with a hidden native select for forms/refs. */
548
+ declare const CSelect: react.ForwardRefExoticComponent<CSelectProps & react.RefAttributes<HTMLSelectElement>>;
549
+
550
+ interface CCheckboxProps {
551
+ label?: React.ReactNode;
552
+ checked?: boolean;
553
+ defaultChecked?: boolean;
554
+ onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
555
+ disabled?: boolean;
556
+ indeterminate?: boolean;
557
+ name?: string;
558
+ value?: string;
559
+ id?: string;
560
+ size?: 'small' | 'medium';
561
+ color?: string;
562
+ onClick?: React.MouseEventHandler<HTMLElement>;
563
+ inputProps?: InputHTMLAttributes<HTMLInputElement>;
564
+ sx?: OrbSxProps;
565
+ className?: string;
566
+ }
567
+ declare const CCheckbox: react.ForwardRefExoticComponent<CCheckboxProps & react.RefAttributes<HTMLInputElement>>;
568
+
569
+ interface CRadioOption {
570
+ value: string;
571
+ label: ReactNode;
572
+ disabled?: boolean;
573
+ }
574
+ interface CRadioGroupProps {
575
+ label?: ReactNode;
576
+ options: CRadioOption[];
577
+ value?: string;
578
+ defaultValue?: string;
579
+ onChange?: (event: ChangeEvent<HTMLInputElement>, value: string) => void;
580
+ name?: string;
581
+ row?: boolean;
582
+ disabled?: boolean;
583
+ sx?: CSSProperties;
584
+ className?: string;
585
+ }
586
+ declare const CRadioGroup: ({ label, options, value, defaultValue, onChange, name, row, disabled, sx, className, }: CRadioGroupProps) => react.JSX.Element;
587
+
588
+ interface CSwitchProps {
589
+ label?: ReactNode;
590
+ checked?: boolean;
591
+ defaultChecked?: boolean;
592
+ onChange?: (event: ChangeEvent<HTMLInputElement>, checked: boolean) => void;
593
+ disabled?: boolean;
594
+ name?: string;
595
+ id?: string;
596
+ size?: 'small' | 'medium';
597
+ sx?: OrbSxProps;
598
+ className?: string;
599
+ }
600
+ declare const CSwitch: react.ForwardRefExoticComponent<CSwitchProps & react.RefAttributes<HTMLInputElement>>;
601
+
602
+ type CChipTone = 'blue' | 'gray' | 'orange' | 'outline';
603
+ interface CChipProps {
604
+ label?: ReactNode;
605
+ children?: ReactNode;
606
+ /** ORBIS tone. Compatibility color values map success/info/primary→blue, warning/error→orange, default→gray. */
607
+ tone?: CChipTone;
608
+ color?: 'default' | 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'error';
609
+ variant?: 'filled' | 'outlined';
610
+ size?: 'small' | 'medium';
611
+ clickable?: boolean;
612
+ avatar?: ReactNode;
613
+ icon?: ReactNode;
614
+ onDelete?: (event: MouseEvent<HTMLButtonElement>) => void;
615
+ onClick?: (event: MouseEvent<HTMLSpanElement>) => void;
616
+ sx?: OrbSxProps;
617
+ className?: string;
618
+ }
619
+ declare const CChip: react.ForwardRefExoticComponent<CChipProps & react.RefAttributes<HTMLSpanElement>>;
620
+
621
+ interface CBadgeProps {
622
+ /** Badge content — typically a count or short marker. */
623
+ badgeContent?: ReactNode;
624
+ /** Visual tone; `error` maps to the ORBIS deepened orange, per brand discipline. */
625
+ color?: 'primary' | 'error' | 'muted';
626
+ /** Anchor the badge to the top-right corner of the child. */
627
+ children?: ReactNode;
628
+ /** Hide the badge (keeps DOM for transitions). */
629
+ invisible?: boolean;
630
+ sx?: OrbSxProps;
631
+ className?: string;
632
+ }
633
+ /**
634
+ * Numeric/status badge. Without children it renders standalone;
635
+ * with children it anchors to their top-right corner.
636
+ */
637
+ declare const CBadge: react.ForwardRefExoticComponent<CBadgeProps & react.RefAttributes<HTMLSpanElement>>;
638
+
639
+ interface CAvatarProps {
640
+ /** Text/initials or custom content. */
641
+ children?: ReactNode;
642
+ /** Image source — renders an <img> when provided. */
643
+ src?: string;
644
+ alt?: string;
645
+ /** Diameter in px (default 28 per reference). */
646
+ size?: number;
647
+ variant?: 'circular' | 'rounded' | 'square' | string;
648
+ sx?: OrbSxProps;
649
+ className?: string;
650
+ }
651
+ declare const CAvatar: react.ForwardRefExoticComponent<CAvatarProps & react.RefAttributes<HTMLSpanElement>>;
652
+
653
+ type CAlertSeverity = 'info' | 'success' | 'warning' | 'error';
654
+ interface CAlertProps {
655
+ severity?: CAlertSeverity;
656
+ /** Bold leading line. */
657
+ title?: ReactNode;
658
+ children?: ReactNode;
659
+ onClose?: () => void;
660
+ sx?: OrbSxProps;
661
+ className?: string;
662
+ }
663
+ /**
664
+ * ORBIS alert. Brand discipline: info/success use ORBIS blue,
665
+ * warning uses signal orange, error uses deepened orange — no green/red.
666
+ */
667
+ declare const CAlert: react.ForwardRefExoticComponent<CAlertProps & react.RefAttributes<HTMLDivElement>>;
668
+
669
+ interface CProgressProps {
670
+ /** 0–100; omit for indeterminate animation. */
671
+ value?: number;
672
+ color?: string;
673
+ variant?: 'determinate' | 'indeterminate';
674
+ sx?: OrbSxProps;
675
+ className?: string;
676
+ }
677
+ /** Linear progress bar — ORBIS track + primary fill (4px, per reference). */
678
+ declare const CProgress: ({ value, variant, color, sx, className }: CProgressProps) => react.JSX.Element;
679
+ interface CSkeletonProps {
680
+ width?: number | string;
681
+ height?: number | string;
682
+ variant?: 'text' | 'rectangular' | 'circular';
683
+ sx?: CSSProperties;
684
+ className?: string;
685
+ }
686
+ declare const CSkeleton: ({ width, height, variant, sx, className }: CSkeletonProps) => react.JSX.Element;
687
+ interface CSpinnerProps {
688
+ size?: number;
689
+ /** Light spinner for primary-filled surfaces. */
690
+ onPrimary?: boolean;
691
+ sx?: CSSProperties;
692
+ className?: string;
693
+ }
694
+ declare const CSpinner: ({ size, onPrimary, sx, className }: CSpinnerProps) => react.JSX.Element;
695
+
696
+ interface CIconButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'style'> {
697
+ tooltip?: string;
698
+ size?: 'small' | 'medium';
699
+ /** Render in the primary color (e.g. active toggle state). */
700
+ active?: boolean;
701
+ edge?: 'start' | 'end' | false;
702
+ color?: string;
703
+ sx?: OrbSxProps;
704
+ }
705
+ declare const CIconButton: react.ForwardRefExoticComponent<CIconButtonProps & react.RefAttributes<HTMLButtonElement>>;
706
+
707
+ interface CSegmentedControlOption<TValue extends string = string> {
708
+ value: TValue;
709
+ label: string;
710
+ icon?: ReactNode;
711
+ disabled?: boolean;
712
+ }
713
+ interface CSegmentedControlProps<TValue extends string = string> extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'style'> {
714
+ value?: TValue | null;
715
+ options: readonly CSegmentedControlOption<TValue>[];
716
+ onValueChange: (value: TValue) => void;
717
+ size?: 'small' | 'medium';
718
+ sx?: OrbSxProps;
719
+ }
720
+ declare const CSegmentedControl: <TValue extends string = string>({ value, options, onValueChange, size, sx, className, ...rest }: CSegmentedControlProps<TValue>) => react.JSX.Element;
721
+
722
+ interface CTooltipProps {
723
+ title: ReactNode;
724
+ children: ReactNode;
725
+ /** Delay before showing (ms). */
726
+ enterDelay?: number;
727
+ side?: 'top' | 'right' | 'bottom' | 'left';
728
+ align?: 'start' | 'center' | 'end';
729
+ disabled?: boolean;
730
+ }
731
+ /**
732
+ * ORBIS tooltip — wraps children with a Radix tooltip styled by orbis.css.
733
+ * Children must be able to hold a ref (all ORBCAFE atoms do).
734
+ */
735
+ declare const CTooltip: ({ title, children, enterDelay, side, align, disabled }: CTooltipProps) => react.JSX.Element;
736
+
737
+ interface CMenuItem {
738
+ label: ReactNode;
739
+ onClick?: () => void;
740
+ disabled?: boolean;
741
+ icon?: ReactNode;
742
+ }
743
+ interface CMenuProps {
744
+ triggerLabel?: ReactNode;
745
+ items?: CMenuItem[];
746
+ /** Custom trigger element — defaults to a neutral CButton. */
747
+ trigger?: ReactNode;
748
+ align?: 'start' | 'center' | 'end';
749
+ anchorEl?: HTMLElement | null;
750
+ open?: boolean;
751
+ onClose?: () => void;
752
+ children?: ReactNode;
753
+ slotProps?: {
754
+ paper?: {
755
+ sx?: OrbSxProps;
756
+ elevation?: number;
757
+ style?: CSSProperties;
758
+ };
759
+ };
760
+ PaperProps?: {
761
+ sx?: OrbSxProps;
762
+ elevation?: number;
763
+ style?: CSSProperties;
764
+ };
765
+ anchorReference?: string;
766
+ anchorPosition?: {
767
+ top: number;
768
+ left: number;
769
+ };
770
+ transformOrigin?: unknown;
771
+ anchorOrigin?: unknown;
772
+ sx?: OrbSxProps;
773
+ }
774
+ /**
775
+ * Dropdown menu built on Radix DropdownMenu with ORBIS styling.
776
+ * Keeps the historical triggerLabel/items API.
777
+ */
778
+ declare const CMenu: ({ triggerLabel, items, trigger, align, anchorEl, open, onClose, children, slotProps, PaperProps, anchorPosition, sx }: CMenuProps) => react.JSX.Element | null;
779
+
780
+ interface CPaperProps extends Omit<HTMLAttributes<HTMLDivElement>, 'style'> {
781
+ /** 0 = flat bordered card; >0 = raised with quiet ORBIS shadow. */
782
+ elevation?: number;
783
+ variant?: 'outlined' | 'elevation' | string;
784
+ component?: ElementType;
785
+ sx?: OrbSxProps;
786
+ style?: CSSProperties;
787
+ }
788
+ declare const CPaper: react.ForwardRefExoticComponent<CPaperProps & react.RefAttributes<HTMLDivElement>>;
789
+
790
+ interface CDividerProps {
791
+ orientation?: 'horizontal' | 'vertical';
792
+ flexItem?: boolean;
793
+ sx?: OrbSxProps;
794
+ className?: string;
795
+ }
796
+ declare const CDivider: react.ForwardRefExoticComponent<CDividerProps & react.RefAttributes<HTMLHRElement>>;
797
+
798
+ /**
799
+ * ORBIS type scale (handoff §2):
800
+ * h1 32/600 · h2 24/600 · h3 19/600 · subtitle 16/500 ·
801
+ * body 16/300 · body2 14/300 · label 13/500 · caption 12/500 muted · overline 11/500 caps
802
+ */
803
+ type CTypographyVariant = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'subtitle1' | 'subtitle2' | 'body1' | 'body2' | 'label' | 'caption' | 'overline' | 'inherit';
804
+ interface CTypographyProps extends Omit<HTMLAttributes<HTMLElement>, 'style'> {
805
+ variant?: CTypographyVariant;
806
+ component?: ElementType;
807
+ /** Muted (secondary) text color. */
808
+ muted?: boolean;
809
+ /** Right-aligned tabular numerals for data contexts. */
810
+ numeric?: boolean;
811
+ color?: string;
812
+ noWrap?: boolean;
813
+ fontWeight?: number | string;
814
+ children?: ReactNode;
815
+ sx?: OrbSxProps;
816
+ }
817
+ declare const CTypography: react.ForwardRefExoticComponent<CTypographyProps & react.RefAttributes<HTMLElement>>;
818
+
819
+ interface CStackProps extends Omit<HTMLAttributes<HTMLDivElement>, 'style'> {
820
+ /** Flex direction, including responsive values. */
821
+ direction?: OrbResponsive<'row' | 'column' | 'row-reverse' | 'column-reverse'>;
822
+ /** Gap in 8px units or as a raw CSS length. */
823
+ spacing?: number | string;
824
+ alignItems?: OrbResponsive<CSSProperties['alignItems']>;
825
+ justifyContent?: OrbResponsive<CSSProperties['justifyContent']>;
826
+ flexWrap?: OrbResponsive<CSSProperties['flexWrap']>;
827
+ flex?: OrbResponsive<CSSProperties['flex']>;
828
+ useFlexGap?: boolean;
829
+ sx?: OrbSxProps;
830
+ children?: ReactNode;
831
+ }
832
+ /**
833
+ * Minimal ORBIS flex stack.
834
+ * `spacing={2}` means 16px using the shared 8px unit.
835
+ */
836
+ declare const CStack: react.ForwardRefExoticComponent<CStackProps & react.RefAttributes<HTMLDivElement>>;
837
+
838
+ interface CDialogProps {
839
+ open: boolean;
840
+ onClose?: () => void;
841
+ title?: ReactNode;
842
+ children?: ReactNode;
843
+ /** Footer action row. */
844
+ actions?: ReactNode;
845
+ /** Max content width (default 560). */
846
+ maxWidth?: number | string;
847
+ fullWidth?: boolean;
848
+ fullScreen?: boolean;
849
+ PaperProps?: {
850
+ sx?: OrbSxProps;
851
+ };
852
+ slotProps?: {
853
+ paper?: {
854
+ sx?: OrbSxProps;
855
+ };
856
+ };
857
+ disableRestoreFocus?: boolean;
858
+ keepMounted?: boolean;
859
+ hideCloseButton?: boolean;
860
+ sx?: OrbSxProps;
861
+ className?: string;
862
+ }
863
+ /**
864
+ * ORBIS dialog — Radix Dialog (focus trap, ESC, portal) + orbis.css chrome.
865
+ * Accessible ORBIS dialog with title, content and action regions.
866
+ */
867
+ declare const CDialog: ({ open, onClose, title, children, actions, maxWidth, fullWidth, fullScreen, PaperProps, slotProps, disableRestoreFocus: _disableRestoreFocus, keepMounted: _keepMounted, hideCloseButton, sx, className, }: CDialogProps) => react.JSX.Element;
868
+
869
+ interface CPopoverProps {
870
+ open?: boolean;
871
+ defaultOpen?: boolean;
872
+ onOpenChange?: (open: boolean) => void;
873
+ /** Element the popover anchors to. */
874
+ trigger: ReactNode;
875
+ children?: ReactNode;
876
+ align?: 'start' | 'center' | 'end';
877
+ side?: 'top' | 'right' | 'bottom' | 'left';
878
+ sideOffset?: number;
879
+ /** Match the trigger width (for select-like popovers). */
880
+ matchTriggerWidth?: boolean;
881
+ sx?: CSSProperties;
882
+ className?: string;
883
+ }
884
+ /** ORBIS popover — Radix Popover + orbis.css chrome. */
885
+ declare const CPopover: ({ open, defaultOpen, onOpenChange, trigger, children, align, side, sideOffset, matchTriggerWidth, sx, className, }: CPopoverProps) => react.JSX.Element;
886
+
887
+ interface CTabItem {
888
+ value: string;
889
+ label: ReactNode;
890
+ disabled?: boolean;
891
+ icon?: ReactNode;
892
+ }
893
+ interface CTabsProps {
894
+ items: CTabItem[];
895
+ value?: string;
896
+ defaultValue?: string;
897
+ onChange?: (value: string) => void;
898
+ sx?: CSSProperties;
899
+ className?: string;
900
+ }
901
+ /**
902
+ * Underline tabs — active tab gets primary text + 2px primary underline
903
+ * (handoff §3). Arrow-key navigation included.
904
+ */
905
+ declare const CTabs: ({ items, value, defaultValue, onChange, sx, className }: CTabsProps) => react.JSX.Element;
906
+
907
+ interface CCalendarProps {
908
+ /** Selected day (single mode). */
909
+ value?: Dayjs | null;
910
+ /** Range mode: start/end selection. */
911
+ rangeStart?: Dayjs | null;
912
+ rangeEnd?: Dayjs | null;
913
+ onChange?: (day: Dayjs) => void;
914
+ /** Visible month — controlled. */
915
+ month?: Dayjs;
916
+ defaultMonth?: Dayjs;
917
+ onMonthChange?: (month: Dayjs) => void;
918
+ minDate?: Dayjs;
919
+ maxDate?: Dayjs;
920
+ /** Hide days outside the visible month. */
921
+ fixedWeekNumber?: boolean;
922
+ locale?: string;
923
+ renderDay?: (day: Dayjs, state: {
924
+ outsideCurrentMonth: boolean;
925
+ selected: boolean;
926
+ today: boolean;
927
+ disabled: boolean;
928
+ }) => ReactNode;
929
+ }
930
+ /**
931
+ * Month-grid calendar styled per orbis.css (.orb-cal-*).
932
+ * ORBIS calendar primitive. Dayjs in, Dayjs out.
933
+ */
934
+ declare const CCalendar: ({ value, rangeStart, rangeEnd, onChange, month, defaultMonth, onMonthChange, minDate, maxDate, locale, renderDay, }: CCalendarProps) => react.JSX.Element;
935
+
936
+ interface CDatePickerProps {
937
+ label?: ReactNode;
938
+ value?: Dayjs | null;
939
+ defaultValue?: Dayjs | null;
940
+ onChange?: (value: Dayjs | null) => void;
941
+ minDate?: Dayjs;
942
+ maxDate?: Dayjs;
943
+ disabled?: boolean;
944
+ /** dayjs display format (default YYYY-MM-DD). */
945
+ format?: string;
946
+ placeholder?: string;
947
+ locale?: string;
948
+ dense?: boolean;
949
+ error?: boolean | string;
950
+ helperText?: ReactNode;
951
+ sx?: CSSProperties;
952
+ className?: string;
953
+ }
954
+ /**
955
+ * ORBIS date picker — text field + calendar popover (CCalendar).
956
+ * ORBIS date picker; values stay Dayjs objects.
957
+ */
958
+ declare const CDatePicker: ({ label, value, defaultValue, onChange, minDate, maxDate, disabled, format, placeholder, locale, dense, error, helperText, sx, className, }: CDatePickerProps) => react.JSX.Element;
959
+
960
+ interface CFileUploadProps {
961
+ onFilesSelected?: (files: File[]) => void;
962
+ multiple?: boolean;
963
+ accept?: string;
964
+ maxSize?: number;
965
+ title?: string;
966
+ subtitle?: string;
967
+ sx?: CSSProperties;
968
+ }
969
+ declare const CFileUpload: react__default.FC<CFileUploadProps>;
970
+
971
+ /**
972
+ * @file 10_Frontend/components/ui/molecules/tree-menu.tsx
973
+ *
974
+ * @summary Core frontend tree-menu module for the ORBAI Core project
975
+ * @author ORBAICODER
976
+ * @version 1.0.0
977
+ * @date 2025-01-19
978
+ *
979
+ * @description
980
+ * This file is responsible for:
981
+ * - Implementing tree-menu functionality within frontend workflows
982
+ * - Integrating with shared ORBAI Core application processes under frontend
983
+ *
984
+ * @logic
985
+ * 1. Import required dependencies and configuration
986
+ * 2. Execute the primary logic for tree-menu
987
+ * 3. Export the resulting APIs, hooks, or components for reuse
988
+ *
989
+ * @changelog
990
+ * V1.0.0 - 2025-01-19 - Initial creation
991
+ */
8
992
 
9
993
  interface TreeMenuItem {
10
994
  id: string;
11
995
  title?: string;
12
996
  label?: string;
13
997
  description?: string;
14
- icon?: React__default.ReactNode;
998
+ icon?: react__default.ReactNode;
15
999
  href?: string;
16
1000
  appurl?: string;
17
1001
  children?: TreeMenuItem[];
18
1002
  isExpanded?: boolean;
1003
+ pinnable?: boolean;
19
1004
  data?: any;
20
1005
  }
21
1006
  interface TreeMenuProps {
@@ -26,8 +1011,30 @@ interface TreeMenuProps {
26
1011
  expandedIds?: Set<string>;
27
1012
  onToggleExpand?: (id: string) => void;
28
1013
  colorMode?: 'light' | 'dark';
1014
+ enablePinning?: boolean;
1015
+ pinnedIds?: Set<string>;
1016
+ onTogglePin?: (item: TreeMenuItem) => void;
1017
+ }
1018
+ declare function TreeMenu({ items, onItemClick, className, level, expandedIds, onToggleExpand, colorMode, enablePinning, pinnedIds, onTogglePin, }: TreeMenuProps): react__default.JSX.Element;
1019
+
1020
+ type NavigationIslandDisplayMode = 'fixed' | 'floating';
1021
+ interface NavigationIslandProps {
1022
+ collapsed: boolean;
1023
+ onToggle: () => void;
1024
+ className?: string;
1025
+ maxHeight?: number;
1026
+ menuData?: TreeMenuItem[];
1027
+ colorMode?: 'light' | 'dark';
1028
+ displayMode?: NavigationIslandDisplayMode;
1029
+ onDisplayModeChange?: (mode: NavigationIslandDisplayMode) => void;
1030
+ showDisplayModeToggle?: boolean;
1031
+ enablePinning?: boolean;
1032
+ pinStorageKey?: string;
1033
+ pinnedItemIds?: string[];
1034
+ defaultPinnedItemIds?: string[];
1035
+ onPinnedItemIdsChange?: (ids: string[]) => void;
1036
+ pinnedSectionTitle?: string;
29
1037
  }
30
- declare function TreeMenu({ items, onItemClick, className, level, expandedIds, onToggleExpand, colorMode, }: TreeMenuProps): react_jsx_runtime.JSX.Element;
31
1038
 
32
1039
  /**
33
1040
  * @file 10_Frontend/components/ui/molecules/navigation-island.tsx
@@ -51,34 +1058,32 @@ declare function TreeMenu({ items, onItemClick, className, level, expandedIds, o
51
1058
  * V1.0.0 - 2025-01-19 - Initial creation
52
1059
  */
53
1060
 
54
- type NavigationIslandDisplayMode = 'fixed' | 'floating';
55
- interface NavigationIslandProps {
56
- collapsed: boolean;
57
- onToggle: () => void;
58
- className?: string;
59
- maxHeight?: number;
60
- menuData?: TreeMenuItem[];
61
- colorMode?: 'light' | 'dark';
62
- displayMode?: NavigationIslandDisplayMode;
63
- onDisplayModeChange?: (mode: NavigationIslandDisplayMode) => void;
64
- showDisplayModeToggle?: boolean;
65
- }
66
- declare const NavigationIsland: React__default.FC<NavigationIslandProps>;
1061
+ declare const NavigationIsland: react__default.FC<NavigationIslandProps>;
1062
+
1063
+ type NavigationIsland2Props = NavigationIslandProps;
1064
+ /** Independent ORBIS navigation implementation using the offline SAP icon font. */
1065
+ declare const NavigationIsland2: react__default.FC<NavigationIsland2Props>;
67
1066
 
68
1067
  declare const buttonVariants: (props?: ({
69
- variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | "chat-tool" | "chat-send" | "chat-stop" | "chat-disabled" | null | undefined;
70
- size?: "default" | "sm" | "lg" | "icon" | "chat-sm" | "chat-md" | "chat-lg" | null | undefined;
71
- rounded?: "sm" | "none" | "md" | "full" | null | undefined;
1068
+ variant?: "link" | "default" | "secondary" | "ghost" | "outline" | "destructive" | "chat-tool" | "chat-send" | "chat-stop" | "chat-disabled" | null | undefined;
1069
+ size?: "sm" | "lg" | "default" | "icon" | "chat-sm" | "chat-md" | "chat-lg" | null | undefined;
1070
+ rounded?: "sm" | "md" | "none" | "full" | null | undefined;
72
1071
  } & class_variance_authority_types.ClassProp) | undefined) => string;
73
- interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
1072
+ interface ButtonProps extends react.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
74
1073
  asChild?: boolean;
75
1074
  }
76
- declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
1075
+ declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
77
1076
 
78
1077
  interface UseNavigationIslandOptions {
79
1078
  initialCollapsed?: boolean;
80
1079
  initialDisplayMode?: NavigationIslandDisplayMode;
81
1080
  content?: TreeMenuItem[];
1081
+ enablePinning?: boolean;
1082
+ pinStorageKey?: string;
1083
+ pinnedItemIds?: string[];
1084
+ defaultPinnedItemIds?: string[];
1085
+ onPinnedItemIdsChange?: (ids: string[]) => void;
1086
+ pinnedSectionTitle?: string;
82
1087
  }
83
1088
  interface UseNavigationIslandResult {
84
1089
  collapsed: boolean;
@@ -89,7 +1094,7 @@ interface UseNavigationIslandResult {
89
1094
  toggleDisplayMode: () => void;
90
1095
  menuData: TreeMenuItem[];
91
1096
  setMenuData: Dispatch<SetStateAction<TreeMenuItem[]>>;
92
- navigationIslandProps: Pick<NavigationIslandProps, 'collapsed' | 'onToggle' | 'menuData' | 'displayMode' | 'onDisplayModeChange'>;
1097
+ navigationIslandProps: Pick<NavigationIslandProps, 'collapsed' | 'onToggle' | 'menuData' | 'displayMode' | 'onDisplayModeChange' | 'enablePinning' | 'pinStorageKey' | 'pinnedItemIds' | 'defaultPinnedItemIds' | 'onPinnedItemIdsChange' | 'pinnedSectionTitle'>;
93
1098
  }
94
1099
  /**
95
1100
  * Hook for wiring NavigationIsland in a controlled and reusable way.
@@ -130,42 +1135,10 @@ declare const message: {
130
1135
  hide: () => void;
131
1136
  };
132
1137
 
133
- /**
134
- * @file 10_Frontend/components/sap/ui/Common/Molecules/CMessageBox.tsx
135
- *
136
- * @summary Core frontend CMessageBox module for the ORBAI Core project
137
- * @author ORBAICODER
138
- * @version 1.0.0
139
- * @date 2025-01-19
140
- *
141
- * @description
142
- * This file is responsible for:
143
- * - Implementing CMessageBox functionality within frontend workflows
144
- * - Integrating with shared ORBAI Core application processes under frontend
145
- *
146
- * @logic
147
- * 1. Import required dependencies and configuration
148
- * 2. Execute the primary logic for CMessageBox
149
- * 3. Export the resulting APIs, hooks, or components for reuse
150
- *
151
- * @changelog
152
- * V1.0.0 - 2025-01-19 - Initial creation
153
- */
154
- /**
155
- * File Overview
156
- *
157
- * START CODING
158
- *
159
- * --------------------------
160
- * SECTION 1: CMessageBox Core Logic
161
- * Section overview and description.
162
- * --------------------------
163
- */
164
-
165
1138
  interface CMessageBoxProps {
166
1139
  open: boolean;
167
1140
  title?: string;
168
- message?: string | React__default.ReactNode;
1141
+ message?: string | react__default.ReactNode;
169
1142
  onClose: () => void;
170
1143
  onConfirm?: () => void;
171
1144
  confirmText?: string;
@@ -174,8 +1147,79 @@ interface CMessageBoxProps {
174
1147
  maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
175
1148
  type?: CMessageBoxType;
176
1149
  }
177
- declare const CMessageBox: React__default.FC<CMessageBoxProps>;
178
- declare const GlobalMessage: React__default.FC;
1150
+ declare const CMessageBox: react__default.FC<CMessageBoxProps>;
1151
+ declare const GlobalMessage: react__default.FC;
1152
+
1153
+ interface CStatusBadgeProps {
1154
+ status: 'OK' | 'Error' | 'Warning' | string;
1155
+ showIcon?: boolean;
1156
+ }
1157
+ declare const CStatusBadge: ({ status, showIcon }: CStatusBadgeProps) => react.JSX.Element;
1158
+
1159
+ interface CListProps extends HTMLAttributes<HTMLUListElement> {
1160
+ dense?: boolean;
1161
+ sx?: CSSProperties;
1162
+ }
1163
+ declare const CList: ({ dense, sx, className, children, ...props }: CListProps) => react.JSX.Element;
1164
+ interface CListItemProps extends HTMLAttributes<HTMLLIElement> {
1165
+ button?: boolean;
1166
+ divider?: boolean;
1167
+ sx?: CSSProperties;
1168
+ }
1169
+ declare const CListItem: ({ button, divider, sx, className, children, ...props }: CListItemProps) => react.JSX.Element;
1170
+ interface CListItemButtonProps extends HTMLAttributes<HTMLButtonElement> {
1171
+ sx?: CSSProperties;
1172
+ }
1173
+ declare const CListItemButton: ({ sx, className, children, ...props }: CListItemButtonProps) => react.JSX.Element;
1174
+ interface CListItemIconProps {
1175
+ children: ReactNode;
1176
+ sx?: CSSProperties;
1177
+ }
1178
+ declare const CListItemIcon: ({ children, sx }: CListItemIconProps) => react.JSX.Element;
1179
+ interface CListItemTextProps {
1180
+ primary: ReactNode;
1181
+ secondary?: ReactNode;
1182
+ sx?: CSSProperties;
1183
+ }
1184
+ declare const CListItemText: ({ primary, secondary, sx }: CListItemTextProps) => react.JSX.Element;
1185
+ interface CListSubheaderProps extends HTMLAttributes<HTMLLIElement> {
1186
+ sx?: CSSProperties;
1187
+ }
1188
+ declare const CListSubheader: ({ sx, className, children, ...props }: CListSubheaderProps) => react.JSX.Element;
1189
+ interface CListItemAvatarProps {
1190
+ children: ReactNode;
1191
+ sx?: CSSProperties;
1192
+ }
1193
+ declare const CListItemAvatar: ({ children, sx }: CListItemAvatarProps) => react.JSX.Element;
1194
+
1195
+ interface CFilterFieldProps extends HTMLAttributes<HTMLDivElement> {
1196
+ xs?: number;
1197
+ md?: number;
1198
+ lg?: number;
1199
+ sx?: CSSProperties;
1200
+ children?: ReactNode;
1201
+ }
1202
+ declare const CFilterField: ({ xs, md, lg, sx, children, className, ...props }: CFilterFieldProps) => react.JSX.Element;
1203
+
1204
+ type SxProps<T = OrbCompatTheme> = OrbSxProps | ((theme: T) => OrbSxObject);
1205
+ type Theme = OrbCompatTheme;
1206
+ interface LooseProps {
1207
+ [key: string]: unknown;
1208
+ children?: ReactNode;
1209
+ className?: string;
1210
+ style?: CSSProperties;
1211
+ sx?: OrbSxProps;
1212
+ component?: ElementType;
1213
+ }
1214
+ type TableCellProps = LooseProps & {
1215
+ align?: 'inherit' | 'left' | 'center' | 'right' | 'justify';
1216
+ padding?: 'normal' | 'checkbox' | 'none';
1217
+ };
1218
+ type TextFieldProps = Parameters<typeof CTextField>[0] & {
1219
+ size?: 'small' | 'medium';
1220
+ select?: boolean;
1221
+ children?: ReactNode;
1222
+ };
179
1223
 
180
1224
  type CValueHelpPrimitive = string | number;
181
1225
  type CValueHelpMode = 'single' | 'multiple';
@@ -215,7 +1259,7 @@ interface CValueHelpProps<TRecord extends CValueHelpRecord = CValueHelpRecord> e
215
1259
  onChange?: (value: CValueHelpSelectionValue, selection: TRecord | TRecord[] | null) => void;
216
1260
  onSearch?: (query: string) => Promise<TRecord[] | void> | TRecord[] | void;
217
1261
  }
218
- declare const CValueHelp: <TRecord extends CValueHelpRecord = CValueHelpRecord>({ value, items, columns, mode, dialogTitle, searchPlaceholder, selectLabel, clearLabel, cancelLabel, valueHelpLabel, noResultsText, loading, clearable, allowManualInput, validateManualInput, manualInputErrorText, selectedItems, displayValue, getOptionValue, getOptionLabel, getOptionDescription, onChange, onSearch, disabled, InputProps, onFocus, onBlur, onKeyDown, error, helperText, ...textFieldProps }: CValueHelpProps<TRecord>) => react_jsx_runtime.JSX.Element;
1262
+ declare const CValueHelp: <TRecord extends CValueHelpRecord = CValueHelpRecord>({ value, items, columns, mode, dialogTitle, searchPlaceholder, selectLabel, clearLabel, cancelLabel, valueHelpLabel, noResultsText, loading, clearable, allowManualInput, validateManualInput, manualInputErrorText, selectedItems, displayValue, getOptionValue, getOptionLabel, getOptionDescription, onChange, onSearch, disabled, InputProps, onFocus, onBlur, onKeyDown, error, helperText, ...textFieldProps }: CValueHelpProps<TRecord>) => react.JSX.Element;
219
1263
 
220
1264
  interface CustomizeAgentSettings {
221
1265
  baseUrl: string;
@@ -472,6 +1516,18 @@ interface CTableBodyProps {
472
1516
  rowKeyProp?: string;
473
1517
  page?: number;
474
1518
  rowsPerPage?: number;
1519
+ emptyLabel?: ReactNode;
1520
+ getRowDataKey?: (context: CTableBodyRowContext) => string | undefined;
1521
+ getRowProps?: (context: CTableBodyRowContext) => HTMLAttributes<HTMLTableRowElement>;
1522
+ getGroupRowProps?: (context: CTableBodyRowContext) => HTMLAttributes<HTMLTableRowElement>;
1523
+ }
1524
+ interface CTableBodyRowContext {
1525
+ entry: any;
1526
+ data: any;
1527
+ id: any;
1528
+ index: number;
1529
+ selected: boolean;
1530
+ group: boolean;
475
1531
  }
476
1532
  interface CTableCellProps {
477
1533
  children?: React.ReactNode;
@@ -523,7 +1579,7 @@ interface CVariantManagementProps {
523
1579
  onDelete: (id: string) => void;
524
1580
  onSetDefault: (id: string) => void;
525
1581
  }
526
- declare const CVariantManagement: ({ variants, currentVariantId, onLoad, onSave, onDelete, onSetDefault }: CVariantManagementProps) => react_jsx_runtime.JSX.Element;
1582
+ declare const CVariantManagement: ({ variants, currentVariantId, onLoad, onSave, onDelete, onSetDefault }: CVariantManagementProps) => react.JSX.Element;
527
1583
 
528
1584
  /**
529
1585
  * @file 10_Frontend/components/sap/ui/Common/PageComponents/CVariantManager.tsx
@@ -564,7 +1620,7 @@ interface CVariantManagerProps {
564
1620
  currentVariantId?: string;
565
1621
  onVariantChange?: (variantId: string) => void;
566
1622
  }
567
- declare const CVariantManager: React__default.FC<CVariantManagerProps>;
1623
+ declare const CVariantManager: react__default.FC<CVariantManagerProps>;
568
1624
 
569
1625
  type FilterType = 'text' | 'number' | 'date' | 'select' | 'multi-select' | 'value-help';
570
1626
  type TextOperator = 'equals' | 'contains' | 'notContains' | 'wildcard';
@@ -618,7 +1674,7 @@ interface CSmartFilterProps {
618
1674
  *
619
1675
  * Renders a filter bar with "Go" button, variant management, and "Adapt Filters" capability.
620
1676
  */
621
- 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;
1677
+ declare const CSmartFilter: ({ fields, filters, onFilterChange, variants, currentVariantId, onVariantLoad, onVariantSave, onVariantDelete, onVariantSetDefault, onSearch, loading, appId, tableKey, currentLayout, currentLayoutId, layoutRefs, variantService, serviceUrl }: CSmartFilterProps) => react.JSX.Element;
622
1678
 
623
1679
  interface CStandardPageProps {
624
1680
  /**
@@ -636,7 +1692,7 @@ interface CStandardPageProps {
636
1692
  /** Props for the CTable (excluding filterConfig) */
637
1693
  tableProps: Omit<CTableProps, 'filterConfig'>;
638
1694
  /** Additional content (Dialogs, Snackbars, etc.) */
639
- children?: React__default.ReactNode;
1695
+ children?: react__default.ReactNode;
640
1696
  /**
641
1697
  * Spacing between Filter and Table
642
1698
  * Default: 1 (8px) - Much tighter than default CTable behavior
@@ -651,35 +1707,13 @@ interface CStandardPageProps {
651
1707
  */
652
1708
  mode?: 'separated' | 'integrated';
653
1709
  }
654
- declare const CStandardPage: ({ id, title, hideHeader, filterConfig, tableProps, children, spacing, mode }: CStandardPageProps) => react_jsx_runtime.JSX.Element;
655
-
656
- /**
657
- * @file 10_Frontend/components/sap/ui/Common/Structures/CTable.tsx
658
- *
659
- * @summary Core frontend CTable module for the ORBAI Core project
660
- * @author ORBAICODER
661
- * @version 1.0.0
662
- * @date 2025-01-19
663
- *
664
- * @description
665
- * This file is responsible for:
666
- * - Implementing CTable functionality within frontend workflows
667
- * - Integrating with shared ORBAI Core application processes under frontend
668
- *
669
- * @logic
670
- * 1. Import required dependencies and configuration
671
- * 2. Execute the primary logic for CTable
672
- * 3. Export the resulting APIs, hooks, or components for reuse
673
- *
674
- * @changelog
675
- * V1.0.0 - 2025-01-19 - Initial creation
676
- */
1710
+ declare const CStandardPage: ({ id, title, hideHeader, filterConfig, tableProps, children, spacing, mode }: CStandardPageProps) => react__default.JSX.Element;
677
1711
 
678
- declare const CTableBody: React__default.FC<any>;
679
- declare const CTableCell: React__default.FC<CTableCellProps>;
680
- declare const CTableContainer: React__default.FC<CTableContainerProps>;
681
- declare const CTableHead: React__default.FC<any>;
682
- declare const CTableRow: React__default.FC<CTableRowProps>;
1712
+ declare const CTableBody: react__default.FC<any>;
1713
+ declare const CTableCell: react__default.FC<CTableCellProps>;
1714
+ declare const CTableContainer: react__default.FC<CTableContainerProps>;
1715
+ declare const CTableHead: react__default.FC<any>;
1716
+ declare const CTableRow: react__default.FC<CTableRowProps>;
683
1717
  /**
684
1718
  * --------------------------
685
1719
  * SECTION 2: CTable Component
@@ -711,30 +1745,8 @@ declare const CTableRow: React__default.FC<CTableRowProps>;
711
1745
  * Used for loading saved variants.
712
1746
  * @param props.filterConfig - Optional configuration to enable integrated Smart Filter Bar.
713
1747
  */
714
- declare const CTable: React__default.FC<CTableProps>;
715
- declare const CSmartTable: React__default.FC<CTableProps>;
716
-
717
- /**
718
- * @file 10_Frontend/components/sap/ui/Common/Molecules/CLayoutManagement.tsx
719
- *
720
- * @summary Core frontend CLayoutManagement module for the ORBAI Core project
721
- * @author ORBAICODER
722
- * @version 1.0.0
723
- * @date 2026-01-06
724
- *
725
- * @description
726
- * This file is responsible for:
727
- * - Implementing CLayoutManagement functionality within frontend workflows
728
- * - Integrating with shared ORBAI Core application processes under frontend
729
- *
730
- * @logic
731
- * 1. Import required dependencies and configuration
732
- * 2. Execute the primary logic for CLayoutManagement
733
- * 3. Export the resulting APIs, hooks, or components for reuse
734
- *
735
- * @changelog
736
- * V1.0.0 - 2026-01-06 - Initial creation
737
- */
1748
+ declare const CTable: react__default.FC<CTableProps>;
1749
+ declare const CSmartTable: react__default.FC<CTableProps>;
738
1750
 
739
1751
  interface LayoutMetadata {
740
1752
  id: string;
@@ -762,7 +1774,7 @@ interface CLayoutManagementProps {
762
1774
  * 2. Load existing layouts.
763
1775
  * 3. Manage layouts (Delete, Set Default).
764
1776
  */
765
- declare const CLayoutManagement: React__default.FC<CLayoutManagementProps>;
1777
+ declare const CLayoutManagement: react__default.FC<CLayoutManagementProps>;
766
1778
 
767
1779
  /**
768
1780
  * @file 10_Frontend/components/sap/ui/Common/PageComponents/CLayoutManager.tsx
@@ -781,14 +1793,14 @@ interface CLayoutManagerProps {
781
1793
  onError?: (message: string) => void;
782
1794
  onSuccess?: (message: string) => void;
783
1795
  }
784
- declare const CLayoutManager: React__default.FC<CLayoutManagerProps>;
1796
+ declare const CLayoutManager: react__default.FC<CLayoutManagerProps>;
785
1797
 
786
1798
  interface CPageLayoutProps {
787
1799
  title: string;
788
1800
  hideHeader?: boolean;
789
- children?: React__default.ReactNode;
1801
+ children?: react__default.ReactNode;
790
1802
  }
791
- declare const CPageLayout: ({ title, hideHeader, children }: CPageLayoutProps) => react_jsx_runtime.JSX.Element;
1803
+ declare const CPageLayout: ({ title, hideHeader, children }: CPageLayoutProps) => react__default.JSX.Element;
792
1804
 
793
1805
  interface ReportColumn {
794
1806
  id: string;
@@ -891,7 +1903,7 @@ interface CGraphReportProps {
891
1903
  };
892
1904
  aiAssistant?: GraphReportConfig['aiAssistant'];
893
1905
  }
894
- declare const CGraphReport: ({ open, onClose, model, tableContent, extraCharts, interaction, aiAssistant, }: CGraphReportProps) => react_jsx_runtime.JSX.Element;
1906
+ declare const CGraphReport: ({ open, onClose, model, tableContent, extraCharts, interaction, aiAssistant, }: CGraphReportProps) => react.JSX.Element;
895
1907
 
896
1908
  interface UseGraphReportOptions {
897
1909
  rows: GraphRow[];
@@ -955,19 +1967,19 @@ interface CGraphChartsProps {
955
1967
  onStatusClick?: (value: string) => void;
956
1968
  };
957
1969
  }
958
- declare const CGraphCharts: ({ billableByPrimary, efficiencyBySecondary, statusDistribution, interaction, }: CGraphChartsProps) => react_jsx_runtime.JSX.Element;
1970
+ declare const CGraphCharts: ({ billableByPrimary, efficiencyBySecondary, statusDistribution, interaction, }: CGraphChartsProps) => react.JSX.Element;
959
1971
 
960
1972
  interface CGraphKpiCardsProps {
961
1973
  kpis: GraphReportKpis;
962
1974
  }
963
- declare const CGraphKpiCards: ({ kpis }: CGraphKpiCardsProps) => react_jsx_runtime.JSX.Element;
1975
+ declare const CGraphKpiCards: ({ kpis }: CGraphKpiCardsProps) => react.JSX.Element;
964
1976
 
965
1977
  interface CChartCardProps {
966
1978
  title: string;
967
1979
  subtitle?: string;
968
1980
  children: ReactNode;
969
1981
  }
970
- declare const CChartCard: ({ title, subtitle, children }: CChartCardProps) => react_jsx_runtime.JSX.Element;
1982
+ declare const CChartCard: ({ title, subtitle, children }: CChartCardProps) => react.JSX.Element;
971
1983
 
972
1984
  interface CBarChartProps {
973
1985
  data: GraphBarDatum[];
@@ -977,7 +1989,7 @@ interface CBarChartProps {
977
1989
  activeName?: string;
978
1990
  onItemClick?: (item: GraphBarDatum) => void;
979
1991
  }
980
- declare const CBarChart: ({ data, orientation, valueSuffix, minHeight, activeName, onItemClick, }: CBarChartProps) => react_jsx_runtime.JSX.Element;
1992
+ declare const CBarChart: ({ data, orientation, valueSuffix, minHeight, activeName, onItemClick, }: CBarChartProps) => react.JSX.Element;
981
1993
 
982
1994
  interface CLineChartProps {
983
1995
  data: GraphLineDatum[];
@@ -985,7 +1997,7 @@ interface CLineChartProps {
985
1997
  valueSuffix?: string;
986
1998
  height?: number;
987
1999
  }
988
- declare const CLineChart: ({ data, color, valueSuffix, height, }: CLineChartProps) => react_jsx_runtime.JSX.Element;
2000
+ declare const CLineChart: ({ data, color, valueSuffix, height, }: CLineChartProps) => react.JSX.Element;
989
2001
 
990
2002
  interface CComboChartProps {
991
2003
  data: GraphComboDatum[];
@@ -993,12 +2005,12 @@ interface CComboChartProps {
993
2005
  lineColor?: string;
994
2006
  height?: number;
995
2007
  }
996
- declare const CComboChart: ({ data, barColor, lineColor, height, }: CComboChartProps) => react_jsx_runtime.JSX.Element;
2008
+ declare const CComboChart: ({ data, barColor, lineColor, height, }: CComboChartProps) => react.JSX.Element;
997
2009
 
998
2010
  interface CHeatmapChartProps {
999
2011
  data: GraphHeatmapDatum[];
1000
2012
  }
1001
- declare const CHeatmapChart: ({ data }: CHeatmapChartProps) => react_jsx_runtime.JSX.Element;
2013
+ declare const CHeatmapChart: ({ data }: CHeatmapChartProps) => react.JSX.Element;
1002
2014
 
1003
2015
  interface CPieChartProps {
1004
2016
  data: GraphPieDatum[];
@@ -1008,19 +2020,19 @@ interface CPieChartProps {
1008
2020
  activeName?: string;
1009
2021
  onItemClick?: (item: GraphPieDatum) => void;
1010
2022
  }
1011
- declare const CPieChart: ({ data, variant, colors, size, activeName, onItemClick, }: CPieChartProps) => react_jsx_runtime.JSX.Element;
2023
+ declare const CPieChart: ({ data, variant, colors, size, activeName, onItemClick, }: CPieChartProps) => react.JSX.Element;
1012
2024
 
1013
2025
  interface CFishboneChartProps {
1014
2026
  effect: string;
1015
2027
  branches: GraphFishboneBranch[];
1016
2028
  }
1017
- declare const CFishboneChart: ({ effect, branches }: CFishboneChartProps) => react_jsx_runtime.JSX.Element;
2029
+ declare const CFishboneChart: ({ effect, branches }: CFishboneChartProps) => react.JSX.Element;
1018
2030
 
1019
2031
  interface CWaterfallChartProps {
1020
2032
  data: GraphWaterfallDatum[];
1021
2033
  height?: number;
1022
2034
  }
1023
- declare const CWaterfallChart: ({ data, height }: CWaterfallChartProps) => react_jsx_runtime.JSX.Element;
2035
+ declare const CWaterfallChart: ({ data, height }: CWaterfallChartProps) => react.JSX.Element;
1024
2036
 
1025
2037
  interface CGoogleMapChartProps {
1026
2038
  apiKey?: string;
@@ -1030,7 +2042,7 @@ interface CGoogleMapChartProps {
1030
2042
  mapType?: 'roadmap' | 'satellite';
1031
2043
  height?: number;
1032
2044
  }
1033
- declare const CGoogleMapChart: ({ apiKey, query, embedUrl, zoom, mapType, height, }: CGoogleMapChartProps) => react_jsx_runtime.JSX.Element;
2045
+ declare const CGoogleMapChart: ({ apiKey, query, embedUrl, zoom, mapType, height, }: CGoogleMapChartProps) => react.JSX.Element;
1034
2046
 
1035
2047
  interface CAmapChartProps {
1036
2048
  keyword?: string;
@@ -1038,7 +2050,7 @@ interface CAmapChartProps {
1038
2050
  embedUrl?: string;
1039
2051
  height?: number;
1040
2052
  }
1041
- declare const CAmapChart: ({ keyword, location, embedUrl, height, }: CAmapChartProps) => react_jsx_runtime.JSX.Element;
2053
+ declare const CAmapChart: ({ keyword, location, embedUrl, height, }: CAmapChartProps) => react.JSX.Element;
1042
2054
 
1043
2055
  interface GoogleMapEmbedOptions {
1044
2056
  apiKey: string;
@@ -1072,7 +2084,7 @@ interface CCustomizeAgentProps {
1072
2084
  defaultAnalysisTemplateId?: string;
1073
2085
  defaultResponseTemplateId?: string;
1074
2086
  }
1075
- declare const CCustomizeAgent: ({ open, onClose, value, onSaveAll, modelOptions, promptLangOptions, analysisTemplateOptions, responseTemplateOptions, defaultAnalysisTemplateId, defaultResponseTemplateId, }: CCustomizeAgentProps) => react_jsx_runtime.JSX.Element;
2087
+ declare const CCustomizeAgent: ({ open, onClose, value, onSaveAll, modelOptions, promptLangOptions, analysisTemplateOptions, responseTemplateOptions, defaultAnalysisTemplateId, defaultResponseTemplateId, }: CCustomizeAgentProps) => react.JSX.Element;
1076
2088
 
1077
2089
  interface DetailInfoField {
1078
2090
  id: string;
@@ -1133,7 +2145,7 @@ interface CDetailInfoPageProps {
1133
2145
  closeLabel?: string;
1134
2146
  }
1135
2147
 
1136
- declare const CDetailInfoPage: ({ title, subtitle, sections, tabs, defaultTabId, table, ai, rightHeaderSlot, searchBarWidth, onClose, closeLabel, }: CDetailInfoPageProps) => react_jsx_runtime.JSX.Element;
2148
+ declare const CDetailInfoPage: ({ title, subtitle, sections, tabs, defaultTabId, table, ai, rightHeaderSlot, searchBarWidth, onClose, closeLabel, }: CDetailInfoPageProps) => react.JSX.Element;
1137
2149
 
1138
2150
  type DetailInfoSearchMode = 'idle' | 'search' | 'ai';
1139
2151
  interface UseDetailInfoOptions {
@@ -1169,13 +2181,13 @@ interface CDetailSearchAiBarProps {
1169
2181
  compact?: boolean;
1170
2182
  showStatusText?: boolean;
1171
2183
  }
1172
- declare const CDetailSearchAiBar: ({ value, onChange, onSubmit, onVoiceInput, onClear, placeholder, statusText, loading, compact, showStatusText, }: CDetailSearchAiBarProps) => react_jsx_runtime.JSX.Element;
2184
+ declare const CDetailSearchAiBar: ({ value, onChange, onSubmit, onVoiceInput, onClear, placeholder, statusText, loading, compact, showStatusText, }: CDetailSearchAiBarProps) => react.JSX.Element;
1173
2185
 
1174
2186
  interface CDetailSectionCardProps {
1175
2187
  section: DetailInfoSection;
1176
2188
  highlightQuery?: string;
1177
2189
  }
1178
- declare const CDetailSectionCard: ({ section, highlightQuery }: CDetailSectionCardProps) => react_jsx_runtime.JSX.Element;
2190
+ declare const CDetailSectionCard: ({ section, highlightQuery }: CDetailSectionCardProps) => react.JSX.Element;
1179
2191
 
1180
2192
  type KanbanCardPriority = 'critical' | 'high' | 'medium' | 'low';
1181
2193
  type KanbanCardTone = 'default' | 'success' | 'warning' | 'info' | 'error';
@@ -1283,7 +2295,7 @@ interface UseKanbanBoardBindings {
1283
2295
  onCardClick?: (context: KanbanCardClickContext) => void;
1284
2296
  }
1285
2297
 
1286
- declare const CKanbanBoard: ({ model, onCardMove, onCardClick, minBucketWidth, bucketMaxHeight, emptyBucketLabel, sx, }: CKanbanBoardProps) => react_jsx_runtime.JSX.Element;
2298
+ declare const CKanbanBoard: ({ model, onCardMove, onCardClick, minBucketWidth, bucketMaxHeight, emptyBucketLabel, sx, }: CKanbanBoardProps) => react.JSX.Element;
1287
2299
 
1288
2300
  declare const createKanbanBoardModel: ({ buckets, cards }: CreateKanbanBoardModelOptions) => KanbanBoardModel;
1289
2301
  declare const findKanbanCard: (model: KanbanBoardModel, cardId: string) => KanbanCardLookup | undefined;
@@ -1309,9 +2321,9 @@ interface UseKanbanBoardResult {
1309
2321
  }
1310
2322
  declare const useKanbanBoard: (options: UseKanbanBoardOptions) => UseKanbanBoardResult;
1311
2323
 
1312
- declare const CKanbanBucket: ({ bucket, cardCount, highlighted, children, emptyLabel, maxHeight, sx, }: CKanbanBucketProps) => react_jsx_runtime.JSX.Element;
2324
+ declare const CKanbanBucket: ({ bucket, cardCount, highlighted, children, emptyLabel, maxHeight, sx, }: CKanbanBucketProps) => react.JSX.Element;
1313
2325
 
1314
- declare const CKanbanCard: ({ card, bucket, dragging, overlay, onClick, sx }: CKanbanCardProps) => react_jsx_runtime.JSX.Element;
2326
+ declare const CKanbanCard: ({ card, bucket, dragging, overlay, onClick, sx }: CKanbanCardProps) => react.JSX.Element;
1315
2327
 
1316
2328
  type OrbcafeLocale = 'en' | 'zh' | 'fr' | 'de' | 'ja' | 'ko';
1317
2329
  declare const en: {
@@ -1335,6 +2347,7 @@ declare const en: {
1335
2347
  readonly 'header.theme.dark': "Theme: Dark";
1336
2348
  readonly 'header.theme.light': "Theme: Light";
1337
2349
  readonly 'header.menu.setting': "Setting";
2350
+ readonly 'header.menu.refresh': "Refresh";
1338
2351
  readonly 'header.menu.logout': "Logout";
1339
2352
  readonly 'navigation.expand': "Expand navigation";
1340
2353
  readonly 'navigation.collapse': "Collapse navigation";
@@ -1345,6 +2358,9 @@ declare const en: {
1345
2358
  readonly 'navigation.expandView': "Expand {title}";
1346
2359
  readonly 'navigation.mode.switchToFixed': "Switch to fixed navigation";
1347
2360
  readonly 'navigation.mode.switchToFloating': "Switch to floating navigation";
2361
+ readonly 'navigation.pinned': "Pinned";
2362
+ readonly 'navigation.pin.add': "Pin to top";
2363
+ readonly 'navigation.pin.remove': "Unpin";
1348
2364
  readonly 'table.toolbar.searchPlaceholder': "Search...";
1349
2365
  readonly 'table.title.default': "Data Table";
1350
2366
  readonly 'table.toolbar.groupBy': "Group By";
@@ -1566,9 +2582,9 @@ interface OrbcafeI18nContextValue {
1566
2582
  interface OrbcafeI18nProviderProps {
1567
2583
  locale?: OrbcafeLocale;
1568
2584
  messages?: Partial<Record<OrbcafeLocale, Partial<OrbcafeLocaleMessages>>>;
1569
- children: React__default.ReactNode;
2585
+ children: react__default.ReactNode;
1570
2586
  }
1571
- declare const OrbcafeI18nProvider: ({ locale, messages, children, }: OrbcafeI18nProviderProps) => react_jsx_runtime.JSX.Element;
2587
+ declare const OrbcafeI18nProvider: ({ locale, messages, children, }: OrbcafeI18nProviderProps) => react__default.JSX.Element;
1572
2588
  declare const useOrbcafeI18n: () => OrbcafeI18nContextValue;
1573
2589
 
1574
2590
  interface CAppHeaderUser {
@@ -1585,6 +2601,7 @@ interface CAppHeaderUserMenuItem {
1585
2601
  disabled?: boolean;
1586
2602
  }
1587
2603
  type CAppHeaderSearchPlacement = 'header' | 'floating' | 'hidden';
2604
+ type CAppNavigationVariant = 'classic' | 'v2';
1588
2605
  interface CAppHeaderProps {
1589
2606
  appTitle: string;
1590
2607
  logo?: ReactNode;
@@ -1600,6 +2617,7 @@ interface CAppHeaderProps {
1600
2617
  onSearch?: (query: string) => void;
1601
2618
  onSearchAdd?: () => void;
1602
2619
  user?: CAppHeaderUser;
2620
+ onUserRefresh?: () => void;
1603
2621
  onUserSetting?: () => void;
1604
2622
  onUserLogout?: () => void;
1605
2623
  userMenuItems?: CAppHeaderUserMenuItem[];
@@ -1611,11 +2629,14 @@ interface CAppPageLayoutProps {
1611
2629
  menuData?: TreeMenuItem[];
1612
2630
  children: ReactNode;
1613
2631
  showNavigation?: boolean;
2632
+ /** Active locale in controlled mode; otherwise the initial locale. Defaults to English. */
1614
2633
  locale?: OrbcafeLocale;
1615
2634
  localeLabel?: string;
1616
2635
  localeOptions?: OrbcafeLocale[];
2636
+ /** Controls locale externally. When omitted, the layout switches and persists locale internally. */
1617
2637
  onLocaleChange?: (locale: OrbcafeLocale) => void;
1618
2638
  user?: CAppHeaderUser;
2639
+ onUserRefresh?: () => void;
1619
2640
  onUserSetting?: () => void;
1620
2641
  onUserLogout?: () => void;
1621
2642
  userMenuItems?: CAppHeaderUserMenuItem[];
@@ -1623,37 +2644,51 @@ interface CAppPageLayoutProps {
1623
2644
  searchPlaceholder?: string;
1624
2645
  /** Defaults to hidden so standard layouts do not show the header AI input unless explicitly requested. */
1625
2646
  searchPlacement?: CAppHeaderSearchPlacement;
1626
- floatingSearchSx?: SxProps<Theme>;
2647
+ floatingSearchSx?: CSSProperties;
1627
2648
  onSearch?: (query: string) => void;
1628
2649
  onSearchAdd?: () => void;
1629
2650
  rightHeaderSlot?: ReactNode;
1630
2651
  leftHeaderSlot?: ReactNode;
1631
- contentSx?: SxProps<Theme>;
2652
+ contentSx?: CSSProperties;
2653
+ /** Selects the navigation island visual generation. Defaults to classic. */
2654
+ navigationVariant?: CAppNavigationVariant;
1632
2655
  navigationMode?: NavigationIslandDisplayMode;
1633
2656
  defaultNavigationMode?: NavigationIslandDisplayMode;
1634
2657
  onNavigationModeChange?: (mode: NavigationIslandDisplayMode) => void;
1635
2658
  showNavigationModeToggle?: boolean;
2659
+ enableNavigationPinning?: boolean;
2660
+ navigationPinStorageKey?: string;
2661
+ pinnedNavigationItemIds?: string[];
2662
+ defaultPinnedNavigationItemIds?: string[];
2663
+ onPinnedNavigationItemIdsChange?: (ids: string[]) => void;
2664
+ pinnedNavigationSectionTitle?: string;
1636
2665
  }
1637
2666
 
1638
- declare const CAppPageLayout: ({ appTitle, menuData, children, showNavigation, locale, localeLabel, localeOptions, onLocaleChange, user, onUserSetting, onUserLogout, userMenuItems, logo, searchPlaceholder, searchPlacement, floatingSearchSx, onSearch, onSearchAdd, rightHeaderSlot, leftHeaderSlot, contentSx, navigationMode, defaultNavigationMode, onNavigationModeChange, showNavigationModeToggle, }: CAppPageLayoutProps) => react_jsx_runtime.JSX.Element;
2667
+ declare const CAppPageLayout: ({ appTitle, menuData, children, showNavigation, locale, localeLabel, localeOptions, onLocaleChange, user, onUserRefresh, onUserSetting, onUserLogout, userMenuItems, logo, searchPlaceholder, searchPlacement, floatingSearchSx, onSearch, onSearchAdd, rightHeaderSlot, leftHeaderSlot, contentSx, navigationVariant, navigationMode, defaultNavigationMode, onNavigationModeChange, showNavigationModeToggle, enableNavigationPinning, navigationPinStorageKey, pinnedNavigationItemIds, defaultPinnedNavigationItemIds, onPinnedNavigationItemIdsChange, pinnedNavigationSectionTitle, }: CAppPageLayoutProps) => react.JSX.Element;
1639
2668
 
1640
2669
  interface CAppHeaderSearchProps {
1641
2670
  searchPlaceholder?: string;
1642
2671
  onSearch?: (query: string) => void;
1643
2672
  onSearchAdd?: () => void;
1644
2673
  maxWidth?: number | string;
1645
- sx?: SxProps<Theme>;
2674
+ sx?: CSSProperties;
1646
2675
  }
1647
- declare const CAppHeaderSearch: ({ searchPlaceholder, onSearch, onSearchAdd, maxWidth, sx, }: CAppHeaderSearchProps) => react_jsx_runtime.JSX.Element;
1648
- declare const CAppHeader: ({ appTitle, logo, mode, onToggleMode, locale: localeProp, localeLabel, localeOptions, onLocaleChange, searchPlaceholder, showSearch, onSearch, onSearchAdd, user, onUserSetting, onUserLogout, userMenuItems, leftSlot, rightSlot, }: CAppHeaderProps) => react_jsx_runtime.JSX.Element;
2676
+ declare const CAppHeaderSearch: ({ searchPlaceholder, onSearch, onSearchAdd, maxWidth, sx, }: CAppHeaderSearchProps) => react.JSX.Element;
2677
+ declare const CAppHeader: ({ appTitle, logo, onToggleMode, locale: localeProp, localeLabel, localeOptions, onLocaleChange, searchPlaceholder, showSearch, onSearch, onSearchAdd, user, onUserRefresh, onUserSetting, onUserLogout, userMenuItems, leftSlot, rightSlot, }: CAppHeaderProps) => react.JSX.Element;
1649
2678
 
1650
2679
  interface UsePageLayoutOptions {
1651
2680
  menuData?: TreeMenuItem[];
1652
2681
  initialNavigationCollapsed?: boolean;
1653
2682
  initialNavigationMode?: NavigationIslandDisplayMode;
1654
- }
1655
- declare const usePageLayout: ({ menuData, initialNavigationCollapsed, initialNavigationMode, }?: UsePageLayoutOptions) => {
1656
- navigationIslandProps: Pick<NavigationIslandProps, "collapsed" | "onToggle" | "menuData" | "displayMode" | "onDisplayModeChange">;
2683
+ enableNavigationPinning?: boolean;
2684
+ navigationPinStorageKey?: string;
2685
+ pinnedNavigationItemIds?: string[];
2686
+ defaultPinnedNavigationItemIds?: string[];
2687
+ onPinnedNavigationItemIdsChange?: (ids: string[]) => void;
2688
+ pinnedNavigationSectionTitle?: string;
2689
+ }
2690
+ declare const usePageLayout: ({ menuData, initialNavigationCollapsed, initialNavigationMode, enableNavigationPinning, navigationPinStorageKey, pinnedNavigationItemIds, defaultPinnedNavigationItemIds, onPinnedNavigationItemIdsChange, pinnedNavigationSectionTitle, }?: UsePageLayoutOptions) => {
2691
+ navigationIslandProps: Pick<NavigationIslandProps, "onToggle" | "enablePinning" | "collapsed" | "menuData" | "displayMode" | "onDisplayModeChange" | "pinStorageKey" | "pinnedItemIds" | "defaultPinnedItemIds" | "onPinnedItemIdsChange" | "pinnedSectionTitle">;
1657
2692
  navigationMaxHeight: number;
1658
2693
  };
1659
2694
 
@@ -1699,31 +2734,31 @@ interface PivotTablePreset {
1699
2734
  }
1700
2735
  interface PivotTableModel {
1701
2736
  rowFields: string[];
1702
- setRowFields: React__default.Dispatch<React__default.SetStateAction<string[]>>;
2737
+ setRowFields: react__default.Dispatch<react__default.SetStateAction<string[]>>;
1703
2738
  columnFields: string[];
1704
- setColumnFields: React__default.Dispatch<React__default.SetStateAction<string[]>>;
2739
+ setColumnFields: react__default.Dispatch<react__default.SetStateAction<string[]>>;
1705
2740
  filterFields: string[];
1706
- setFilterFields: React__default.Dispatch<React__default.SetStateAction<string[]>>;
2741
+ setFilterFields: react__default.Dispatch<react__default.SetStateAction<string[]>>;
1707
2742
  valueFields: PivotValueFieldState[];
1708
- setValueFields: React__default.Dispatch<React__default.SetStateAction<PivotValueFieldState[]>>;
2743
+ setValueFields: react__default.Dispatch<react__default.SetStateAction<PivotValueFieldState[]>>;
1709
2744
  filterSelections: PivotFilterSelections;
1710
- setFilterSelections: React__default.Dispatch<React__default.SetStateAction<PivotFilterSelections>>;
2745
+ setFilterSelections: react__default.Dispatch<react__default.SetStateAction<PivotFilterSelections>>;
1711
2746
  showGrandTotal: boolean;
1712
- setShowGrandTotal: React__default.Dispatch<React__default.SetStateAction<boolean>>;
2747
+ setShowGrandTotal: react__default.Dispatch<react__default.SetStateAction<boolean>>;
1713
2748
  isConfiguratorCollapsed: boolean;
1714
- setIsConfiguratorCollapsed: React__default.Dispatch<React__default.SetStateAction<boolean>>;
2749
+ setIsConfiguratorCollapsed: react__default.Dispatch<react__default.SetStateAction<boolean>>;
1715
2750
  chartDimensionFieldId: string;
1716
- setChartDimensionFieldId: React__default.Dispatch<React__default.SetStateAction<string>>;
2751
+ setChartDimensionFieldId: react__default.Dispatch<react__default.SetStateAction<string>>;
1717
2752
  chartPrimaryValueFieldId: string;
1718
- setChartPrimaryValueFieldId: React__default.Dispatch<React__default.SetStateAction<string>>;
2753
+ setChartPrimaryValueFieldId: react__default.Dispatch<react__default.SetStateAction<string>>;
1719
2754
  chartSecondaryValueFieldId: string;
1720
- setChartSecondaryValueFieldId: React__default.Dispatch<React__default.SetStateAction<string>>;
2755
+ setChartSecondaryValueFieldId: react__default.Dispatch<react__default.SetStateAction<string>>;
1721
2756
  chartType: PivotChartType;
1722
- setChartType: React__default.Dispatch<React__default.SetStateAction<PivotChartType>>;
2757
+ setChartType: react__default.Dispatch<react__default.SetStateAction<PivotChartType>>;
1723
2758
  isChartCollapsed: boolean;
1724
- setIsChartCollapsed: React__default.Dispatch<React__default.SetStateAction<boolean>>;
2759
+ setIsChartCollapsed: react__default.Dispatch<react__default.SetStateAction<boolean>>;
1725
2760
  isTableCollapsed: boolean;
1726
- setIsTableCollapsed: React__default.Dispatch<React__default.SetStateAction<boolean>>;
2761
+ setIsTableCollapsed: react__default.Dispatch<react__default.SetStateAction<boolean>>;
1727
2762
  }
1728
2763
  interface CPivotTableProps {
1729
2764
  title?: string;
@@ -1744,7 +2779,7 @@ interface CPivotTableProps {
1744
2779
  onPresetApplied?: (preset: PivotTablePreset) => void;
1745
2780
  }
1746
2781
 
1747
- declare const CPivotTable: React__default.FC<CPivotTableProps>;
2782
+ declare const CPivotTable: react__default.FC<CPivotTableProps>;
1748
2783
 
1749
2784
  interface UsePivotTableOptions {
1750
2785
  fields: PivotFieldDefinition[];
@@ -1811,7 +2846,7 @@ interface PivotChartPanelProps {
1811
2846
  onToggleCollapse: () => void;
1812
2847
  getAggregationLabel: (aggregation: ValueZoneItem['aggregation']) => string;
1813
2848
  }
1814
- declare const PivotChartPanel: React__default.FC<PivotChartPanelProps>;
2849
+ declare const PivotChartPanel: react__default.FC<PivotChartPanelProps>;
1815
2850
 
1816
2851
  type POrientation = 'auto' | 'portrait' | 'landscape';
1817
2852
  interface PTouchCardSwipeAction {
@@ -2010,21 +3045,21 @@ declare global {
2010
3045
  };
2011
3046
  }
2012
3047
  }
2013
- declare const PBarcodeScanner: ({ open, onClose, title, subtitle, formats, facingMode, manualEntry, autoCloseOnDetect, scanIntervalMs, confirmLabel, cancelLabel, manualPlaceholder, onDetected, onError, sx, }: PBarcodeScannerProps) => react_jsx_runtime.JSX.Element;
3048
+ declare const PBarcodeScanner: ({ open, onClose, title, subtitle, formats, facingMode, manualEntry, autoCloseOnDetect, scanIntervalMs, confirmLabel, cancelLabel, manualPlaceholder, onDetected, onError, sx, }: PBarcodeScannerProps) => react__default.JSX.Element;
2014
3049
 
2015
- declare const PTouchCard: ({ title, description, kicker, icon, badges, metrics, footer, children, selected, draggable, isDragging, swipeThreshold, startAction, endAction, dragHandleProps, onClick, onSwipe, sx, }: PTouchCardProps) => react_jsx_runtime.JSX.Element;
3050
+ declare const PTouchCard: ({ title, description, kicker, icon, badges, metrics, footer, children, selected, draggable, isDragging, swipeThreshold, startAction, endAction, dragHandleProps, onClick, onSwipe, sx, }: PTouchCardProps) => react.JSX.Element;
2016
3051
 
2017
- declare const PNumericKeypad: ({ value, defaultValue, title, subtitle, placeholder, allowDecimal, allowNegative, maxLength, confirmLabel, clearLabel, backspaceLabel, onChange, onSubmit, onClose, sx, }: PNumericKeypadProps) => react_jsx_runtime.JSX.Element;
3052
+ declare const PNumericKeypad: ({ value, defaultValue, title, subtitle, placeholder, allowDecimal, allowNegative, maxLength, confirmLabel, clearLabel, backspaceLabel, onChange, onSubmit, onClose, sx, }: PNumericKeypadProps) => react.JSX.Element;
2018
3053
 
2019
- declare const PSmartFilter: ({ touchMode, sx, ...props }: PSmartFilterProps) => react_jsx_runtime.JSX.Element;
3054
+ declare const PSmartFilter: ({ touchMode, sx, ...props }: PSmartFilterProps) => react.JSX.Element;
2020
3055
 
2021
- declare const PWorkloadNav: ({ items, selectedId, orientation, onItemSelect, sx }: PWorkloadNavProps) => react_jsx_runtime.JSX.Element;
3056
+ declare const PWorkloadNav: ({ items, selectedId, orientation, onItemSelect, sx }: PWorkloadNavProps) => react.JSX.Element;
2022
3057
 
2023
- declare const PNavIsland: ({ collapsed, onToggle, className, maxHeight, menuData, colorMode, orientation, headerSlot, footerSlot, activeHref, onItemSelect, }: PNavIslandProps) => react_jsx_runtime.JSX.Element;
3058
+ declare const PNavIsland: ({ collapsed, onToggle, className, maxHeight, menuData, colorMode, orientation, headerSlot, footerSlot, activeHref, onItemSelect, }: PNavIslandProps) => react.JSX.Element;
2024
3059
 
2025
- declare const PTable: React__default.FC<PTableProps>;
3060
+ declare const PTable: react__default.FC<PTableProps>;
2026
3061
 
2027
- declare const PAppPageLayout: ({ appTitle, children, menuData, workloadItems, workloadSelectedId, showNavigation, showWorkloadNav, orientation, logo, headerSlot, actionSlot, portraitBottomSlot, contentSx, containerSx, user, onSearch, onSearchAdd, defaultNavigationOpen, navOpen, onNavOpenChange, onWorkloadSelect, locale, localeLabel, localeOptions, onLocaleChange, onUserSetting, onUserLogout, userMenuItems, leftHeaderSlot, rightHeaderSlot, }: PAppPageLayoutProps) => react_jsx_runtime.JSX.Element;
3062
+ declare const PAppPageLayout: ({ appTitle, children, menuData, workloadItems, workloadSelectedId, showNavigation, showWorkloadNav, orientation, logo, headerSlot, actionSlot, portraitBottomSlot, contentSx, containerSx, user, onSearch, onSearchAdd, defaultNavigationOpen, navOpen, onNavOpenChange, onWorkloadSelect, locale, localeLabel, localeOptions, onLocaleChange, onUserSetting, onUserLogout, userMenuItems, leftHeaderSlot, rightHeaderSlot, }: PAppPageLayoutProps) => react.JSX.Element;
2028
3063
 
2029
3064
  interface UseVoiceInputOptions {
2030
3065
  onTextUpdate?: (text: string) => void;
@@ -2066,14 +3101,14 @@ type VoiceNavigatorProviderProps = CAINavProviderProps;
2066
3101
  type VoiceNavigatorContextValue = AINavContextValue;
2067
3102
  type VoiceWaveOverlayProps = CVoiceWaveOverlayProps;
2068
3103
 
2069
- declare function CAINavProvider({ children, onVoiceSubmit, onVoicePartial, onVoiceError, longPressMs, disableSpaceTrigger, ignoreWhenFocusedInput, renderOverlay, wsUrl, silenceThresholdMs, minVolumeRms }: CAINavProviderProps): react_jsx_runtime.JSX.Element;
3104
+ declare function CAINavProvider({ children, onVoiceSubmit, onVoicePartial, onVoiceError, longPressMs, disableSpaceTrigger, ignoreWhenFocusedInput, renderOverlay, wsUrl, silenceThresholdMs, minVolumeRms }: CAINavProviderProps): react.JSX.Element;
2070
3105
  declare function useAINav(): AINavContextValue;
2071
3106
  declare const VoiceNavigatorProvider: typeof CAINavProvider;
2072
3107
  declare const useVoiceNavigator: typeof useAINav;
2073
3108
 
2074
3109
  declare function useVoiceInput({ onTextUpdate, onComplete, onError, wsUrl, silenceThresholdMs, minVolumeRms }: UseVoiceInputOptions): UseVoiceInputResult;
2075
3110
 
2076
- declare function CVoiceWaveOverlay({ isRecording }: CVoiceWaveOverlayProps): react_jsx_runtime.JSX.Element;
3111
+ declare function CVoiceWaveOverlay({ isRecording }: CVoiceWaveOverlayProps): react.JSX.Element;
2077
3112
  declare const VoiceWaveOverlay: typeof CVoiceWaveOverlay;
2078
3113
 
2079
3114
  interface COrbCanvasProps {
@@ -2083,7 +3118,7 @@ interface COrbCanvasProps {
2083
3118
  forceHoverState?: boolean;
2084
3119
  backgroundColor?: string;
2085
3120
  }
2086
- declare function COrbCanvas({ hue, hoverIntensity, rotateOnHover, forceHoverState, backgroundColor }: COrbCanvasProps): react_jsx_runtime.JSX.Element;
3121
+ declare function COrbCanvas({ hue, hoverIntensity, rotateOnHover, forceHoverState, backgroundColor }: COrbCanvasProps): react.JSX.Element;
2087
3122
 
2088
3123
  interface TableTypeContent {
2089
3124
  type: 'table';
@@ -2139,7 +3174,7 @@ interface ChatMessage {
2139
3174
  timestamp: Date;
2140
3175
  isStreaming?: boolean;
2141
3176
  }
2142
- declare const ChatMessage: React__default.FC<ChatMessageProps>;
3177
+ declare const ChatMessage: react__default.FC<ChatMessageProps>;
2143
3178
 
2144
3179
  interface StdChatProps {
2145
3180
  messages: ChatMessage[];
@@ -2154,18 +3189,22 @@ interface StdChatProps {
2154
3189
  onMessageStreamingComplete?: (messageId: string) => void;
2155
3190
  cardHooks?: AgentUICardHooks;
2156
3191
  showInput?: boolean;
3192
+ /** Optional in-flow status line rendered after the last message (e.g. spinner + working text). */
3193
+ statusLine?: react__default.ReactNode;
2157
3194
  }
2158
- declare const StdChat: React__default.FC<StdChatProps>;
3195
+ declare const StdChat: react__default.FC<StdChatProps>;
2159
3196
 
2160
3197
  type AgentPanelStatus = 'idle' | 'running' | 'success' | 'error' | 'pending';
2161
3198
  interface AgentPanelProps extends StdChatProps {
2162
3199
  title?: string;
2163
3200
  description?: string;
2164
- headerActions?: React__default.ReactNode;
3201
+ headerActions?: react__default.ReactNode;
2165
3202
  agentStatus?: AgentPanelStatus;
2166
- onHeaderPointerDown?: React__default.PointerEventHandler<HTMLDivElement>;
3203
+ /** Optional status line (spinner + text) shown while running/pending. */
3204
+ statusText?: react__default.ReactNode;
3205
+ onHeaderPointerDown?: react__default.PointerEventHandler<HTMLDivElement>;
2167
3206
  }
2168
- declare const AgentPanel: React__default.FC<AgentPanelProps>;
3207
+ declare const AgentPanel: react__default.FC<AgentPanelProps>;
2169
3208
 
2170
3209
  type FloatingAgentPanelAnchor = 'left' | 'center' | 'right';
2171
3210
  interface FloatingAgentPanelProps extends AgentPanelProps {
@@ -2178,9 +3217,9 @@ interface FloatingAgentPanelProps extends AgentPanelProps {
2178
3217
  inset?: number;
2179
3218
  zIndex?: number;
2180
3219
  shellClassName?: string;
2181
- shellStyle?: React__default.CSSProperties;
3220
+ shellStyle?: react__default.CSSProperties;
2182
3221
  }
2183
- declare const FloatingAgentPanel: React__default.FC<FloatingAgentPanelProps>;
3222
+ declare const FloatingAgentPanel: react__default.FC<FloatingAgentPanelProps>;
2184
3223
 
2185
3224
  type CopilotCorner = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
2186
3225
  interface CopilotChatProps {
@@ -2194,7 +3233,7 @@ interface CopilotChatProps {
2194
3233
  title?: string;
2195
3234
  corner?: CopilotCorner;
2196
3235
  onCollapse?: () => void;
2197
- onHeaderPointerDown?: (e: React__default.PointerEvent<HTMLDivElement>) => void;
3236
+ onHeaderPointerDown?: (e: react__default.PointerEvent<HTMLDivElement>) => void;
2198
3237
  onPlusClick?: () => void;
2199
3238
  onMicClick?: () => void;
2200
3239
  streamIntervalMs?: number;
@@ -2202,15 +3241,16 @@ interface CopilotChatProps {
2202
3241
  onMessageStreamingComplete?: (messageId: string) => void;
2203
3242
  cardHooks?: AgentUICardHooks;
2204
3243
  }
2205
- declare const CopilotChat: React__default.FC<CopilotChatProps>;
3244
+ declare const CopilotChat: react__default.FC<CopilotChatProps>;
2206
3245
 
2207
3246
  type AIBrowserGlowColors = readonly [string, string, string];
2208
3247
  interface AIBrowserGlowProps {
2209
3248
  active?: boolean;
3249
+ /** Compatibility: kept as a 3-tuple; only the first color is used as the edge line color. */
2210
3250
  colors?: AIBrowserGlowColors;
2211
3251
  zIndex?: number;
2212
3252
  }
2213
- declare const AIBrowserGlow: React__default.FC<AIBrowserGlowProps>;
3253
+ declare const AIBrowserGlow: react__default.FC<AIBrowserGlowProps>;
2214
3254
 
2215
3255
  type AuthPageMode = 'login' | 'register' | 'forgot';
2216
3256
  interface AuthLoginPayload {
@@ -2232,6 +3272,8 @@ interface AuthPageCopy {
2232
3272
  productName?: string;
2233
3273
  headline?: string;
2234
3274
  subheadline?: string;
3275
+ /** Small uppercase line at the bottom of the brand panel. */
3276
+ brandMeta?: string;
2235
3277
  loginTitle?: string;
2236
3278
  loginSubtitle?: string;
2237
3279
  registerTitle?: string;
@@ -2249,7 +3291,8 @@ interface CAuthPageProps {
2249
3291
  loading?: boolean;
2250
3292
  logo?: ReactNode;
2251
3293
  copy?: AuthPageCopy;
2252
- sx?: SxProps<Theme>;
3294
+ /** Inline style override on the root frame. */
3295
+ sx?: CSSProperties;
2253
3296
  }
2254
3297
 
2255
3298
  interface UseAuthPageOptions {
@@ -2266,7 +3309,14 @@ interface UseAuthPageResult {
2266
3309
  }
2267
3310
  declare const useAuthPage: ({ defaultMode, onLogin, onRegister, onForgotPassword, }?: UseAuthPageOptions) => UseAuthPageResult;
2268
3311
 
2269
- declare const CAuthPage: ({ mode, defaultMode, onModeChange, onLogin, onRegister, onForgotPassword, loading, logo, copy, sx, }: CAuthPageProps) => react_jsx_runtime.JSX.Element;
3312
+ /**
3313
+ * ORBIS login page (per orbcafe-orbis-login-reference.html):
3314
+ * dark campaign brand panel (#01091a, CSS diamond lattice, one 2px orange
3315
+ * rule) beside a quiet form surface. All form logic, modes, callbacks and
3316
+ * breakpoints of the previous implementation are retained — this is a
3317
+ * color/type/texture pass. The logo slot stays host-supplied.
3318
+ */
3319
+ declare const CAuthPage: ({ mode, defaultMode, onModeChange, onLogin, onRegister, onForgotPassword, loading, logo, copy, sx, }: CAuthPageProps) => react.JSX.Element;
2270
3320
 
2271
3321
  type PlanningGanttScale = 'hour' | 'day' | 'week' | 'month';
2272
3322
  type PlanningTaskStatus = 'not-started' | 'planned' | 'in-progress' | 'blocked' | 'done' | string;
@@ -2393,7 +3443,7 @@ interface CPlanningLayoutProps {
2393
3443
  sx?: SxProps<Theme>;
2394
3444
  children?: ReactNode;
2395
3445
  }
2396
- declare const CPlanningLayout: ({ filterProps, ganttProps, spacing, sx, children, }: CPlanningLayoutProps) => react_jsx_runtime.JSX.Element;
3446
+ declare const CPlanningLayout: ({ filterProps, ganttProps, spacing, sx, children, }: CPlanningLayoutProps) => react.JSX.Element;
2397
3447
 
2398
3448
  interface UsePlanningLayoutOptions extends UsePlanningGanttOptions {
2399
3449
  }
@@ -2402,7 +3452,7 @@ interface UsePlanningLayoutResult extends UsePlanningGanttResult {
2402
3452
  }
2403
3453
  declare const usePlanningLayout: (options: UsePlanningLayoutOptions) => UsePlanningLayoutResult;
2404
3454
 
2405
- declare const CPlanningGantt: ({ appId, tableKey, serviceUrl, title, extraTools, bodyHeight, tasks, columns, scale, onScaleChange, page, rowsPerPage, rowsPerPageOptions, count, onPageChange, onRowsPerPageChange, timelineStart, timelineEnd, selectedTaskId, onTaskSelect, enableRowReorder, onTaskReorder, layout, layoutVariant, layoutVariantLoadKey, onLayoutIdChange, onLayoutSave, emptyLabel, sx, }: CPlanningGanttProps) => react_jsx_runtime.JSX.Element;
3455
+ declare const CPlanningGantt: ({ appId, tableKey, serviceUrl, title, extraTools, bodyHeight, tasks, columns, scale, onScaleChange, page, rowsPerPage, rowsPerPageOptions, count, onPageChange, onRowsPerPageChange, timelineStart, timelineEnd, selectedTaskId, onTaskSelect, enableRowReorder, onTaskReorder, layout, layoutVariant, layoutVariantLoadKey, onLayoutIdChange, onLayoutSave, emptyLabel, sx, }: CPlanningGanttProps) => react.JSX.Element;
2406
3456
 
2407
3457
  type CTreeCompPaneMode = 'tree' | 'split' | 'detail';
2408
3458
  interface CTreeCompNode {
@@ -2451,7 +3501,7 @@ interface CTreeCompProps<TNode extends CTreeCompNode = CTreeCompNode> {
2451
3501
  sx?: SxProps<Theme>;
2452
3502
  className?: string;
2453
3503
  }
2454
- declare const CTreeComp: <TNode extends CTreeCompNode = CTreeCompNode>({ title, subtitle, nodes, columns, detail, selectedNodeId, defaultSelectedNodeId, onNodeSelect, expandedNodeIds, defaultExpandedNodeIds, onExpandedNodeIdsChange, defaultPaneMode, minTreePaneWidth, minDetailPaneWidth, tableAppId, tableKey, tableTitle, filterConfig, searchQuery, searchToken, defaultRowsPerPage, rowsPerPageOptions, serviceUrl, emptyLabel, headerAction, sx, className, }: CTreeCompProps<TNode>) => react_jsx_runtime.JSX.Element;
3504
+ declare const CTreeComp: <TNode extends CTreeCompNode = CTreeCompNode>({ title, subtitle, nodes, columns, detail, selectedNodeId, defaultSelectedNodeId, onNodeSelect, expandedNodeIds, defaultExpandedNodeIds, onExpandedNodeIdsChange, defaultPaneMode, minTreePaneWidth, minDetailPaneWidth, tableAppId, tableKey, tableTitle, filterConfig, searchQuery, searchToken, defaultRowsPerPage, rowsPerPageOptions, serviceUrl, emptyLabel, headerAction, sx, className, }: CTreeCompProps<TNode>) => react.JSX.Element;
2455
3505
 
2456
3506
  interface MarkdownRendererProps {
2457
3507
  markdown?: string;
@@ -2463,7 +3513,7 @@ interface MarkdownRendererProps {
2463
3513
  codeCopyable?: boolean;
2464
3514
  codeLineNumbers?: boolean;
2465
3515
  }
2466
- declare const MarkdownRenderer: ({ markdown, content, className, enableMath, enableMermaid, enableThinkBlock, codeCopyable, codeLineNumbers, }: MarkdownRendererProps) => react_jsx_runtime.JSX.Element;
3516
+ declare const MarkdownRenderer: ({ markdown, content, className, enableMath, enableMermaid, enableThinkBlock, codeCopyable, codeLineNumbers, }: MarkdownRendererProps) => react.JSX.Element;
2467
3517
 
2468
3518
  interface CodeBlockProps {
2469
3519
  code: string;
@@ -2473,14 +3523,14 @@ interface CodeBlockProps {
2473
3523
  wrapLongLines?: boolean;
2474
3524
  maxHeight?: number | string;
2475
3525
  }
2476
- declare const CodeBlock: ({ code, language, copyable, showLineNumbers, wrapLongLines, maxHeight, }: CodeBlockProps) => react_jsx_runtime.JSX.Element;
3526
+ declare const CodeBlock: ({ code, language, copyable, showLineNumbers, wrapLongLines, maxHeight, }: CodeBlockProps) => react.JSX.Element;
2477
3527
 
2478
3528
  interface MathBlockProps {
2479
3529
  expression: string;
2480
3530
  inline?: boolean;
2481
3531
  allowKatex?: boolean;
2482
3532
  }
2483
- declare const MathBlock: ({ expression, inline, allowKatex }: MathBlockProps) => react_jsx_runtime.JSX.Element | null;
3533
+ declare const MathBlock: ({ expression, inline, allowKatex }: MathBlockProps) => react.JSX.Element | null;
2484
3534
 
2485
3535
  interface MermaidBlockProps {
2486
3536
  code: string;
@@ -2488,7 +3538,7 @@ interface MermaidBlockProps {
2488
3538
  height?: number | string;
2489
3539
  enabled?: boolean;
2490
3540
  }
2491
- declare const MermaidBlock: ({ code, title, height, enabled, }: MermaidBlockProps) => react_jsx_runtime.JSX.Element;
3541
+ declare const MermaidBlock: ({ code, title, height, enabled, }: MermaidBlockProps) => react.JSX.Element;
2492
3542
 
2493
3543
  type TableAlign = 'left' | 'center' | 'right';
2494
3544
  interface ParsedMarkdownTable {
@@ -2502,7 +3552,7 @@ interface TableBlockProps {
2502
3552
  maxHeight?: number | string;
2503
3553
  }
2504
3554
  declare const parseMarkdownTable: (markdown: string) => ParsedMarkdownTable | null;
2505
- declare const TableBlock: ({ markdown, table, maxHeight }: TableBlockProps) => react_jsx_runtime.JSX.Element;
3555
+ declare const TableBlock: ({ markdown, table, maxHeight }: TableBlockProps) => react.JSX.Element;
2506
3556
 
2507
3557
  interface ThinkBlockProps {
2508
3558
  content: string;
@@ -2510,7 +3560,7 @@ interface ThinkBlockProps {
2510
3560
  defaultExpanded?: boolean;
2511
3561
  isStreaming?: boolean;
2512
3562
  }
2513
- declare const ThinkBlock: ({ content, title, defaultExpanded, isStreaming, }: ThinkBlockProps) => react_jsx_runtime.JSX.Element;
3563
+ declare const ThinkBlock: ({ content, title, defaultExpanded, isStreaming, }: ThinkBlockProps) => react.JSX.Element;
2514
3564
 
2515
3565
  declare const renderMarkdown: (markdown: string, options?: Omit<MarkdownRendererProps, "markdown" | "content">) => ReactNode;
2516
3566
 
@@ -2531,7 +3581,7 @@ interface CPageTransitionProps {
2531
3581
  * - no layout-thrashing animation
2532
3582
  * - respects reduced-motion automatically
2533
3583
  */
2534
- declare const CPageTransition: ({ children, transitionKey, variant, durationMs, delayMs, easing, disabled, sx, }: CPageTransitionProps) => react_jsx_runtime.JSX.Element;
3584
+ declare const CPageTransition: ({ children, transitionKey, variant, durationMs, delayMs, easing, disabled, sx, }: CPageTransitionProps) => react.JSX.Element;
2535
3585
  declare const PAGE_TRANSITION_PRESETS: {
2536
3586
  subtle: {
2537
3587
  variant: "fade";
@@ -2547,4 +3597,4 @@ declare const PAGE_TRANSITION_PRESETS: {
2547
3597
  };
2548
3598
  };
2549
3599
 
2550
- export { AIBrowserGlow, type AIBrowserGlowColors, type AIBrowserGlowProps, type AINavContextValue, AgentPanel, type AgentPanelProps, type AgentPanelStatus, type AgentUICardAction, type AgentUICardHookEvent, type AgentUICardHooks, type AgentUICardType, type AmapEmbedOptions, type AuthForgotPasswordPayload, type AuthLoginPayload, type AuthPageCopy, type AuthPageMode, type AuthRegisterPayload, Button, type ButtonProps, CAINavProvider, type CAINavProviderProps, CAmapChart, type CAmapChartProps, CAppHeader, type CAppHeaderProps, CAppHeaderSearch, type CAppHeaderSearchPlacement, type CAppHeaderSearchProps, type CAppHeaderUser, type CAppHeaderUserMenuItem, CAppPageLayout, type CAppPageLayoutProps, CAuthPage, type CAuthPageProps, 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, CKanbanBoard, type CKanbanBoardProps, CKanbanBucket, type CKanbanBucketProps, CKanbanCard, type CKanbanCardProps, CLayoutManagement, type CLayoutManagementProps, CLayoutManager, type CLayoutManagerProps, CLineChart, type CLineChartProps, CMessageBox, type CMessageBoxProps, type CMessageBoxType, COrbCanvas, type COrbCanvasProps, CPageLayout, type CPageLayoutProps, CPageTransition, type CPageTransitionProps, CPieChart, type CPieChartProps, CPivotTable, type CPivotTableProps, CPlanningGantt, type CPlanningGanttProps, CPlanningLayout, type CPlanningLayoutProps, 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, CTreeComp, type CTreeCompColumn, type CTreeCompNode, type CTreeCompPaneMode, type CTreeCompProps, CValueHelp, type CValueHelpColumn, type CValueHelpMode, type CValueHelpPrimitive, type CValueHelpProps, type CValueHelpRecord, type CValueHelpSelectionValue, CVariantManagement, type CVariantManagementProps, CVariantManager, CVoiceWaveOverlay, type CVoiceWaveOverlayProps, CWaterfallChart, type CWaterfallChartProps, ChatMessage, CodeBlock, type CodeBlockProps, CopilotChat, type CopilotChatProps, type CreateKanbanBoardModelOptions, 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, FloatingAgentPanel, type FloatingAgentPanelAnchor, type FloatingAgentPanelProps, 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 KanbanBoardModel, type KanbanBucketDefinition, type KanbanBucketModel, type KanbanCardAssignee, type KanbanCardClickContext, type KanbanCardLookup, type KanbanCardMetric, type KanbanCardMoveEvent, type KanbanCardMoveInput, type KanbanCardPriority, type KanbanCardRecord, type KanbanCardTag, type KanbanCardTone, type LayoutMetadata, MarkdownRenderer, type MarkdownRendererProps, MathBlock, type MathBlockProps, MermaidBlock, type MermaidBlockProps, type MessageContent, type MessageEvent, type MessageOptions, NavigationIsland, type NavigationIslandDisplayMode, type NavigationIslandProps, type NumberOperator, ORBCAFE_I18N_MESSAGES, type OrbcafeI18nContextValue, OrbcafeI18nProvider, type OrbcafeI18nProviderProps, type OrbcafeLocale, type OrbcafeLocaleMessages, type OrbcafeMessageKey, type OrbcafeMessageParams, PAGE_TRANSITION_PRESETS, PAppPageLayout, type PAppPageLayoutProps, PBarcodeScanner, type PBarcodeScannerDetectedValue, type PBarcodeScannerProps, PNavIsland, type PNavIslandProps, PNumericKeypad, type PNumericKeypadProps, type POrientation, PSmartFilter, type PSmartFilterProps, PTable, type PTableProps, PTouchCard, type PTouchCardMetric, type PTouchCardProps, type PTouchCardSwipeAction, PWorkloadNav, type PWorkloadNavItem, type PWorkloadNavProps, type PageTransitionVariant, type ParsedMarkdownTable, type PivotAggregation, type PivotChartConfig, PivotChartPanel, type PivotChartType, type PivotFieldDefinition, type PivotFieldType, type PivotFilterSelections, type PivotLayoutConfig, type PivotTableModel, type PivotTablePreset, type PivotValueFieldConfig, type PivotValueFieldState, type PlanningGanttColumn, type PlanningGanttScale, type PlanningGanttSummaryItem, type PlanningTaskOwner, type PlanningTaskRecord, type PlanningTaskStatus, type ReportColumn, type ReportFilter, type ReportMetadata, type SelectOperator, StdChat, type StdChatProps, type TableAlign, TableBlock, type TableBlockProps, type TextOperator, ThinkBlock, type ThinkBlockProps, TreeMenu, type TreeMenuItem, type UseAmapEmbedUrlOptions, type UseAuthPageOptions, type UseAuthPageResult, type UseDetailInfoOptions, type UseDetailInfoResult, type UseGoogleMapEmbedUrlOptions, type UseGraphChartDataOptions, type UseGraphChartDataResult, type UseGraphInteractionResult, type UseGraphReportOptions, type UseGraphReportResult, type UseKanbanBoardActions, type UseKanbanBoardBindings, type UseKanbanBoardOptions, type UseKanbanBoardResult, type UseNavigationIslandOptions, type UseNavigationIslandResult, type UsePadLayoutOptions, type UsePadLayoutResult, type UsePadRecordEditorOptions, type UsePadRecordEditorResult, type UsePageLayoutOptions, type UsePivotTableOptions, type UsePivotTableResult, type UsePlanningGanttOptions, type UsePlanningGanttResult, type UsePlanningLayoutOptions, type UsePlanningLayoutResult, type UseStandardReportOptions, type UseVoiceInputOptions, type UseVoiceInputResult, type VariantMetadata, type VoiceNavigatorContextValue, VoiceNavigatorProvider, type VoiceNavigatorProviderProps, VoiceWaveOverlay, type VoiceWaveOverlayProps, buildAmapEmbedUrl, buildGoogleMapEmbedUrl, buildGoogleMapIframe, buttonVariants, createKanbanBoardModel, findKanbanCard, message, messageManager, moveKanbanCard, parseMarkdownTable, renderMarkdown, resolveVariantFilters, resolveVariantLayout, useAINav, useAmapEmbedUrl, useAuthPage, useDetailInfo, useGoogleMapEmbedUrl, useGraphChartData, useGraphInteraction, useGraphReport, useKanbanBoard, useNavigationIsland, useOrbcafeI18n, usePadLayout, usePadRecordEditor, usePageLayout, usePivotTable, usePlanningGantt, usePlanningLayout, useStandardReport, useVoiceInput, useVoiceNavigator };
3600
+ export { AIBrowserGlow, type AIBrowserGlowColors, type AIBrowserGlowProps, type AINavContextValue, Activity, AgentPanel, type AgentPanelProps, type AgentPanelStatus, type AgentUICardAction, type AgentUICardHookEvent, type AgentUICardHooks, type AgentUICardType, AlertCircle, AlertTriangle, type AmapEmbedOptions, ArrowDown, ArrowRight, ArrowUp, type AuthForgotPasswordPayload, type AuthLoginPayload, type AuthPageCopy, type AuthPageMode, type AuthRegisterPayload, BarChart, Bot, Button, type ButtonProps, CAINavProvider, type CAINavProviderProps, CAlert, type CAlertProps, type CAlertSeverity, CAmapChart, type CAmapChartProps, CAppHeader, type CAppHeaderProps, CAppHeaderSearch, type CAppHeaderSearchPlacement, type CAppHeaderSearchProps, type CAppHeaderUser, type CAppHeaderUserMenuItem, type CAppNavigationVariant, CAppPageLayout, type CAppPageLayoutProps, CAuthPage, type CAuthPageProps, CAvatar, type CAvatarProps, CBadge, type CBadgeProps, CBarChart, type CBarChartProps, CButton, type CButtonProps, type CButtonSize, type CButtonVariant, CCalendar, type CCalendarProps, CChartCard, type CChartCardProps, CCheckbox, type CCheckboxProps, CChip, type CChipProps, type CChipTone, CComboChart, type CComboChartProps, CCustomizeAgent, type CCustomizeAgentProps, CDatePicker, type CDatePickerProps, CDetailInfoPage, type CDetailInfoPageProps, CDetailSearchAiBar, type CDetailSearchAiBarProps, CDetailSectionCard, type CDetailSectionCardProps, CDialog, type CDialogProps, CDivider, type CDividerProps, CFileUpload, type CFileUploadProps, CFilterField, CFishboneChart, type CFishboneChartProps, CGoogleMapChart, type CGoogleMapChartProps, CGraphCharts, CGraphKpiCards, CGraphReport, type CGraphReportProps, CHeatmapChart, type CHeatmapChartProps, CIconButton, type CIconButtonProps, CKanbanBoard, type CKanbanBoardProps, CKanbanBucket, type CKanbanBucketProps, CKanbanCard, type CKanbanCardProps, CLayoutManagement, type CLayoutManagementProps, CLayoutManager, type CLayoutManagerProps, CLineChart, type CLineChartProps, CList, CListItem, CListItemAvatar, type CListItemAvatarProps, CListItemButton, type CListItemButtonProps, CListItemIcon, type CListItemIconProps, type CListItemProps, CListItemText, type CListItemTextProps, type CListProps, CListSubheader, type CListSubheaderProps, CMenu, type CMenuItem, type CMenuProps, CMessageBox, type CMessageBoxProps, type CMessageBoxType, COrbCanvas, type COrbCanvasProps, CPageLayout, type CPageLayoutProps, CPageTransition, type CPageTransitionProps, CPaper, type CPaperProps, CPieChart, type CPieChartProps, CPivotTable, type CPivotTableProps, CPlanningGantt, type CPlanningGanttProps, CPlanningLayout, type CPlanningLayoutProps, CPopover, type CPopoverProps, CProgress, type CProgressProps, CRadioGroup, type CRadioGroupProps, type CRadioOption, CSegmentedControl, type CSegmentedControlOption, type CSegmentedControlProps, CSelect, type CSelectOption, type CSelectProps, CSkeleton, type CSkeletonProps, CSmartFilter, type CSmartFilterProps, CSmartTable, CSpinner, type CSpinnerProps, CStack, type CStackProps, CStandardPage, type CStandardPageProps, CStatusBadge, CSwitch, type CSwitchProps, type CTabItem, CTable, CTableBody, type CTableBodyProps, type CTableBodyRowContext, CTableCell, type CTableCellProps, CTableContainer, type CTableContainerProps, CTableHead, type CTableHeadProps, type CTableProps, type CTableQuickCreateConfig, type CTableQuickDeleteConfig, type CTableQuickEditConfig, CTableRow, type CTableRowProps, CTabs, type CTabsProps, CTextArea, type CTextAreaProps, CTextField, type CTextFieldProps, CTooltip, type CTooltipProps, CTreeComp, type CTreeCompColumn, type CTreeCompNode, type CTreeCompPaneMode, type CTreeCompProps, CTypography, type CTypographyProps, type CTypographyVariant, CValueHelp, type CValueHelpColumn, type CValueHelpMode, type CValueHelpPrimitive, type CValueHelpProps, type CValueHelpRecord, type CValueHelpSelectionValue, CVariantManagement, type CVariantManagementProps, CVariantManager, CVoiceWaveOverlay, type CVoiceWaveOverlayProps, CWaterfallChart, type CWaterfallChartProps, Calendar, CalendarDays, Camera, ChartNoAxesCombined, ChatMessage, Check, CheckCircle, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, ChevronsDown, ChevronsUp, CircleAlert, CircleCheck, CircleCheckBig, CircleStop, Clipboard, ClipboardCheck, ClipboardList, Clock, CodeBlock, type CodeBlockProps, Columns3, CopilotChat, type CopilotChatProps, Copy, CopyPlus, type CreateKanbanBoardModelOptions, type CustomizeAgentSavePayload, type CustomizeAgentSettings, type CustomizeAgentTemplateOption, type DateOperator, Delete, type DetailInfoAiConfig, type DetailInfoField, type DetailInfoSearchHit, type DetailInfoSearchMode, type DetailInfoSection, type DetailInfoTab, type DetailInfoTableConfig, Download, Edit, Expand, Eye, EyeOff, File$1 as File, FileText, Filter, type FilterField, type FilterOperator, type FilterType, type FilterValue, FloatingAgentPanel, type FloatingAgentPanelAnchor, type FloatingAgentPanelProps, FolderTree, GitBranch, GlobalMessage, Globe, 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, Grid, GripVertical, Hammer, type IVariantService, Image, Info, type KanbanBoardModel, type KanbanBucketDefinition, type KanbanBucketModel, type KanbanCardAssignee, type KanbanCardClickContext, type KanbanCardLookup, type KanbanCardMetric, type KanbanCardMoveEvent, type KanbanCardMoveInput, type KanbanCardPriority, type KanbanCardRecord, type KanbanCardTag, type KanbanCardTone, Languages, Layers, LayoutDashboard, type LayoutMetadata, Lightbulb, LineChart, Loader2, Lock, LockKeyhole, LogOut, Mail, MapPin, MarkdownRenderer, type MarkdownRendererProps, MathBlock, type MathBlockProps, Menu, MermaidBlock, type MermaidBlockProps, MessageCircle, type MessageContent, type MessageEvent, type MessageOptions, MessageSquare, Mic, MicOff, Moon, MoreHorizontal, NavigationIsland, NavigationIsland2, type NavigationIsland2Props, type NavigationIslandDisplayMode, type NavigationIslandProps, type NumberOperator, ORBCAFE_I18N_MESSAGES, ORB_DARK, ORB_FONT_STACK, ORB_LIGHT, ORB_RADIUS, ORB_TOKENS, ORB_TRANSITION_FAST, type OrbMode, type OrbModeSetting, type OrbTokens, type OrbcafeI18nContextValue, OrbcafeI18nProvider, type OrbcafeI18nProviderProps, type OrbcafeLocale, type OrbcafeLocaleMessages, type OrbcafeMessageKey, type OrbcafeMessageParams, OrbisModeProvider, type OrbisModeProviderProps, PAGE_TRANSITION_PRESETS, PAppPageLayout, type PAppPageLayoutProps, PBarcodeScanner, type PBarcodeScannerDetectedValue, type PBarcodeScannerProps, PNavIsland, type PNavIslandProps, PNumericKeypad, type PNumericKeypadProps, type POrientation, PSmartFilter, type PSmartFilterProps, PTable, type PTableProps, PTouchCard, type PTouchCardMetric, type PTouchCardProps, type PTouchCardSwipeAction, PWorkloadNav, type PWorkloadNavItem, type PWorkloadNavProps, PackageCheck, PackageSearch, type PageTransitionVariant, PanelLeftOpen, PanelRight, PanelsTopLeft, type ParsedMarkdownTable, PieChart, Pin, type PivotAggregation, type PivotChartConfig, PivotChartPanel, type PivotChartType, type PivotFieldDefinition, type PivotFieldType, type PivotFilterSelections, type PivotLayoutConfig, type PivotTableModel, type PivotTablePreset, type PivotValueFieldConfig, type PivotValueFieldState, type PlanningGanttColumn, type PlanningGanttScale, type PlanningGanttSummaryItem, type PlanningTaskOwner, type PlanningTaskRecord, type PlanningTaskStatus, Play, Plus, QrCode, ReceiptText, RefreshCw, type ReportColumn, type ReportFilter, type ReportMetadata, Rocket, RotateCcw, RotateCw, Rows3, SapIcon, type SapIconName, type SapIconProps, Save, ScanLine, Search, type SelectOperator, Send, SendHorizontal, Settings, ShieldCheck, Sigma, SortAsc, SquareSplitHorizontal, Star, StdChat, type StdChatProps, Sun, Table2, type TableAlign, TableBlock, type TableBlockProps, TabletSmartphone, Terminal, type TextOperator, ThinkBlock, type ThinkBlockProps, ThumbsDown, ThumbsUp, Trash2, TreeMenu, type TreeMenuItem, TreePine, TrendingDown, TriangleAlert, Truck, UploadCloud, type UseAmapEmbedUrlOptions, type UseAuthPageOptions, type UseAuthPageResult, type UseDetailInfoOptions, type UseDetailInfoResult, type UseGoogleMapEmbedUrlOptions, type UseGraphChartDataOptions, type UseGraphChartDataResult, type UseGraphInteractionResult, type UseGraphReportOptions, type UseGraphReportResult, type UseKanbanBoardActions, type UseKanbanBoardBindings, type UseKanbanBoardOptions, type UseKanbanBoardResult, type UseNavigationIslandOptions, type UseNavigationIslandResult, type UsePadLayoutOptions, type UsePadLayoutResult, type UsePadRecordEditorOptions, type UsePadRecordEditorResult, type UsePageLayoutOptions, type UsePivotTableOptions, type UsePivotTableResult, type UsePlanningGanttOptions, type UsePlanningGanttResult, type UsePlanningLayoutOptions, type UsePlanningLayoutResult, type UseStandardReportOptions, type UseVoiceInputOptions, type UseVoiceInputResult, User, type VariantMetadata, type VoiceNavigatorContextValue, VoiceNavigatorProvider, type VoiceNavigatorProviderProps, VoiceWaveOverlay, type VoiceWaveOverlayProps, Volume2, Warehouse, Workflow, X, XCircle, buildAmapEmbedUrl, buildGoogleMapEmbedUrl, buildGoogleMapIframe, buttonVariants, createKanbanBoardModel, createSapIcon, findKanbanCard, message, messageManager, moveKanbanCard, orbAlpha, orbChartSeries, parseMarkdownTable, renderMarkdown, resolveVariantFilters, resolveVariantLayout, useAINav, useAmapEmbedUrl, useAuthPage, useDetailInfo, useGoogleMapEmbedUrl, useGraphChartData, useGraphInteraction, useGraphReport, useKanbanBoard, useMediaQuery, useNavigationIsland, useOrbMode, useOrbTokens, useOrbcafeI18n, usePadLayout, usePadRecordEditor, usePageLayout, usePivotTable, usePlanningGantt, usePlanningLayout, useStandardReport, useVoiceInput, useVoiceNavigator };