@almadar/ui 2.0.1 → 2.0.3
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/dist/components/index.css +9 -11
- package/dist/components/index.js +3 -3
- package/dist/providers/index.css +9 -11
- package/dist/providers/index.js +2 -2
- package/package.json +2 -2
- package/dist/components/atoms/Avatar.d.ts +0 -58
- package/dist/components/atoms/Badge.d.ts +0 -8
- package/dist/components/atoms/Box.d.ts +0 -57
- package/dist/components/atoms/Button.d.ts +0 -24
- package/dist/components/atoms/Card.d.ts +0 -18
- package/dist/components/atoms/Center.d.ts +0 -33
- package/dist/components/atoms/Checkbox.d.ts +0 -5
- package/dist/components/atoms/ConditionalWrapper.d.ts +0 -68
- package/dist/components/atoms/Divider.d.ts +0 -29
- package/dist/components/atoms/Icon.d.ts +0 -38
- package/dist/components/atoms/Input.d.ts +0 -26
- package/dist/components/atoms/Label.d.ts +0 -5
- package/dist/components/atoms/LawReferenceTooltip.d.ts +0 -48
- package/dist/components/atoms/Overlay.d.ts +0 -16
- package/dist/components/atoms/ProgressBar.d.ts +0 -63
- package/dist/components/atoms/Radio.d.ts +0 -26
- package/dist/components/atoms/Select.d.ts +0 -12
- package/dist/components/atoms/Spacer.d.ts +0 -25
- package/dist/components/atoms/Spinner.d.ts +0 -6
- package/dist/components/atoms/Stack.d.ts +0 -64
- package/dist/components/atoms/Switch.d.ts +0 -12
- package/dist/components/atoms/TextHighlight.d.ts +0 -53
- package/dist/components/atoms/Textarea.d.ts +0 -5
- package/dist/components/atoms/ThemeSelector.d.ts +0 -21
- package/dist/components/atoms/ThemeToggle.d.ts +0 -33
- package/dist/components/atoms/Typography.d.ts +0 -57
- package/dist/components/atoms/game/ControlButton.d.ts +0 -31
- package/dist/components/atoms/game/HealthBar.d.ts +0 -18
- package/dist/components/atoms/game/ScoreDisplay.d.ts +0 -21
- package/dist/components/atoms/game/Sprite.d.ts +0 -63
- package/dist/components/atoms/game/StateIndicator.d.ts +0 -31
- package/dist/components/atoms/game/index.d.ts +0 -12
- package/dist/components/atoms/index.d.ts +0 -27
- package/dist/components/index.d.ts +0 -6
- package/dist/components/molecules/Accordion.d.ts +0 -67
- package/dist/components/molecules/Alert.d.ts +0 -24
- package/dist/components/molecules/Breadcrumb.d.ts +0 -55
- package/dist/components/molecules/ButtonGroup.d.ts +0 -67
- package/dist/components/molecules/Card.d.ts +0 -44
- package/dist/components/molecules/Container.d.ts +0 -30
- package/dist/components/molecules/Drawer.d.ts +0 -46
- package/dist/components/molecules/EmptyState.d.ts +0 -25
- package/dist/components/molecules/ErrorBoundary.d.ts +0 -55
- package/dist/components/molecules/ErrorState.d.ts +0 -13
- package/dist/components/molecules/FilterGroup.d.ts +0 -54
- package/dist/components/molecules/Flex.d.ts +0 -43
- package/dist/components/molecules/FloatingActionButton.d.ts +0 -69
- package/dist/components/molecules/FormField.d.ts +0 -16
- package/dist/components/molecules/FormSectionHeader.d.ts +0 -30
- package/dist/components/molecules/Grid.d.ts +0 -54
- package/dist/components/molecules/InputGroup.d.ts +0 -24
- package/dist/components/molecules/LoadingState.d.ts +0 -7
- package/dist/components/molecules/Menu.d.ts +0 -40
- package/dist/components/molecules/Modal.d.ts +0 -26
- package/dist/components/molecules/Pagination.d.ts +0 -66
- package/dist/components/molecules/Popover.d.ts +0 -39
- package/dist/components/molecules/QuizBlock.d.ts +0 -20
- package/dist/components/molecules/RelationSelect.d.ts +0 -48
- package/dist/components/molecules/RepeatableFormSection.d.ts +0 -58
- package/dist/components/molecules/ScaledDiagram.d.ts +0 -20
- package/dist/components/molecules/SearchInput.d.ts +0 -60
- package/dist/components/molecules/SidePanel.d.ts +0 -47
- package/dist/components/molecules/SimpleGrid.d.ts +0 -27
- package/dist/components/molecules/Skeleton.d.ts +0 -35
- package/dist/components/molecules/Tabs.d.ts +0 -45
- package/dist/components/molecules/Toast.d.ts +0 -35
- package/dist/components/molecules/Tooltip.d.ts +0 -25
- package/dist/components/molecules/ViolationAlert.d.ts +0 -49
- package/dist/components/molecules/WizardNavigation.d.ts +0 -51
- package/dist/components/molecules/WizardProgress.d.ts +0 -42
- package/dist/components/molecules/game/StatBadge.d.ts +0 -27
- package/dist/components/molecules/index.d.ts +0 -38
- package/dist/components/molecules/markdown/CodeBlock.d.ts +0 -25
- package/dist/components/molecules/markdown/MarkdownContent.d.ts +0 -26
- package/dist/components/organisms/CardGrid.d.ts +0 -72
- package/dist/components/organisms/Chart.d.ts +0 -59
- package/dist/components/organisms/CodeViewer.d.ts +0 -67
- package/dist/components/organisms/ComponentPatterns.d.ts +0 -441
- package/dist/components/organisms/ConfirmDialog.d.ts +0 -50
- package/dist/components/organisms/ContentRenderer.d.ts +0 -23
- package/dist/components/organisms/CustomPattern.d.ts +0 -104
- package/dist/components/organisms/DataTable.d.ts +0 -63
- package/dist/components/organisms/DetailPanel.d.ts +0 -71
- package/dist/components/organisms/DocumentViewer.d.ts +0 -60
- package/dist/components/organisms/DrawerSlot.d.ts +0 -39
- package/dist/components/organisms/Form.d.ts +0 -203
- package/dist/components/organisms/FormSection.d.ts +0 -59
- package/dist/components/organisms/GraphCanvas.d.ts +0 -69
- package/dist/components/organisms/Header.d.ts +0 -110
- package/dist/components/organisms/JazariStateMachine.d.ts +0 -60
- package/dist/components/organisms/LayoutPatterns.d.ts +0 -181
- package/dist/components/organisms/List.d.ts +0 -76
- package/dist/components/organisms/MasterDetail.d.ts +0 -43
- package/dist/components/organisms/MediaGallery.d.ts +0 -66
- package/dist/components/organisms/Meter.d.ts +0 -58
- package/dist/components/organisms/ModalSlot.d.ts +0 -35
- package/dist/components/organisms/Navigation.d.ts +0 -68
- package/dist/components/organisms/OrbitalVisualization.d.ts +0 -48
- package/dist/components/organisms/PageHeader.d.ts +0 -59
- package/dist/components/organisms/Section.d.ts +0 -44
- package/dist/components/organisms/Sidebar.d.ts +0 -65
- package/dist/components/organisms/SignaturePad.d.ts +0 -44
- package/dist/components/organisms/Split.d.ts +0 -42
- package/dist/components/organisms/StatCard.d.ts +0 -66
- package/dist/components/organisms/StateMachineView.d.ts +0 -36
- package/dist/components/organisms/Table.d.ts +0 -99
- package/dist/components/organisms/Timeline.d.ts +0 -58
- package/dist/components/organisms/ToastSlot.d.ts +0 -38
- package/dist/components/organisms/UISlotRenderer.d.ts +0 -112
- package/dist/components/organisms/WizardContainer.d.ts +0 -160
- package/dist/components/organisms/book/BookChapterView.d.ts +0 -17
- package/dist/components/organisms/book/BookCoverPage.d.ts +0 -19
- package/dist/components/organisms/book/BookNavBar.d.ts +0 -18
- package/dist/components/organisms/book/BookTableOfContents.d.ts +0 -18
- package/dist/components/organisms/book/BookViewer.d.ts +0 -28
- package/dist/components/organisms/book/index.d.ts +0 -7
- package/dist/components/organisms/book/types.d.ts +0 -77
- package/dist/components/organisms/game/BattleBoard.d.ts +0 -167
- package/dist/components/organisms/game/CanvasEffect.d.ts +0 -68
- package/dist/components/organisms/game/CastleBoard.d.ts +0 -85
- package/dist/components/organisms/game/DialogueBox.d.ts +0 -73
- package/dist/components/organisms/game/GameAudioProvider.d.ts +0 -47
- package/dist/components/organisms/game/GameAudioToggle.d.ts +0 -28
- package/dist/components/organisms/game/GameHud.d.ts +0 -40
- package/dist/components/organisms/game/GameMenu.d.ts +0 -43
- package/dist/components/organisms/game/GameOverScreen.d.ts +0 -56
- package/dist/components/organisms/game/InventoryPanel.d.ts +0 -67
- package/dist/components/organisms/game/IsometricCanvas.d.ts +0 -123
- package/dist/components/organisms/game/TraitSlot.d.ts +0 -86
- package/dist/components/organisms/game/TraitStateViewer.d.ts +0 -53
- package/dist/components/organisms/game/UncontrolledBattleBoard.d.ts +0 -26
- package/dist/components/organisms/game/WorldMapBoard.d.ts +0 -147
- package/dist/components/organisms/game/editor/editorUtils.d.ts +0 -109
- package/dist/components/organisms/game/editor/index.d.ts +0 -9
- package/dist/components/organisms/game/hooks/useBattleState.d.ts +0 -35
- package/dist/components/organisms/game/hooks/useCamera.d.ts +0 -41
- package/dist/components/organisms/game/hooks/useGameAudio.d.ts +0 -47
- package/dist/components/organisms/game/hooks/useImageCache.d.ts +0 -16
- package/dist/components/organisms/game/hooks/usePhysics2D.d.ts +0 -45
- package/dist/components/organisms/game/hooks/useSpriteAnimations.d.ts +0 -43
- package/dist/components/organisms/game/index.d.ts +0 -36
- package/dist/components/organisms/game/managers/PhysicsManager.d.ts +0 -103
- package/dist/components/organisms/game/types/effects.d.ts +0 -253
- package/dist/components/organisms/game/types/isometric.d.ts +0 -109
- package/dist/components/organisms/game/types/spriteAnimation.d.ts +0 -73
- package/dist/components/organisms/game/utils/canvasEffects.d.ts +0 -50
- package/dist/components/organisms/game/utils/combatPresets.d.ts +0 -15
- package/dist/components/organisms/game/utils/isometric.d.ts +0 -61
- package/dist/components/organisms/game/utils/spriteAnimation.d.ts +0 -57
- package/dist/components/organisms/game/utils/spriteSheetConstants.d.ts +0 -16
- package/dist/components/organisms/index.d.ts +0 -37
- package/dist/components/organisms/layout/DashboardGrid.d.ts +0 -34
- package/dist/components/organisms/layout/MasterDetail.d.ts +0 -32
- package/dist/components/organisms/layout/SplitPane.d.ts +0 -34
- package/dist/components/organisms/layout/TabbedContainer.d.ts +0 -42
- package/dist/components/organisms/layout/index.d.ts +0 -9
- package/dist/components/organisms/types.d.ts +0 -65
- package/dist/components/templates/AuthLayout.d.ts +0 -14
- package/dist/components/templates/BattleTemplate.d.ts +0 -25
- package/dist/components/templates/CastleTemplate.d.ts +0 -23
- package/dist/components/templates/CounterTemplate.d.ts +0 -44
- package/dist/components/templates/DashboardLayout.d.ts +0 -32
- package/dist/components/templates/GameShell.d.ts +0 -33
- package/dist/components/templates/GameTemplate.d.ts +0 -36
- package/dist/components/templates/GenericAppTemplate.d.ts +0 -30
- package/dist/components/templates/WorldMapTemplate.d.ts +0 -29
- package/dist/components/templates/index.d.ts +0 -10
- package/dist/components/templates/types.d.ts +0 -17
- package/dist/context/DesignThemeContext.d.ts +0 -21
- package/dist/context/ThemeContext.d.ts +0 -104
- package/dist/context/UISlotContext.d.ts +0 -75
- package/dist/context/UserContext.d.ts +0 -111
- package/dist/context/index.d.ts +0 -8
- package/dist/hooks/event-bus-types.d.ts +0 -71
- package/dist/hooks/index.d.ts +0 -25
- package/dist/hooks/useAgentChat.d.ts +0 -104
- package/dist/hooks/useAuthContext.d.ts +0 -25
- package/dist/hooks/useCompile.d.ts +0 -22
- package/dist/hooks/useDeepAgentGeneration.d.ts +0 -46
- package/dist/hooks/useEntities.d.ts +0 -52
- package/dist/hooks/useEntityData.d.ts +0 -155
- package/dist/hooks/useEntityMutations.d.ts +0 -80
- package/dist/hooks/useEventBus.d.ts +0 -96
- package/dist/hooks/useExtensions.d.ts +0 -32
- package/dist/hooks/useFileEditor.d.ts +0 -32
- package/dist/hooks/useFileSystem.d.ts +0 -40
- package/dist/hooks/useGitHub.d.ts +0 -58
- package/dist/hooks/useOrbitalHistory.d.ts +0 -39
- package/dist/hooks/useOrbitalMutations.d.ts +0 -95
- package/dist/hooks/usePreview.d.ts +0 -57
- package/dist/hooks/useQuerySingleton.d.ts +0 -78
- package/dist/hooks/useResolvedEntity.d.ts +0 -32
- package/dist/hooks/useTranslate.d.ts +0 -35
- package/dist/hooks/useUIEvents.d.ts +0 -35
- package/dist/hooks/useUISlots.d.ts +0 -84
- package/dist/hooks/useValidation.d.ts +0 -46
- package/dist/lib/api-client.d.ts +0 -42
- package/dist/lib/cn.d.ts +0 -6
- package/dist/lib/debug.d.ts +0 -43
- package/dist/lib/debugRegistry.d.ts +0 -29
- package/dist/lib/debugUtils.d.ts +0 -27
- package/dist/lib/entityDebug.d.ts +0 -38
- package/dist/lib/getNestedValue.d.ts +0 -33
- package/dist/lib/guardRegistry.d.ts +0 -32
- package/dist/lib/index.d.ts +0 -18
- package/dist/lib/jazari/svg-paths.d.ts +0 -61
- package/dist/lib/parseContentSegments.d.ts +0 -41
- package/dist/lib/tickRegistry.d.ts +0 -40
- package/dist/lib/traitRegistry.d.ts +0 -34
- package/dist/lib/verificationRegistry.d.ts +0 -107
- package/dist/lib/visualizer/index.d.ts +0 -143
- package/dist/locales/index.d.ts +0 -20
- package/dist/providers/EventBusProvider.d.ts +0 -60
- package/dist/providers/FetchedDataProvider.d.ts +0 -105
- package/dist/providers/OfflineModeProvider.d.ts +0 -79
- package/dist/providers/OrbitalProvider.d.ts +0 -101
- package/dist/providers/SelectionProvider.d.ts +0 -81
- package/dist/providers/VerificationProvider.d.ts +0 -63
- package/dist/providers/index.d.ts +0 -17
- package/dist/renderer/client-effect-executor.d.ts +0 -68
- package/dist/renderer/data-resolver.d.ts +0 -68
- package/dist/renderer/index.d.ts +0 -28
- package/dist/renderer/init.d.ts +0 -14
- package/dist/renderer/navigation.d.ts +0 -142
- package/dist/renderer/offline-executor.d.ts +0 -238
- package/dist/renderer/pattern-resolver.d.ts +0 -91
- package/dist/renderer/slot-definitions.d.ts +0 -45
- package/dist/renderer/types.d.ts +0 -160
- package/dist/renderer/useClientEffects.d.ts +0 -88
- package/dist/stores/entityStore.d.ts +0 -99
- package/dist/stores/filtering.d.ts +0 -51
- package/dist/stores/index.d.ts +0 -7
- package/dist/{chunk-RIZ76XRF.js → chunk-X3IKFHFT.js} +1 -1
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DetailPanel Organism Component
|
|
3
|
-
*
|
|
4
|
-
* Composes atoms and molecules to create a professional detail view.
|
|
5
|
-
*
|
|
6
|
-
* Data is provided by the trait via the `data` prop (render-ui effect).
|
|
7
|
-
* See EntityDisplayProps in ./types.ts for base prop contract.
|
|
8
|
-
*/
|
|
9
|
-
import React from "react";
|
|
10
|
-
import type { LucideIcon } from "lucide-react";
|
|
11
|
-
import type { EntityDisplayProps } from "./types";
|
|
12
|
-
export interface DetailField {
|
|
13
|
-
label: string;
|
|
14
|
-
value: React.ReactNode;
|
|
15
|
-
icon?: LucideIcon;
|
|
16
|
-
copyable?: boolean;
|
|
17
|
-
}
|
|
18
|
-
export interface DetailSection {
|
|
19
|
-
title: string;
|
|
20
|
-
fields: (DetailField | string)[];
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Action definition for DetailPanel
|
|
24
|
-
*/
|
|
25
|
-
export interface DetailPanelAction {
|
|
26
|
-
label: string;
|
|
27
|
-
icon?: LucideIcon;
|
|
28
|
-
onClick?: () => void;
|
|
29
|
-
/** Event to emit via event bus */
|
|
30
|
-
event?: string;
|
|
31
|
-
/** Navigation URL */
|
|
32
|
-
navigatesTo?: string;
|
|
33
|
-
/** Button variant (primary for main action, others for secondary) */
|
|
34
|
-
variant?: "primary" | "secondary" | "ghost" | "danger";
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Field definition for unified interface - can be a simple string or object
|
|
38
|
-
*/
|
|
39
|
-
export type FieldDef = string | {
|
|
40
|
-
key: string;
|
|
41
|
-
header?: string;
|
|
42
|
-
};
|
|
43
|
-
export interface DetailPanelProps extends Omit<EntityDisplayProps<Record<string, unknown>>, 'data'> {
|
|
44
|
-
title?: string;
|
|
45
|
-
subtitle?: string;
|
|
46
|
-
status?: {
|
|
47
|
-
label: string;
|
|
48
|
-
variant?: "default" | "success" | "warning" | "danger" | "info";
|
|
49
|
-
};
|
|
50
|
-
avatar?: React.ReactNode;
|
|
51
|
-
sections?: readonly DetailSection[];
|
|
52
|
-
/** Unified actions array - first action with variant='primary' is the main action */
|
|
53
|
-
actions?: readonly DetailPanelAction[];
|
|
54
|
-
footer?: React.ReactNode;
|
|
55
|
-
slideOver?: boolean;
|
|
56
|
-
/** Fields to display - accepts string[], {key, header}[], or DetailField[] */
|
|
57
|
-
fields?: readonly (FieldDef | DetailField)[];
|
|
58
|
-
/** Alias for fields - backwards compatibility */
|
|
59
|
-
fieldNames?: readonly string[];
|
|
60
|
-
/** Data object provided by the trait via render-ui */
|
|
61
|
-
data?: Record<string, unknown> | unknown;
|
|
62
|
-
/** Initial data for edit mode (passed by compiler) */
|
|
63
|
-
initialData?: Record<string, unknown> | unknown;
|
|
64
|
-
/** Display mode (passed by compiler) */
|
|
65
|
-
mode?: string;
|
|
66
|
-
/** Panel position (for drawer/sidebar placement) */
|
|
67
|
-
position?: "left" | "right";
|
|
68
|
-
/** Panel width (CSS value, e.g., '400px', '50%') */
|
|
69
|
-
width?: string;
|
|
70
|
-
}
|
|
71
|
-
export declare const DetailPanel: React.FC<DetailPanelProps>;
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DocumentViewer Organism Component
|
|
3
|
-
*
|
|
4
|
-
* A document viewer for displaying PDFs, documents, and rich text content.
|
|
5
|
-
* Uses iframe for PDF rendering (necessary) and atoms for all surrounding UI.
|
|
6
|
-
*
|
|
7
|
-
* Orbital Component Interface Compliance:
|
|
8
|
-
* - Entity binding with auto-fetch when entity is a string
|
|
9
|
-
* - Event emission via useEventBus (UI:* events)
|
|
10
|
-
* - isLoading and error state props
|
|
11
|
-
* - className for external styling
|
|
12
|
-
*/
|
|
13
|
-
import React from "react";
|
|
14
|
-
export type DocumentType = "pdf" | "text" | "html" | "markdown";
|
|
15
|
-
export interface DocumentAction {
|
|
16
|
-
label: string;
|
|
17
|
-
event?: string;
|
|
18
|
-
navigatesTo?: string;
|
|
19
|
-
variant?: "primary" | "secondary" | "ghost";
|
|
20
|
-
}
|
|
21
|
-
export interface DocumentViewerProps {
|
|
22
|
-
/** Document title */
|
|
23
|
-
title?: string;
|
|
24
|
-
/** Document URL (for PDF/external documents) */
|
|
25
|
-
src?: string;
|
|
26
|
-
/** Document content (for text/html/markdown) */
|
|
27
|
-
content?: string;
|
|
28
|
-
/** Document type */
|
|
29
|
-
documentType?: DocumentType;
|
|
30
|
-
/** Current page (for multi-page documents) */
|
|
31
|
-
currentPage?: number;
|
|
32
|
-
/** Total pages */
|
|
33
|
-
totalPages?: number;
|
|
34
|
-
/** Viewer height */
|
|
35
|
-
height?: number | string;
|
|
36
|
-
/** Show toolbar */
|
|
37
|
-
showToolbar?: boolean;
|
|
38
|
-
/** Show download button */
|
|
39
|
-
showDownload?: boolean;
|
|
40
|
-
/** Show print button */
|
|
41
|
-
showPrint?: boolean;
|
|
42
|
-
/** Actions */
|
|
43
|
-
actions?: readonly DocumentAction[];
|
|
44
|
-
/** Multiple documents (tabbed view) */
|
|
45
|
-
documents?: readonly {
|
|
46
|
-
label: string;
|
|
47
|
-
src?: string;
|
|
48
|
-
content?: string;
|
|
49
|
-
documentType?: DocumentType;
|
|
50
|
-
}[];
|
|
51
|
-
/** Entity name for schema-driven auto-fetch */
|
|
52
|
-
entity?: string;
|
|
53
|
-
/** Loading state */
|
|
54
|
-
isLoading?: boolean;
|
|
55
|
-
/** Error state */
|
|
56
|
-
error?: Error | null;
|
|
57
|
-
/** Additional CSS classes */
|
|
58
|
-
className?: string;
|
|
59
|
-
}
|
|
60
|
-
export declare const DocumentViewer: React.FC<DocumentViewerProps>;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DrawerSlot Component
|
|
3
|
-
*
|
|
4
|
-
* Wraps drawer slot content in a proper Drawer component.
|
|
5
|
-
* Used by trait-driven pages to display drawer UI from render_ui effects.
|
|
6
|
-
*
|
|
7
|
-
* Handles:
|
|
8
|
-
* - Auto-open when content is present
|
|
9
|
-
* - Dispatches CLOSE/CANCEL events when closed
|
|
10
|
-
* - Extracts title from Form or DetailPanel components
|
|
11
|
-
* - Configurable position and size
|
|
12
|
-
*/
|
|
13
|
-
import React from 'react';
|
|
14
|
-
import { DrawerPosition, DrawerSize } from '../molecules/Drawer';
|
|
15
|
-
export interface DrawerSlotProps {
|
|
16
|
-
/** Content to display in the drawer */
|
|
17
|
-
children?: React.ReactNode;
|
|
18
|
-
/** Override drawer title (extracted from children if not provided) */
|
|
19
|
-
title?: string;
|
|
20
|
-
/** Drawer position */
|
|
21
|
-
position?: DrawerPosition;
|
|
22
|
-
/** Drawer size */
|
|
23
|
-
size?: DrawerSize;
|
|
24
|
-
/** Custom class name */
|
|
25
|
-
className?: string;
|
|
26
|
-
/** Loading state */
|
|
27
|
-
isLoading?: boolean;
|
|
28
|
-
/** Error state */
|
|
29
|
-
error?: Error | null;
|
|
30
|
-
/** Entity name for schema-driven auto-fetch */
|
|
31
|
-
entity?: string;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* DrawerSlot - Wrapper for drawer slot content
|
|
35
|
-
*
|
|
36
|
-
* Automatically shows drawer when children are present,
|
|
37
|
-
* and dispatches close events when drawer is dismissed.
|
|
38
|
-
*/
|
|
39
|
-
export declare const DrawerSlot: React.FC<DrawerSlotProps>;
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Form Organism Component
|
|
3
|
-
*
|
|
4
|
-
* A form container component with submit/reset handling.
|
|
5
|
-
* Supports both children-based and schema-based form generation.
|
|
6
|
-
* Renders correct input types based on field definitions including relations.
|
|
7
|
-
*
|
|
8
|
-
* Extended for inspection forms with:
|
|
9
|
-
* - Conditional field visibility via S-expressions
|
|
10
|
-
* - Hidden calculations that emit GLOBAL_VARIABLE_SET events
|
|
11
|
-
* - Violation triggers that emit VIOLATION_DETECTED events
|
|
12
|
-
* - Nested sections with collapsible support
|
|
13
|
-
*/
|
|
14
|
-
import React from "react";
|
|
15
|
-
import { type SelectOption } from "../atoms/Select";
|
|
16
|
-
import { type RelationOption } from "../molecules/RelationSelect";
|
|
17
|
-
import { type SExpr } from "@almadar/evaluator";
|
|
18
|
-
/**
|
|
19
|
-
* S-Expression type for conditional logic (re-export from @almadar/evaluator)
|
|
20
|
-
*/
|
|
21
|
-
export type SExpression = SExpr;
|
|
22
|
-
/**
|
|
23
|
-
* Form-specific evaluation context
|
|
24
|
-
*/
|
|
25
|
-
export interface FormEvaluationContext {
|
|
26
|
-
formValues: Record<string, unknown>;
|
|
27
|
-
globalVariables: Record<string, unknown>;
|
|
28
|
-
localVariables?: Record<string, unknown>;
|
|
29
|
-
entity?: Record<string, unknown>;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Hidden calculation definition
|
|
33
|
-
*/
|
|
34
|
-
export interface HiddenCalculation {
|
|
35
|
-
variableName: string;
|
|
36
|
-
expression: SExpression;
|
|
37
|
-
triggerFields: string[];
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Violation definition
|
|
41
|
-
*/
|
|
42
|
-
export interface ViolationDefinition {
|
|
43
|
-
law: string;
|
|
44
|
-
article: string;
|
|
45
|
-
actionType: "measure" | "admin" | "penalty";
|
|
46
|
-
message: string;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Violation trigger definition
|
|
50
|
-
*/
|
|
51
|
-
export interface ViolationTrigger {
|
|
52
|
-
condition: SExpression;
|
|
53
|
-
violation: ViolationDefinition;
|
|
54
|
-
fieldId?: string;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Form section definition for nested sections
|
|
58
|
-
*/
|
|
59
|
-
export interface FormSection {
|
|
60
|
-
id: string;
|
|
61
|
-
title: string;
|
|
62
|
-
condition?: SExpression;
|
|
63
|
-
fields: SchemaField[];
|
|
64
|
-
collapsible?: boolean;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Form tab definition for tabbed inspection forms
|
|
68
|
-
*/
|
|
69
|
-
export interface FormTabDefinition {
|
|
70
|
-
/** Unique tab identifier */
|
|
71
|
-
id: string;
|
|
72
|
-
/** Tab display label */
|
|
73
|
-
label: string;
|
|
74
|
-
/** Icon name for the tab (from Icon component) */
|
|
75
|
-
icon?: string;
|
|
76
|
-
/** Sections within this tab */
|
|
77
|
-
sections: FormSection[];
|
|
78
|
-
/** Condition for showing/hiding the entire tab */
|
|
79
|
-
condition?: SExpression;
|
|
80
|
-
/** Badge count or text to display on tab */
|
|
81
|
-
badge?: string | number;
|
|
82
|
-
/** Whether this tab has validation errors */
|
|
83
|
-
hasErrors?: boolean;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Relation configuration for foreign key fields
|
|
87
|
-
*/
|
|
88
|
-
export interface RelationConfig {
|
|
89
|
-
/** Target entity name (e.g., 'User', 'Project') */
|
|
90
|
-
entity: string;
|
|
91
|
-
/** Field on target entity to display (defaults to 'name') */
|
|
92
|
-
displayField?: string;
|
|
93
|
-
/** Cardinality: one-to-one or one-to-many */
|
|
94
|
-
cardinality?: "one" | "many";
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Schema field definition
|
|
98
|
-
* Supports both 'name' and 'field' for compatibility with different schema formats
|
|
99
|
-
*/
|
|
100
|
-
export interface SchemaField {
|
|
101
|
-
/** Field name (primary) */
|
|
102
|
-
name?: string;
|
|
103
|
-
/** Field name (alias for compatibility) */
|
|
104
|
-
field?: string;
|
|
105
|
-
/** Display label */
|
|
106
|
-
label?: string;
|
|
107
|
-
/** Field type (string, number, email, date, boolean, enum, relation, etc.) */
|
|
108
|
-
type?: string;
|
|
109
|
-
/** Input type for rendering (text, select, textarea, checkbox, etc.) */
|
|
110
|
-
inputType?: string;
|
|
111
|
-
/** Placeholder text */
|
|
112
|
-
placeholder?: string;
|
|
113
|
-
/** Whether field is required */
|
|
114
|
-
required?: boolean;
|
|
115
|
-
/** Default value */
|
|
116
|
-
defaultValue?: unknown;
|
|
117
|
-
/** Options for select/enum fields - accepts readonly for generated const arrays */
|
|
118
|
-
options?: readonly SelectOption[];
|
|
119
|
-
/** Enum values (alternative to options, just strings) - accepts readonly for generated const arrays */
|
|
120
|
-
values?: readonly string[];
|
|
121
|
-
/** Relation configuration for foreign key references */
|
|
122
|
-
relation?: RelationConfig;
|
|
123
|
-
/** Minimum value (for number) or length (for string) */
|
|
124
|
-
min?: number;
|
|
125
|
-
/** Maximum value or length */
|
|
126
|
-
max?: number;
|
|
127
|
-
/** Pattern for validation */
|
|
128
|
-
pattern?: string;
|
|
129
|
-
/** Validation rules */
|
|
130
|
-
validation?: Record<string, unknown>;
|
|
131
|
-
/** Whether field is readonly (displays value but cannot edit) */
|
|
132
|
-
readonly?: boolean;
|
|
133
|
-
/** Whether field is disabled (alternative to readonly for compatibility) */
|
|
134
|
-
disabled?: boolean;
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Form is the ONE EXCEPTION to the "no internal state" rule for organisms.
|
|
138
|
-
* It manages local `formData` state for field input tracking.
|
|
139
|
-
* See EntityDisplayProps in ./types.ts for documentation.
|
|
140
|
-
*/
|
|
141
|
-
export interface FormProps extends Omit<React.FormHTMLAttributes<HTMLFormElement>, "onSubmit"> {
|
|
142
|
-
/** Form fields (traditional React children) */
|
|
143
|
-
children?: React.ReactNode;
|
|
144
|
-
/** Submit event name for trait dispatch (emitted via eventBus as UI:{onSubmit}) */
|
|
145
|
-
onSubmit?: string;
|
|
146
|
-
/** Cancel event name for trait dispatch (emitted via eventBus as UI:{onCancel}) */
|
|
147
|
-
onCancel?: string;
|
|
148
|
-
/** Form layout */
|
|
149
|
-
layout?: "vertical" | "horizontal" | "inline";
|
|
150
|
-
/** Gap between fields */
|
|
151
|
-
gap?: "sm" | "md" | "lg";
|
|
152
|
-
/** Additional CSS classes */
|
|
153
|
-
className?: string;
|
|
154
|
-
/** Entity type name (schema format) */
|
|
155
|
-
entity?: string;
|
|
156
|
-
/** Form mode - 'create' for new records, 'edit' for updating existing */
|
|
157
|
-
mode?: "create" | "edit";
|
|
158
|
-
/** Fields definition (schema format) - accepts readonly for generated const arrays */
|
|
159
|
-
fields?: readonly Readonly<SchemaField>[];
|
|
160
|
-
/** Initial form data */
|
|
161
|
-
initialData?: Record<string, unknown> | unknown;
|
|
162
|
-
/** Loading state */
|
|
163
|
-
isLoading?: boolean;
|
|
164
|
-
/** Error state */
|
|
165
|
-
error?: Error | null;
|
|
166
|
-
/** Submit button label */
|
|
167
|
-
submitLabel?: string;
|
|
168
|
-
/** Cancel button label (if provided, shows cancel button) */
|
|
169
|
-
cancelLabel?: string;
|
|
170
|
-
/** Show cancel button (defaults to true for schema forms) */
|
|
171
|
-
showCancel?: boolean;
|
|
172
|
-
/** Form title (used by ModalSlot to extract title) */
|
|
173
|
-
title?: string;
|
|
174
|
-
/** Event to dispatch on successful submit (defaults to 'SAVE') */
|
|
175
|
-
submitEvent?: string;
|
|
176
|
-
/** Event to dispatch on cancel (defaults to 'CANCEL') */
|
|
177
|
-
cancelEvent?: string;
|
|
178
|
-
/** Data for relation fields: { fieldName: RelationOption[] } */
|
|
179
|
-
relationsData?: Record<string, readonly RelationOption[]>;
|
|
180
|
-
/** Loading state for relation data: { fieldName: boolean } */
|
|
181
|
-
relationsLoading?: Record<string, boolean>;
|
|
182
|
-
/** Map of fieldId → S-expression condition for conditional field display (boolean true means enabled but config loaded separately) */
|
|
183
|
-
conditionalFields?: Record<string, SExpression> | boolean;
|
|
184
|
-
/** Hidden calculations that emit GLOBAL_VARIABLE_SET on field change (boolean true means enabled but config loaded separately) */
|
|
185
|
-
hiddenCalculations?: HiddenCalculation[] | boolean;
|
|
186
|
-
/** Violation conditions that emit VIOLATION_DETECTED when met (boolean true means enabled but config loaded separately) */
|
|
187
|
-
violationTriggers?: ViolationTrigger[] | boolean;
|
|
188
|
-
/** Context for S-expression evaluation - accepts flexible types from generated code */
|
|
189
|
-
evaluationContext?: FormEvaluationContext | Record<string, unknown>;
|
|
190
|
-
/** Nested form sections with optional conditions */
|
|
191
|
-
sections?: FormSection[];
|
|
192
|
-
/** Callback when any field value changes */
|
|
193
|
-
onFieldChange?: (change: {
|
|
194
|
-
fieldId: string;
|
|
195
|
-
value: unknown;
|
|
196
|
-
formValues: Record<string, unknown>;
|
|
197
|
-
}) => void;
|
|
198
|
-
/** Config path for form configuration (schema-driven) */
|
|
199
|
-
configPath?: string;
|
|
200
|
-
/** Whether the form supports repeatable entries */
|
|
201
|
-
repeatable?: boolean;
|
|
202
|
-
}
|
|
203
|
-
export declare const Form: React.FC<FormProps>;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export interface FormSectionProps {
|
|
3
|
-
/** Section title */
|
|
4
|
-
title?: string;
|
|
5
|
-
/** Section description */
|
|
6
|
-
description?: string;
|
|
7
|
-
/** Form fields */
|
|
8
|
-
children: React.ReactNode;
|
|
9
|
-
/** Collapsible */
|
|
10
|
-
collapsible?: boolean;
|
|
11
|
-
/** Default collapsed state */
|
|
12
|
-
defaultCollapsed?: boolean;
|
|
13
|
-
/** Use card wrapper */
|
|
14
|
-
card?: boolean;
|
|
15
|
-
/** Grid columns for fields */
|
|
16
|
-
columns?: 1 | 2 | 3;
|
|
17
|
-
className?: string;
|
|
18
|
-
/** Loading state */
|
|
19
|
-
isLoading?: boolean;
|
|
20
|
-
/** Error state */
|
|
21
|
-
error?: Error | null;
|
|
22
|
-
/** Entity name */
|
|
23
|
-
entity?: string;
|
|
24
|
-
}
|
|
25
|
-
export declare const FormSection: React.FC<FormSectionProps>;
|
|
26
|
-
/**
|
|
27
|
-
* Form layout with multiple sections
|
|
28
|
-
*/
|
|
29
|
-
export interface FormLayoutProps {
|
|
30
|
-
children: React.ReactNode;
|
|
31
|
-
/** Show section dividers */
|
|
32
|
-
dividers?: boolean;
|
|
33
|
-
className?: string;
|
|
34
|
-
/** Loading state */
|
|
35
|
-
isLoading?: boolean;
|
|
36
|
-
/** Error state */
|
|
37
|
-
error?: Error | null;
|
|
38
|
-
/** Entity name */
|
|
39
|
-
entity?: string;
|
|
40
|
-
}
|
|
41
|
-
export declare const FormLayout: React.FC<FormLayoutProps>;
|
|
42
|
-
/**
|
|
43
|
-
* Form actions bar (submit/cancel buttons)
|
|
44
|
-
*/
|
|
45
|
-
export interface FormActionsProps {
|
|
46
|
-
children: React.ReactNode;
|
|
47
|
-
/** Sticky at bottom */
|
|
48
|
-
sticky?: boolean;
|
|
49
|
-
/** Alignment */
|
|
50
|
-
align?: "left" | "right" | "between" | "center";
|
|
51
|
-
className?: string;
|
|
52
|
-
/** Loading state */
|
|
53
|
-
isLoading?: boolean;
|
|
54
|
-
/** Error state */
|
|
55
|
-
error?: Error | null;
|
|
56
|
-
/** Entity name */
|
|
57
|
-
entity?: string;
|
|
58
|
-
}
|
|
59
|
-
export declare const FormActions: React.FC<FormActionsProps>;
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GraphCanvas Organism Component
|
|
3
|
-
*
|
|
4
|
-
* A force-directed graph visualization component for node-link data.
|
|
5
|
-
* Uses canvas (necessary for performant graph rendering) with atom wrappers.
|
|
6
|
-
*
|
|
7
|
-
* Orbital Component Interface Compliance:
|
|
8
|
-
* - Entity binding with auto-fetch when entity is a string
|
|
9
|
-
* - Event emission via useEventBus (UI:* events)
|
|
10
|
-
* - isLoading and error state props
|
|
11
|
-
* - className for external styling
|
|
12
|
-
*/
|
|
13
|
-
import React from "react";
|
|
14
|
-
export interface GraphNode {
|
|
15
|
-
id: string;
|
|
16
|
-
label?: string;
|
|
17
|
-
group?: string;
|
|
18
|
-
color?: string;
|
|
19
|
-
size?: number;
|
|
20
|
-
/** Position (optional, computed if missing) */
|
|
21
|
-
x?: number;
|
|
22
|
-
y?: number;
|
|
23
|
-
}
|
|
24
|
-
export interface GraphEdge {
|
|
25
|
-
source: string;
|
|
26
|
-
target: string;
|
|
27
|
-
label?: string;
|
|
28
|
-
weight?: number;
|
|
29
|
-
color?: string;
|
|
30
|
-
}
|
|
31
|
-
export interface GraphAction {
|
|
32
|
-
label: string;
|
|
33
|
-
event?: string;
|
|
34
|
-
navigatesTo?: string;
|
|
35
|
-
variant?: "primary" | "secondary" | "ghost";
|
|
36
|
-
}
|
|
37
|
-
export interface GraphCanvasProps {
|
|
38
|
-
/** Graph title */
|
|
39
|
-
title?: string;
|
|
40
|
-
/** Graph nodes */
|
|
41
|
-
nodes?: readonly GraphNode[];
|
|
42
|
-
/** Graph edges */
|
|
43
|
-
edges?: readonly GraphEdge[];
|
|
44
|
-
/** Canvas height */
|
|
45
|
-
height?: number;
|
|
46
|
-
/** Show node labels */
|
|
47
|
-
showLabels?: boolean;
|
|
48
|
-
/** Enable zoom/pan */
|
|
49
|
-
interactive?: boolean;
|
|
50
|
-
/** Enable node dragging */
|
|
51
|
-
draggable?: boolean;
|
|
52
|
-
/** Actions */
|
|
53
|
-
actions?: readonly GraphAction[];
|
|
54
|
-
/** On node click */
|
|
55
|
-
onNodeClick?: (node: GraphNode) => void;
|
|
56
|
-
/** Node click event */
|
|
57
|
-
nodeClickEvent?: string;
|
|
58
|
-
/** Layout algorithm */
|
|
59
|
-
layout?: "force" | "circular" | "grid";
|
|
60
|
-
/** Entity name for schema-driven auto-fetch */
|
|
61
|
-
entity?: string;
|
|
62
|
-
/** Loading state */
|
|
63
|
-
isLoading?: boolean;
|
|
64
|
-
/** Error state */
|
|
65
|
-
error?: Error | null;
|
|
66
|
-
/** Additional CSS classes */
|
|
67
|
-
className?: string;
|
|
68
|
-
}
|
|
69
|
-
export declare const GraphCanvas: React.FC<GraphCanvasProps>;
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Header Organism Component
|
|
3
|
-
*
|
|
4
|
-
* A header component for mobile/responsive layouts with menu toggle, brand, and user avatar.
|
|
5
|
-
* Styled to match the main Layout component's mobile header.
|
|
6
|
-
*/
|
|
7
|
-
import React from "react";
|
|
8
|
-
import type { LucideIcon } from "lucide-react";
|
|
9
|
-
export interface HeaderProps {
|
|
10
|
-
/**
|
|
11
|
-
* Logo/Brand content
|
|
12
|
-
*/
|
|
13
|
-
logo?: React.ReactNode;
|
|
14
|
-
/**
|
|
15
|
-
* Logo image source
|
|
16
|
-
*/
|
|
17
|
-
logoSrc?: string;
|
|
18
|
-
/**
|
|
19
|
-
* Brand/App name
|
|
20
|
-
*/
|
|
21
|
-
brandName?: string;
|
|
22
|
-
/**
|
|
23
|
-
* Navigation items (for desktop header variant)
|
|
24
|
-
*/
|
|
25
|
-
navigationItems?: Array<{
|
|
26
|
-
label: string;
|
|
27
|
-
href?: string;
|
|
28
|
-
onClick?: () => void;
|
|
29
|
-
icon?: LucideIcon;
|
|
30
|
-
badge?: string | number;
|
|
31
|
-
active?: boolean;
|
|
32
|
-
}>;
|
|
33
|
-
/**
|
|
34
|
-
* Show menu toggle button
|
|
35
|
-
* @default true
|
|
36
|
-
*/
|
|
37
|
-
showMenuToggle?: boolean;
|
|
38
|
-
/**
|
|
39
|
-
* Is menu open (for toggle icon)
|
|
40
|
-
*/
|
|
41
|
-
isMenuOpen?: boolean;
|
|
42
|
-
/**
|
|
43
|
-
* Menu toggle callback
|
|
44
|
-
*/
|
|
45
|
-
onMenuToggle?: () => void;
|
|
46
|
-
/**
|
|
47
|
-
* Show search input
|
|
48
|
-
* @default false
|
|
49
|
-
*/
|
|
50
|
-
showSearch?: boolean;
|
|
51
|
-
/**
|
|
52
|
-
* Search placeholder
|
|
53
|
-
*/
|
|
54
|
-
searchPlaceholder?: string;
|
|
55
|
-
/**
|
|
56
|
-
* Search callback
|
|
57
|
-
*/
|
|
58
|
-
onSearch?: (value: string) => void;
|
|
59
|
-
/**
|
|
60
|
-
* User avatar configuration
|
|
61
|
-
*/
|
|
62
|
-
userAvatar?: {
|
|
63
|
-
src?: string;
|
|
64
|
-
alt?: string;
|
|
65
|
-
initials?: string;
|
|
66
|
-
};
|
|
67
|
-
/**
|
|
68
|
-
* User name (display name or email)
|
|
69
|
-
*/
|
|
70
|
-
userName?: string;
|
|
71
|
-
/**
|
|
72
|
-
* Callback when user avatar is clicked
|
|
73
|
-
*/
|
|
74
|
-
onUserClick?: () => void;
|
|
75
|
-
/**
|
|
76
|
-
* Action buttons (right side)
|
|
77
|
-
*/
|
|
78
|
-
actions?: React.ReactNode;
|
|
79
|
-
/**
|
|
80
|
-
* Sticky header
|
|
81
|
-
* @default true
|
|
82
|
-
*/
|
|
83
|
-
sticky?: boolean;
|
|
84
|
-
/**
|
|
85
|
-
* Variant - mobile shows menu toggle, desktop shows full nav
|
|
86
|
-
* @default 'mobile'
|
|
87
|
-
*/
|
|
88
|
-
variant?: "mobile" | "desktop";
|
|
89
|
-
/**
|
|
90
|
-
* Callback when logo/brand is clicked
|
|
91
|
-
*/
|
|
92
|
-
onLogoClick?: () => void;
|
|
93
|
-
/**
|
|
94
|
-
* Additional CSS classes
|
|
95
|
-
*/
|
|
96
|
-
className?: string;
|
|
97
|
-
/**
|
|
98
|
-
* Loading state indicator (closed circuit)
|
|
99
|
-
*/
|
|
100
|
-
isLoading?: boolean;
|
|
101
|
-
/**
|
|
102
|
-
* Error state (closed circuit)
|
|
103
|
-
*/
|
|
104
|
-
error?: Error | null;
|
|
105
|
-
/**
|
|
106
|
-
* Entity name for schema-driven auto-fetch (closed circuit)
|
|
107
|
-
*/
|
|
108
|
-
entity?: string;
|
|
109
|
-
}
|
|
110
|
-
export declare const Header: React.FC<HeaderProps>;
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* JazariStateMachine — Al-Jazari themed state machine diagram.
|
|
3
|
-
*
|
|
4
|
-
* Thin wrapper around StateMachineView that:
|
|
5
|
-
* 1. Extracts a state machine from an orbital schema (or accepts a trait directly)
|
|
6
|
-
* 2. Converts it to DomLayoutData via the visualizer lib
|
|
7
|
-
* 3. Applies Al-Jazari brass/gold/lapis color theme
|
|
8
|
-
* 4. Renders gear-shaped state nodes via the renderStateNode prop
|
|
9
|
-
*/
|
|
10
|
-
import React from 'react';
|
|
11
|
-
import type { EntityDisplayProps } from './types';
|
|
12
|
-
interface SmState {
|
|
13
|
-
name: string;
|
|
14
|
-
isInitial?: boolean;
|
|
15
|
-
isTerminal?: boolean;
|
|
16
|
-
isFinal?: boolean;
|
|
17
|
-
}
|
|
18
|
-
interface SmTransition {
|
|
19
|
-
from: string;
|
|
20
|
-
to: string;
|
|
21
|
-
event: string;
|
|
22
|
-
guard?: unknown;
|
|
23
|
-
effects?: unknown[];
|
|
24
|
-
}
|
|
25
|
-
interface SmStateMachine {
|
|
26
|
-
states: SmState[];
|
|
27
|
-
transitions: SmTransition[];
|
|
28
|
-
}
|
|
29
|
-
interface SmTrait {
|
|
30
|
-
name: string;
|
|
31
|
-
stateMachine?: SmStateMachine;
|
|
32
|
-
linkedEntity?: string;
|
|
33
|
-
}
|
|
34
|
-
interface SmEntity {
|
|
35
|
-
name: string;
|
|
36
|
-
fields?: Array<{
|
|
37
|
-
name: string;
|
|
38
|
-
}>;
|
|
39
|
-
}
|
|
40
|
-
interface SmOrbital {
|
|
41
|
-
entity?: SmEntity;
|
|
42
|
-
traits?: SmTrait[];
|
|
43
|
-
}
|
|
44
|
-
interface SmSchema {
|
|
45
|
-
orbitals?: SmOrbital[];
|
|
46
|
-
}
|
|
47
|
-
export interface JazariStateMachineProps extends EntityDisplayProps {
|
|
48
|
-
/** Full schema — extracts first trait's state machine */
|
|
49
|
-
schema?: SmSchema;
|
|
50
|
-
/** Or pass a single trait directly */
|
|
51
|
-
trait?: SmTrait;
|
|
52
|
-
/** Which trait to visualize (default: 0) */
|
|
53
|
-
traitIndex?: number;
|
|
54
|
-
/** Override entity field labels */
|
|
55
|
-
entityFields?: string[];
|
|
56
|
-
/** Text direction (default: 'ltr') */
|
|
57
|
-
direction?: 'ltr' | 'rtl';
|
|
58
|
-
}
|
|
59
|
-
export declare const JazariStateMachine: React.FC<JazariStateMachineProps>;
|
|
60
|
-
export {};
|