@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.
Files changed (67) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +304 -0
  3. package/dist/api-types.d.ts +451 -0
  4. package/dist/api-types.d.ts.map +1 -0
  5. package/dist/api-types.js +10 -0
  6. package/dist/app.d.ts +120 -0
  7. package/dist/app.d.ts.map +1 -0
  8. package/dist/app.js +7 -0
  9. package/dist/base.d.ts +360 -0
  10. package/dist/base.d.ts.map +1 -0
  11. package/dist/base.js +10 -0
  12. package/dist/complex.d.ts +433 -0
  13. package/dist/complex.d.ts.map +1 -0
  14. package/dist/complex.js +9 -0
  15. package/dist/crud.d.ts +457 -0
  16. package/dist/crud.d.ts.map +1 -0
  17. package/dist/crud.js +10 -0
  18. package/dist/data-display.d.ts +599 -0
  19. package/dist/data-display.d.ts.map +1 -0
  20. package/dist/data-display.js +9 -0
  21. package/dist/data.d.ts +295 -0
  22. package/dist/data.d.ts.map +1 -0
  23. package/dist/data.js +10 -0
  24. package/dist/disclosure.d.ts +107 -0
  25. package/dist/disclosure.d.ts.map +1 -0
  26. package/dist/disclosure.js +9 -0
  27. package/dist/feedback.d.ts +159 -0
  28. package/dist/feedback.d.ts.map +1 -0
  29. package/dist/feedback.js +9 -0
  30. package/dist/form.d.ts +932 -0
  31. package/dist/form.d.ts.map +1 -0
  32. package/dist/form.js +9 -0
  33. package/dist/index.d.ts +108 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +48 -0
  36. package/dist/layout.d.ts +418 -0
  37. package/dist/layout.d.ts.map +1 -0
  38. package/dist/layout.js +10 -0
  39. package/dist/navigation.d.ts +224 -0
  40. package/dist/navigation.d.ts.map +1 -0
  41. package/dist/navigation.js +9 -0
  42. package/dist/objectql.d.ts +254 -0
  43. package/dist/objectql.d.ts.map +1 -0
  44. package/dist/objectql.js +10 -0
  45. package/dist/overlay.d.ts +396 -0
  46. package/dist/overlay.d.ts.map +1 -0
  47. package/dist/overlay.js +9 -0
  48. package/dist/registry.d.ts +85 -0
  49. package/dist/registry.d.ts.map +1 -0
  50. package/dist/registry.js +1 -0
  51. package/package.json +82 -0
  52. package/src/api-types.ts +464 -0
  53. package/src/app.ts +138 -0
  54. package/src/base.ts +416 -0
  55. package/src/complex.ts +465 -0
  56. package/src/crud.ts +467 -0
  57. package/src/data-display.ts +630 -0
  58. package/src/data.ts +341 -0
  59. package/src/disclosure.ts +113 -0
  60. package/src/feedback.ts +170 -0
  61. package/src/form.ts +954 -0
  62. package/src/index.ts +350 -0
  63. package/src/layout.ts +451 -0
  64. package/src/navigation.ts +235 -0
  65. package/src/objectql.ts +301 -0
  66. package/src/overlay.ts +418 -0
  67. package/src/registry.ts +182 -0
