@object-ui/app-shell 3.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/.turbo/turbo-build.log +4 -0
- package/LICENSE +21 -0
- package/README.md +180 -0
- package/dist/components/AppShell.d.ts +9 -0
- package/dist/components/AppShell.js +10 -0
- package/dist/components/DashboardRenderer.d.ts +8 -0
- package/dist/components/DashboardRenderer.js +14 -0
- package/dist/components/FormRenderer.d.ts +8 -0
- package/dist/components/FormRenderer.js +29 -0
- package/dist/components/ObjectRenderer.d.ts +8 -0
- package/dist/components/ObjectRenderer.js +74 -0
- package/dist/components/PageRenderer.d.ts +7 -0
- package/dist/components/PageRenderer.js +12 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +11 -0
- package/dist/types.d.ts +72 -0
- package/dist/types.js +1 -0
- package/package.json +49 -0
- package/src/components/AppShell.tsx +31 -0
- package/src/components/DashboardRenderer.tsx +36 -0
- package/src/components/FormRenderer.tsx +71 -0
- package/src/components/ObjectRenderer.tsx +122 -0
- package/src/components/PageRenderer.tsx +28 -0
- package/src/index.ts +20 -0
- package/src/types.ts +78 -0
- package/tsconfig.json +20 -0
- package/tsconfig.tsbuildinfo +1 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 ObjectQL
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# @object-ui/app-shell
|
|
2
|
+
|
|
3
|
+
**Minimal Application Shell for ObjectUI**
|
|
4
|
+
|
|
5
|
+
A lightweight, framework-agnostic rendering engine that enables third-party systems to integrate ObjectUI components without inheriting the full console infrastructure.
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
This package provides the essential building blocks for rendering ObjectUI schemas:
|
|
10
|
+
- Basic layout components (AppShell, Sidebar, Main)
|
|
11
|
+
- Renderer components for objects, dashboards, pages, and forms
|
|
12
|
+
- Zero console-specific dependencies
|
|
13
|
+
- Bring-your-own-router design
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pnpm add @object-ui/app-shell
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
### Basic Setup
|
|
24
|
+
|
|
25
|
+
```tsx
|
|
26
|
+
import { AppShell, ObjectRenderer } from '@object-ui/app-shell';
|
|
27
|
+
|
|
28
|
+
function MyCustomConsole() {
|
|
29
|
+
return (
|
|
30
|
+
<AppShell sidebar={<MySidebar />}>
|
|
31
|
+
<ObjectRenderer
|
|
32
|
+
objectName="contact"
|
|
33
|
+
dataSource={myDataSource}
|
|
34
|
+
/>
|
|
35
|
+
</AppShell>
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### With Dashboard
|
|
41
|
+
|
|
42
|
+
```tsx
|
|
43
|
+
import { DashboardRenderer } from '@object-ui/app-shell';
|
|
44
|
+
|
|
45
|
+
function MyDashboard() {
|
|
46
|
+
return (
|
|
47
|
+
<DashboardRenderer
|
|
48
|
+
schema={dashboardSchema}
|
|
49
|
+
dataSource={myDataSource}
|
|
50
|
+
/>
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### With Custom Form
|
|
56
|
+
|
|
57
|
+
```tsx
|
|
58
|
+
import { FormRenderer } from '@object-ui/app-shell';
|
|
59
|
+
|
|
60
|
+
function MyForm() {
|
|
61
|
+
return (
|
|
62
|
+
<FormRenderer
|
|
63
|
+
schema={formSchema}
|
|
64
|
+
dataSource={myDataSource}
|
|
65
|
+
onSuccess={() => console.log('Saved!')}
|
|
66
|
+
/>
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Key Features
|
|
72
|
+
|
|
73
|
+
- **Zero Dependencies on Console**: No routing, no auth, no app management
|
|
74
|
+
- **Framework Agnostic**: Works with React Router, Next.js, Remix, or any router
|
|
75
|
+
- **Lightweight**: ~50KB vs 500KB+ for full console
|
|
76
|
+
- **Composable**: Mix and match components as needed
|
|
77
|
+
- **Type-Safe**: Full TypeScript support
|
|
78
|
+
|
|
79
|
+
## Components
|
|
80
|
+
|
|
81
|
+
### AppShell
|
|
82
|
+
|
|
83
|
+
Basic layout container with sidebar support.
|
|
84
|
+
|
|
85
|
+
```tsx
|
|
86
|
+
<AppShell
|
|
87
|
+
sidebar={<YourSidebar />}
|
|
88
|
+
header={<YourHeader />}
|
|
89
|
+
>
|
|
90
|
+
{children}
|
|
91
|
+
</AppShell>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### ObjectRenderer
|
|
95
|
+
|
|
96
|
+
Renders object views (Grid, Kanban, List, etc.).
|
|
97
|
+
|
|
98
|
+
```tsx
|
|
99
|
+
<ObjectRenderer
|
|
100
|
+
objectName="contact"
|
|
101
|
+
viewId="grid-view"
|
|
102
|
+
dataSource={dataSource}
|
|
103
|
+
onRecordClick={(record) => navigate(`/detail/${record.id}`)}
|
|
104
|
+
/>
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### DashboardRenderer
|
|
108
|
+
|
|
109
|
+
Renders dashboard layouts from schema.
|
|
110
|
+
|
|
111
|
+
```tsx
|
|
112
|
+
<DashboardRenderer
|
|
113
|
+
schema={dashboardSchema}
|
|
114
|
+
dataSource={dataSource}
|
|
115
|
+
/>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### PageRenderer
|
|
119
|
+
|
|
120
|
+
Renders custom page schemas.
|
|
121
|
+
|
|
122
|
+
```tsx
|
|
123
|
+
<PageRenderer
|
|
124
|
+
schema={pageSchema}
|
|
125
|
+
/>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### FormRenderer
|
|
129
|
+
|
|
130
|
+
Renders forms (modal or inline).
|
|
131
|
+
|
|
132
|
+
```tsx
|
|
133
|
+
<FormRenderer
|
|
134
|
+
schema={formSchema}
|
|
135
|
+
dataSource={dataSource}
|
|
136
|
+
mode="create" // or "edit"
|
|
137
|
+
recordId={recordId}
|
|
138
|
+
onSuccess={handleSuccess}
|
|
139
|
+
onCancel={handleCancel}
|
|
140
|
+
/>
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Architecture
|
|
144
|
+
|
|
145
|
+
This package sits between the low-level `@object-ui/react` (SchemaRenderer) and the high-level `apps/console` (full application):
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
Third-Party App
|
|
149
|
+
↓
|
|
150
|
+
@object-ui/app-shell ← You are here
|
|
151
|
+
↓
|
|
152
|
+
@object-ui/react (SchemaRenderer)
|
|
153
|
+
↓
|
|
154
|
+
@object-ui/components + @object-ui/fields + plugins
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Comparison with Console
|
|
158
|
+
|
|
159
|
+
| Feature | @object-ui/app-shell | apps/console |
|
|
160
|
+
|---------|---------------------|--------------|
|
|
161
|
+
| Bundle Size | ~50KB | ~500KB+ |
|
|
162
|
+
| Routing | BYO | Built-in React Router |
|
|
163
|
+
| Auth | BYO | Built-in ObjectStack Auth |
|
|
164
|
+
| Admin Pages | No | Users, Roles, Audit, etc. |
|
|
165
|
+
| App Management | No | Create/Edit Apps |
|
|
166
|
+
| Data Source | Any | ObjectStack |
|
|
167
|
+
| Customization | Full control | Limited |
|
|
168
|
+
|
|
169
|
+
## Examples
|
|
170
|
+
|
|
171
|
+
See `examples/minimal-console` for a complete working example that demonstrates:
|
|
172
|
+
- Custom routing with React Router
|
|
173
|
+
- Custom data adapter (not ObjectStack)
|
|
174
|
+
- Custom authentication
|
|
175
|
+
- Cherry-picking only needed components
|
|
176
|
+
- Building a console in ~100 lines of code
|
|
177
|
+
|
|
178
|
+
## License
|
|
179
|
+
|
|
180
|
+
MIT
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { AppShellProps } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* AppShell - Minimal layout container
|
|
5
|
+
*
|
|
6
|
+
* Provides basic application structure without routing or console-specific logic.
|
|
7
|
+
* Third-party systems can customize or replace this with their own layout.
|
|
8
|
+
*/
|
|
9
|
+
export declare function AppShell({ sidebar, header, footer, children, className, }: AppShellProps): ReactNode;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* AppShell - Minimal layout container
|
|
4
|
+
*
|
|
5
|
+
* Provides basic application structure without routing or console-specific logic.
|
|
6
|
+
* Third-party systems can customize or replace this with their own layout.
|
|
7
|
+
*/
|
|
8
|
+
export function AppShell({ sidebar, header, footer, children, className = '', }) {
|
|
9
|
+
return (_jsxs("div", { className: `app-shell flex h-screen flex-col ${className}`, children: [header && _jsx("div", { className: "app-shell-header", children: header }), _jsxs("div", { className: "app-shell-body flex flex-1 overflow-hidden", children: [sidebar && (_jsx("div", { className: "app-shell-sidebar border-r", children: sidebar })), _jsx("main", { className: "app-shell-main flex-1 overflow-auto", children: children })] }), footer && _jsx("div", { className: "app-shell-footer", children: footer })] }));
|
|
10
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DashboardRendererProps } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* DashboardRenderer - Renders dashboard layouts from schema
|
|
4
|
+
*
|
|
5
|
+
* Framework-agnostic component that renders a dashboard based on JSON schema.
|
|
6
|
+
* Delegates to registered dashboard plugins.
|
|
7
|
+
*/
|
|
8
|
+
export declare function DashboardRenderer({ schema, dataSource, dashboardName, }: DashboardRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { SchemaRendererProvider } from '@object-ui/react';
|
|
3
|
+
/**
|
|
4
|
+
* DashboardRenderer - Renders dashboard layouts from schema
|
|
5
|
+
*
|
|
6
|
+
* Framework-agnostic component that renders a dashboard based on JSON schema.
|
|
7
|
+
* Delegates to registered dashboard plugins.
|
|
8
|
+
*/
|
|
9
|
+
export function DashboardRenderer({ schema, dataSource, dashboardName, }) {
|
|
10
|
+
if (!schema) {
|
|
11
|
+
return (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsx("div", { className: "text-muted-foreground", children: "No dashboard schema provided" }) }));
|
|
12
|
+
}
|
|
13
|
+
return (_jsx(SchemaRendererProvider, { dataSource: dataSource, children: _jsxs("div", { className: "dashboard-renderer h-full p-4", children: [_jsx("h1", { className: "mb-4 text-2xl font-bold", children: schema.title || dashboardName || 'Dashboard' }), _jsxs("div", { className: "text-muted-foreground", children: ["Dashboard rendering: ", schema.title || dashboardName] })] }) }));
|
|
14
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { FormRendererProps } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* FormRenderer - Renders forms (modal or inline)
|
|
4
|
+
*
|
|
5
|
+
* Framework-agnostic component that renders a form based on schema.
|
|
6
|
+
* Handles both create and edit modes.
|
|
7
|
+
*/
|
|
8
|
+
export declare function FormRenderer({ schema, dataSource, mode, recordId, onSuccess, onCancel, objectDef, }: FormRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { SchemaRendererProvider } from '@object-ui/react';
|
|
3
|
+
/**
|
|
4
|
+
* FormRenderer - Renders forms (modal or inline)
|
|
5
|
+
*
|
|
6
|
+
* Framework-agnostic component that renders a form based on schema.
|
|
7
|
+
* Handles both create and edit modes.
|
|
8
|
+
*/
|
|
9
|
+
export function FormRenderer({ schema, dataSource, mode = 'create', recordId, onSuccess, onCancel, objectDef, }) {
|
|
10
|
+
if (!schema) {
|
|
11
|
+
return (_jsx("div", { className: "flex items-center justify-center p-4", children: _jsx("div", { className: "text-muted-foreground", children: "No form schema provided" }) }));
|
|
12
|
+
}
|
|
13
|
+
const handleSubmit = async (data) => {
|
|
14
|
+
try {
|
|
15
|
+
if (mode === 'create' && objectDef) {
|
|
16
|
+
const result = await dataSource.create(objectDef.name, data);
|
|
17
|
+
onSuccess?.(result);
|
|
18
|
+
}
|
|
19
|
+
else if (mode === 'edit' && recordId && objectDef) {
|
|
20
|
+
const result = await dataSource.update(objectDef.name, recordId, data);
|
|
21
|
+
onSuccess?.(result);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
console.error('Form submission error:', error);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
return (_jsx(SchemaRendererProvider, { dataSource: dataSource, children: _jsxs("div", { className: "form-renderer p-4", children: [_jsx("h2", { className: "mb-4 text-xl font-semibold", children: schema.title || (mode === 'create' ? 'Create Record' : 'Edit Record') }), _jsxs("div", { className: "text-muted-foreground", children: ["Form rendering in ", mode, " mode", recordId && ` for record ${recordId}`] }), _jsxs("div", { className: "mt-4 flex gap-2", children: [_jsx("button", { onClick: () => handleSubmit({}), className: "rounded bg-primary px-4 py-2 text-primary-foreground", children: "Save" }), onCancel && (_jsx("button", { onClick: onCancel, className: "rounded border px-4 py-2", children: "Cancel" }))] })] }) }));
|
|
29
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ObjectRendererProps } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* ObjectRenderer - Renders object views (Grid, Kanban, List, etc.)
|
|
4
|
+
*
|
|
5
|
+
* Framework-agnostic component that renders an object view based on schema.
|
|
6
|
+
* Supports all view types registered in the ComponentRegistry.
|
|
7
|
+
*/
|
|
8
|
+
export declare function ObjectRenderer({ objectName, viewId, dataSource, onRecordClick: _onRecordClick, onEdit: _onEdit, objectDef: externalObjectDef, refreshKey, }: ObjectRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
3
|
+
import { SchemaRendererProvider } from '@object-ui/react';
|
|
4
|
+
/**
|
|
5
|
+
* ObjectRenderer - Renders object views (Grid, Kanban, List, etc.)
|
|
6
|
+
*
|
|
7
|
+
* Framework-agnostic component that renders an object view based on schema.
|
|
8
|
+
* Supports all view types registered in the ComponentRegistry.
|
|
9
|
+
*/
|
|
10
|
+
export function ObjectRenderer({ objectName, viewId, dataSource, onRecordClick: _onRecordClick, onEdit: _onEdit, objectDef: externalObjectDef, refreshKey = 0, }) {
|
|
11
|
+
const [objectDef, setObjectDef] = useState(externalObjectDef);
|
|
12
|
+
const [loading, setLoading] = useState(!externalObjectDef);
|
|
13
|
+
const [error, setError] = useState(null);
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
if (externalObjectDef) {
|
|
16
|
+
setObjectDef(externalObjectDef);
|
|
17
|
+
setLoading(false);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
// Fetch object metadata if not provided
|
|
21
|
+
if (dataSource.getMetadata) {
|
|
22
|
+
setLoading(true);
|
|
23
|
+
dataSource
|
|
24
|
+
.getMetadata()
|
|
25
|
+
.then((metadata) => {
|
|
26
|
+
const obj = metadata.objects?.find((o) => o.name === objectName);
|
|
27
|
+
if (obj) {
|
|
28
|
+
setObjectDef(obj);
|
|
29
|
+
setError(null);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
setError(`Object "${objectName}" not found`);
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
.catch((err) => {
|
|
36
|
+
setError(err.message);
|
|
37
|
+
})
|
|
38
|
+
.finally(() => {
|
|
39
|
+
setLoading(false);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
setError('Data source does not support metadata fetching');
|
|
44
|
+
setLoading(false);
|
|
45
|
+
}
|
|
46
|
+
}, [objectName, dataSource, externalObjectDef]);
|
|
47
|
+
if (loading) {
|
|
48
|
+
return (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsx("div", { className: "text-muted-foreground", children: "Loading..." }) }));
|
|
49
|
+
}
|
|
50
|
+
if (error) {
|
|
51
|
+
return (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsxs("div", { className: "text-destructive", children: ["Error: ", error] }) }));
|
|
52
|
+
}
|
|
53
|
+
if (!objectDef) {
|
|
54
|
+
return (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsx("div", { className: "text-muted-foreground", children: "Object definition not found" }) }));
|
|
55
|
+
}
|
|
56
|
+
// Build view schema
|
|
57
|
+
const viewSchema = buildObjectViewSchema(objectDef, viewId);
|
|
58
|
+
return (_jsx(SchemaRendererProvider, { dataSource: dataSource, children: _jsx("div", { className: "object-renderer h-full", children: _jsxs("div", { className: "h-full p-4", children: [_jsx("h1", { className: "mb-4 text-2xl font-bold", children: objectDef.label || objectDef.name }), _jsxs("div", { className: "text-muted-foreground", children: ["View rendering for ", objectName, " (viewId: ", viewId || 'default', ")"] })] }) }, refreshKey) }));
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Helper to build view schema from object definition
|
|
62
|
+
*/
|
|
63
|
+
function buildObjectViewSchema(objectDef, viewId) {
|
|
64
|
+
// Find the requested view or use default
|
|
65
|
+
const view = viewId
|
|
66
|
+
? objectDef.views?.find((v) => v.id === viewId || v.name === viewId)
|
|
67
|
+
: objectDef.views?.[0];
|
|
68
|
+
return {
|
|
69
|
+
type: view?.type || 'grid',
|
|
70
|
+
objectName: objectDef.name,
|
|
71
|
+
viewId: view?.id,
|
|
72
|
+
...view,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PageRendererProps } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* PageRenderer - Renders custom page schemas
|
|
4
|
+
*
|
|
5
|
+
* Framework-agnostic component that renders a page based on JSON schema.
|
|
6
|
+
*/
|
|
7
|
+
export declare function PageRenderer({ schema, pageName }: PageRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* PageRenderer - Renders custom page schemas
|
|
4
|
+
*
|
|
5
|
+
* Framework-agnostic component that renders a page based on JSON schema.
|
|
6
|
+
*/
|
|
7
|
+
export function PageRenderer({ schema, pageName }) {
|
|
8
|
+
if (!schema) {
|
|
9
|
+
return (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsx("div", { className: "text-muted-foreground", children: "No page schema provided" }) }));
|
|
10
|
+
}
|
|
11
|
+
return (_jsxs("div", { className: "page-renderer h-full p-4", children: [_jsx("h1", { className: "mb-4 text-2xl font-bold", children: schema.title || pageName || 'Page' }), _jsxs("div", { className: "text-muted-foreground", children: ["Page rendering: ", schema.title || pageName] })] }));
|
|
12
|
+
}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @object-ui/app-shell
|
|
3
|
+
*
|
|
4
|
+
* Minimal Application Shell for ObjectUI
|
|
5
|
+
* Framework-agnostic rendering engine for third-party integration
|
|
6
|
+
*/
|
|
7
|
+
export { AppShell } from './components/AppShell';
|
|
8
|
+
export { ObjectRenderer } from './components/ObjectRenderer';
|
|
9
|
+
export { DashboardRenderer } from './components/DashboardRenderer';
|
|
10
|
+
export { PageRenderer } from './components/PageRenderer';
|
|
11
|
+
export { FormRenderer } from './components/FormRenderer';
|
|
12
|
+
export type { AppShellProps, ObjectRendererProps, DashboardRendererProps, PageRendererProps, FormRendererProps, } from './types';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @object-ui/app-shell
|
|
3
|
+
*
|
|
4
|
+
* Minimal Application Shell for ObjectUI
|
|
5
|
+
* Framework-agnostic rendering engine for third-party integration
|
|
6
|
+
*/
|
|
7
|
+
export { AppShell } from './components/AppShell';
|
|
8
|
+
export { ObjectRenderer } from './components/ObjectRenderer';
|
|
9
|
+
export { DashboardRenderer } from './components/DashboardRenderer';
|
|
10
|
+
export { PageRenderer } from './components/PageRenderer';
|
|
11
|
+
export { FormRenderer } from './components/FormRenderer';
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Generic data source interface
|
|
4
|
+
* Third-party systems can implement this to connect their own backends
|
|
5
|
+
*/
|
|
6
|
+
export interface DataSource {
|
|
7
|
+
find(objectName: string, params?: any): Promise<any>;
|
|
8
|
+
findOne(objectName: string, id: string, params?: any): Promise<any>;
|
|
9
|
+
create(objectName: string, data: any): Promise<any>;
|
|
10
|
+
update(objectName: string, id: string, data: any): Promise<any>;
|
|
11
|
+
delete(objectName: string, id: string): Promise<void>;
|
|
12
|
+
getMetadata?(): Promise<any>;
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
}
|
|
15
|
+
export interface AppShellProps {
|
|
16
|
+
/** Sidebar component (optional) */
|
|
17
|
+
sidebar?: ReactNode;
|
|
18
|
+
/** Header component (optional) */
|
|
19
|
+
header?: ReactNode;
|
|
20
|
+
/** Footer component (optional) */
|
|
21
|
+
footer?: ReactNode;
|
|
22
|
+
/** Main content */
|
|
23
|
+
children: ReactNode;
|
|
24
|
+
/** Custom className */
|
|
25
|
+
className?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface ObjectRendererProps {
|
|
28
|
+
/** Object API name */
|
|
29
|
+
objectName: string;
|
|
30
|
+
/** View ID (optional) */
|
|
31
|
+
viewId?: string;
|
|
32
|
+
/** Data source for CRUD operations */
|
|
33
|
+
dataSource: DataSource;
|
|
34
|
+
/** Callback when a record is clicked */
|
|
35
|
+
onRecordClick?: (record: any) => void;
|
|
36
|
+
/** Callback when edit is triggered */
|
|
37
|
+
onEdit?: (record: any) => void;
|
|
38
|
+
/** Object metadata (optional, will fetch if not provided) */
|
|
39
|
+
objectDef?: any;
|
|
40
|
+
/** Refresh key to force re-render */
|
|
41
|
+
refreshKey?: number;
|
|
42
|
+
}
|
|
43
|
+
export interface DashboardRendererProps {
|
|
44
|
+
/** Dashboard schema */
|
|
45
|
+
schema: any;
|
|
46
|
+
/** Data source for widgets */
|
|
47
|
+
dataSource: DataSource;
|
|
48
|
+
/** Dashboard name */
|
|
49
|
+
dashboardName?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface PageRendererProps {
|
|
52
|
+
/** Page schema */
|
|
53
|
+
schema: any;
|
|
54
|
+
/** Page name */
|
|
55
|
+
pageName?: string;
|
|
56
|
+
}
|
|
57
|
+
export interface FormRendererProps {
|
|
58
|
+
/** Form schema */
|
|
59
|
+
schema: any;
|
|
60
|
+
/** Data source for form submission */
|
|
61
|
+
dataSource: DataSource;
|
|
62
|
+
/** Form mode */
|
|
63
|
+
mode?: 'create' | 'edit';
|
|
64
|
+
/** Record ID (for edit mode) */
|
|
65
|
+
recordId?: string;
|
|
66
|
+
/** Success callback */
|
|
67
|
+
onSuccess?: (result: any) => void;
|
|
68
|
+
/** Cancel callback */
|
|
69
|
+
onCancel?: () => void;
|
|
70
|
+
/** Object definition */
|
|
71
|
+
objectDef?: any;
|
|
72
|
+
}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@object-ui/app-shell",
|
|
3
|
+
"version": "3.3.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"description": "Minimal application shell for ObjectUI - framework-agnostic rendering engine",
|
|
7
|
+
"homepage": "https://www.objectui.org",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/objectstack-ai/objectui.git",
|
|
11
|
+
"directory": "packages/app-shell"
|
|
12
|
+
},
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/objectstack-ai/objectui/issues"
|
|
15
|
+
},
|
|
16
|
+
"main": "./dist/index.js",
|
|
17
|
+
"module": "./dist/index.js",
|
|
18
|
+
"types": "./dist/index.d.ts",
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"types": "./dist/index.d.ts",
|
|
22
|
+
"import": "./dist/index.js",
|
|
23
|
+
"default": "./dist/index.js"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@object-ui/core": "3.3.0",
|
|
28
|
+
"@object-ui/fields": "3.3.0",
|
|
29
|
+
"@object-ui/layout": "3.3.0",
|
|
30
|
+
"@object-ui/react": "3.3.0",
|
|
31
|
+
"@object-ui/types": "3.3.0",
|
|
32
|
+
"@object-ui/components": "3.3.0"
|
|
33
|
+
},
|
|
34
|
+
"peerDependencies": {
|
|
35
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
36
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@types/react": "19.2.14",
|
|
40
|
+
"@types/react-dom": "19.2.3",
|
|
41
|
+
"typescript": "^6.0.2"
|
|
42
|
+
},
|
|
43
|
+
"scripts": {
|
|
44
|
+
"build": "tsc",
|
|
45
|
+
"test": "vitest run",
|
|
46
|
+
"type-check": "tsc --noEmit",
|
|
47
|
+
"lint": "eslint ."
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { AppShellProps } from '../types';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* AppShell - Minimal layout container
|
|
6
|
+
*
|
|
7
|
+
* Provides basic application structure without routing or console-specific logic.
|
|
8
|
+
* Third-party systems can customize or replace this with their own layout.
|
|
9
|
+
*/
|
|
10
|
+
export function AppShell({
|
|
11
|
+
sidebar,
|
|
12
|
+
header,
|
|
13
|
+
footer,
|
|
14
|
+
children,
|
|
15
|
+
className = '',
|
|
16
|
+
}: AppShellProps): ReactNode {
|
|
17
|
+
return (
|
|
18
|
+
<div className={`app-shell flex h-screen flex-col ${className}`}>
|
|
19
|
+
{header && <div className="app-shell-header">{header}</div>}
|
|
20
|
+
<div className="app-shell-body flex flex-1 overflow-hidden">
|
|
21
|
+
{sidebar && (
|
|
22
|
+
<div className="app-shell-sidebar border-r">{sidebar}</div>
|
|
23
|
+
)}
|
|
24
|
+
<main className="app-shell-main flex-1 overflow-auto">
|
|
25
|
+
{children}
|
|
26
|
+
</main>
|
|
27
|
+
</div>
|
|
28
|
+
{footer && <div className="app-shell-footer">{footer}</div>}
|
|
29
|
+
</div>
|
|
30
|
+
);
|
|
31
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { SchemaRendererProvider } from '@object-ui/react';
|
|
2
|
+
import type { DashboardRendererProps } from '../types';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* DashboardRenderer - Renders dashboard layouts from schema
|
|
6
|
+
*
|
|
7
|
+
* Framework-agnostic component that renders a dashboard based on JSON schema.
|
|
8
|
+
* Delegates to registered dashboard plugins.
|
|
9
|
+
*/
|
|
10
|
+
export function DashboardRenderer({
|
|
11
|
+
schema,
|
|
12
|
+
dataSource,
|
|
13
|
+
dashboardName,
|
|
14
|
+
}: DashboardRendererProps) {
|
|
15
|
+
if (!schema) {
|
|
16
|
+
return (
|
|
17
|
+
<div className="flex h-full items-center justify-center">
|
|
18
|
+
<div className="text-muted-foreground">No dashboard schema provided</div>
|
|
19
|
+
</div>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return (
|
|
24
|
+
<SchemaRendererProvider dataSource={dataSource}>
|
|
25
|
+
<div className="dashboard-renderer h-full p-4">
|
|
26
|
+
<h1 className="mb-4 text-2xl font-bold">
|
|
27
|
+
{schema.title || dashboardName || 'Dashboard'}
|
|
28
|
+
</h1>
|
|
29
|
+
{/* TODO: Integrate with actual SchemaRenderer for dashboard */}
|
|
30
|
+
<div className="text-muted-foreground">
|
|
31
|
+
Dashboard rendering: {schema.title || dashboardName}
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
</SchemaRendererProvider>
|
|
35
|
+
);
|
|
36
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { SchemaRendererProvider } from '@object-ui/react';
|
|
2
|
+
import type { FormRendererProps } from '../types';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* FormRenderer - Renders forms (modal or inline)
|
|
6
|
+
*
|
|
7
|
+
* Framework-agnostic component that renders a form based on schema.
|
|
8
|
+
* Handles both create and edit modes.
|
|
9
|
+
*/
|
|
10
|
+
export function FormRenderer({
|
|
11
|
+
schema,
|
|
12
|
+
dataSource,
|
|
13
|
+
mode = 'create',
|
|
14
|
+
recordId,
|
|
15
|
+
onSuccess,
|
|
16
|
+
onCancel,
|
|
17
|
+
objectDef,
|
|
18
|
+
}: FormRendererProps) {
|
|
19
|
+
if (!schema) {
|
|
20
|
+
return (
|
|
21
|
+
<div className="flex items-center justify-center p-4">
|
|
22
|
+
<div className="text-muted-foreground">No form schema provided</div>
|
|
23
|
+
</div>
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const handleSubmit = async (data: any) => {
|
|
28
|
+
try {
|
|
29
|
+
if (mode === 'create' && objectDef) {
|
|
30
|
+
const result = await dataSource.create(objectDef.name, data);
|
|
31
|
+
onSuccess?.(result);
|
|
32
|
+
} else if (mode === 'edit' && recordId && objectDef) {
|
|
33
|
+
const result = await dataSource.update(objectDef.name, recordId, data);
|
|
34
|
+
onSuccess?.(result);
|
|
35
|
+
}
|
|
36
|
+
} catch (error) {
|
|
37
|
+
console.error('Form submission error:', error);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
return (
|
|
42
|
+
<SchemaRendererProvider dataSource={dataSource}>
|
|
43
|
+
<div className="form-renderer p-4">
|
|
44
|
+
<h2 className="mb-4 text-xl font-semibold">
|
|
45
|
+
{schema.title || (mode === 'create' ? 'Create Record' : 'Edit Record')}
|
|
46
|
+
</h2>
|
|
47
|
+
{/* TODO: Integrate with actual form renderer */}
|
|
48
|
+
<div className="text-muted-foreground">
|
|
49
|
+
Form rendering in {mode} mode
|
|
50
|
+
{recordId && ` for record ${recordId}`}
|
|
51
|
+
</div>
|
|
52
|
+
<div className="mt-4 flex gap-2">
|
|
53
|
+
<button
|
|
54
|
+
onClick={() => handleSubmit({})}
|
|
55
|
+
className="rounded bg-primary px-4 py-2 text-primary-foreground"
|
|
56
|
+
>
|
|
57
|
+
Save
|
|
58
|
+
</button>
|
|
59
|
+
{onCancel && (
|
|
60
|
+
<button
|
|
61
|
+
onClick={onCancel}
|
|
62
|
+
className="rounded border px-4 py-2"
|
|
63
|
+
>
|
|
64
|
+
Cancel
|
|
65
|
+
</button>
|
|
66
|
+
)}
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
</SchemaRendererProvider>
|
|
70
|
+
);
|
|
71
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
import { SchemaRendererProvider } from '@object-ui/react';
|
|
3
|
+
import type { ObjectRendererProps } from '../types';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* ObjectRenderer - Renders object views (Grid, Kanban, List, etc.)
|
|
7
|
+
*
|
|
8
|
+
* Framework-agnostic component that renders an object view based on schema.
|
|
9
|
+
* Supports all view types registered in the ComponentRegistry.
|
|
10
|
+
*/
|
|
11
|
+
export function ObjectRenderer({
|
|
12
|
+
objectName,
|
|
13
|
+
viewId,
|
|
14
|
+
dataSource,
|
|
15
|
+
onRecordClick: _onRecordClick,
|
|
16
|
+
onEdit: _onEdit,
|
|
17
|
+
objectDef: externalObjectDef,
|
|
18
|
+
refreshKey = 0,
|
|
19
|
+
}: ObjectRendererProps) {
|
|
20
|
+
const [objectDef, setObjectDef] = useState(externalObjectDef);
|
|
21
|
+
const [loading, setLoading] = useState(!externalObjectDef);
|
|
22
|
+
const [error, setError] = useState<string | null>(null);
|
|
23
|
+
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
if (externalObjectDef) {
|
|
26
|
+
setObjectDef(externalObjectDef);
|
|
27
|
+
setLoading(false);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// Fetch object metadata if not provided
|
|
32
|
+
if (dataSource.getMetadata) {
|
|
33
|
+
setLoading(true);
|
|
34
|
+
dataSource
|
|
35
|
+
.getMetadata()
|
|
36
|
+
.then((metadata: any) => {
|
|
37
|
+
const obj = metadata.objects?.find(
|
|
38
|
+
(o: any) => o.name === objectName
|
|
39
|
+
);
|
|
40
|
+
if (obj) {
|
|
41
|
+
setObjectDef(obj);
|
|
42
|
+
setError(null);
|
|
43
|
+
} else {
|
|
44
|
+
setError(`Object "${objectName}" not found`);
|
|
45
|
+
}
|
|
46
|
+
})
|
|
47
|
+
.catch((err: Error) => {
|
|
48
|
+
setError(err.message);
|
|
49
|
+
})
|
|
50
|
+
.finally(() => {
|
|
51
|
+
setLoading(false);
|
|
52
|
+
});
|
|
53
|
+
} else {
|
|
54
|
+
setError('Data source does not support metadata fetching');
|
|
55
|
+
setLoading(false);
|
|
56
|
+
}
|
|
57
|
+
}, [objectName, dataSource, externalObjectDef]);
|
|
58
|
+
|
|
59
|
+
if (loading) {
|
|
60
|
+
return (
|
|
61
|
+
<div className="flex h-full items-center justify-center">
|
|
62
|
+
<div className="text-muted-foreground">Loading...</div>
|
|
63
|
+
</div>
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (error) {
|
|
68
|
+
return (
|
|
69
|
+
<div className="flex h-full items-center justify-center">
|
|
70
|
+
<div className="text-destructive">Error: {error}</div>
|
|
71
|
+
</div>
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (!objectDef) {
|
|
76
|
+
return (
|
|
77
|
+
<div className="flex h-full items-center justify-center">
|
|
78
|
+
<div className="text-muted-foreground">
|
|
79
|
+
Object definition not found
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Build view schema
|
|
86
|
+
const viewSchema = buildObjectViewSchema(objectDef, viewId);
|
|
87
|
+
|
|
88
|
+
return (
|
|
89
|
+
<SchemaRendererProvider dataSource={dataSource}>
|
|
90
|
+
<div className="object-renderer h-full" key={refreshKey}>
|
|
91
|
+
{/* Render using SchemaRenderer from @object-ui/react */}
|
|
92
|
+
{/* The actual implementation will delegate to registered view plugins */}
|
|
93
|
+
<div className="h-full p-4">
|
|
94
|
+
<h1 className="mb-4 text-2xl font-bold">
|
|
95
|
+
{objectDef.label || objectDef.name}
|
|
96
|
+
</h1>
|
|
97
|
+
{/* TODO: Integrate with actual SchemaRenderer once available */}
|
|
98
|
+
<div className="text-muted-foreground">
|
|
99
|
+
View rendering for {objectName} (viewId: {viewId || 'default'})
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
</SchemaRendererProvider>
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Helper to build view schema from object definition
|
|
109
|
+
*/
|
|
110
|
+
function buildObjectViewSchema(objectDef: any, viewId?: string) {
|
|
111
|
+
// Find the requested view or use default
|
|
112
|
+
const view = viewId
|
|
113
|
+
? objectDef.views?.find((v: any) => v.id === viewId || v.name === viewId)
|
|
114
|
+
: objectDef.views?.[0];
|
|
115
|
+
|
|
116
|
+
return {
|
|
117
|
+
type: view?.type || 'grid',
|
|
118
|
+
objectName: objectDef.name,
|
|
119
|
+
viewId: view?.id,
|
|
120
|
+
...view,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { PageRendererProps } from '../types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* PageRenderer - Renders custom page schemas
|
|
5
|
+
*
|
|
6
|
+
* Framework-agnostic component that renders a page based on JSON schema.
|
|
7
|
+
*/
|
|
8
|
+
export function PageRenderer({ schema, pageName }: PageRendererProps) {
|
|
9
|
+
if (!schema) {
|
|
10
|
+
return (
|
|
11
|
+
<div className="flex h-full items-center justify-center">
|
|
12
|
+
<div className="text-muted-foreground">No page schema provided</div>
|
|
13
|
+
</div>
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return (
|
|
18
|
+
<div className="page-renderer h-full p-4">
|
|
19
|
+
<h1 className="mb-4 text-2xl font-bold">
|
|
20
|
+
{schema.title || pageName || 'Page'}
|
|
21
|
+
</h1>
|
|
22
|
+
{/* TODO: Integrate with actual SchemaRenderer for page */}
|
|
23
|
+
<div className="text-muted-foreground">
|
|
24
|
+
Page rendering: {schema.title || pageName}
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
);
|
|
28
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @object-ui/app-shell
|
|
3
|
+
*
|
|
4
|
+
* Minimal Application Shell for ObjectUI
|
|
5
|
+
* Framework-agnostic rendering engine for third-party integration
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export { AppShell } from './components/AppShell';
|
|
9
|
+
export { ObjectRenderer } from './components/ObjectRenderer';
|
|
10
|
+
export { DashboardRenderer } from './components/DashboardRenderer';
|
|
11
|
+
export { PageRenderer } from './components/PageRenderer';
|
|
12
|
+
export { FormRenderer } from './components/FormRenderer';
|
|
13
|
+
|
|
14
|
+
export type {
|
|
15
|
+
AppShellProps,
|
|
16
|
+
ObjectRendererProps,
|
|
17
|
+
DashboardRendererProps,
|
|
18
|
+
PageRendererProps,
|
|
19
|
+
FormRendererProps,
|
|
20
|
+
} from './types';
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Generic data source interface
|
|
5
|
+
* Third-party systems can implement this to connect their own backends
|
|
6
|
+
*/
|
|
7
|
+
export interface DataSource {
|
|
8
|
+
find(objectName: string, params?: any): Promise<any>;
|
|
9
|
+
findOne(objectName: string, id: string, params?: any): Promise<any>;
|
|
10
|
+
create(objectName: string, data: any): Promise<any>;
|
|
11
|
+
update(objectName: string, id: string, data: any): Promise<any>;
|
|
12
|
+
delete(objectName: string, id: string): Promise<void>;
|
|
13
|
+
getMetadata?(): Promise<any>;
|
|
14
|
+
[key: string]: any; // Allow additional methods
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface AppShellProps {
|
|
18
|
+
/** Sidebar component (optional) */
|
|
19
|
+
sidebar?: ReactNode;
|
|
20
|
+
/** Header component (optional) */
|
|
21
|
+
header?: ReactNode;
|
|
22
|
+
/** Footer component (optional) */
|
|
23
|
+
footer?: ReactNode;
|
|
24
|
+
/** Main content */
|
|
25
|
+
children: ReactNode;
|
|
26
|
+
/** Custom className */
|
|
27
|
+
className?: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface ObjectRendererProps {
|
|
31
|
+
/** Object API name */
|
|
32
|
+
objectName: string;
|
|
33
|
+
/** View ID (optional) */
|
|
34
|
+
viewId?: string;
|
|
35
|
+
/** Data source for CRUD operations */
|
|
36
|
+
dataSource: DataSource;
|
|
37
|
+
/** Callback when a record is clicked */
|
|
38
|
+
onRecordClick?: (record: any) => void;
|
|
39
|
+
/** Callback when edit is triggered */
|
|
40
|
+
onEdit?: (record: any) => void;
|
|
41
|
+
/** Object metadata (optional, will fetch if not provided) */
|
|
42
|
+
objectDef?: any;
|
|
43
|
+
/** Refresh key to force re-render */
|
|
44
|
+
refreshKey?: number;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface DashboardRendererProps {
|
|
48
|
+
/** Dashboard schema */
|
|
49
|
+
schema: any;
|
|
50
|
+
/** Data source for widgets */
|
|
51
|
+
dataSource: DataSource;
|
|
52
|
+
/** Dashboard name */
|
|
53
|
+
dashboardName?: string;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export interface PageRendererProps {
|
|
57
|
+
/** Page schema */
|
|
58
|
+
schema: any;
|
|
59
|
+
/** Page name */
|
|
60
|
+
pageName?: string;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export interface FormRendererProps {
|
|
64
|
+
/** Form schema */
|
|
65
|
+
schema: any;
|
|
66
|
+
/** Data source for form submission */
|
|
67
|
+
dataSource: DataSource;
|
|
68
|
+
/** Form mode */
|
|
69
|
+
mode?: 'create' | 'edit';
|
|
70
|
+
/** Record ID (for edit mode) */
|
|
71
|
+
recordId?: string;
|
|
72
|
+
/** Success callback */
|
|
73
|
+
onSuccess?: (result: any) => void;
|
|
74
|
+
/** Cancel callback */
|
|
75
|
+
onCancel?: () => void;
|
|
76
|
+
/** Object definition */
|
|
77
|
+
objectDef?: any;
|
|
78
|
+
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "../../tsconfig.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"outDir": "dist",
|
|
5
|
+
"rootDir": "src",
|
|
6
|
+
"jsx": "react-jsx",
|
|
7
|
+
"lib": ["ES2020", "DOM"],
|
|
8
|
+
"noEmit": false,
|
|
9
|
+
"declaration": true,
|
|
10
|
+
"composite": true
|
|
11
|
+
},
|
|
12
|
+
"include": ["src"],
|
|
13
|
+
"exclude": ["node_modules", "dist", "**/*.test.ts", "**/*.test.tsx"],
|
|
14
|
+
"references": [
|
|
15
|
+
{ "path": "../types" },
|
|
16
|
+
{ "path": "../core" },
|
|
17
|
+
{ "path": "../react" },
|
|
18
|
+
{ "path": "../components" }
|
|
19
|
+
]
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/global.d.ts","../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/index.d.ts","../../node_modules/.pnpm/@types+react@19.2.14/node_modules/@types/react/jsx-runtime.d.ts","./src/types.ts","./src/components/AppShell.tsx","../core/dist/types/index.d.ts","../core/dist/registry/Registry.d.ts","../types/dist/base.d.ts","../types/dist/app.d.ts","../types/dist/layout.d.ts","../types/dist/form.d.ts","../types/dist/data-display.d.ts","../types/dist/feedback.d.ts","../types/dist/disclosure.d.ts","../types/dist/overlay.d.ts","../types/dist/navigation.d.ts","../types/dist/complex.d.ts","../types/dist/data.d.ts","../types/dist/crud.d.ts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/standard-schema.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/registries.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/to-json-schema.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/util.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/versions.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/schemas.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/checks.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/errors.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/core.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/parse.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/regexes.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ar.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/az.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/be.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/bg.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ca.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/cs.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/da.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/de.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/en.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/eo.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/es.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fa.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fi.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fr.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fr-CA.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/he.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/hu.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/hy.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/id.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/is.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/it.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ja.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ka.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/kh.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/km.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ko.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/lt.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/mk.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ms.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/nl.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/no.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ota.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ps.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/pl.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/pt.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ru.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/sl.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/sv.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ta.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/th.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/tr.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ua.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/uk.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ur.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/uz.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/vi.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/zh-CN.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/zh-TW.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/yo.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/index.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/doc.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/api.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema-processors.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema-generator.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/index.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/errors.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/parse.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/schemas.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/checks.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/compat.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/from-json-schema.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/iso.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/coerce.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/external.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/index.d.cts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/http.zod-D7ZTstT3.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/filter.zod-C1pP3ajF.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/index-BnaFajrN.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/ui/index.d.ts","../types/dist/objectql.d.ts","../types/dist/record-components.d.ts","../types/dist/field-types.d.ts","../types/dist/data-protocol.d.ts","../types/dist/permissions.d.ts","../types/dist/theme.d.ts","../types/dist/tenant.d.ts","../types/dist/mobile.d.ts","../types/dist/designer.d.ts","../types/dist/api-types.d.ts","../types/dist/reports.d.ts","../types/dist/workflow.d.ts","../types/dist/ai.d.ts","../types/dist/blocks.d.ts","../types/dist/views.d.ts","../types/dist/registry.d.ts","../types/dist/plugin-scope.d.ts","../types/dist/ui-action.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/index-C7Dffsq_.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/field.zod-D_DIgcSq.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/state-machine.zod-DoC0JvQb.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/object.zod-DyPOwmkG.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/subscription.zod-CZkmUAf-.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/index-COGGksR_.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/index-CGHUOFoh.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/app-install.zod-Cq61-HsS.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/index-CkOMlDMi.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/package-upgrade.zod-B1xdkA8t.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/package-registry.zod-DDWSf5sI.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/index-DRwevace.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/index-DlwJCmK3.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/index-CfW_pO83.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/index-KkKYFQDj.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/index-BeTMANnR.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/export.zod-D4NQy11G.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/index-BAWaavMb.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/execution.zod-C-p7jwk1.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/index-DHOOU0Y3.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/index-b_6YhcoG.d.ts","../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts","../../node_modules/.pnpm/@ai-sdk+provider@3.0.8/node_modules/@ai-sdk/provider/dist/index.d.ts","../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/typeAliases.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/util.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/ZodError.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/locales/en.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/errors.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/parseUtil.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/enumUtil.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/errorUtil.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/partialUtil.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/standard-schema.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/types.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/external.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/index.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/index.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/index.d.cts","../../node_modules/.pnpm/eventsource-parser@3.0.6/node_modules/eventsource-parser/dist/stream.d.ts","../../node_modules/.pnpm/@ai-sdk+provider-utils@4.0.23_zod@4.3.6/node_modules/@ai-sdk/provider-utils/dist/index.d.ts","../../node_modules/.pnpm/@ai-sdk+gateway@3.0.96_zod@4.3.6/node_modules/@ai-sdk/gateway/dist/index.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/types.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/common/Exception.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/common/Time.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/common/Attributes.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context/types.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context/context.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/context.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag/types.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag/consoleLogger.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/diag.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/ObservableResult.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/Metric.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/Meter.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/NoopMeter.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/MeterProvider.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/metrics.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/propagation/TextMapPropagator.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/propagation.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/attributes.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/trace_state.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/span_context.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/link.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/status.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/span.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/span_kind.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/SpanOptions.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/tracer.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/tracer_options.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/tracer_provider.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/ProxyTracerProvider.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/SamplingResult.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/Sampler.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/trace_flags.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/internal/utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/context-utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/trace.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/propagation-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/index.d.ts","../../node_modules/.pnpm/ai@6.0.159_zod@4.3.6/node_modules/ai/dist/index.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/index-vyRoIiPy.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/index-CBpBjx39.d.ts","../../node_modules/.pnpm/@objectstack+spec@4.0.3/node_modules/@objectstack/spec/dist/index.d.ts","../types/dist/widget.d.ts","../types/dist/index.d.ts","../core/dist/registry/PluginSystem.d.ts","../core/dist/registry/PluginScopeImpl.d.ts","../core/dist/registry/WidgetRegistry.d.ts","../core/dist/validation/validation-engine.d.ts","../core/dist/validation/schema-validator.d.ts","../core/dist/validation/validators/object-validation-engine.d.ts","../core/dist/validation/validators/index.d.ts","../core/dist/validation/index.d.ts","../core/dist/builder/schema-builder.d.ts","../core/dist/utils/filter-converter.d.ts","../core/dist/utils/normalize-quick-filter.d.ts","../core/dist/utils/extract-records.d.ts","../core/dist/utils/expand-fields.d.ts","../core/dist/evaluator/ExpressionContext.d.ts","../core/dist/evaluator/ExpressionCache.d.ts","../core/dist/evaluator/FormulaFunctions.d.ts","../core/dist/evaluator/ExpressionEvaluator.d.ts","../core/dist/evaluator/SafeExpressionParser.d.ts","../core/dist/evaluator/index.d.ts","../core/dist/actions/ActionRunner.d.ts","../core/dist/actions/ActionEngine.d.ts","../core/dist/actions/TransactionManager.d.ts","../core/dist/actions/UndoManager.d.ts","../core/dist/actions/index.d.ts","../core/dist/query/query-ast.d.ts","../core/dist/query/index.d.ts","../core/dist/adapters/ApiDataSource.d.ts","../core/dist/adapters/ValueDataSource.d.ts","../core/dist/adapters/resolveDataSource.d.ts","../core/dist/adapters/index.d.ts","../core/dist/theme/ThemeEngine.d.ts","../core/dist/theme/index.d.ts","../core/dist/data-scope/DataScopeManager.d.ts","../core/dist/data-scope/ViewDataProvider.d.ts","../core/dist/data-scope/index.d.ts","../core/dist/errors/index.d.ts","../core/dist/utils/debug.d.ts","../core/dist/utils/debug-collector.d.ts","../core/dist/utils/merge-views-into-objects.d.ts","../core/dist/protocols/DndProtocol.d.ts","../core/dist/protocols/KeyboardProtocol.d.ts","../core/dist/protocols/NotificationProtocol.d.ts","../core/dist/protocols/ResponsiveProtocol.d.ts","../core/dist/protocols/SharingProtocol.d.ts","../core/dist/protocols/index.d.ts","../core/dist/index.d.ts","../react/dist/SchemaRenderer.d.ts","../react/dist/hooks/useExpression.d.ts","../react/dist/hooks/useActionRunner.d.ts","../react/dist/hooks/useNavigationOverlay.d.ts","../react/dist/hooks/usePageVariables.d.ts","../react/dist/hooks/useViewData.d.ts","../react/dist/hooks/useDynamicApp.d.ts","../react/dist/hooks/useDiscovery.d.ts","../react/dist/hooks/useFocusTrap.d.ts","../react/dist/hooks/useFocusManagement.d.ts","../react/dist/hooks/useKeyboardShortcuts.d.ts","../react/dist/hooks/useCrudShortcuts.d.ts","../react/dist/hooks/useReducedMotion.d.ts","../react/dist/hooks/useAnimation.d.ts","../react/dist/hooks/useColumnSummary.d.ts","../react/dist/hooks/useDensityMode.d.ts","../react/dist/hooks/useViewSharing.d.ts","../react/dist/hooks/useClientNotifications.d.ts","../react/dist/hooks/useOffline.d.ts","../react/dist/hooks/usePerformance.d.ts","../react/dist/hooks/usePerformanceBudget.d.ts","../react/dist/hooks/usePageTransition.d.ts","../react/dist/hooks/useViewTransition.d.ts","../react/dist/hooks/useETagCache.d.ts","../react/dist/hooks/useSchemaPersistence.d.ts","../react/dist/hooks/useGlobalUndo.d.ts","../react/dist/hooks/useDebugMode.d.ts","../react/dist/hooks/useActionEngine.d.ts","../react/dist/hooks/useDataRefresh.d.ts","../react/dist/hooks/index.d.ts","../react/dist/context/SchemaRendererContext.d.ts","../react/dist/context/ActionContext.d.ts","../react/dist/context/ThemeContext.d.ts","../react/dist/context/NotificationContext.d.ts","../react/dist/context/DndContext.d.ts","../react/dist/context/index.d.ts","../react/dist/components/form/FormRenderer.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/constants.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/utils/createSubject.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/types/events.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/types/path/common.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/types/path/eager.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/types/path/index.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/types/fieldArray.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/types/resolvers.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/types/form.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/types/utils.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/types/fields.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/types/errors.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/types/validator.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/types/controller.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/types/watch.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/types/index.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/controller.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/form.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/formStateSubscribe.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/logic/appendErrors.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/logic/createFormControl.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/logic/index.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/useController.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/useFieldArray.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/useForm.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/useFormContext.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/useFormState.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/useWatch.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/utils/get.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/utils/set.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/utils/index.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/watch.d.ts","../../node_modules/.pnpm/react-hook-form@7.72.1_react@19.2.5/node_modules/react-hook-form/dist/index.d.ts","../react/dist/components/form/FieldFactory.d.ts","../react/dist/components/form/index.d.ts","../react/dist/LazyPluginLoader.d.ts","../react/dist/spec-bridge/types.d.ts","../react/dist/spec-bridge/SpecBridge.d.ts","../react/dist/spec-bridge/bridges/list-view.d.ts","../react/dist/spec-bridge/bridges/form-view.d.ts","../react/dist/spec-bridge/bridges/page.d.ts","../react/dist/spec-bridge/bridges/dashboard.d.ts","../react/dist/spec-bridge/index.d.ts","../react/dist/utils/i18n.d.ts","../../node_modules/.pnpm/i18next@26.0.4_typescript@6.0.2/node_modules/i18next/typescript/helpers.d.ts","../../node_modules/.pnpm/i18next@26.0.4_typescript@6.0.2/node_modules/i18next/typescript/options.d.ts","../../node_modules/.pnpm/i18next@26.0.4_typescript@6.0.2/node_modules/i18next/typescript/t.d.ts","../../node_modules/.pnpm/i18next@26.0.4_typescript@6.0.2/node_modules/i18next/index.d.ts","../../node_modules/.pnpm/i18next@26.0.4_typescript@6.0.2/node_modules/i18next/index.d.mts","../i18n/dist/locales/en.d.ts","../i18n/dist/i18n.d.ts","../i18n/dist/provider.d.ts","../i18n/dist/useSafeTranslation.d.ts","../i18n/dist/useObjectLabel.d.ts","../i18n/dist/locales/zh.d.ts","../i18n/dist/locales/ja.d.ts","../i18n/dist/locales/ko.d.ts","../i18n/dist/locales/de.d.ts","../i18n/dist/locales/fr.d.ts","../i18n/dist/locales/es.d.ts","../i18n/dist/locales/pt.d.ts","../i18n/dist/locales/ru.d.ts","../i18n/dist/locales/ar.d.ts","../i18n/dist/locales/index.d.ts","../i18n/dist/utils/formatting.d.ts","../i18n/dist/utils/spec-formatters.d.ts","../i18n/dist/utils/index.d.ts","../i18n/dist/index.d.ts","../react/dist/index.d.ts","./src/components/ObjectRenderer.tsx","./src/components/DashboardRenderer.tsx","./src/components/PageRenderer.tsx","./src/components/FormRenderer.tsx","./src/index.ts"],"fileIdsList":[[188,206],[188,189,202,204,205],[187],[143],[143,145],[143,144,167,168,169,176,182],[143,168,169],[143,144,145],[143,144],[143,145,167,169,170],[143,168,169,173],[143,168,184],[143,175,176],[143,167,169,170,173,175,176,182,184,256],[143,144,145,146,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,256,257,258],[143,168],[143,145,167],[143,144,145,146],[214],[217],[222,224],[210,214,226,227],[237,240,246,248],[209,214],[208],[209],[216],[219],[209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,249,250,251,252,253,254],[225],[221],[222],[213,214,220],[221,222],[228],[249],[214,234,236,237,238],[237,238,240],[214,229,232,235,242],[229,230],[212,229,232,235],[213],[214,231,234],[230],[231],[229,231],[211,212,229,231,232,233],[231,234],[214,234,236],[237,238],[47,48],[49],[188,204,206,207,255],[389,390,391,392],[389,390,391],[389],[389,390],[49,360],[360,361,362,363,366,367,368,369,370,371,372,375,376],[360],[364,365],[49,357,360],[354,355,357],[350,353,355,357],[354,357],[49,345,346,347,350,351,352,354,355,356,357],[347,350,351,352,353,354,355,356,357,358,359],[354],[348,354,355],[348,349],[353,355,356],[353],[345,350,353,355,356],[49,350,353,354,355],[373,374],[142],[190,191,202],[192,193],[190,191,192,194,195,200],[191,192],[200],[201],[192],[190,191,192,195,196,197,198,199],[133],[133,136],[128,131,133,134,135,136,137,138,139,140,141],[67,69,136],[133,134],[68,133,135],[69,71,73,74,75,76],[71,73,75,76],[71,73,75],[68,71,73,74,76],[67,69,70,71,72,73,74,75,76,77,78,128,129,130,131,132],[67,69,70,73],[69,70,73],[73,76],[67,68,70,71,72,74,75,76],[67,68,69,73,133],[73,74,75,76],[203],[75],[79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127],[49,50,51],[50,51,413],[49,50,51,413],[50,51],[50,51,52,414,415,416,417],[49,50],[281],[278],[261],[281,282,283,284],[288,289,290],[294,295],[275,276,277],[275,276,277,278,279],[53,54,259,262,263,264,269,270,271,272,273,274,280,285,287,291,293,296,297,298,299,300,306],[301,302,303,304,305],[286],[54,261],[53],[292],[265,266,268],[267],[393,394],[394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,411],[394,399,400,401,402,403,404,405,406,407],[49,393,395],[393],[409,410],[49,50,307],[49,147,377],[49,147],[344,378],[49,307],[49,50,261],[338,339,340,341,342],[309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336],[307],[49,261],[261,307],[308,337,343,379,380,387,388,412],[307,381],[381],[261,381],[381,382,383,384,385,386],[55],[55,58,59],[64,148],[55,56,57,58,59,60,61,62,63,64,65,66,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,259,260],[55,58,147],[57,58,59,60,61,62,63,64],[55,59,65],[153],[55,147],[55,59,66,150]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"dc0a7f107690ee5cd8afc8dbf05c4df78085471ce16bdd9881642ec738bc81fe","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"00b164ca64d3488a1ea015bc158d1fc1f358cad82c09cb088da2b6c6ad53e879","signature":"3db6565379eacea874ed1900be7c4ca605d6f059ccb514f687c6bcd25dc7b093"},{"version":"848fea1b518ddc87e5495c1e7c16d061a95ced3315dbff64fa3e027e2067267e","signature":"2274de519008a884d100d20da1ff917abd0762bdcccb1766e39a229d69698a10"},"c61dc23ab37ebf32656b35d3c8dce2f6ea12a162522caf97a6cc9046113d9d3e","bad44d80cc00e835d0e3ce5f21171da68bc990531cc9b4543e711b3b850a1130","2590ac6c8564791aa6195dafe9e3235ae18c27cc662e8d6e34b0c463cffa722d","4cd8ed7062a36c3f1cab16d80bd12e577a0138426b1624014a7c1a5e50a63b76","8a3dae5ab0d58d2c5a02189c3bbac53e36e1894394d3e9a932ce7444fc2f45e7","ad649c31f97224026134395c3d1ef4c9b9929e7d0a4556228c0dd78e0b6b7ebc","53bf93fe4a61735de26949bb6722a824f2d8a44ba182e798cfdcaf38452fcd28","9da562e1bdcb0e3d7558eb706278e7ac2db54903877c3048fe29fd61cbc55075","63a5f9de40dea14030d4cb7e93f4cac58b73e7a8c919e93306e1291976cfd3ea","46f0a4feb34f17eed6c7340c81264cf5a3c94cb85d7dc139bad2e07690ed798d","de5812773c32c401e5a204b0feaabba9db6bcf1fb88bfdaa2b78476516f2d024","6b5b850ec24a016883da78470d2caf80699299b94abff9b11c4e588b50dfc47d","835e4a21331b4d8f65dfe5fd416a5a6171e260ef52f266cc8cbffe7a8441a88c","223f84d593cf3bb2441209d33a7bccf96461829083265b38e4e9faba03c1639e",{"version":"c1a2e05eb6d7ca8d7e4a7f4c93ccf0c2857e842a64c98eaee4d85841ee9855e6","impliedFormat":1},{"version":"835fb2909ce458740fb4a49fc61709896c6864f5ce3db7f0a88f06c720d74d02","impliedFormat":1},{"version":"6e5857f38aa297a859cab4ec891408659218a5a2610cd317b6dcbef9979459cc","impliedFormat":1},{"version":"ead8e39c2e11891f286b06ae2aa71f208b1802661fcdb2425cffa4f494a68854","impliedFormat":1},{"version":"82919acbb38870fcf5786ec1292f0f5afe490f9b3060123e48675831bd947192","impliedFormat":1},{"version":"e222701788ec77bd57c28facbbd142eadf5c749a74d586bc2f317db7e33544b1","impliedFormat":1},{"version":"09154713fae0ed7befacdad783e5bd1970c06fc41a5f866f7f933b96312ce764","impliedFormat":1},{"version":"8d67b13da77316a8a2fabc21d340866ddf8a4b99e76a6c951cc45189142df652","impliedFormat":1},{"version":"a91c8d28d10fee7fe717ddf3743f287b68770c813c98f796b6e38d5d164bd459","impliedFormat":1},{"version":"68add36d9632bc096d7245d24d6b0b8ad5f125183016102a3dad4c9c2438ccb0","impliedFormat":1},{"version":"3a819c2928ee06bbcc84e2797fd3558ae2ebb7e0ed8d87f71732fb2e2acc87b4","impliedFormat":1},{"version":"f6f827cd43e92685f194002d6b52a9408309cda1cec46fb7ca8489a95cbd2fd4","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"a270a1a893d1aee5a3c1c8c276cd2778aa970a2741ee2ccf29cc3210d7da80f5","impliedFormat":1},{"version":"add0ce7b77ba5b308492fa68f77f24d1ed1d9148534bdf05ac17c30763fc1a79","impliedFormat":1},{"version":"8926594ee895917e90701d8cbb5fdf77fc238b266ac540f929c7253f8ad6233d","impliedFormat":1},{"version":"2f67911e4bf4e0717dc2ded248ce2d5e4398d945ee13889a6852c1233ea41508","impliedFormat":1},{"version":"d8430c275b0f59417ea8e173cfb888a4477b430ec35b595bf734f3ec7a7d729f","impliedFormat":1},{"version":"69364df1c776372d7df1fb46a6cb3a6bf7f55e700f533a104e3f9d70a32bec18","impliedFormat":1},{"version":"6042774c61ece4ba77b3bf375f15942eb054675b7957882a00c22c0e4fe5865c","impliedFormat":1},{"version":"5a3bd57ed7a9d9afef74c75f77fce79ba3c786401af9810cdf45907c4e93f30e","impliedFormat":1},{"version":"ed8763205f02fb65e84eff7432155258df7f93b7d938f01785cb447d043d53f3","impliedFormat":1},{"version":"30db853bb2e60170ba11e39ab48bacecb32d06d4def89eedf17e58ebab762a65","impliedFormat":1},{"version":"e27451b24234dfed45f6cf22112a04955183a99c42a2691fb4936d63cfe42761","impliedFormat":1},{"version":"2316301dd223d31962d917999acf8e543e0119c5d24ec984c9f22cb23247160c","impliedFormat":1},{"version":"58d65a2803c3b6629b0e18c8bf1bc883a686fcf0333230dd0151ab6e85b74307","impliedFormat":1},{"version":"e818471014c77c103330aee11f00a7a00b37b35500b53ea6f337aefacd6174c9","impliedFormat":1},{"version":"d4a5b1d2ff02c37643e18db302488cd64c342b00e2786e65caac4e12bda9219b","impliedFormat":1},{"version":"29f823cbe0166e10e7176a94afe609a24b9e5af3858628c541ff8ce1727023cd","impliedFormat":1},{"version":"074400c222bbebf0640219b609f914c190c0a1d61b6a7a8871ad156a3b25bc30","impliedFormat":1},{"version":"328a280dcf27aa60962d1e5afddcaa93905598271facc0ae90480b1a143a65eb","impliedFormat":1},{"version":"b63702aff956954726c2a96dd5dd17d0e12372ead16aa0e551479d2ccf84394c","impliedFormat":1},{"version":"ce09dcb29374dde06b0996e6f3543123e1689f1f62512c156974460e6110e816","impliedFormat":1},"b5bcb0b1661b57b23579a1c2fe28f53358a0017e933fcc588d6eb4809f391056","bf68238dc68dbc372617c5ec0063c2a7721a43483b1fffd291db6404150825c2","5c951321c556407cd67c002f655e653157f0a2305eaaa96dc0a2cfac59efd46f","47f0430a90030618f91041e27a9b8eb8108b20a408becc71e8cb217fe379e977","9e348773398cddcbe7984bc5254d004865a964b2ff1f6ae22d79c4395a9a2f31","62c451787736a2443fe1bb3a08408f6ead51fe63db5b0f54371ec1241f868d91","b63b1331379318b799eff5e5bf70544792dad649b5ca5e39df89d5dbf8fbd703","de5056a7a3f0e355d2b247d2c76385d1d9fd22ff282ee0ee4590f5b82f4cf0e3","c9a925fed351970c7ce2e681a8e7d485bbfe447780eb0f53229511a72ed2f261","13e963bb77965149847c635ff4299f655886fc1573561c5b9a4c97babc9056a8","8d85589ac2f20c65b2c13aa100d6ca560cd85341cd67242afcbc0e0062960dc4","542f42cd622a85a644f719184cfdb9ce87a466ddd03ee95e00974d0800396bae","b4154273fcee28df0c9c7a8a8aa56cfaa033b4101291b63e9dbed5aa8ea340b8","10ea3afef40325a3bd1c9ea1a91d621e85052574cf32fa8c819653a03def530a","bc23488e314ad9ba8582895311c9bd057612f954df1df4881e695a5e5e5c9894","4f5dd68e3935db505e4addde3ed5e5aaf72111bd0cc13812c43ce7ca7acd56b7","d20cf21d7a7fbf997d876666d3c119b7c68fe7d1fc76c27b36be62ab2f0ccadc","8390e0b0bc3b572aeb9c362e733cb32c4a5edd7fa224d3601b90414aba7d3c37",{"version":"64d447de67290e2d1468fd3857b100b3d10fc0659c80fb8a3a7649c9b468754b","impliedFormat":1},{"version":"1b90c6582ea5e3596216b8a1028c98e7e01d57a4c9c2280a73a4021337aada8c","impliedFormat":1},{"version":"bb697ddf6064de337a15ef28904de1d772ce400ee96309e4080ed333c6d163a4","impliedFormat":1},{"version":"22427ec822324f7bd43ae274bee1367e58a3138f57a977d87dfffbb12267a4a9","impliedFormat":1},{"version":"269b7fae0ed2b4f143e2bc9fd239ee4bef1885eb7b24bac535e790df5becb5f9","impliedFormat":1},{"version":"6d6dd3a743305e65c5278d62fda218552132286d841f19ad6fdef448ae769f70","impliedFormat":1},{"version":"9529a31a565ba4ca8d81776e0c58532dfd17a1ea0908765a197c0a987e5ed9f2","impliedFormat":1},{"version":"dbb1396151f4a26bf61ba21eb8aa7b0f9e1ece8defe407089d5683efcac5a0df","impliedFormat":1},{"version":"5528624f22f7b3f0e1db109c78ceffbb837574bec26359f0e75b7f76c6d4cb64","impliedFormat":1},{"version":"8231845503accac4d90e49b92aad145ee7a4e5f0cc5990e03ac2bb4c97fc67b7","impliedFormat":1},{"version":"4e041da2de25c319bb46c89662db2acb6d5c72dfee9314f26ac2382f0ff3b9e4","impliedFormat":1},{"version":"63814b87f4509ec90ef592ecf7c1a232f7e63b7503276ad2c8308fc6e720a71f","impliedFormat":1},{"version":"f97f49d89096623b96ef2d54dc3d6a819d5a6193f1ea28577abbae43385b80d6","impliedFormat":1},{"version":"42e81c2411e5058808d2b1ae096b2b6fa0af12b99225f6b86888009d3540f518","impliedFormat":1},{"version":"619605cdcd14e56e13916002c153d17c49c80beeb2c745157595bfcc0a73d8fe","impliedFormat":1},{"version":"7e25fcc54694b8832e5c3effe1bd567a21a6d355f9b7185c353091981f9653c4","impliedFormat":1},{"version":"03dd4288ce7394ea9e8f1650e0d12cdb216544afeebc692d1e9f62f8703514a8","impliedFormat":1},{"version":"46214367187c87b48303d9feb05c244d143cf4ea66d825617f5c546c9c6a3293","impliedFormat":1},{"version":"b90143ab6d7d320fd31194ab6487becde7058e24df94c375d4ffd5a28294bac6","impliedFormat":1},{"version":"1276567bed478662f98e94c146f170d2df21ee3be1c0a8ef7e5e4dbfe68077a4","impliedFormat":1},{"version":"ca948f9da1b6d850df1ea66e59d51cb85477491b34a48d29ce5b6542c3926d68","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"6ff4c27ce1c30040730481cab949bf344938252c250111642ae5e12c51de8324","impliedFormat":1},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"36eb5babc665b890786550d4a8cb20ef7105673a6d5551fbdd7012877bb26942","impliedFormat":1},{"version":"fec412ded391a7239ef58f455278154b62939370309c1fed322293d98c8796a6","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"93c3e73824ad57f98fd23b39335dbdae2db0bd98199b0dc0b9ccc60bf3c5134a","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"d8bc0c5487582c6d887c32c92d8b4ffb23310146fcb1d82adf4b15c77f57c4ac","impliedFormat":1},{"version":"8cb31102790372bebfd78dd56d6752913b0f3e2cefbeb08375acd9f5ba737155","impliedFormat":1},{"version":"56e0775830b68d13c3d7f4ec75df7d016db6b879ef9676affb5233a9a289c192","impliedFormat":99},{"version":"674a33f32b61b48c020697b749b39fb291fd7d0b5464464abfc174d35225049c","impliedFormat":1},{"version":"6720ec2917805e26884a7d5eb037ad9e01849a342cab7ea8af1a54f8221e99b5","impliedFormat":1},{"version":"a4e9e0d92dcad2cb387a5f1bdffe621569052f2d80186e11973aa7080260d296","impliedFormat":1},{"version":"f6380cc36fc3efc70084d288d0a05d0a2e09da012ee3853f9d62431e7216f129","impliedFormat":1},{"version":"497c3e541b4acf6c5d5ba75b03569cfe5fe25c8a87e6c87f1af98da6a3e7b918","impliedFormat":1},{"version":"d9429b81edf2fb2abf1e81e9c2e92615f596ed3166673d9b69b84c369b15fdc0","impliedFormat":1},{"version":"7e22943ae4e474854ca0695ab750a8026f55bb94278331fda02a4fb42efce063","impliedFormat":1},{"version":"7da9ff3d9a7e62ddca6393a23e67296ab88f2fcb94ee5f7fb977fa8e478852ac","impliedFormat":1},{"version":"e1b45cc21ea200308cbc8abae2fb0cfd014cb5b0e1d1643bcc50afa5959b6d83","impliedFormat":1},{"version":"c9740b0ce7533ce6ba21a7d424e38d2736acdddeab2b1a814c00396e62cc2f10","impliedFormat":1},{"version":"b3c1f6a3fdbb04c6b244de6d5772ffdd9e962a2faea1440e410049c13e874b87","impliedFormat":1},{"version":"dcaa872d9b52b9409979170734bdfd38f846c32114d05b70640fd05140b171bb","impliedFormat":1},{"version":"6c434d20da381fcd2e8b924a3ec9b8653cf8bed8e0da648e91f4c984bd2a5a91","impliedFormat":1},{"version":"992419d044caf6b14946fa7b9463819ab2eeb7af7c04919cc2087ce354c92266","impliedFormat":1},{"version":"fa9815e9ce1330289a5c0192e2e91eb6178c0caa83c19fe0c6a9f67013fe795c","impliedFormat":1},{"version":"06384a1a73fcf4524952ecd0d6b63171c5d41dd23573907a91ef0a687ddb4a8c","impliedFormat":1},{"version":"34b1594ecf1c84bcc7a04d9f583afa6345a6fea27a52cf2685f802629219de45","impliedFormat":1},{"version":"d82c9ca830d7b94b7530a2c5819064d8255b93dfeddc5b2ebb8a09316f002c89","impliedFormat":1},{"version":"7e046b9634add57e512412a7881efbc14d44d1c65eadd35432412aa564537975","impliedFormat":1},{"version":"aac9079b9e2b5180036f27ab37cb3cf4fd19955be48ccc82eab3f092ee3d4026","impliedFormat":1},{"version":"3d9c38933bc69e0a885da20f019de441a3b5433ce041ba5b9d3a541db4b568cb","impliedFormat":1},{"version":"606aa2b74372221b0f79ca8ae3568629f444cc454aa59b032e4cb602308dec94","impliedFormat":1},{"version":"50474eaea72bfda85cc37ae6cd29f0556965c0849495d96c8c04c940ef3d2f44","impliedFormat":1},{"version":"b4874382f863cf7dc82b3d15aed1e1372ac3fede462065d5bfc8510c0d8f7b19","impliedFormat":1},{"version":"df10b4f781871afb72b2d648d497671190b16b679bf7533b744cc10b3c6bf7ea","impliedFormat":1},{"version":"1fdc28754c77e852c92087c789a1461aa6eed19c335dc92ce6b16a188e7ba305","impliedFormat":1},{"version":"a656dab1d502d4ddc845b66d8735c484bfebbf0b1eda5fb29729222675759884","impliedFormat":1},{"version":"465a79505258d251068dc0047a67a3605dd26e6b15e9ad2cec297442cbb58820","impliedFormat":1},{"version":"ddae22d9329db28ce3d80a2a53f99eaed66959c1c9cd719c9b744e5470579d2f","impliedFormat":1},{"version":"d0e25feadef054c6fc6a7f55ccc3b27b7216142106b9ff50f5e7b19d85c62ca7","impliedFormat":1},{"version":"111214009193320cacbae104e8281f6cb37788b52a6a84d259f9822c8c71f6ca","impliedFormat":1},{"version":"01c8e2c8984c96b9b48be20ee396bd3689a3a3e6add8d50fe8229a7d4e62ff45","impliedFormat":1},{"version":"a4a0800b592e533897b4967b00fb00f7cd48af9714d300767cc231271aa100af","impliedFormat":1},{"version":"20aa818c3e16e40586f2fa26327ea17242c8873fe3412a69ec68846017219314","impliedFormat":1},{"version":"f498532f53d54f831851990cb4bcd96063d73e302906fa07e2df24aa5935c7d1","impliedFormat":1},{"version":"5fd19dfde8de7a0b91df6a9bbdc44b648fd1f245cae9e8b8cf210d83ee06f106","impliedFormat":1},{"version":"3b8d6638c32e63ea0679eb26d1eb78534f4cc02c27b80f1c0a19f348774f5571","impliedFormat":1},{"version":"ce0da52e69bc3d82a7b5bc40da6baad08d3790de13ad35e89148a88055b46809","impliedFormat":1},{"version":"9e01233da81bfed887f8d9a70d1a26bf11b8ddff165806cc586c84980bf8fc24","impliedFormat":1},{"version":"214a6afbab8b285fc97eb3cece36cae65ea2fca3cbd0c017a96159b14050d202","impliedFormat":1},{"version":"14beeca2944b75b229c0549e0996dc4b7863e07257e0d359d63a7be49a6b86a4","impliedFormat":1},{"version":"f7bb9adb1daa749208b47d1313a46837e4d27687f85a3af7777fc1c9b3dc06b1","impliedFormat":1},{"version":"c549fe2f52101ffe47f58107c702af7cdcd42da8c80afd79f707d1c5d77d4b6e","impliedFormat":1},{"version":"3966ea9e1c1a5f6e636606785999734988e135541b79adc6b5d00abdc0f4bf05","impliedFormat":1},{"version":"0b60b69c957adb27f990fbc27ea4ac1064249400262d7c4c1b0a1687506b3406","impliedFormat":1},{"version":"12c26e5d1befc0ded725cee4c2316f276013e6f2eb545966562ae9a0c1931357","impliedFormat":1},{"version":"27b247363f1376c12310f73ebac6debcde009c0b95b65a8207e4fa90e132b30a","impliedFormat":1},{"version":"05bd302e2249da923048c09dc684d1d74cb205551a87f22fb8badc09ec532a08","impliedFormat":1},{"version":"fe930ec064571ab3b698b13bddf60a29abf9d2f36d51ab1ca0083b087b061f3a","impliedFormat":1},{"version":"6b85c4198e4b62b0056d55135ad95909adf1b95c9a86cdbed2c0f4cc1a902d53","impliedFormat":1},{"version":"647ffb0ed0a58963ab56c76004df28e5bcb5bad1d06293d39f474ca325ff9a9c","affectsGlobalScope":true,"impliedFormat":1},{"version":"55928790e401e9cb124a262b2dc6e693faad72aca88cb2a12b471e91a41082e8","impliedFormat":1},{"version":"804d83d0b79a2e12f9b66340bac603802e2bc730bbc513cd142736408839870b","impliedFormat":1},{"version":"58d07c442697dc262cd85b1903570da0e4ea29f900ac7d7ad90afb56699c2575","impliedFormat":1},"246ee7e65c7a2fd70e2f4f3c4bdbdb71abe8ea1ef142d1e9193a63e4e16d7357","30a27deb753c563489c08078a6a3cd56b31589781e97ba2749542fa0ca409b3f","eb51aebe397dee270286d33f274522adb648c4d6c5ce47502f9e1e37e7677e15","9b68f23d94feacdd39819e79cae4067b740c3e13bd8d88cd15390a7ff2a3b817","5cb5d019724f67f306e23da1fb34f45c2549e11d41f771c3fdc460b6e507efb5","75498ec6baaf1e6174c62bdc12f45a41000b13c5a04e52a5480cd3dd74aebb14","c9a3a91da2bd7db2d0be92e9cfd11a1dab59285aa0fbc107a51e0a9238630469","c410b29d3cfa83d7a0ddbce68d070be250c7a832b33ac6e30880bbdbc6022800","24a5783a760f085e5a45fcc974aff20fdecd181912ef1db927b2d217bae202b9","a1b57af8f1b4c13ff6796883bb59ad7064db4e8fd26e70127e5cad33ff64b455","c204af8d3a7b8bd78db5544f332f533759b61981b49ef5e46f1fefb053e083f0","10adcd42bba473224402e600ac35ea7a519cf27f92bebad09b49e3927c3c7de6","23e92787d5487e9010eec3bbb30a9b39a9f37fbad0013b054d756d6da5a866d3","e79e120f449bffda9fede6609087d47c82e4acd08586b8b882ce820857abf76d","789edf690ef47a253cfe941e059ac2b30422f079870c38162f2fe5cde0e56ef0","e001d3821bf78c766dee8e990173a3ae6535577dd05029b0c1fdd5b6c533ad2a","feb022357bd31972ce562d84f96d963b64ea1fe7fb4b750a3dae0a08fbe87ae6","2b97f4f66d0bd9a1b140cc653e5a1c66d8629356f4f1514b73b37f8d81f7c25f","b4f1a7da7789e1d390f72e01fac676e466704d97309f22bb2115bea12ca7d144","5108e28e0c5012242cbc3098d247ee017475d1717af80e46e397c6ddbd4360b9","376d0a4e7567cc5f9add8556d6baefdbfecfa070e8962adbd3f2ef09cef4ac1c","1b68cea8acebd5608f42cde08e5bcb9d12a557f87662aee1639ef8a889dff57f","a1299efc3fd3b3473753a8a60e298a8c1b0b5c8d0f5b0a21bd623f57ce6d6879","d801d57700be4b02901d714a59c3140e886f42ee2fba3e48f677dc9b69bb98cd","d796d677ef9ef104860bbd6b465e517a6ac1b0282314e916a26bc36a62a77265","c00cff1057e13fd49237ec1b674db9352ab66712d3543e5ab3d1111bf4d7a1cf","ec80850f5c16c4436c16b6a5ca30d73cc1dba83c60305e6dae1d42613133d9b2","dd6d2e48f93c775ee3e4a6b98be61be42243a19b0ae47114e0ac0ba5bb2b38cb","9fb198de4ca2681dc452d14bc21c8c8a17a591099be332896fc4cd6891b33895","7788611feccb1cacf3af92d31850d83aec763fde9956f6794007990501731ec1","33ed05b3ed099e28c3bfafb229b6549cdb8bc60a044ac7dee5d0ca607a295abb","612c6c26bbecb0aabb6ae3bee2b53fb60f0a42cd90b397542b56e68db0298c52","61b8b1bdf2fd3f2f29d7654d9a1463ead32601e3770989aec16fe5fa91187f79","d39c47d9fc876e40d1aa83be0adb9c55321068510fa21dd7fc502b37221656de","d51bdb6b4045b9af45bc6a075f285eb6c20973e8a2cd2ddcadf00089227a4584","0be75df61f3be27e31a617dd7eb0562ce0b1a80192e7697ad1af60c1a2298f64","8e368b5fdfeadf1af7a62295b2125c5e617b2e8a122d7643fd93a10f6b40bef3","5e966b960f4634e1a464c922cfef255c2b02a7d67442dd9e82a52c979d34e002","eb82a6f1c17bf3d3f117b8e485aa1eeb0e4a57eb42e7611407f409160cde5369","4a08e4f0bd78b8d64c4357ca5c809880fb792371005e57b6cfcc3b72f5518ddc","b0e311990efb5a245a339e1cd14976d9d8832c50a53f93d17e87798a65421f09","acd63a8b260c4903ee9ac891089f6979096243a89a7b86cf5e3fa3e54872f079","4250d0fa031cc86036554907314eca9a53c6cce8f63b2561c206af832076d8b1","dbd14fe8391f5c8633d588906e68bca5b279d99369936c17d048fcd6ae5a4d56","2bebc0ea6a6c774e95d79b7256644fd5b1ccde0d334773c35d75ad95263db3f3","e99d2696b76f589af0b6eb3e3fe217f2cf80c1a777e671b2118613564fbe9288","43a7f2103a4aa32d69aa645f1144b80892f1c237163145592a43888d5bb1dd49","34f1398ba9763adb0b67240ee664ddabd259ba60e92b4dc01b1ed8759d1684b4","71b5e5208b67eebc2519724e9806416e4700c9f31797109c679045c40d69f294","a9d04b031db397e3d7b0cdfd3aef77ba008c314a49812d8f905b0bee857bd823","92a046992f5368dd511b670f35b9bab114174038649972b5ebea0ef7efb894ac","9c3c41f83be69d8b0c366894af4f343a7dd2c1b1e86dfbe75525a7b4b3cf6534","1eded8115f92d74078a0944a928af2d39b8b3a6ae4158d271a546ff54dd34c96","80d4b629c7d7dedea9901b19167a3303d6f34fa5a4d2c80c6aaa875aec9156b1","a21257ae20ab50ff5267d81b4b67e1401c8aefdefa62bb0e5f0e0d74cacf41d4","145651e4e15e537dcc03609ed8158f45d5404a04a92571c7f56b0fdab5ee55de","0f91ded8166d90882343ba158edc0f149b0f6001ae672e68e5dd116792dead0e","54092c3054d7ba16a53401353becac059577d7b273f685b160e45d4ca063c60f","b09569ac0de16b9cbb62c85af16a4fdb1e02265405a14df43d27e8d5c995a4e1","cb2b53e58e89d8a5f989f2a1e131ab4ce2fb69d124738f2839309600b06dba07","d2fd70c778516e829675cd3b48f413fd5d1c30c2a357f54686087f9f87c5a6f8","c0b24ee60ecfde52b582a6926d5e81a08234e6c24a083555b53500f1434eeb53","1e2c738a7e061d65228b37de55d3baa4c390daf7cd020a78ab36d369e05f1e7b","77ba672b5a9d1e85a2c4df6df37a022eab43c5869b55783514fd5e398a8aca51","ea3f19f2498ba62d5789cea03d4f95cc105baedad86d19cce0071f60fc4a41da","68ba186c51550199c9e87dd285b955bb51c328a9ac22a8f02f1e90da7b6e7ad8","72de89d12b6347824599bc776f086fc391b2d30cd7d436c5a9833585cf278039","9c90c5b65d8597ab15834e7ecb00a4833d502fcc7c79ef8a0379c81d44e9c533","512a2ffc34f5f2fe88a50b0eb2a0ce82b73fc6193ad0d5c2290697695a69f35d","f6c4afa4926bb8635ca6c74c4a10ae0d90c731dbb5f362ea85c00295110a7a89","5c183c35859db5603d88048d560be0ab16d515beff7d963413816cf83024c91b","93b57674eb07191383982e1c066fa87b2b4d9bd08c6a927bf5f467862564fadf","29162f2c416baddc2f83a5ae4e1de8247497e35046f692c841016f567e19b227","11c8dc1e4204b91810936ffe3cb09eeb2f14442a0ea956ff07c8f8e803b66084","e30924e3e8fc9e0e5c7f4b94f9bf80dcfabe3efbd34290a3fc31c3847e31e213","66e503a276b4e7672a41741dd29af3122554c52047a501a1ab0e1a25549f3a58","ea574f7328a090a32255c0526f6137cd344c5494fc4c7bbc54883a8c10ba3490","8574ce2b7d49206720752be1947dabad3df74819df52c09f85083f3727afc0be","16976bb990b1f90b839d06f38aa7d8a70653f2d86de403863bf03d544f675792","bd30693d01aa16eec2c2f2f695fb38d00a14cb93922c0f005af327b6a84b3b64","4030f1730007a9f96d4b675d0c4995c90ec9249ca204e59feac5f6d4ca19cebf","8a17a273b02b858f24533a85c352182637887e41df8b4a606797c12b7c723998","bea76ebafad28c44a9f475dbdff14c40d1d4197909a0f19ccae7ddaf507e3e99","3712425751158babdcda9018ec6a5590b3cafba464215fa75a77ade79f12f338","d6a3e67644c5c04ece79d29d00d47514fbc34287a502bac70ef9f71949407992",{"version":"6ce55335012d76737df504baabc950805760acf3be988142d1985aa4893f919e","impliedFormat":1},{"version":"88efe27bebddb62da9655a9f093e0c27719647e96747f16650489dc9671075d6","impliedFormat":1},{"version":"e348f128032c4807ad9359a1fff29fcbc5f551c81be807bfa86db5a45649b7ba","impliedFormat":1},{"version":"8ee6b07974528da39b7835556e12dd3198c0a13e4a9de321217cd2044f3de22e","impliedFormat":1},{"version":"deefd8c43b40f9797c3921d78d3f9243959621a17b817be7f5d95c149f23a9dd","impliedFormat":1},{"version":"5f12132800d430adbe59b49c2c0354d85a71ada7d756e34250a655baa8ad4ae5","impliedFormat":1},{"version":"1996d1cd7d585a8359a35878f67abdd73cc35b1f675c9c6b147b202fdd8dfc3f","impliedFormat":1},{"version":"b16e757e4c35434065120a2b3bf13a518fc9e621dc9c2ed668f91635a9dc4e75","impliedFormat":1},{"version":"69e8c4f66028439a94b421f3fb0828a194bf33e271d05f610c7c8d41c88cb80b","impliedFormat":1},{"version":"d02ced7accb512e6198b796b8d284e7979abde0f089b0a77969747a5f27bfb23","impliedFormat":1},{"version":"4374cefdde5c6e9bad52b0436e887b8325b8f407c12035194ad02c28f1553a3a","impliedFormat":1},{"version":"5f1ba0898eb0a54a644cb9c95c2240beaa961d87fd080cbb90807a6cc03daeb3","impliedFormat":1},{"version":"8e92ee8710ba85b158c5d91b0bbc9d0d033f5e062b6e70178063f01b20f63a14","impliedFormat":1},{"version":"ee933420aacba1f60aa70fb8ba47c5e69001b005073b71973114587089a13c7f","impliedFormat":1},{"version":"0a0714999d0a5bdfacd15c7b34cffbcc6f263f6cb0ccb42076cdc541c6987797","impliedFormat":1},{"version":"56584bfc655f9df64afc0f22f7d1122c29e5b74b342c203b891e19de9fa37de8","impliedFormat":1},{"version":"40ec58f0fadd0b3981b3d383e1c12fa0680115ae9f018387fc2cfc0bbcf23204","impliedFormat":1},{"version":"849b9e7283b7309a4556c9b90bb8e2dfc27751f157798065bbc513dcddb09a8c","impliedFormat":1},{"version":"76bba0c97594248c1be19af32d5799f7eff51cec2926d8e4dd59267d7636a0b4","impliedFormat":1},{"version":"10e109212c7be8a9f66e988e5d6c2a8900c9d14bf6beadf5fa70d32ada3425cf","impliedFormat":1},{"version":"2b821aeb31e690092f8eae671dd961a9d0fd598ff4883ce0a600c90e9e8fa716","impliedFormat":1},{"version":"26602933b613e4df3868a6c82e14fffa2393a08531cb333ed27b151923462981","impliedFormat":1},{"version":"f57a588d8f6b3ce5c8b494f2dc759a8885eaee18e80a4952df47de45403fedbe","impliedFormat":1},{"version":"34735727b3fe7a0ed0651a0f88d06449163d1989a2b2de7f047473adc7c1c383","impliedFormat":1},{"version":"a5b13abc88ab3186e713c445e59e2f6eee20c6167943517bc2f56985d89b8c55","impliedFormat":1},{"version":"c8a206a6ba4e32710ebb4a389187772423de0f4f6180b95a7ef1a5a1934c1be6","impliedFormat":1},{"version":"7ae65fe95b18205e241e6695cb2c61c0828d660aca7d08f68781b439a800e6b8","impliedFormat":1},{"version":"c2c8c166199d3a7bd093152437d1f6399d05e458a9ca9364456feecba920cda4","impliedFormat":1},{"version":"369b7270eeeb37982203b2cb18c7302947b89bf5818c1d3d2e95a0418f02b74e","impliedFormat":1},{"version":"94f95d223e2783b0aef4d15d7f6990a6a550fe17d099c501395f690337f7105e","impliedFormat":1},{"version":"039bd8d1e0d151570b66e75ee152877fb0e2f42eca43718632ac195e6884be34","impliedFormat":1},{"version":"d565d66b38d54de037c9d46dede1f12630010d9b45fd9c6b432c7a40b2e30502","impliedFormat":1},{"version":"d7386a1ebe9a3eae227a5561c898c10cacb61a49f941c5a18cdf593f979c693c","impliedFormat":1},"e8d8880beaa13a2f9c76f9d5e12053a0d51f7759bca39e6d9fdaa999e97939ae","b200f6ac96f681903b08a3d9d3da53b02892f4615d68b78fdf68f6fd22ae4882","928799e4582b9113bebd2ba44da1a85e460145b1f0e8acd18e60d96157c19422","a4f682381ef73a894e5755f9c6ba4ce06a8b6d64a51bb57516cbc589a735b9cc","c2c06d00cb9367bfd543a1df2448f14d5fae89998a3dccae009ca7107e472844","87bddee70fa6fe4bf73f716a0a9d0418a2e5753f9638e49df3a8f5791cbc225c","69d22704f2d57fe87c8e59b44fdc023617d6093ce84b2c9dd5e3d2adee7c0283","c42486acda80adffcbd754c7b455589308cc70ddcc2e630e886dd49dfc9554a2","2d56dca811bcdc2270bcb74a1cbe2b503c544f94fd49fdbd79567f6f6d6c9a73","96b627651f9ec57e84e9b6891b7a442c29ffd3cdee9fc91101ae56a2c32a2345","1b1c891c03ce43d38b858d7c2724c5696084e3fe51598b38cfddfba9f80560b5",{"version":"ebf3f14a8159ec5aa2fbf567e6070c248e86a46d69d9967bda179190094dbd4f","impliedFormat":1},{"version":"c41646451ced7642322f4c7a512a6b738e025acdaa713d58c0fa359d2bb328e9","impliedFormat":1},{"version":"3665b49be211a0f95c0ef2cb59a0b139a05bd3ae357d9050596ebc06aaca4fff","impliedFormat":1},{"version":"428f9157f6f64fa2eb43584044a2dfb52f877706946573bcdfd1cdd9ee680079","impliedFormat":1},{"version":"8463925b5047ebf784acd4664608e44b5d2dca1c66ec19994bf21763e7696162","impliedFormat":99},"26979f865a628d03ba8075a769522c372dc902abda12b0ff0cf699279298300e","d626bc4010f400e536cc652a3d3341c13e590bb7d99e6460b525ab9f8c487269","cf9308f4a85629e9a78fb531035a9080eb97dc6122003ca886a095ccb88652cf","dcf6ff398659af1f0b3a02fd250e53e7d24c659c38e291013b01eca49950cb48","12b5d03865bf8b19c9e8a2fb141b2839eef8cad80605c1589833455b142673e2","f77a0b51a7f68a94a7929ebe1a02d85ed74bc6b5fb3d8bbab6b5b082303f41c3","35f5bb18399270ac28a3913887cb8c6f1fb9add159a103154c420a4f8bd7ed76","8558439285a3e66d7e765bf9e1157d9f5031e15b09223be23b2b19e4555ec052","6460a4da2119375878ccdb81772743516c6dc675515a88a1d0fc9f8a7de9acfd","98d77da70e665bc6ad1f73d437e7bc11d408c1b53ccb25deea07870ebd7edac8","d1aad347539a7e370ad31402ef736aef62cf5dd5da684e45dbdb7750b210b690","fae2f42d400ab9966ee5df8074d3dacc586de1ace5b26a306020c6cb6b1ab4ae","19dc0ea88f5db707ecb0f0a80bda4d059b293ca3e2e3a6a3643cadd023a8d5d1","4f7cdd9b096d87831590bdab6ac80c4405b4138d131d76db3c49debb2412e24e","045ffe738d7769544f495dc2adfd17caa879456586d99a779638c2c8945c0aaf","fda9e1f7628db6023a4a8bf5aa74dfe4969e6a30f323f0c0bd54360153890406","9ab3732f9376623ebffd76f34ec1c956ea06f36e3197fb946610000a849dbe7d","dccbc744f01716f42ce760fea7f6aa02bb5f9a61574fb06665619a1fa433742a","09f32b1fc70c17ab7f2bfa539aa5b871a1f031993981441aef42350affbe5f7f","d88d2031ed1e169951afb5ec66da80d559b9b18d19d580ccfd34771fc580d66c",{"version":"ab3c4e920e6676f6ce84bf46a5cb8b79a3828afffe4d603cad2a84832810d94d","signature":"0554c6c934ef7ca955eece803f804c880840ac1860f4375495522851bd280e2f"},{"version":"87469003db6bc47406af3a5cdacabfda37444b3105171b08770bb4ab2598a4a2","signature":"eca69f0b570d4eef494812bfee58247b50ef5fb14ca077b8a41c598f39993cf5"},{"version":"75ad312f3888e224bade24ffa5788c5cdfdfcfede35d101a9ab1a82976b0353a","signature":"1d1f95b8535f67e9dcad13c5f1df8cb13ec57f53a33076fa70a9daf6aa6909f1"},{"version":"fc8fbc6055111e8901bca71590c5348b0076494c2139ff14fd04bdf8490e743a","signature":"eb6447855ff36ca1df717688346bce623490925f9b4e9fb7a091d2d3c911901d"},{"version":"3ff88c51c0994ed30a8469dd7e94f900291ba4dc1b7ab41809dd2eeb98e7d7e8","signature":"bab198ee6ba4d0cf77c34ef3443522aa58038a8f16f8d88b9239fe5b540bd5bb"}],"root":[51,52,[414,418]],"options":{"composite":true,"declaration":true,"jsx":4,"module":99,"noFallthroughCasesInSwitch":true,"noUnusedLocals":false,"noUnusedParameters":true,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"strict":true,"target":7,"useDefineForClassFields":true},"referencedMap":[[207,1],[206,2],[188,3],[173,4],[184,4],[182,4],[167,5],[145,4],[144,4],[183,6],[181,7],[146,8],[166,9],[258,4],[172,4],[171,10],[179,4],[174,11],[185,12],[177,13],[178,4],[180,4],[186,4],[257,14],[259,15],[169,16],[176,4],[175,4],[168,4],[170,17],[147,18],[216,19],[219,20],[225,21],[228,22],[249,23],[227,24],[209,25],[210,26],[250,27],[215,19],[251,28],[218,20],[255,29],[252,30],[222,31],[224,32],[221,33],[223,34],[220,31],[253,35],[226,19],[254,36],[239,37],[241,38],[243,39],[242,40],[236,41],[229,42],[248,43],[245,44],[247,45],[232,46],[234,47],[231,44],[246,48],[237,49],[240,50],[49,51],[50,52],[256,53],[393,54],[392,55],[390,56],[391,57],[361,58],[362,58],[363,58],[377,59],[364,60],[365,60],[366,61],[358,62],[356,63],[351,64],[355,65],[353,66],[360,67],[348,68],[349,69],[350,70],[352,71],[354,72],[357,73],[359,74],[367,60],[368,60],[369,60],[370,58],[371,60],[372,60],[346,60],[375,75],[374,60],[376,58],[143,76],[192,77],[194,78],[201,79],[195,80],[198,81],[202,82],[193,83],[200,84],[137,85],[141,86],[138,86],[134,85],[142,87],[139,88],[203,76],[140,86],[135,89],[136,90],[130,91],[74,92],[76,93],[75,94],[133,95],[132,96],[131,97],[77,92],[69,98],[73,99],[70,100],[71,101],[204,102],[79,103],[80,103],[81,103],[82,103],[83,103],[84,103],[85,103],[86,103],[87,103],[88,103],[89,103],[90,103],[91,103],[93,103],[92,103],[94,103],[95,103],[96,103],[97,103],[128,104],[98,103],[99,103],[100,103],[101,103],[102,103],[103,103],[104,103],[105,103],[106,103],[107,103],[108,103],[109,103],[110,103],[112,103],[111,103],[113,103],[114,103],[115,103],[116,103],[117,103],[118,103],[119,103],[120,103],[121,103],[122,103],[123,103],[124,103],[127,103],[125,103],[126,103],[52,105],[415,106],[417,106],[414,107],[416,108],[418,109],[51,110],[282,111],[281,112],[283,113],[285,114],[288,113],[289,113],[291,115],[290,113],[270,113],[294,113],[296,116],[278,117],[280,118],[307,119],[301,113],[302,113],[303,113],[304,113],[305,113],[306,120],[287,121],[286,113],[263,122],[262,122],[54,123],[264,122],[292,113],[293,124],[272,113],[269,125],[266,113],[265,113],[268,126],[267,113],[395,127],[412,128],[408,129],[396,130],[397,131],[411,132],[380,52],[308,133],[378,134],[344,135],[379,136],[339,137],[342,52],[341,52],[338,133],[340,138],[343,139],[337,140],[335,141],[310,141],[336,113],[334,141],[333,141],[312,142],[313,143],[413,144],[382,145],[386,146],[384,146],[383,147],[385,146],[387,148],[381,141],[160,149],[157,149],[56,149],[161,149],[64,149],[66,150],[59,149],[151,151],[156,149],[61,149],[60,149],[58,149],[261,152],[57,149],[63,149],[148,153],[62,149],[163,154],[158,155],[154,156],[153,157],[162,158],[159,149]],"latestChangedDtsFile":"./dist/index.d.ts","version":"6.0.2"}
|