@object-ui/app-shell 5.0.2 → 5.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/CHANGELOG.md +401 -0
  2. package/dist/chrome/CommandPalette.d.ts +6 -1
  3. package/dist/chrome/CommandPalette.js +40 -4
  4. package/dist/chrome/ConsoleToaster.js +8 -1
  5. package/dist/chrome/RouteFader.d.ts +32 -0
  6. package/dist/chrome/RouteFader.js +52 -0
  7. package/dist/chrome/index.d.ts +2 -0
  8. package/dist/chrome/index.js +2 -0
  9. package/dist/chrome/toast-helpers.d.ts +48 -0
  10. package/dist/chrome/toast-helpers.js +59 -0
  11. package/dist/console/AppContent.js +108 -2
  12. package/dist/console/home/HomePage.js +5 -4
  13. package/dist/console/marketplace/MarketplaceInstalledPage.d.ts +17 -0
  14. package/dist/console/marketplace/MarketplaceInstalledPage.js +64 -0
  15. package/dist/console/marketplace/MarketplacePackagePage.d.ts +7 -0
  16. package/dist/console/marketplace/MarketplacePackagePage.js +199 -0
  17. package/dist/console/marketplace/MarketplacePage.d.ts +8 -0
  18. package/dist/console/marketplace/MarketplacePage.js +94 -0
  19. package/dist/console/marketplace/PackageIcon.d.ts +19 -0
  20. package/dist/console/marketplace/PackageIcon.js +17 -0
  21. package/dist/console/marketplace/marketplaceApi.d.ts +122 -0
  22. package/dist/console/marketplace/marketplaceApi.js +207 -0
  23. package/dist/index.d.ts +5 -6
  24. package/dist/index.js +4 -5
  25. package/dist/layout/AppHeader.js +25 -21
  26. package/dist/layout/AppSidebar.js +15 -11
  27. package/dist/layout/InboxPopover.js +43 -3
  28. package/dist/types.d.ts +0 -46
  29. package/dist/views/ObjectView.js +20 -7
  30. package/dist/views/RecordDetailView.js +213 -45
  31. package/package.json +25 -25
  32. package/src/styles.css +49 -0
  33. package/dist/components/DashboardRenderer.d.ts +0 -8
  34. package/dist/components/DashboardRenderer.js +0 -16
  35. package/dist/components/FormRenderer.d.ts +0 -8
  36. package/dist/components/FormRenderer.js +0 -31
  37. package/dist/components/ObjectRenderer.d.ts +0 -8
  38. package/dist/components/ObjectRenderer.js +0 -74
  39. package/dist/components/PageRenderer.d.ts +0 -7
  40. package/dist/components/PageRenderer.js +0 -14
@@ -1,74 +0,0 @@
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\u2026" }) }));
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
- }
@@ -1,7 +0,0 @@
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;
@@ -1,14 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useObjectTranslation } from '@object-ui/i18n';
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 }) {
9
- const { t } = useObjectTranslation();
10
- if (!schema) {
11
- return (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsx("div", { className: "text-muted-foreground", children: t('renderer.noPageSchema') }) }));
12
- }
13
- return (_jsxs("div", { className: "page-renderer h-full p-4", children: [_jsx("h1", { className: "mb-4 text-2xl font-bold", children: schema.title || pageName || t('renderer.page') }), _jsx("div", { className: "text-muted-foreground", children: t('renderer.pageRendering', { name: schema.title || pageName }) })] }));
14
- }