@object-ui/app-shell 11.3.0 → 11.5.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/CHANGELOG.md +700 -0
- package/README.md +32 -0
- package/dist/chrome/KeyboardShortcutsDialog.js +2 -1
- package/dist/console/AppContent.js +145 -26
- package/dist/console/ConsoleShell.js +25 -3
- package/dist/console/home/CloudOnboardingNext.d.ts +9 -0
- package/dist/console/home/CloudOnboardingNext.js +14 -4
- package/dist/console/home/HomePage.js +34 -7
- package/dist/console/organizations/CreateWorkspaceDialog.js +33 -3
- package/dist/console/organizations/OrganizationsPage.js +16 -7
- package/dist/context/CommandPaletteProvider.js +2 -1
- package/dist/hooks/useConsoleActionRuntime.js +32 -3
- package/dist/hooks/useObjectActions.js +16 -4
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -0
- package/dist/layout/AppHeader.js +13 -5
- package/dist/layout/AppSidebar.js +10 -4
- package/dist/observability/sentry.d.ts +5 -0
- package/dist/observability/sentry.js +6 -1
- package/dist/preview/DraftChangesPanel.d.ts +31 -1
- package/dist/preview/DraftChangesPanel.js +146 -18
- package/dist/urlParams.d.ts +68 -0
- package/dist/urlParams.js +76 -0
- package/dist/utils/appRoute.d.ts +15 -0
- package/dist/utils/appRoute.js +22 -0
- package/dist/utils/deriveRelatedLists.d.ts +20 -5
- package/dist/utils/deriveRelatedLists.js +31 -13
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/pageTabsUrlSync.d.ts +32 -0
- package/dist/utils/pageTabsUrlSync.js +43 -0
- package/dist/utils/recordFormNavigation.d.ts +40 -0
- package/dist/utils/recordFormNavigation.js +30 -0
- package/dist/utils/resolveViewId.d.ts +23 -0
- package/dist/utils/resolveViewId.js +37 -0
- package/dist/utils/warnSuppressedListNav.d.ts +10 -0
- package/dist/utils/warnSuppressedListNav.js +40 -0
- package/dist/views/InterfaceListPage.d.ts +1 -0
- package/dist/views/InterfaceListPage.js +7 -5
- package/dist/views/ObjectDataPage.d.ts +29 -0
- package/dist/views/ObjectDataPage.js +227 -0
- package/dist/views/ObjectView.js +65 -13
- package/dist/views/RecordDetailView.js +191 -123
- package/dist/views/RecordFormPage.js +7 -1
- package/dist/views/RelatedRecordActionsBridge.d.ts +33 -0
- package/dist/views/RelatedRecordActionsBridge.js +147 -0
- package/dist/views/metadata-admin/PackagesPage.js +18 -7
- package/dist/views/metadata-admin/PermissionMatrixEditor.d.ts +18 -1
- package/dist/views/metadata-admin/PermissionMatrixEditor.js +73 -14
- package/dist/views/metadata-admin/ResourceEditPage.js +39 -0
- package/dist/views/metadata-admin/i18n.d.ts +12 -21
- package/dist/views/metadata-admin/i18n.js +557 -6
- package/dist/views/metadata-admin/inspectors/AppNavInspector.d.ts +11 -4
- package/dist/views/metadata-admin/inspectors/AppNavInspector.js +141 -7
- package/dist/views/metadata-admin/inspectors/FlowReferenceField.d.ts +14 -0
- package/dist/views/metadata-admin/inspectors/FlowReferenceField.js +76 -5
- package/dist/views/metadata-admin/inspectors/ObjectFieldInspector.js +60 -30
- package/dist/views/metadata-admin/inspectors/flow-node-config.d.ts +8 -1
- package/dist/views/metadata-admin/inspectors/flow-node-config.js +3 -2
- package/dist/views/metadata-admin/inspectors/nav-target.d.ts +52 -0
- package/dist/views/metadata-admin/inspectors/nav-target.js +149 -0
- package/dist/views/metadata-admin/nav-selection.d.ts +20 -0
- package/dist/views/metadata-admin/nav-selection.js +81 -0
- package/dist/views/metadata-admin/permission-slice.d.ts +66 -0
- package/dist/views/metadata-admin/permission-slice.js +70 -0
- package/dist/views/metadata-admin/previews/AppNavCanvas.js +19 -7
- package/dist/views/metadata-admin/previews/AppPreview.js +4 -2
- package/dist/views/metadata-admin/previews/FlowRunsPanel.d.ts +16 -7
- package/dist/views/metadata-admin/previews/FlowRunsPanel.js +18 -2
- package/dist/views/studio-design/BuilderLanding.d.ts +15 -0
- package/dist/views/studio-design/BuilderLanding.js +126 -0
- package/dist/views/studio-design/ObjectFormDesigner.d.ts +33 -0
- package/dist/views/studio-design/ObjectFormDesigner.js +231 -0
- package/dist/views/studio-design/ObjectSettingsPanel.d.ts +30 -0
- package/dist/views/studio-design/ObjectSettingsPanel.js +46 -0
- package/dist/views/studio-design/ObjectValidationsPanel.d.ts +30 -0
- package/dist/views/studio-design/ObjectValidationsPanel.js +80 -0
- package/dist/views/studio-design/PackageIdInput.d.ts +31 -0
- package/dist/views/studio-design/PackageIdInput.js +40 -0
- package/dist/views/studio-design/StudioDesignSurface.d.ts +13 -0
- package/dist/views/studio-design/StudioDesignSurface.js +962 -145
- package/dist/views/studio-design/metadataError.d.ts +23 -0
- package/dist/views/studio-design/metadataError.js +44 -0
- package/dist/views/studio-design/packageSurfaces.d.ts +49 -0
- package/dist/views/studio-design/packageSurfaces.js +34 -0
- package/dist/views/studio-design/packages-io.d.ts +38 -0
- package/dist/views/studio-design/packages-io.js +73 -0
- package/dist/views/studio-design/skeletons.d.ts +16 -0
- package/dist/views/studio-design/skeletons.js +51 -0
- package/package.json +42 -39
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package-identifier input shared by the three package wizards (switcher
|
|
3
|
+
* create, landing create, landing duplicate). Fixes the dogfood wizard
|
|
4
|
+
* findings (framework#2615 P2): illegal characters are still normalized
|
|
5
|
+
* away, but no longer silently — a notice says so — and while the value
|
|
6
|
+
* doesn't parse as a package id yet, an inline hint spells out the
|
|
7
|
+
* reverse-domain format instead of leaving the user staring at a disabled
|
|
8
|
+
* create button.
|
|
9
|
+
*/
|
|
10
|
+
import * as React from 'react';
|
|
11
|
+
export interface PackageIdInputProps {
|
|
12
|
+
value: string;
|
|
13
|
+
/** Receives the sanitized value on every keystroke. */
|
|
14
|
+
onChange: (value: string) => void;
|
|
15
|
+
onEnter?: () => void;
|
|
16
|
+
onEscape?: () => void;
|
|
17
|
+
placeholder?: string;
|
|
18
|
+
autoFocus?: boolean;
|
|
19
|
+
locale?: string;
|
|
20
|
+
testId?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function PackageIdInput({ value, onChange, onEnter, onEscape, placeholder, autoFocus, locale, testId, }: PackageIdInputProps): React.ReactElement;
|
|
23
|
+
/**
|
|
24
|
+
* Hint under the display-name input when the name yields no identifier
|
|
25
|
+
* suggestion (CJK-only names slug to nothing) — say the id must be typed
|
|
26
|
+
* manually instead of leaving the id box silently empty.
|
|
27
|
+
*/
|
|
28
|
+
export declare function PackageIdSuggestionHint({ show, locale, }: {
|
|
29
|
+
show: boolean;
|
|
30
|
+
locale?: string;
|
|
31
|
+
}): React.ReactElement | null;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.
|
|
3
|
+
/**
|
|
4
|
+
* Package-identifier input shared by the three package wizards (switcher
|
|
5
|
+
* create, landing create, landing duplicate). Fixes the dogfood wizard
|
|
6
|
+
* findings (framework#2615 P2): illegal characters are still normalized
|
|
7
|
+
* away, but no longer silently — a notice says so — and while the value
|
|
8
|
+
* doesn't parse as a package id yet, an inline hint spells out the
|
|
9
|
+
* reverse-domain format instead of leaving the user staring at a disabled
|
|
10
|
+
* create button.
|
|
11
|
+
*/
|
|
12
|
+
import * as React from 'react';
|
|
13
|
+
import { PACKAGE_ID_RE, sanitizePackageId } from './packages-io';
|
|
14
|
+
import { t } from '../metadata-admin/i18n';
|
|
15
|
+
export function PackageIdInput({ value, onChange, onEnter, onEscape, placeholder, autoFocus, locale, testId, }) {
|
|
16
|
+
// "I typed something and it vanished" — show what was dropped until the
|
|
17
|
+
// next clean keystroke.
|
|
18
|
+
const [strippedNotice, setStrippedNotice] = React.useState(false);
|
|
19
|
+
const invalid = value.trim().length > 0 && !PACKAGE_ID_RE.test(value.trim());
|
|
20
|
+
return (_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx("input", { autoFocus: autoFocus, value: value, onChange: (e) => {
|
|
21
|
+
const { value: next, stripped } = sanitizePackageId(e.target.value);
|
|
22
|
+
setStrippedNotice(stripped);
|
|
23
|
+
onChange(next);
|
|
24
|
+
}, onKeyDown: (e) => {
|
|
25
|
+
if (e.key === 'Enter')
|
|
26
|
+
onEnter?.();
|
|
27
|
+
if (e.key === 'Escape')
|
|
28
|
+
onEscape?.();
|
|
29
|
+
}, placeholder: placeholder, "data-testid": testId, className: "h-7 w-full rounded-md border bg-background px-2 font-mono text-[11px] outline-none focus:ring-1 focus:ring-primary" }), strippedNotice && (_jsx("p", { className: "text-[10px] text-amber-600 dark:text-amber-400", "data-testid": "pkg-id-stripped", children: t('engine.studio.pkg.idStrippedNotice', locale) })), invalid && (_jsx("p", { className: "text-[10px] text-muted-foreground", "data-testid": "pkg-id-format-hint", children: t('engine.studio.pkg.idFormatHint', locale) }))] }));
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Hint under the display-name input when the name yields no identifier
|
|
33
|
+
* suggestion (CJK-only names slug to nothing) — say the id must be typed
|
|
34
|
+
* manually instead of leaving the id box silently empty.
|
|
35
|
+
*/
|
|
36
|
+
export function PackageIdSuggestionHint({ show, locale, }) {
|
|
37
|
+
if (!show)
|
|
38
|
+
return null;
|
|
39
|
+
return (_jsx("p", { className: "text-[10px] text-muted-foreground", "data-testid": "pkg-id-manual-hint", children: t('engine.studio.pkg.idFromNameUnavailable', locale) }));
|
|
40
|
+
}
|
|
@@ -17,4 +17,17 @@ export interface StudioDesignSurfaceProps {
|
|
|
17
17
|
aiSlot?: React.ReactNode;
|
|
18
18
|
}
|
|
19
19
|
export declare function StudioDesignSurface({ aiSlot }: StudioDesignSurfaceProps): React.ReactElement;
|
|
20
|
+
/**
|
|
21
|
+
* A flow's live status in the Automations rail: a colored dot + On/Off, from the
|
|
22
|
+
* engine's runtime state (persisted `status` is intent; this is what's actually
|
|
23
|
+
* live). Renders nothing for a flow the engine doesn't know yet (never published)
|
|
24
|
+
* — the amber "unpublished draft" chip already covers that case.
|
|
25
|
+
*/
|
|
26
|
+
export declare function FlowStatusDot({ state, locale }: {
|
|
27
|
+
state?: {
|
|
28
|
+
enabled: boolean;
|
|
29
|
+
bound: boolean;
|
|
30
|
+
};
|
|
31
|
+
locale: string;
|
|
32
|
+
}): React.ReactElement | null;
|
|
20
33
|
export default StudioDesignSurface;
|