package/dist/data.d.ts ADDED
@@ -0,0 +1,295 @@
1
+ /**
2
+ * @object-ui/types - Data Source Types
3
+ *
4
+ * Type definitions for data fetching and management.
5
+ * These interfaces define the universal adapter pattern for data access.
6
+ *
7
+ * @module data
8
+ * @packageDocumentation
9
+ */
10
+ /**
11
+ * Query parameters for data fetching.
12
+ * Follows OData/REST conventions for universal compatibility.
13
+ */
14
+ export interface QueryParams {
15
+ /**
16
+ * Fields to select (projection)
17
+ * @example ['id', 'name', 'email']
18
+ */
19
+ $select?: string[];
20
+ /**
21
+ * Filter expression
22
+ * @example { age: { $gt: 18 }, status: 'active' }
23
+ */
24
+ $filter?: Record<string, any>;
25
+ /**
26
+ * Sort order
27
+ * @example { createdAt: 'desc', name: 'asc' }
28
+ */
29
+ $orderby?: Record<string, 'asc' | 'desc'>;
30
+ /**
31
+ * Number of records to skip (for pagination)
32
+ */
33
+ $skip?: number;
34
+ /**
35
+ * Maximum number of records to return
36
+ */
37
+ $top?: number;
38
+ /**
39
+ * Related entities to expand/include
40
+ * @example ['author', 'comments']
41
+ */
42
+ $expand?: string[];
43
+ /**
44
+ * Search query (full-text search)
45
+ */
46
+ $search?: string;
47
+ /**
48
+ * Total count of records (for pagination)
49
+ */
50
+ $count?: boolean;
51
+ /**
52
+ * Additional custom parameters
53
+ */
54
+ [key: string]: any;
55
+ }
56
+ /**
57
+ * Query result with pagination metadata
58
+ */
59
+ export interface QueryResult<T = any> {
60
+ /**
61
+ * Result data array
62
+ */
63
+ data: T[];
64
+ /**
65
+ * Total number of records (if requested)
66
+ */
67
+ total?: number;
68
+ /**
69
+ * Current page number (1-indexed)
70
+ */
71
+ page?: number;
72
+ /**
73
+ * Page size
74
+ */
75
+ pageSize?: number;
76
+ /**
77
+ * Whether there are more records
78
+ */
79
+ hasMore?: boolean;
80
+ /**
81
+ * Cursor for cursor-based pagination
82
+ */
83
+ cursor?: string;
84
+ /**
85
+ * Additional metadata
86
+ */
87
+ metadata?: Record<string, any>;
88
+ }
89
+ /**
90
+ * Universal data source interface.
91
+ * This is the core abstraction that makes Object UI backend-agnostic.
92
+ *
93
+ * Implementations can connect to:
94
+ * - REST APIs
95
+ * - GraphQL endpoints
96
+ * - ObjectQL servers
97
+ * - Firebase/Supabase
98
+ * - Local arrays/JSON
99
+ * - Any data source
100
+ *
101
+ * @template T - The data type
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * class RestDataSource implements DataSource<User> {
106
+ * async find(resource, params) {
107
+ * const response = await fetch(`/api/${resource}?${buildQuery(params)}`);
108
+ * return response.json();
109
+ * }
110
+ * // ... other methods
111
+ * }
112
+ * ```
113
+ */
114
+ export interface DataSource<T = any> {
115
+ /**
116
+ * Fetch multiple records.
117
+ *
118
+ * @param resource - Resource name (e.g., 'users', 'posts')
119
+ * @param params - Query parameters
120
+ * @returns Promise resolving to query result
121
+ */
122
+ find(resource: string, params?: QueryParams): Promise<QueryResult<T>>;
123
+ /**
124
+ * Fetch a single record by ID.
125
+ *
126
+ * @param resource - Resource name
127
+ * @param id - Record identifier
128
+ * @param params - Additional query parameters
129
+ * @returns Promise resolving to the record or null
130
+ */
131
+ findOne(resource: string, id: string | number, params?: QueryParams): Promise<T | null>;
132
+ /**
133
+ * Create a new record.
134
+ *
135
+ * @param resource - Resource name
136
+ * @param data - Record data
137
+ * @returns Promise resolving to the created record
138
+ */
139
+ create(resource: string, data: Partial<T>): Promise<T>;
140
+ /**
141
+ * Update an existing record.
142
+ *
143
+ * @param resource - Resource name
144
+ * @param id - Record identifier
145
+ * @param data - Updated data (partial)
146
+ * @returns Promise resolving to the updated record
147
+ */
148
+ update(resource: string, id: string | number, data: Partial<T>): Promise<T>;
149
+ /**
150
+ * Delete a record.
151
+ *
152
+ * @param resource - Resource name
153
+ * @param id - Record identifier
154
+ * @returns Promise resolving to true if successful
155
+ */
156
+ delete(resource: string, id: string | number): Promise<boolean>;
157
+ /**
158
+ * Execute a bulk operation (optional).
159
+ *
160
+ * @param resource - Resource name
161
+ * @param operation - Operation type
162
+ * @param data - Bulk data
163
+ * @returns Promise resolving to operation result
164
+ */
165
+ bulk?(resource: string, operation: 'create' | 'update' | 'delete', data: Partial<T>[]): Promise<T[]>;
166
+ }
167
+ /**
168
+ * Data scope context for managing data state.
169
+ * Provides reactive data management within the UI.
170
+ */
171
+ export interface DataScope {
172
+ /**
173
+ * Data source instance
174
+ */
175
+ dataSource?: DataSource;
176
+ /**
177
+ * Current data
178
+ */
179
+ data?: any;
180
+ /**
181
+ * Loading state
182
+ */
183
+ loading?: boolean;
184
+ /**
185
+ * Error state
186
+ */
187
+ error?: Error | string | null;
188
+ /**
189
+ * Refresh data
190
+ */
191
+ refresh?: () => Promise<void>;
192
+ /**
193
+ * Set data
194
+ */
195
+ setData?: (data: any) => void;
196
+ }
197
+ /**
198
+ * Data context for component trees.
199
+ * Allows components to access and share data.
200
+ */
201
+ export interface DataContext {
202
+ /**
203
+ * Named data scopes
204
+ */
205
+ scopes: Record<string, DataScope>;
206
+ /**
207
+ * Register a data scope
208
+ */
209
+ registerScope: (name: string, scope: DataScope) => void;
210
+ /**
211
+ * Get a data scope by name
212
+ */
213
+ getScope: (name: string) => DataScope | undefined;
214
+ /**
215
+ * Remove a data scope
216
+ */
217
+ removeScope: (name: string) => void;
218
+ }
219
+ /**
220
+ * Data binding configuration.
221
+ * Defines how a component's data is sourced and updated.
222
+ */
223
+ export interface DataBinding {
224
+ /**
225
+ * Data source name
226
+ */
227
+ source?: string;
228
+ /**
229
+ * Resource name
230
+ */
231
+ resource?: string;
232
+ /**
233
+ * Query parameters
234
+ */
235
+ params?: QueryParams;
236
+ /**
237
+ * Transform function for data
238
+ */
239
+ transform?: (data: any) => any;
240
+ /**
241
+ * Auto-refresh interval (ms)
242
+ */
243
+ refreshInterval?: number;
244
+ /**
245
+ * Cache data
246
+ */
247
+ cache?: boolean;
248
+ /**
249
+ * Cache TTL (ms)
250
+ */
251
+ cacheTTL?: number;
252
+ }
253
+ /**
254
+ * Validation error
255
+ */
256
+ export interface ValidationError {
257
+ /**
258
+ * Field name
259
+ */
260
+ field: string;
261
+ /**
262
+ * Error message
263
+ */
264
+ message: string;
265
+ /**
266
+ * Error code
267
+ */
268
+ code?: string;
269
+ }
270
+ /**
271
+ * API error response
272
+ */
273
+ export interface APIError {
274
+ /**
275
+ * Error message
276
+ */
277
+ message: string;
278
+ /**
279
+ * HTTP status code
280
+ */
281
+ status?: number;
282
+ /**
283
+ * Error code
284
+ */
285
+ code?: string;
286
+ /**
287
+ * Validation errors
288
+ */
289
+ errors?: ValidationError[];
290
+ /**
291
+ * Additional error data
292
+ */
293
+ data?: any;
294
+ }
295
+ //# sourceMappingURL=data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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"}
package/dist/data.js ADDED
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @object-ui/types - Data Source Types
3
+ *
4
+ * Type definitions for data fetching and management.
5
+ * These interfaces define the universal adapter pattern for data access.
6
+ *
7
+ * @module data
8
+ * @packageDocumentation
9
+ */
10
+ export {};
@@ -0,0 +1,107 @@
1
+ /**
2
+ * @object-ui/types - Disclosure Component Schemas
3
+ *
4
+ * Type definitions for collapsible and expandable components.
5
+ *
6
+ * @module disclosure
7
+ * @packageDocumentation
8
+ */
9
+ import type { BaseSchema, SchemaNode } from './base';
10
+ /**
11
+ * Accordion item
12
+ */
13
+ export interface AccordionItem {
14
+ /**
15
+ * Unique item identifier
16
+ */
17
+ value: string;
18
+ /**
19
+ * Item title/trigger
20
+ */
21
+ title: string;
22
+ /**
23
+ * Item content
24
+ */
25
+ content: SchemaNode | SchemaNode[];
26
+ /**
27
+ * Whether item is disabled
28
+ */
29
+ disabled?: boolean;
30
+ /**
31
+ * Item icon
32
+ */
33
+ icon?: string;
34
+ }
35
+ /**
36
+ * Accordion component
37
+ */
38
+ export interface AccordionSchema extends BaseSchema {
39
+ type: 'accordion';
40
+ /**
41
+ * Accordion items
42
+ */
43
+ items: AccordionItem[];
44
+ /**
45
+ * Accordion type
46
+ * @default 'single'
47
+ */
48
+ accordionType?: 'single' | 'multiple';
49
+ /**
50
+ * Whether items are collapsible
51
+ * @default true
52
+ */
53
+ collapsible?: boolean;
54
+ /**
55
+ * Default expanded item values
56
+ */
57
+ defaultValue?: string | string[];
58
+ /**
59
+ * Controlled expanded item values
60
+ */
61
+ value?: string | string[];
62
+ /**
63
+ * Change handler
64
+ */
65
+ onValueChange?: (value: string | string[]) => void;
66
+ /**
67
+ * Accordion variant
68
+ * @default 'default'
69
+ */
70
+ variant?: 'default' | 'bordered' | 'separated';
71
+ }
72
+ /**
73
+ * Collapsible component
74
+ */
75
+ export interface CollapsibleSchema extends BaseSchema {
76
+ type: 'collapsible';
77
+ /**
78
+ * Trigger content/label
79
+ */
80
+ trigger: string | SchemaNode;
81
+ /**
82
+ * Collapsible content
83
+ */
84
+ content: SchemaNode | SchemaNode[];
85
+ /**
86
+ * Default open state
87
+ * @default false
88
+ */
89
+ defaultOpen?: boolean;
90
+ /**
91
+ * Controlled open state
92
+ */
93
+ open?: boolean;
94
+ /**
95
+ * Whether collapsible is disabled
96
+ */
97
+ disabled?: boolean;
98
+ /**
99
+ * Open state change handler
100
+ */
101
+ onOpenChange?: (open: boolean) => void;
102
+ }
103
+ /**
104
+ * Union type of all disclosure schemas
105
+ */
106
+ export type DisclosureSchema = AccordionSchema | CollapsibleSchema;
107
+ //# sourceMappingURL=disclosure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disclosure.d.ts","sourceRoot":"","sources":["../src/disclosure.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;IACnC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,IAAI,EAAE,WAAW,CAAC;IAClB;;OAEG;IACH,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACtC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,IAAI,EAAE,aAAa,CAAC;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B;;OAEG;IACH,OAAO,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;IACnC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,iBAAiB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @object-ui/types - Disclosure Component Schemas
3
+ *
4
+ * Type definitions for collapsible and expandable components.
5
+ *
6
+ * @module disclosure
7
+ * @packageDocumentation
8
+ */
9
+ export {};
@@ -0,0 +1,159 @@
1
+ /**
2
+ * @object-ui/types - Feedback Component Schemas
3
+ *
4
+ * Type definitions for feedback and status indication components.
5
+ *
6
+ * @module feedback
7
+ * @packageDocumentation
8
+ */
9
+ import type { BaseSchema } from './base';
10
+ /**
11
+ * Loading/Spinner component
12
+ */
13
+ export interface LoadingSchema extends BaseSchema {
14
+ type: 'loading';
15
+ /**
16
+ * Loading text/message
17
+ */
18
+ label?: string;
19
+ /**
20
+ * Spinner size
21
+ * @default 'default'
22
+ */
23
+ size?: 'sm' | 'default' | 'lg';
24
+ /**
25
+ * Spinner variant
26
+ * @default 'spinner'
27
+ */
28
+ variant?: 'spinner' | 'dots' | 'pulse';
29
+ /**
30
+ * Whether to show fullscreen overlay
31
+ * @default false
32
+ */
33
+ fullscreen?: boolean;
34
+ }
35
+ /**
36
+ * Progress bar component
37
+ */
38
+ export interface ProgressSchema extends BaseSchema {
39
+ type: 'progress';
40
+ /**
41
+ * Progress value (0-100)
42
+ */
43
+ value?: number;
44
+ /**
45
+ * Maximum value
46
+ * @default 100
47
+ */
48
+ max?: number;
49
+ /**
50
+ * Progress bar variant
51
+ * @default 'default'
52
+ */
53
+ variant?: 'default' | 'success' | 'warning' | 'error';
54
+ /**
55
+ * Show percentage label
56
+ * @default false
57
+ */
58
+ showLabel?: boolean;
59
+ /**
60
+ * Progress bar size
61
+ * @default 'default'
62
+ */
63
+ size?: 'sm' | 'default' | 'lg';
64
+ /**
65
+ * Indeterminate/loading state
66
+ * @default false
67
+ */
68
+ indeterminate?: boolean;
69
+ }
70
+ /**
71
+ * Skeleton loading placeholder
72
+ */
73
+ export interface SkeletonSchema extends BaseSchema {
74
+ type: 'skeleton';
75
+ /**
76
+ * Skeleton variant
77
+ * @default 'text'
78
+ */
79
+ variant?: 'text' | 'circular' | 'rectangular';
80
+ /**
81
+ * Width
82
+ */
83
+ width?: string | number;
84
+ /**
85
+ * Height
86
+ */
87
+ height?: string | number;
88
+ /**
89
+ * Number of lines (for text variant)
90
+ * @default 1
91
+ */
92
+ lines?: number;
93
+ /**
94
+ * Enable animation
95
+ * @default true
96
+ */
97
+ animate?: boolean;
98
+ }
99
+ /**
100
+ * Toast notification (declarative schema)
101
+ */
102
+ export interface ToastSchema extends BaseSchema {
103
+ type: 'toast';
104
+ /**
105
+ * Toast title
106
+ */
107
+ title?: string;
108
+ /**
109
+ * Toast description
110
+ */
111
+ description?: string;
112
+ /**
113
+ * Toast variant
114
+ * @default 'default'
115
+ */
116
+ variant?: 'default' | 'success' | 'warning' | 'error' | 'info';
117
+ /**
118
+ * Auto-dismiss duration in milliseconds
119
+ * @default 5000
120
+ */
121
+ duration?: number;
122
+ /**
123
+ * Toast position
124
+ * @default 'bottom-right'
125
+ */
126
+ position?: 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
127
+ /**
128
+ * Action button
129
+ */
130
+ action?: {
131
+ label: string;
132
+ onClick: () => void;
133
+ };
134
+ /**
135
+ * Dismiss handler
136
+ */
137
+ onDismiss?: () => void;
138
+ }
139
+ /**
140
+ * Toaster container (for toast management)
141
+ */
142
+ export interface ToasterSchema extends BaseSchema {
143
+ type: 'toaster';
144
+ /**
145
+ * Toast position
146
+ * @default 'bottom-right'
147
+ */
148
+ position?: 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
149
+ /**
150
+ * Maximum number of toasts to show
151
+ * @default 5
152
+ */
153
+ limit?: number;
154
+ }
155
+ /**
156
+ * Union type of all feedback schemas
157
+ */
158
+ export type FeedbackSchema = LoadingSchema | ProgressSchema | SkeletonSchema | ToastSchema | ToasterSchema;
159
+ //# sourceMappingURL=feedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../src/feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,QAAQ,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,IAAI,EAAE,SAAS,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACvC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,IAAI,EAAE,UAAU,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACtD;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,IAAI,EAAE,UAAU,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,aAAa,CAAC;IAC9C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IAC/D;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,WAAW,GAAG,aAAa,GAAG,eAAe,GAAG,cAAc,CAAC;IACtG;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,IAAI,CAAC;KACrB,CAAC;IACF;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,IAAI,EAAE,SAAS,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,WAAW,GAAG,aAAa,GAAG,eAAe,GAAG,cAAc,CAAC;IACtG;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,cAAc,GACd,cAAc,GACd,WAAW,GACX,aAAa,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @object-ui/types - Feedback Component Schemas
3
+ *
4
+ * Type definitions for feedback and status indication components.
5
+ *
6
+ * @module feedback
7
+ * @packageDocumentation
8
+ */
9
+ export {};