@object-ui/types 0.3.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/LICENSE +21 -0
- package/README.md +304 -0
- package/dist/api-types.d.ts +451 -0
- package/dist/api-types.d.ts.map +1 -0
- package/dist/api-types.js +10 -0
- package/dist/app.d.ts +120 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +7 -0
- package/dist/base.d.ts +360 -0
- package/dist/base.d.ts.map +1 -0
- package/dist/base.js +10 -0
- package/dist/complex.d.ts +433 -0
- package/dist/complex.d.ts.map +1 -0
- package/dist/complex.js +9 -0
- package/dist/crud.d.ts +457 -0
- package/dist/crud.d.ts.map +1 -0
- package/dist/crud.js +10 -0
- package/dist/data-display.d.ts +599 -0
- package/dist/data-display.d.ts.map +1 -0
- package/dist/data-display.js +9 -0
- package/dist/data.d.ts +295 -0
- package/dist/data.d.ts.map +1 -0
- package/dist/data.js +10 -0
- package/dist/disclosure.d.ts +107 -0
- package/dist/disclosure.d.ts.map +1 -0
- package/dist/disclosure.js +9 -0
- package/dist/feedback.d.ts +159 -0
- package/dist/feedback.d.ts.map +1 -0
- package/dist/feedback.js +9 -0
- package/dist/form.d.ts +932 -0
- package/dist/form.d.ts.map +1 -0
- package/dist/form.js +9 -0
- package/dist/index.d.ts +108 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +48 -0
- package/dist/layout.d.ts +418 -0
- package/dist/layout.d.ts.map +1 -0
- package/dist/layout.js +10 -0
- package/dist/navigation.d.ts +224 -0
- package/dist/navigation.d.ts.map +1 -0
- package/dist/navigation.js +9 -0
- package/dist/objectql.d.ts +254 -0
- package/dist/objectql.d.ts.map +1 -0
- package/dist/objectql.js +10 -0
- package/dist/overlay.d.ts +396 -0
- package/dist/overlay.d.ts.map +1 -0
- package/dist/overlay.js +9 -0
- package/dist/registry.d.ts +85 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +1 -0
- package/package.json +82 -0
- package/src/api-types.ts +464 -0
- package/src/app.ts +138 -0
- package/src/base.ts +416 -0
- package/src/complex.ts +465 -0
- package/src/crud.ts +467 -0
- package/src/data-display.ts +630 -0
- package/src/data.ts +341 -0
- package/src/disclosure.ts +113 -0
- package/src/feedback.ts +170 -0
- package/src/form.ts +954 -0
- package/src/index.ts +350 -0
- package/src/layout.ts +451 -0
- package/src/navigation.ts +235 -0
- package/src/objectql.ts +301 -0
- package/src/overlay.ts +418 -0
- package/src/registry.ts +182 -0
|
@@ -0,0 +1,451 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @object-ui/types - API and Event Schemas
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for API integration and event handling.
|
|
5
|
+
* These schemas enable dynamic API calls and event-driven interactions.
|
|
6
|
+
*
|
|
7
|
+
* @module api
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
import type { BaseSchema } from './base';
|
|
11
|
+
/**
|
|
12
|
+
* HTTP Method types
|
|
13
|
+
*/
|
|
14
|
+
export type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS';
|
|
15
|
+
/**
|
|
16
|
+
* API request configuration
|
|
17
|
+
*/
|
|
18
|
+
export interface APIRequest {
|
|
19
|
+
/**
|
|
20
|
+
* API endpoint URL
|
|
21
|
+
* Supports variable substitution: "/api/users/${userId}"
|
|
22
|
+
*/
|
|
23
|
+
url: string;
|
|
24
|
+
/**
|
|
25
|
+
* HTTP method
|
|
26
|
+
* @default 'GET'
|
|
27
|
+
*/
|
|
28
|
+
method?: HTTPMethod;
|
|
29
|
+
/**
|
|
30
|
+
* Request headers
|
|
31
|
+
*/
|
|
32
|
+
headers?: Record<string, string>;
|
|
33
|
+
/**
|
|
34
|
+
* Request body data
|
|
35
|
+
* For POST, PUT, PATCH requests
|
|
36
|
+
*/
|
|
37
|
+
data?: any;
|
|
38
|
+
/**
|
|
39
|
+
* Query parameters
|
|
40
|
+
*/
|
|
41
|
+
params?: Record<string, any>;
|
|
42
|
+
/**
|
|
43
|
+
* Request timeout in milliseconds
|
|
44
|
+
*/
|
|
45
|
+
timeout?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Whether to send credentials (cookies)
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
50
|
+
withCredentials?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Data transformation function
|
|
53
|
+
* Transform request data before sending
|
|
54
|
+
*/
|
|
55
|
+
transformRequest?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Response transformation function
|
|
58
|
+
* Transform response data after receiving
|
|
59
|
+
*/
|
|
60
|
+
transformResponse?: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* API configuration for components
|
|
64
|
+
*/
|
|
65
|
+
export interface APIConfig {
|
|
66
|
+
/**
|
|
67
|
+
* API request configuration
|
|
68
|
+
*/
|
|
69
|
+
request?: APIRequest;
|
|
70
|
+
/**
|
|
71
|
+
* Success handler
|
|
72
|
+
* JavaScript expression or function name
|
|
73
|
+
*/
|
|
74
|
+
onSuccess?: string;
|
|
75
|
+
/**
|
|
76
|
+
* Error handler
|
|
77
|
+
* JavaScript expression or function name
|
|
78
|
+
*/
|
|
79
|
+
onError?: string;
|
|
80
|
+
/**
|
|
81
|
+
* Loading indicator
|
|
82
|
+
* Whether to show loading state during request
|
|
83
|
+
* @default true
|
|
84
|
+
*/
|
|
85
|
+
showLoading?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Success message to display
|
|
88
|
+
*/
|
|
89
|
+
successMessage?: string;
|
|
90
|
+
/**
|
|
91
|
+
* Error message to display
|
|
92
|
+
*/
|
|
93
|
+
errorMessage?: string;
|
|
94
|
+
/**
|
|
95
|
+
* Whether to reload data after success
|
|
96
|
+
* @default false
|
|
97
|
+
*/
|
|
98
|
+
reload?: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Whether to redirect after success
|
|
101
|
+
*/
|
|
102
|
+
redirect?: string;
|
|
103
|
+
/**
|
|
104
|
+
* Whether to close dialog/modal after success
|
|
105
|
+
* @default false
|
|
106
|
+
*/
|
|
107
|
+
close?: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Retry configuration
|
|
110
|
+
*/
|
|
111
|
+
retry?: {
|
|
112
|
+
/**
|
|
113
|
+
* Maximum retry attempts
|
|
114
|
+
*/
|
|
115
|
+
maxAttempts?: number;
|
|
116
|
+
/**
|
|
117
|
+
* Delay between retries in milliseconds
|
|
118
|
+
*/
|
|
119
|
+
delay?: number;
|
|
120
|
+
/**
|
|
121
|
+
* HTTP status codes to retry
|
|
122
|
+
*/
|
|
123
|
+
retryOn?: number[];
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* Cache configuration
|
|
127
|
+
*/
|
|
128
|
+
cache?: {
|
|
129
|
+
/**
|
|
130
|
+
* Cache key
|
|
131
|
+
*/
|
|
132
|
+
key?: string;
|
|
133
|
+
/**
|
|
134
|
+
* Cache duration in milliseconds
|
|
135
|
+
*/
|
|
136
|
+
duration?: number;
|
|
137
|
+
/**
|
|
138
|
+
* Whether to use stale cache while revalidating
|
|
139
|
+
*/
|
|
140
|
+
staleWhileRevalidate?: boolean;
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Event handler configuration
|
|
145
|
+
*/
|
|
146
|
+
export interface EventHandler {
|
|
147
|
+
/**
|
|
148
|
+
* Event type
|
|
149
|
+
*/
|
|
150
|
+
event: string;
|
|
151
|
+
/**
|
|
152
|
+
* Handler type
|
|
153
|
+
*/
|
|
154
|
+
type: 'action' | 'api' | 'script' | 'navigation' | 'dialog' | 'toast' | 'custom';
|
|
155
|
+
/**
|
|
156
|
+
* Action configuration (for type: 'action')
|
|
157
|
+
*/
|
|
158
|
+
action?: {
|
|
159
|
+
/**
|
|
160
|
+
* Action name/identifier
|
|
161
|
+
*/
|
|
162
|
+
name: string;
|
|
163
|
+
/**
|
|
164
|
+
* Action parameters
|
|
165
|
+
*/
|
|
166
|
+
params?: Record<string, any>;
|
|
167
|
+
};
|
|
168
|
+
/**
|
|
169
|
+
* API configuration (for type: 'api')
|
|
170
|
+
*/
|
|
171
|
+
api?: APIConfig;
|
|
172
|
+
/**
|
|
173
|
+
* Script to execute (for type: 'script')
|
|
174
|
+
* JavaScript code as string
|
|
175
|
+
*/
|
|
176
|
+
script?: string;
|
|
177
|
+
/**
|
|
178
|
+
* Navigation target (for type: 'navigation')
|
|
179
|
+
*/
|
|
180
|
+
navigate?: {
|
|
181
|
+
/**
|
|
182
|
+
* Target URL or route
|
|
183
|
+
*/
|
|
184
|
+
to: string;
|
|
185
|
+
/**
|
|
186
|
+
* Navigation type
|
|
187
|
+
*/
|
|
188
|
+
type?: 'push' | 'replace' | 'reload';
|
|
189
|
+
/**
|
|
190
|
+
* Query parameters
|
|
191
|
+
*/
|
|
192
|
+
params?: Record<string, any>;
|
|
193
|
+
/**
|
|
194
|
+
* Open in new window/tab
|
|
195
|
+
*/
|
|
196
|
+
external?: boolean;
|
|
197
|
+
};
|
|
198
|
+
/**
|
|
199
|
+
* Dialog configuration (for type: 'dialog')
|
|
200
|
+
*/
|
|
201
|
+
dialog?: {
|
|
202
|
+
/**
|
|
203
|
+
* Dialog type
|
|
204
|
+
*/
|
|
205
|
+
type: 'alert' | 'confirm' | 'prompt' | 'modal';
|
|
206
|
+
/**
|
|
207
|
+
* Dialog title
|
|
208
|
+
*/
|
|
209
|
+
title?: string;
|
|
210
|
+
/**
|
|
211
|
+
* Dialog content
|
|
212
|
+
*/
|
|
213
|
+
content?: string | BaseSchema;
|
|
214
|
+
/**
|
|
215
|
+
* Dialog actions
|
|
216
|
+
*/
|
|
217
|
+
actions?: Array<{
|
|
218
|
+
label: string;
|
|
219
|
+
handler?: EventHandler;
|
|
220
|
+
}>;
|
|
221
|
+
};
|
|
222
|
+
/**
|
|
223
|
+
* Toast configuration (for type: 'toast')
|
|
224
|
+
*/
|
|
225
|
+
toast?: {
|
|
226
|
+
/**
|
|
227
|
+
* Toast type
|
|
228
|
+
*/
|
|
229
|
+
type: 'success' | 'error' | 'warning' | 'info';
|
|
230
|
+
/**
|
|
231
|
+
* Toast message
|
|
232
|
+
*/
|
|
233
|
+
message: string;
|
|
234
|
+
/**
|
|
235
|
+
* Toast duration in milliseconds
|
|
236
|
+
*/
|
|
237
|
+
duration?: number;
|
|
238
|
+
};
|
|
239
|
+
/**
|
|
240
|
+
* Condition for executing handler
|
|
241
|
+
* JavaScript expression
|
|
242
|
+
*/
|
|
243
|
+
condition?: string;
|
|
244
|
+
/**
|
|
245
|
+
* Whether to prevent default event behavior
|
|
246
|
+
*/
|
|
247
|
+
preventDefault?: boolean;
|
|
248
|
+
/**
|
|
249
|
+
* Whether to stop event propagation
|
|
250
|
+
*/
|
|
251
|
+
stopPropagation?: boolean;
|
|
252
|
+
/**
|
|
253
|
+
* Debounce delay in milliseconds
|
|
254
|
+
*/
|
|
255
|
+
debounce?: number;
|
|
256
|
+
/**
|
|
257
|
+
* Throttle delay in milliseconds
|
|
258
|
+
*/
|
|
259
|
+
throttle?: number;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Component with event handlers
|
|
263
|
+
*/
|
|
264
|
+
export interface EventableSchema extends BaseSchema {
|
|
265
|
+
/**
|
|
266
|
+
* Event handlers configuration
|
|
267
|
+
*/
|
|
268
|
+
events?: EventHandler[];
|
|
269
|
+
/**
|
|
270
|
+
* Click handler
|
|
271
|
+
*/
|
|
272
|
+
onClick?: EventHandler | string;
|
|
273
|
+
/**
|
|
274
|
+
* Change handler
|
|
275
|
+
*/
|
|
276
|
+
onChange?: EventHandler | string;
|
|
277
|
+
/**
|
|
278
|
+
* Submit handler
|
|
279
|
+
*/
|
|
280
|
+
onSubmit?: EventHandler | string;
|
|
281
|
+
/**
|
|
282
|
+
* Focus handler
|
|
283
|
+
*/
|
|
284
|
+
onFocus?: EventHandler | string;
|
|
285
|
+
/**
|
|
286
|
+
* Blur handler
|
|
287
|
+
*/
|
|
288
|
+
onBlur?: EventHandler | string;
|
|
289
|
+
/**
|
|
290
|
+
* Mouse enter handler
|
|
291
|
+
*/
|
|
292
|
+
onMouseEnter?: EventHandler | string;
|
|
293
|
+
/**
|
|
294
|
+
* Mouse leave handler
|
|
295
|
+
*/
|
|
296
|
+
onMouseLeave?: EventHandler | string;
|
|
297
|
+
/**
|
|
298
|
+
* Key down handler
|
|
299
|
+
*/
|
|
300
|
+
onKeyDown?: EventHandler | string;
|
|
301
|
+
/**
|
|
302
|
+
* Key up handler
|
|
303
|
+
*/
|
|
304
|
+
onKeyUp?: EventHandler | string;
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Data fetching configuration
|
|
308
|
+
*/
|
|
309
|
+
export interface DataFetchConfig {
|
|
310
|
+
/**
|
|
311
|
+
* Data source API
|
|
312
|
+
*/
|
|
313
|
+
api: string | APIRequest;
|
|
314
|
+
/**
|
|
315
|
+
* Whether to fetch on mount
|
|
316
|
+
* @default true
|
|
317
|
+
*/
|
|
318
|
+
fetchOnMount?: boolean;
|
|
319
|
+
/**
|
|
320
|
+
* Polling interval in milliseconds
|
|
321
|
+
* If set, data will be refetched at this interval
|
|
322
|
+
*/
|
|
323
|
+
pollInterval?: number;
|
|
324
|
+
/**
|
|
325
|
+
* Dependencies for refetching
|
|
326
|
+
* Array of variable names to watch
|
|
327
|
+
*/
|
|
328
|
+
dependencies?: string[];
|
|
329
|
+
/**
|
|
330
|
+
* Default data before fetch completes
|
|
331
|
+
*/
|
|
332
|
+
defaultData?: any;
|
|
333
|
+
/**
|
|
334
|
+
* Transform function for fetched data
|
|
335
|
+
* JavaScript expression or function name
|
|
336
|
+
*/
|
|
337
|
+
transform?: string;
|
|
338
|
+
/**
|
|
339
|
+
* Filter function for data
|
|
340
|
+
* JavaScript expression or function name
|
|
341
|
+
*/
|
|
342
|
+
filter?: string;
|
|
343
|
+
/**
|
|
344
|
+
* Sort configuration
|
|
345
|
+
*/
|
|
346
|
+
sort?: {
|
|
347
|
+
/**
|
|
348
|
+
* Field to sort by
|
|
349
|
+
*/
|
|
350
|
+
field: string;
|
|
351
|
+
/**
|
|
352
|
+
* Sort order
|
|
353
|
+
*/
|
|
354
|
+
order: 'asc' | 'desc';
|
|
355
|
+
};
|
|
356
|
+
/**
|
|
357
|
+
* Pagination configuration
|
|
358
|
+
*/
|
|
359
|
+
pagination?: {
|
|
360
|
+
/**
|
|
361
|
+
* Current page
|
|
362
|
+
*/
|
|
363
|
+
page?: number;
|
|
364
|
+
/**
|
|
365
|
+
* Page size
|
|
366
|
+
*/
|
|
367
|
+
pageSize?: number;
|
|
368
|
+
/**
|
|
369
|
+
* Whether pagination is enabled
|
|
370
|
+
*/
|
|
371
|
+
enabled?: boolean;
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* Component with data fetching
|
|
376
|
+
*/
|
|
377
|
+
export interface DataFetchableSchema extends BaseSchema {
|
|
378
|
+
/**
|
|
379
|
+
* Data fetching configuration
|
|
380
|
+
*/
|
|
381
|
+
dataSource?: DataFetchConfig;
|
|
382
|
+
/**
|
|
383
|
+
* Loading state
|
|
384
|
+
*/
|
|
385
|
+
loading?: boolean;
|
|
386
|
+
/**
|
|
387
|
+
* Error state
|
|
388
|
+
*/
|
|
389
|
+
error?: string | null;
|
|
390
|
+
/**
|
|
391
|
+
* Fetched data
|
|
392
|
+
*/
|
|
393
|
+
data?: any;
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* Expression evaluation context
|
|
397
|
+
*/
|
|
398
|
+
export interface ExpressionContext {
|
|
399
|
+
/**
|
|
400
|
+
* Current component data
|
|
401
|
+
*/
|
|
402
|
+
data?: any;
|
|
403
|
+
/**
|
|
404
|
+
* Global application state
|
|
405
|
+
*/
|
|
406
|
+
state?: any;
|
|
407
|
+
/**
|
|
408
|
+
* Form values (when in form context)
|
|
409
|
+
*/
|
|
410
|
+
form?: any;
|
|
411
|
+
/**
|
|
412
|
+
* Current user information
|
|
413
|
+
*/
|
|
414
|
+
user?: any;
|
|
415
|
+
/**
|
|
416
|
+
* Environment variables
|
|
417
|
+
*/
|
|
418
|
+
env?: Record<string, any>;
|
|
419
|
+
/**
|
|
420
|
+
* Utility functions
|
|
421
|
+
*/
|
|
422
|
+
utils?: Record<string, (...args: any[]) => any>;
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Expression schema for dynamic values
|
|
426
|
+
*/
|
|
427
|
+
export interface ExpressionSchema {
|
|
428
|
+
/**
|
|
429
|
+
* Expression type
|
|
430
|
+
*/
|
|
431
|
+
type: 'expression';
|
|
432
|
+
/**
|
|
433
|
+
* Expression string
|
|
434
|
+
* Supports ${} syntax for variable interpolation
|
|
435
|
+
*/
|
|
436
|
+
value: string;
|
|
437
|
+
/**
|
|
438
|
+
* Default value if expression fails
|
|
439
|
+
*/
|
|
440
|
+
defaultValue?: any;
|
|
441
|
+
/**
|
|
442
|
+
* Whether to watch and re-evaluate on context changes
|
|
443
|
+
* @default true
|
|
444
|
+
*/
|
|
445
|
+
reactive?: boolean;
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* Union type of all API schemas
|
|
449
|
+
*/
|
|
450
|
+
export type APISchema = EventableSchema | DataFetchableSchema | ExpressionSchema;
|
|
451
|
+
//# sourceMappingURL=api-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-types.d.ts","sourceRoot":"","sources":["../src/api-types.ts"],"names":[],"mappings":"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"}
|
package/dist/app.d.ts
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @object-ui/types - Application Schema
|
|
3
|
+
*
|
|
4
|
+
* Defines the metadata structure for a complete application, including
|
|
5
|
+
* global layout, navigation menus, and routing configuration.
|
|
6
|
+
*/
|
|
7
|
+
import type { BaseSchema } from './base';
|
|
8
|
+
/**
|
|
9
|
+
* Top-level Application Configuration (app.json)
|
|
10
|
+
*/
|
|
11
|
+
export interface AppSchema extends BaseSchema {
|
|
12
|
+
type: 'app';
|
|
13
|
+
/**
|
|
14
|
+
* Application Name (System ID)
|
|
15
|
+
*/
|
|
16
|
+
name?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Display Title
|
|
19
|
+
*/
|
|
20
|
+
title?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Application Description
|
|
23
|
+
*/
|
|
24
|
+
description?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Logo URL or Icon name
|
|
27
|
+
*/
|
|
28
|
+
logo?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Favicon URL
|
|
31
|
+
*/
|
|
32
|
+
favicon?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Global Layout Strategy
|
|
35
|
+
* - sidebar: Standard admin layout with left sidebar
|
|
36
|
+
* - header: Top navigation bar only
|
|
37
|
+
* - empty: No layout, pages are responsible for their own structure
|
|
38
|
+
* @default "sidebar"
|
|
39
|
+
*/
|
|
40
|
+
layout?: 'sidebar' | 'header' | 'empty';
|
|
41
|
+
/**
|
|
42
|
+
* Global Navigation Menu
|
|
43
|
+
*/
|
|
44
|
+
menu?: MenuItem[];
|
|
45
|
+
/**
|
|
46
|
+
* Global Actions (User Profile, Settings, etc)
|
|
47
|
+
*/
|
|
48
|
+
actions?: AppAction[];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Navigation Menu Item
|
|
52
|
+
*/
|
|
53
|
+
export interface MenuItem {
|
|
54
|
+
/**
|
|
55
|
+
* Item Type
|
|
56
|
+
*/
|
|
57
|
+
type?: 'item' | 'group' | 'separator';
|
|
58
|
+
/**
|
|
59
|
+
* Display Label
|
|
60
|
+
*/
|
|
61
|
+
label?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Icon Name (Lucide)
|
|
64
|
+
*/
|
|
65
|
+
icon?: string;
|
|
66
|
+
/**
|
|
67
|
+
* Target Path (Route)
|
|
68
|
+
*/
|
|
69
|
+
path?: string;
|
|
70
|
+
/**
|
|
71
|
+
* External Link
|
|
72
|
+
*/
|
|
73
|
+
href?: string;
|
|
74
|
+
/**
|
|
75
|
+
* Child Items (Submenu)
|
|
76
|
+
*/
|
|
77
|
+
children?: MenuItem[];
|
|
78
|
+
/**
|
|
79
|
+
* Badge / Count
|
|
80
|
+
*/
|
|
81
|
+
badge?: string | number;
|
|
82
|
+
/**
|
|
83
|
+
* Visibility Condition
|
|
84
|
+
*/
|
|
85
|
+
hidden?: boolean | string;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Application Header/Toolbar Action
|
|
89
|
+
*/
|
|
90
|
+
export interface AppAction {
|
|
91
|
+
type: 'button' | 'dropdown' | 'user';
|
|
92
|
+
label?: string;
|
|
93
|
+
icon?: string;
|
|
94
|
+
onClick?: string;
|
|
95
|
+
/**
|
|
96
|
+
* User Avatar URL (for type='user')
|
|
97
|
+
*/
|
|
98
|
+
avatar?: string;
|
|
99
|
+
/**
|
|
100
|
+
* Additional description (e.g. email for user)
|
|
101
|
+
*/
|
|
102
|
+
description?: string;
|
|
103
|
+
/**
|
|
104
|
+
* Dropdown Menu Items (for type='dropdown' or 'user')
|
|
105
|
+
*/
|
|
106
|
+
items?: MenuItem[];
|
|
107
|
+
/**
|
|
108
|
+
* Keyboard shortcut
|
|
109
|
+
*/
|
|
110
|
+
shortcut?: string;
|
|
111
|
+
/**
|
|
112
|
+
* Button variant
|
|
113
|
+
*/
|
|
114
|
+
variant?: 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link';
|
|
115
|
+
/**
|
|
116
|
+
* Button size
|
|
117
|
+
*/
|
|
118
|
+
size?: 'default' | 'sm' | 'lg' | 'icon';
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,IAAI,EAAE,KAAK,CAAC;IAEZ;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAExC;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;IAEtC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;IACjF;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;CACzC"}
|