@middag-io/react 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-lib/app/ContractPage.d.ts +17 -0
- package/dist-lib/app/ContractPage.d.ts.map +1 -0
- package/dist-lib/app/bootstrap.d.ts +6 -0
- package/dist-lib/app/bootstrap.d.ts.map +1 -0
- package/dist-lib/app/providers/auth.d.ts +41 -0
- package/dist-lib/app/providers/auth.d.ts.map +1 -0
- package/dist-lib/app/providers/flash.d.ts +14 -0
- package/dist-lib/app/providers/flash.d.ts.map +1 -0
- package/dist-lib/app/providers/i18n.d.ts +40 -0
- package/dist-lib/app/providers/i18n.d.ts.map +1 -0
- package/dist-lib/app/providers/progress.d.ts +13 -0
- package/dist-lib/app/providers/progress.d.ts.map +1 -0
- package/dist-lib/app/providers/scope.d.ts +32 -0
- package/dist-lib/app/providers/scope.d.ts.map +1 -0
- package/dist-lib/app/register-defaults.d.ts +6 -0
- package/dist-lib/app/register-defaults.d.ts.map +1 -0
- package/dist-lib/app/registries.d.ts +33 -0
- package/dist-lib/app/registries.d.ts.map +1 -0
- package/dist-lib/assets/lottie/index.d.ts +36 -0
- package/dist-lib/assets/lottie/index.d.ts.map +1 -0
- package/dist-lib/base/blocks/ActionGridBlock.d.ts +14 -0
- package/dist-lib/base/blocks/ActionGridBlock.d.ts.map +1 -0
- package/dist-lib/base/blocks/ActivityTimelineBlock.d.ts +13 -0
- package/dist-lib/base/blocks/ActivityTimelineBlock.d.ts.map +1 -0
- package/dist-lib/base/blocks/CardGridBlock.d.ts +18 -0
- package/dist-lib/base/blocks/CardGridBlock.d.ts.map +1 -0
- package/dist-lib/base/blocks/ConditionTreeBlock.d.ts +13 -0
- package/dist-lib/base/blocks/ConditionTreeBlock.d.ts.map +1 -0
- package/dist-lib/base/blocks/DenseTableBlock.d.ts +13 -0
- package/dist-lib/base/blocks/DenseTableBlock.d.ts.map +1 -0
- package/dist-lib/base/blocks/DetailPanelBlock.d.ts +13 -0
- package/dist-lib/base/blocks/DetailPanelBlock.d.ts.map +1 -0
- package/dist-lib/base/blocks/EmptyStateBlock.d.ts +12 -0
- package/dist-lib/base/blocks/EmptyStateBlock.d.ts.map +1 -0
- package/dist-lib/base/blocks/FlowEditorBlock.d.ts +15 -0
- package/dist-lib/base/blocks/FlowEditorBlock.d.ts.map +1 -0
- package/dist-lib/base/blocks/FormBuilderBlock.d.ts +17 -0
- package/dist-lib/base/blocks/FormBuilderBlock.d.ts.map +1 -0
- package/dist-lib/base/blocks/FormPanelBlock.d.ts +13 -0
- package/dist-lib/base/blocks/FormPanelBlock.d.ts.map +1 -0
- package/dist-lib/base/blocks/LinkListBlock.d.ts +12 -0
- package/dist-lib/base/blocks/LinkListBlock.d.ts.map +1 -0
- package/dist-lib/base/blocks/MarkdownPanelBlock.d.ts +13 -0
- package/dist-lib/base/blocks/MarkdownPanelBlock.d.ts.map +1 -0
- package/dist-lib/base/blocks/MetricCardBlock.d.ts +10 -0
- package/dist-lib/base/blocks/MetricCardBlock.d.ts.map +1 -0
- package/dist-lib/base/blocks/SentenceBuilderBlock.d.ts +15 -0
- package/dist-lib/base/blocks/SentenceBuilderBlock.d.ts.map +1 -0
- package/dist-lib/base/blocks/StatusStripBlock.d.ts +12 -0
- package/dist-lib/base/blocks/StatusStripBlock.d.ts.map +1 -0
- package/dist-lib/base/blocks/TabbedPanelBlock.d.ts +15 -0
- package/dist-lib/base/blocks/TabbedPanelBlock.d.ts.map +1 -0
- package/dist-lib/base/form/FormField.d.ts +38 -0
- package/dist-lib/base/form/FormField.d.ts.map +1 -0
- package/dist-lib/base/form/fields/CheckboxField.d.ts +19 -0
- package/dist-lib/base/form/fields/CheckboxField.d.ts.map +1 -0
- package/dist-lib/base/form/fields/EntityPickerField.d.ts +24 -0
- package/dist-lib/base/form/fields/EntityPickerField.d.ts.map +1 -0
- package/dist-lib/base/form/fields/MultiSelectField.d.ts +24 -0
- package/dist-lib/base/form/fields/MultiSelectField.d.ts.map +1 -0
- package/dist-lib/base/form/fields/NumberField.d.ts +21 -0
- package/dist-lib/base/form/fields/NumberField.d.ts.map +1 -0
- package/dist-lib/base/form/fields/PasswordField.d.ts +19 -0
- package/dist-lib/base/form/fields/PasswordField.d.ts.map +1 -0
- package/dist-lib/base/form/fields/RadioField.d.ts +23 -0
- package/dist-lib/base/form/fields/RadioField.d.ts.map +1 -0
- package/dist-lib/base/form/fields/SelectField.d.ts +24 -0
- package/dist-lib/base/form/fields/SelectField.d.ts.map +1 -0
- package/dist-lib/base/form/fields/StaticField.d.ts +12 -0
- package/dist-lib/base/form/fields/StaticField.d.ts.map +1 -0
- package/dist-lib/base/form/fields/SwitchField.d.ts +19 -0
- package/dist-lib/base/form/fields/SwitchField.d.ts.map +1 -0
- package/dist-lib/base/form/fields/TextField.d.ts +21 -0
- package/dist-lib/base/form/fields/TextField.d.ts.map +1 -0
- package/dist-lib/base/form/fields/TextareaField.d.ts +21 -0
- package/dist-lib/base/form/fields/TextareaField.d.ts.map +1 -0
- package/dist-lib/base/hooks/useIsDark.d.ts +12 -0
- package/dist-lib/base/hooks/useIsDark.d.ts.map +1 -0
- package/dist-lib/base/hooks/usePolling.d.ts +11 -0
- package/dist-lib/base/hooks/usePolling.d.ts.map +1 -0
- package/dist-lib/base/hooks/useToast.d.ts +17 -0
- package/dist-lib/base/hooks/useToast.d.ts.map +1 -0
- package/dist-lib/base/layout/DashboardLayout.d.ts +11 -0
- package/dist-lib/base/layout/DashboardLayout.d.ts.map +1 -0
- package/dist-lib/base/layout/MasterDetailLayout.d.ts +8 -0
- package/dist-lib/base/layout/MasterDetailLayout.d.ts.map +1 -0
- package/dist-lib/base/layout/SplitLayout.d.ts +8 -0
- package/dist-lib/base/layout/SplitLayout.d.ts.map +1 -0
- package/dist-lib/base/layout/StackLayout.d.ts +12 -0
- package/dist-lib/base/layout/StackLayout.d.ts.map +1 -0
- package/dist-lib/base/layout/WizardLayout.d.ts +12 -0
- package/dist-lib/base/layout/WizardLayout.d.ts.map +1 -0
- package/dist-lib/base/partials/ActionBar/index.d.ts +28 -0
- package/dist-lib/base/partials/ActionBar/index.d.ts.map +1 -0
- package/dist-lib/base/partials/ConfirmationDialog/index.d.ts +26 -0
- package/dist-lib/base/partials/ConfirmationDialog/index.d.ts.map +1 -0
- package/dist-lib/base/partials/DataTable/cell-renderers.d.ts +16 -0
- package/dist-lib/base/partials/DataTable/cell-renderers.d.ts.map +1 -0
- package/dist-lib/base/partials/DataTable/index.d.ts +12 -0
- package/dist-lib/base/partials/DataTable/index.d.ts.map +1 -0
- package/dist-lib/base/partials/DataTable/types.d.ts +129 -0
- package/dist-lib/base/partials/DataTable/types.d.ts.map +1 -0
- package/dist-lib/base/partials/DetailSection/index.d.ts +37 -0
- package/dist-lib/base/partials/DetailSection/index.d.ts.map +1 -0
- package/dist-lib/base/partials/EmptyPlaceholder/index.d.ts +29 -0
- package/dist-lib/base/partials/EmptyPlaceholder/index.d.ts.map +1 -0
- package/dist-lib/base/partials/FilterBar/index.d.ts +31 -0
- package/dist-lib/base/partials/FilterBar/index.d.ts.map +1 -0
- package/dist-lib/base/partials/FormSection/index.d.ts +19 -0
- package/dist-lib/base/partials/FormSection/index.d.ts.map +1 -0
- package/dist-lib/base/partials/LogViewer/JsonBlock.d.ts +8 -0
- package/dist-lib/base/partials/LogViewer/JsonBlock.d.ts.map +1 -0
- package/dist-lib/base/partials/LogViewer/LogEntry.d.ts +9 -0
- package/dist-lib/base/partials/LogViewer/LogEntry.d.ts.map +1 -0
- package/dist-lib/base/partials/LogViewer/LogViewerToolbar.d.ts +16 -0
- package/dist-lib/base/partials/LogViewer/LogViewerToolbar.d.ts.map +1 -0
- package/dist-lib/base/partials/LogViewer/index.d.ts +14 -0
- package/dist-lib/base/partials/LogViewer/index.d.ts.map +1 -0
- package/dist-lib/base/partials/LogViewer/types.d.ts +26 -0
- package/dist-lib/base/partials/LogViewer/types.d.ts.map +1 -0
- package/dist-lib/base/partials/MarkdownContent/index.d.ts +17 -0
- package/dist-lib/base/partials/MarkdownContent/index.d.ts.map +1 -0
- package/dist-lib/base/partials/StatRow/index.d.ts +12 -0
- package/dist-lib/base/partials/StatRow/index.d.ts.map +1 -0
- package/dist-lib/base/partials/StatusBar/index.d.ts +21 -0
- package/dist-lib/base/partials/StatusBar/index.d.ts.map +1 -0
- package/dist-lib/base/partials/StatusIndicator/index.d.ts +16 -0
- package/dist-lib/base/partials/StatusIndicator/index.d.ts.map +1 -0
- package/dist-lib/base/partials/StepIndicator/index.d.ts +15 -0
- package/dist-lib/base/partials/StepIndicator/index.d.ts.map +1 -0
- package/dist-lib/base/partials/TimelineList/index.d.ts +32 -0
- package/dist-lib/base/partials/TimelineList/index.d.ts.map +1 -0
- package/dist-lib/base/shell/AdminShell.d.ts +12 -0
- package/dist-lib/base/shell/AdminShell.d.ts.map +1 -0
- package/dist-lib/base/shell/ProductShell.d.ts +22 -0
- package/dist-lib/base/shell/ProductShell.d.ts.map +1 -0
- package/dist-lib/base/shell/partials/AppearanceToggle.d.ts +8 -0
- package/dist-lib/base/shell/partials/AppearanceToggle.d.ts.map +1 -0
- package/dist-lib/base/shell/partials/CommandPalette.d.ts +24 -0
- package/dist-lib/base/shell/partials/CommandPalette.d.ts.map +1 -0
- package/dist-lib/base/shell/partials/HelpContext.d.ts +15 -0
- package/dist-lib/base/shell/partials/HelpContext.d.ts.map +1 -0
- package/dist-lib/base/shell/partials/HelpPanel.d.ts +15 -0
- package/dist-lib/base/shell/partials/HelpPanel.d.ts.map +1 -0
- package/dist-lib/base/shell/partials/InlineInspector.d.ts +15 -0
- package/dist-lib/base/shell/partials/InlineInspector.d.ts.map +1 -0
- package/dist-lib/base/shell/partials/InspectorContext.d.ts +58 -0
- package/dist-lib/base/shell/partials/InspectorContext.d.ts.map +1 -0
- package/dist-lib/base/shell/partials/InspectorPanel.d.ts +29 -0
- package/dist-lib/base/shell/partials/InspectorPanel.d.ts.map +1 -0
- package/dist-lib/base/shell/partials/NavErrorBoundary.d.ts +23 -0
- package/dist-lib/base/shell/partials/NavErrorBoundary.d.ts.map +1 -0
- package/dist-lib/base/shell/partials/OverlayScreen.d.ts +17 -0
- package/dist-lib/base/shell/partials/OverlayScreen.d.ts.map +1 -0
- package/dist-lib/base/shell/partials/PageActionButton.d.ts +17 -0
- package/dist-lib/base/shell/partials/PageActionButton.d.ts.map +1 -0
- package/dist-lib/base/shell/partials/PageFilterTabs.d.ts +22 -0
- package/dist-lib/base/shell/partials/PageFilterTabs.d.ts.map +1 -0
- package/dist-lib/base/shell/partials/PageHeader.d.ts +22 -0
- package/dist-lib/base/shell/partials/PageHeader.d.ts.map +1 -0
- package/dist-lib/base/shell/partials/SidebarNav.d.ts +17 -0
- package/dist-lib/base/shell/partials/SidebarNav.d.ts.map +1 -0
- package/dist-lib/base/theme/appearance.d.ts +58 -0
- package/dist-lib/base/theme/appearance.d.ts.map +1 -0
- package/dist-lib/base/theme/host-theme-detector.d.ts +22 -0
- package/dist-lib/base/theme/host-theme-detector.d.ts.map +1 -0
- package/dist-lib/base/theme/useHostTheme.d.ts +27 -0
- package/dist-lib/base/theme/useHostTheme.d.ts.map +1 -0
- package/dist-lib/base/utils/clipboard.d.ts +12 -0
- package/dist-lib/base/utils/clipboard.d.ts.map +1 -0
- package/dist-lib/base/utils/conditions.d.ts +7 -0
- package/dist-lib/base/utils/conditions.d.ts.map +1 -0
- package/dist-lib/base/utils/icons.d.ts +21 -0
- package/dist-lib/base/utils/icons.d.ts.map +1 -0
- package/dist-lib/base/utils/interpolate.d.ts +7 -0
- package/dist-lib/base/utils/interpolate.d.ts.map +1 -0
- package/dist-lib/base/utils/time.d.ts +28 -0
- package/dist-lib/base/utils/time.d.ts.map +1 -0
- package/dist-lib/components/reui/alert-dialog.d.ts +19 -0
- package/dist-lib/components/reui/alert-dialog.d.ts.map +1 -0
- package/dist-lib/components/reui/alert.d.ts +10 -0
- package/dist-lib/components/reui/alert.d.ts.map +1 -0
- package/dist-lib/components/reui/badge.d.ts +12 -0
- package/dist-lib/components/reui/badge.d.ts.map +1 -0
- package/dist-lib/components/reui/button.d.ts +11 -0
- package/dist-lib/components/reui/button.d.ts.map +1 -0
- package/dist-lib/components/reui/card.d.ts +10 -0
- package/dist-lib/components/reui/card.d.ts.map +1 -0
- package/dist-lib/components/reui/checkbox.d.ts +5 -0
- package/dist-lib/components/reui/checkbox.d.ts.map +1 -0
- package/dist-lib/components/reui/dialog.d.ts +18 -0
- package/dist-lib/components/reui/dialog.d.ts.map +1 -0
- package/dist-lib/components/reui/dropdown-menu.d.ts +26 -0
- package/dist-lib/components/reui/dropdown-menu.d.ts.map +1 -0
- package/dist-lib/components/reui/frame.d.ts +29 -0
- package/dist-lib/components/reui/frame.d.ts.map +1 -0
- package/dist-lib/components/reui/input.d.ts +4 -0
- package/dist-lib/components/reui/input.d.ts.map +1 -0
- package/dist-lib/components/reui/label.d.ts +5 -0
- package/dist-lib/components/reui/label.d.ts.map +1 -0
- package/dist-lib/components/reui/number-field.d.ts +26 -0
- package/dist-lib/components/reui/number-field.d.ts.map +1 -0
- package/dist-lib/components/reui/popover.d.ts +11 -0
- package/dist-lib/components/reui/popover.d.ts.map +1 -0
- package/dist-lib/components/reui/radio-group.d.ts +6 -0
- package/dist-lib/components/reui/radio-group.d.ts.map +1 -0
- package/dist-lib/components/reui/select.d.ts +16 -0
- package/dist-lib/components/reui/select.d.ts.map +1 -0
- package/dist-lib/components/reui/separator.d.ts +5 -0
- package/dist-lib/components/reui/separator.d.ts.map +1 -0
- package/dist-lib/components/reui/sheet.d.ts +15 -0
- package/dist-lib/components/reui/sheet.d.ts.map +1 -0
- package/dist-lib/components/reui/sidebar.d.ts +70 -0
- package/dist-lib/components/reui/sidebar.d.ts.map +1 -0
- package/dist-lib/components/reui/skeleton.d.ts +3 -0
- package/dist-lib/components/reui/skeleton.d.ts.map +1 -0
- package/dist-lib/components/reui/sonner.d.ts +4 -0
- package/dist-lib/components/reui/sonner.d.ts.map +1 -0
- package/dist-lib/components/reui/spinner.d.ts +3 -0
- package/dist-lib/components/reui/spinner.d.ts.map +1 -0
- package/dist-lib/components/reui/switch.d.ts +7 -0
- package/dist-lib/components/reui/switch.d.ts.map +1 -0
- package/dist-lib/components/reui/tabs.d.ts +12 -0
- package/dist-lib/components/reui/tabs.d.ts.map +1 -0
- package/dist-lib/components/reui/textarea.d.ts +4 -0
- package/dist-lib/components/reui/textarea.d.ts.map +1 -0
- package/dist-lib/components/reui/tooltip.d.ts +8 -0
- package/dist-lib/components/reui/tooltip.d.ts.map +1 -0
- package/dist-lib/components/ui/svgs/claudeAiIcon.d.ts +4 -0
- package/dist-lib/components/ui/svgs/claudeAiIcon.d.ts.map +1 -0
- package/dist-lib/components/ui/svgs/gemini.d.ts +4 -0
- package/dist-lib/components/ui/svgs/gemini.d.ts.map +1 -0
- package/dist-lib/components/ui/svgs/openai.d.ts +4 -0
- package/dist-lib/components/ui/svgs/openai.d.ts.map +1 -0
- package/dist-lib/components/ui/svgs/openaiDark.d.ts +4 -0
- package/dist-lib/components/ui/svgs/openaiDark.d.ts.map +1 -0
- package/dist-lib/contracts/block-data.d.ts +399 -0
- package/dist-lib/contracts/block-data.d.ts.map +1 -0
- package/dist-lib/contracts/connectors.d.ts +50 -0
- package/dist-lib/contracts/connectors.d.ts.map +1 -0
- package/dist-lib/contracts/navigation.d.ts +101 -0
- package/dist-lib/contracts/navigation.d.ts.map +1 -0
- package/dist-lib/contracts/page-contract.d.ts +129 -0
- package/dist-lib/contracts/page-contract.d.ts.map +1 -0
- package/dist-lib/contracts/shared-props.d.ts +76 -0
- package/dist-lib/contracts/shared-props.d.ts.map +1 -0
- package/dist-lib/hooks/use-copy-to-clipboard.d.ts +2 -0
- package/dist-lib/hooks/use-copy-to-clipboard.d.ts.map +1 -0
- package/dist-lib/hooks/use-file-upload.d.ts +2 -0
- package/dist-lib/hooks/use-file-upload.d.ts.map +1 -0
- package/dist-lib/index.d.ts +22 -0
- package/dist-lib/index.d.ts.map +1 -0
- package/dist-lib/lib/deprecation.d.ts +10 -0
- package/dist-lib/lib/deprecation.d.ts.map +1 -0
- package/dist-lib/lib/hooks/use-copy-to-clipboard.d.ts +8 -0
- package/dist-lib/lib/hooks/use-copy-to-clipboard.d.ts.map +1 -0
- package/dist-lib/lib/hooks/use-file-upload.d.ts +47 -0
- package/dist-lib/lib/hooks/use-file-upload.d.ts.map +1 -0
- package/dist-lib/lib/hooks/use-mobile.d.ts +2 -0
- package/dist-lib/lib/hooks/use-mobile.d.ts.map +1 -0
- package/dist-lib/lib/portal-container.d.ts +9 -0
- package/dist-lib/lib/portal-container.d.ts.map +1 -0
- package/dist-lib/lib/utils.d.ts +3 -0
- package/dist-lib/lib/utils.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Block data contracts — typed data shapes for all 8 ADR-807 standard blocks.
|
|
3
|
+
*
|
|
4
|
+
* Imported by block components for BlockProps<TData> type parameter.
|
|
5
|
+
* These mirror the JSON shapes sent from PHP controllers via Inertia.
|
|
6
|
+
*
|
|
7
|
+
* @see ADR-807 ref/page-contract-v1 §5
|
|
8
|
+
* @see NV-05-ux-blocks.md
|
|
9
|
+
*/
|
|
10
|
+
export interface DenseTableColumnDef {
|
|
11
|
+
key: string;
|
|
12
|
+
label: string;
|
|
13
|
+
sortable?: boolean;
|
|
14
|
+
searchable?: boolean;
|
|
15
|
+
variant?: "text" | "status" | "badge" | "boolean" | "timestamp" | "link" | "rich_status" | "html" | "link_group";
|
|
16
|
+
minWidth?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface DenseTablePagination {
|
|
19
|
+
page: number;
|
|
20
|
+
perPage: number;
|
|
21
|
+
total: number;
|
|
22
|
+
lastPage: number;
|
|
23
|
+
}
|
|
24
|
+
export interface DenseTableSort {
|
|
25
|
+
column: string | null;
|
|
26
|
+
direction: "asc" | "desc" | null;
|
|
27
|
+
}
|
|
28
|
+
export interface DenseTableFilterDef {
|
|
29
|
+
key: string;
|
|
30
|
+
label: string;
|
|
31
|
+
type: "select" | "multiselect" | "date_range";
|
|
32
|
+
options?: Array<{
|
|
33
|
+
value: string;
|
|
34
|
+
label: string;
|
|
35
|
+
}>;
|
|
36
|
+
}
|
|
37
|
+
export interface DenseTableRowAction {
|
|
38
|
+
id: string;
|
|
39
|
+
label: string;
|
|
40
|
+
icon: string;
|
|
41
|
+
intent?: "default" | "danger";
|
|
42
|
+
variant?: "icon" | "button";
|
|
43
|
+
href?: string;
|
|
44
|
+
method?: "get" | "post" | "delete";
|
|
45
|
+
requiresConfirmation?: boolean;
|
|
46
|
+
confirmationMessage?: string;
|
|
47
|
+
confirmation?: ActionConfirmation;
|
|
48
|
+
visible_when?: FormCondition;
|
|
49
|
+
disabled_when?: FormCondition;
|
|
50
|
+
loading_when?: FormCondition;
|
|
51
|
+
disabled_reason_field?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface DenseTableBulkAction {
|
|
54
|
+
id: string;
|
|
55
|
+
label: string;
|
|
56
|
+
icon?: string;
|
|
57
|
+
intent?: "default" | "danger";
|
|
58
|
+
href: string;
|
|
59
|
+
method: "post" | "delete";
|
|
60
|
+
requiresConfirmation?: boolean;
|
|
61
|
+
confirmationMessage?: string;
|
|
62
|
+
}
|
|
63
|
+
export interface ActionConfirmation {
|
|
64
|
+
title: string;
|
|
65
|
+
message: string;
|
|
66
|
+
intent?: "danger" | "warning" | "default";
|
|
67
|
+
confirmLabel?: string;
|
|
68
|
+
cancelLabel?: string;
|
|
69
|
+
waitForPolling?: boolean;
|
|
70
|
+
waitingMessage?: string;
|
|
71
|
+
}
|
|
72
|
+
export interface RichStatusValue {
|
|
73
|
+
label: string;
|
|
74
|
+
appearance: "success" | "warning" | "danger" | "info" | "neutral";
|
|
75
|
+
icon?: string;
|
|
76
|
+
}
|
|
77
|
+
export interface LinkGroupItem {
|
|
78
|
+
icon: string;
|
|
79
|
+
href: string | null;
|
|
80
|
+
label: string;
|
|
81
|
+
external?: boolean;
|
|
82
|
+
}
|
|
83
|
+
export interface DenseTableBlockData {
|
|
84
|
+
columns: DenseTableColumnDef[];
|
|
85
|
+
rows: Record<string, unknown>[];
|
|
86
|
+
pagination: DenseTablePagination;
|
|
87
|
+
sort: DenseTableSort;
|
|
88
|
+
filters: {
|
|
89
|
+
available: DenseTableFilterDef[];
|
|
90
|
+
applied: Record<string, string | string[]>;
|
|
91
|
+
};
|
|
92
|
+
rowActions?: DenseTableRowAction[];
|
|
93
|
+
bulkActions?: DenseTableBulkAction[];
|
|
94
|
+
searchPlaceholder?: string;
|
|
95
|
+
emptyState?: {
|
|
96
|
+
icon?: string;
|
|
97
|
+
title?: string;
|
|
98
|
+
description?: string;
|
|
99
|
+
cta?: {
|
|
100
|
+
label: string;
|
|
101
|
+
href: string;
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
export interface MetricCardBlockData {
|
|
106
|
+
value: string | number;
|
|
107
|
+
delta?: string;
|
|
108
|
+
deltaDirection?: "positive" | "negative" | "neutral";
|
|
109
|
+
label: string;
|
|
110
|
+
icon?: string;
|
|
111
|
+
href?: string;
|
|
112
|
+
locale?: string;
|
|
113
|
+
compact?: boolean;
|
|
114
|
+
}
|
|
115
|
+
export type EmptyStateVariant = "first-use" | "no-results" | "error" | "permission";
|
|
116
|
+
export interface EmptyStateBlockData {
|
|
117
|
+
variant?: EmptyStateVariant;
|
|
118
|
+
icon?: string;
|
|
119
|
+
description: string;
|
|
120
|
+
cta?: {
|
|
121
|
+
label: string;
|
|
122
|
+
href?: string;
|
|
123
|
+
method?: "get" | "post";
|
|
124
|
+
};
|
|
125
|
+
ctaSecondary?: {
|
|
126
|
+
label: string;
|
|
127
|
+
href: string;
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
export type StatusStripTone = "success" | "warning" | "danger" | "neutral";
|
|
131
|
+
export type StatusItemAppearance = "success" | "warning" | "danger" | "info" | "neutral";
|
|
132
|
+
export interface StatusStripItem {
|
|
133
|
+
key: string;
|
|
134
|
+
label: string;
|
|
135
|
+
value: string;
|
|
136
|
+
appearance: StatusItemAppearance;
|
|
137
|
+
tooltip?: string;
|
|
138
|
+
href?: string;
|
|
139
|
+
}
|
|
140
|
+
export interface StatusStripBlockData {
|
|
141
|
+
score?: number;
|
|
142
|
+
tone?: StatusStripTone;
|
|
143
|
+
items: StatusStripItem[];
|
|
144
|
+
}
|
|
145
|
+
export interface DetailPanelFieldDef {
|
|
146
|
+
key: string;
|
|
147
|
+
label: string;
|
|
148
|
+
value: string | number | boolean | null;
|
|
149
|
+
kind?: "text" | "status" | "timestamp" | "boolean" | "link" | "code" | "email";
|
|
150
|
+
copyable?: boolean;
|
|
151
|
+
href?: string;
|
|
152
|
+
}
|
|
153
|
+
export interface DetailPanelSectionDef {
|
|
154
|
+
id: string;
|
|
155
|
+
title: string;
|
|
156
|
+
fields: DetailPanelFieldDef[];
|
|
157
|
+
defaultCollapsed?: boolean;
|
|
158
|
+
actions?: Array<{
|
|
159
|
+
id: string;
|
|
160
|
+
label: string;
|
|
161
|
+
icon: string;
|
|
162
|
+
intent?: "default" | "danger";
|
|
163
|
+
href?: string;
|
|
164
|
+
method?: string;
|
|
165
|
+
requiresConfirmation?: boolean;
|
|
166
|
+
}>;
|
|
167
|
+
}
|
|
168
|
+
export interface DetailPanelBlockData {
|
|
169
|
+
sections: DetailPanelSectionDef[];
|
|
170
|
+
columns?: 1 | 2;
|
|
171
|
+
}
|
|
172
|
+
export interface ActivityTimelineEntry {
|
|
173
|
+
id: string;
|
|
174
|
+
actor: string;
|
|
175
|
+
actorHref?: string;
|
|
176
|
+
action: string;
|
|
177
|
+
detail?: string;
|
|
178
|
+
icon: string;
|
|
179
|
+
color: "success" | "info" | "warning" | "destructive" | "neutral";
|
|
180
|
+
timestamp: number;
|
|
181
|
+
}
|
|
182
|
+
export interface ActivityTimelineBlockData {
|
|
183
|
+
groups: Array<{
|
|
184
|
+
label: string;
|
|
185
|
+
entries: ActivityTimelineEntry[];
|
|
186
|
+
}>;
|
|
187
|
+
hasMore?: boolean;
|
|
188
|
+
loadMoreHref?: string;
|
|
189
|
+
limit?: number;
|
|
190
|
+
}
|
|
191
|
+
export type FormFieldType = "text" | "textarea" | "password" | "email" | "url" | "int" | "float" | "select" | "multiselect" | "radio" | "checkbox" | "switch" | "date" | "datetime" | "duration" | "file" | "entity_picker" | "hidden" | "static" | "header";
|
|
192
|
+
export interface FormCondition {
|
|
193
|
+
field: string;
|
|
194
|
+
operator: "equals" | "not_equals" | "in" | "not_in";
|
|
195
|
+
value: string | string[];
|
|
196
|
+
}
|
|
197
|
+
export interface FormFieldNode {
|
|
198
|
+
kind: "field";
|
|
199
|
+
key: string;
|
|
200
|
+
component: FormFieldType;
|
|
201
|
+
props: {
|
|
202
|
+
label: string;
|
|
203
|
+
placeholder?: string;
|
|
204
|
+
helpText?: string;
|
|
205
|
+
required?: boolean;
|
|
206
|
+
disabled?: boolean;
|
|
207
|
+
readOnly?: boolean;
|
|
208
|
+
options?: Array<{
|
|
209
|
+
value: string;
|
|
210
|
+
label: string;
|
|
211
|
+
}>;
|
|
212
|
+
min?: number;
|
|
213
|
+
max?: number;
|
|
214
|
+
step?: number;
|
|
215
|
+
rows?: number;
|
|
216
|
+
accept?: string;
|
|
217
|
+
multiple?: boolean;
|
|
218
|
+
autocompleteHref?: string;
|
|
219
|
+
visible_when?: FormCondition;
|
|
220
|
+
hidden_when?: FormCondition;
|
|
221
|
+
disabled_when?: FormCondition;
|
|
222
|
+
required_when?: FormCondition;
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
export interface FormSectionNode {
|
|
226
|
+
kind: "section";
|
|
227
|
+
id: string;
|
|
228
|
+
label: string;
|
|
229
|
+
defaultCollapsed?: boolean;
|
|
230
|
+
children: FormSchemaNode[];
|
|
231
|
+
}
|
|
232
|
+
export interface FormGroupNode {
|
|
233
|
+
kind: "group";
|
|
234
|
+
id: string;
|
|
235
|
+
columns?: 1 | 2;
|
|
236
|
+
children: FormSchemaNode[];
|
|
237
|
+
}
|
|
238
|
+
export interface FormHeaderNode {
|
|
239
|
+
kind: "header";
|
|
240
|
+
label: string;
|
|
241
|
+
}
|
|
242
|
+
export type FormSchemaNode = FormFieldNode | FormSectionNode | FormGroupNode | FormHeaderNode;
|
|
243
|
+
export interface FormPanelBlockData {
|
|
244
|
+
action: string;
|
|
245
|
+
method: "post" | "put" | "patch";
|
|
246
|
+
schema: FormSchemaNode[];
|
|
247
|
+
values: Record<string, unknown>;
|
|
248
|
+
errors: Record<string, string>;
|
|
249
|
+
meta: {
|
|
250
|
+
submitLabel?: string;
|
|
251
|
+
cancelLabel?: string;
|
|
252
|
+
cancelHref?: string;
|
|
253
|
+
multiStep?: boolean;
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
export interface MarkdownPanelBlockData {
|
|
257
|
+
content: string;
|
|
258
|
+
maxHeight?: number;
|
|
259
|
+
}
|
|
260
|
+
export interface CardGridColumnDef {
|
|
261
|
+
key: string;
|
|
262
|
+
label: string;
|
|
263
|
+
kind?: "text" | "status" | "badge" | "boolean" | "timestamp" | "number";
|
|
264
|
+
}
|
|
265
|
+
export interface CardGridBlockData {
|
|
266
|
+
columns: CardGridColumnDef[];
|
|
267
|
+
rows: Record<string, unknown>[];
|
|
268
|
+
variant?: "default" | "store" | "connector";
|
|
269
|
+
emptyState?: {
|
|
270
|
+
icon?: string;
|
|
271
|
+
title?: string;
|
|
272
|
+
description?: string;
|
|
273
|
+
cta?: {
|
|
274
|
+
label: string;
|
|
275
|
+
href: string;
|
|
276
|
+
};
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
export interface ActionGridItem {
|
|
280
|
+
id: string;
|
|
281
|
+
icon: string;
|
|
282
|
+
title: string;
|
|
283
|
+
description: string;
|
|
284
|
+
actionUrl: string;
|
|
285
|
+
actionMethod?: "post" | "delete";
|
|
286
|
+
confirmText?: string;
|
|
287
|
+
sesskey?: string;
|
|
288
|
+
}
|
|
289
|
+
export interface ActionGridBlockData {
|
|
290
|
+
items: ActionGridItem[];
|
|
291
|
+
flash?: {
|
|
292
|
+
success: boolean;
|
|
293
|
+
message: string;
|
|
294
|
+
} | null;
|
|
295
|
+
}
|
|
296
|
+
export interface LinkListItem {
|
|
297
|
+
label: string;
|
|
298
|
+
href: string | null;
|
|
299
|
+
icon?: string;
|
|
300
|
+
description?: string;
|
|
301
|
+
external?: boolean;
|
|
302
|
+
}
|
|
303
|
+
export interface LinkListBlockData {
|
|
304
|
+
items: LinkListItem[];
|
|
305
|
+
}
|
|
306
|
+
export interface SentenceBuilderRule {
|
|
307
|
+
id: string;
|
|
308
|
+
field: string;
|
|
309
|
+
operator: string;
|
|
310
|
+
value: string;
|
|
311
|
+
}
|
|
312
|
+
export interface SentenceBuilderGroup {
|
|
313
|
+
id: string;
|
|
314
|
+
connector: "and" | "or";
|
|
315
|
+
rules: SentenceBuilderRule[];
|
|
316
|
+
}
|
|
317
|
+
export interface SentenceBuilderBlockData {
|
|
318
|
+
groups: SentenceBuilderGroup[];
|
|
319
|
+
availableFields: Array<{
|
|
320
|
+
key: string;
|
|
321
|
+
label: string;
|
|
322
|
+
operators: string[];
|
|
323
|
+
}>;
|
|
324
|
+
audienceEstimate?: {
|
|
325
|
+
matched: number;
|
|
326
|
+
total: number;
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
export interface ConditionRule {
|
|
330
|
+
id: string;
|
|
331
|
+
field: string;
|
|
332
|
+
operator: string;
|
|
333
|
+
value: string;
|
|
334
|
+
}
|
|
335
|
+
export interface ConditionGroup {
|
|
336
|
+
id: string;
|
|
337
|
+
logic: "and" | "or";
|
|
338
|
+
rules: ConditionRule[];
|
|
339
|
+
groups: ConditionGroup[];
|
|
340
|
+
}
|
|
341
|
+
export interface ConditionTreeBlockData {
|
|
342
|
+
root: ConditionGroup;
|
|
343
|
+
availableFields: Array<{
|
|
344
|
+
key: string;
|
|
345
|
+
label: string;
|
|
346
|
+
type: string;
|
|
347
|
+
}>;
|
|
348
|
+
availableOperators: Array<{
|
|
349
|
+
key: string;
|
|
350
|
+
label: string;
|
|
351
|
+
}>;
|
|
352
|
+
}
|
|
353
|
+
export interface TabbedPanelTab {
|
|
354
|
+
key: string;
|
|
355
|
+
label: string;
|
|
356
|
+
icon?: string;
|
|
357
|
+
blocks: import("@/contracts/page-contract").BlockDescriptor[];
|
|
358
|
+
}
|
|
359
|
+
export interface TabbedPanelBlockData {
|
|
360
|
+
tabs: TabbedPanelTab[];
|
|
361
|
+
defaultTab?: string;
|
|
362
|
+
}
|
|
363
|
+
export interface FlowEditorNode {
|
|
364
|
+
id: string;
|
|
365
|
+
type: "trigger" | "condition" | "action";
|
|
366
|
+
label: string;
|
|
367
|
+
description?: string;
|
|
368
|
+
position: {
|
|
369
|
+
x: number;
|
|
370
|
+
y: number;
|
|
371
|
+
};
|
|
372
|
+
}
|
|
373
|
+
export interface FlowEditorEdge {
|
|
374
|
+
id: string;
|
|
375
|
+
source: string;
|
|
376
|
+
target: string;
|
|
377
|
+
label?: string;
|
|
378
|
+
}
|
|
379
|
+
export interface FlowEditorBlockData {
|
|
380
|
+
nodes: FlowEditorNode[];
|
|
381
|
+
edges: FlowEditorEdge[];
|
|
382
|
+
}
|
|
383
|
+
export interface FormBuilderField {
|
|
384
|
+
id: string;
|
|
385
|
+
type: "text" | "textarea" | "select" | "checkbox" | "date" | "file" | "rating" | "email" | "number";
|
|
386
|
+
label: string;
|
|
387
|
+
required?: boolean;
|
|
388
|
+
placeholder?: string;
|
|
389
|
+
options?: string[];
|
|
390
|
+
}
|
|
391
|
+
export interface FormBuilderBlockData {
|
|
392
|
+
fields: FormBuilderField[];
|
|
393
|
+
availableTypes: Array<{
|
|
394
|
+
type: string;
|
|
395
|
+
label: string;
|
|
396
|
+
icon: string;
|
|
397
|
+
}>;
|
|
398
|
+
}
|
|
399
|
+
//# sourceMappingURL=block-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block-data.d.ts","sourceRoot":"","sources":["../../src/contracts/block-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connectors VOs — TypeScript mirror of PHP VOs in
|
|
3
|
+
* `classes/extensions/core/connectors/connector/*`.
|
|
4
|
+
*/
|
|
5
|
+
export type ConnectorStatus = "unconfigured" | "configured" | "connected" | "degraded" | "disconnected";
|
|
6
|
+
export interface CredentialField {
|
|
7
|
+
key: string;
|
|
8
|
+
label: string;
|
|
9
|
+
type: "text" | "password" | "url" | "select";
|
|
10
|
+
required?: boolean;
|
|
11
|
+
placeholder?: string | null;
|
|
12
|
+
}
|
|
13
|
+
export interface HealthCheckResult {
|
|
14
|
+
success: boolean;
|
|
15
|
+
latency_ms: number | null;
|
|
16
|
+
error_message: string | null;
|
|
17
|
+
resulting_status: string;
|
|
18
|
+
checked_at: number;
|
|
19
|
+
}
|
|
20
|
+
export interface ConnectorListItem {
|
|
21
|
+
id: number;
|
|
22
|
+
fullname: string;
|
|
23
|
+
connector_type: string;
|
|
24
|
+
extension: string;
|
|
25
|
+
status: ConnectorStatus;
|
|
26
|
+
enabled: boolean;
|
|
27
|
+
last_check_at: number | null;
|
|
28
|
+
latency_ms: number | null;
|
|
29
|
+
}
|
|
30
|
+
export interface ConnectorDetail {
|
|
31
|
+
id: number;
|
|
32
|
+
fullname: string;
|
|
33
|
+
description: string | null;
|
|
34
|
+
connector_type: string;
|
|
35
|
+
endpoint: string | null;
|
|
36
|
+
extension: string;
|
|
37
|
+
status: ConnectorStatus;
|
|
38
|
+
enabled: boolean;
|
|
39
|
+
created_at: number;
|
|
40
|
+
modified_at: number;
|
|
41
|
+
credential_fields: CredentialField[];
|
|
42
|
+
health_history: HealthCheckResult[];
|
|
43
|
+
}
|
|
44
|
+
export interface ConnectorTypeInfo {
|
|
45
|
+
type: string;
|
|
46
|
+
name: string;
|
|
47
|
+
extension: string;
|
|
48
|
+
credential_fields: CredentialField[];
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=connectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../src/contracts/connectors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,YAAY,GACZ,WAAW,GACX,UAAU,GACV,cAAc,CAAC;AAEnB,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,eAAe,EAAE,CAAC;IACrC,cAAc,EAAE,iBAAiB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,eAAe,EAAE,CAAC;CACtC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Navigation contract — typed shape for the `navigation` Inertia shared prop.
|
|
3
|
+
*
|
|
4
|
+
* PHP serializes this from navigation_registry during boot().
|
|
5
|
+
* Frontend reads it from usePage().props.navigation.
|
|
6
|
+
*
|
|
7
|
+
* @see ADR-807 ref/shell-and-navigation §4
|
|
8
|
+
* @see NV-05-ux-shell-sidebar.md §1.3
|
|
9
|
+
*/
|
|
10
|
+
/** Level 3 — leaf navigation item */
|
|
11
|
+
export interface NavigationChild {
|
|
12
|
+
/** Unique key, e.g. "segments.rules.active" */
|
|
13
|
+
key: string;
|
|
14
|
+
/** Localized display label */
|
|
15
|
+
label: string;
|
|
16
|
+
/** Full URL (resolved by server, includes Moodle base). Null for non-leaf nodes. */
|
|
17
|
+
href?: string;
|
|
18
|
+
/** Server-resolved active state (true when this item is the current page) */
|
|
19
|
+
active: boolean;
|
|
20
|
+
}
|
|
21
|
+
/** Level 2 — navigable item, optionally has L3 children */
|
|
22
|
+
export interface NavigationItem {
|
|
23
|
+
/** Unique key, e.g. "segments.rules" */
|
|
24
|
+
key: string;
|
|
25
|
+
/** Localized display label */
|
|
26
|
+
label: string;
|
|
27
|
+
/** Full URL. Null for section-only nodes without a landing page. */
|
|
28
|
+
href?: string;
|
|
29
|
+
/** Server-resolved active state */
|
|
30
|
+
active: boolean;
|
|
31
|
+
/** Optional badge — numeric count or status string, e.g. 3 or "new" */
|
|
32
|
+
badge?: number | string;
|
|
33
|
+
/** Badge display variant: 'count' (muted text, default) or 'alert' (red pill like WooCommerce). */
|
|
34
|
+
badgeVariant?: "count" | "alert";
|
|
35
|
+
/** L3 children — empty array if none */
|
|
36
|
+
children: NavigationChild[];
|
|
37
|
+
}
|
|
38
|
+
/** Level 1 — section group with icon, not directly navigable */
|
|
39
|
+
export interface NavigationSection {
|
|
40
|
+
/** Unique key, e.g. "segments" */
|
|
41
|
+
key: string;
|
|
42
|
+
/** Localized display label */
|
|
43
|
+
label: string;
|
|
44
|
+
/**
|
|
45
|
+
* Lucide icon name (kebab-case), e.g. "filter", "plug", "git-branch".
|
|
46
|
+
* Sidebar renders it via dynamic Lucide import or icon map.
|
|
47
|
+
*/
|
|
48
|
+
icon: string;
|
|
49
|
+
/** Group identifier for visual separators: "main" | "extensions" | "system" */
|
|
50
|
+
group?: "main" | "extensions" | "system";
|
|
51
|
+
/** L2 items in this section */
|
|
52
|
+
items: NavigationItem[];
|
|
53
|
+
}
|
|
54
|
+
/** Full navigation payload sent as Inertia shared prop (legacy shape) */
|
|
55
|
+
export interface NavigationPayload {
|
|
56
|
+
sections: NavigationSection[];
|
|
57
|
+
/**
|
|
58
|
+
* Server-resolved key of the currently active item.
|
|
59
|
+
* Used by the sidebar for highlight — client does not do URL matching.
|
|
60
|
+
*/
|
|
61
|
+
activeKey: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Unified node for the 3-level navigation tree.
|
|
65
|
+
*
|
|
66
|
+
* Can represent any level: group (N1), section (N2), or item (N3).
|
|
67
|
+
* Mirrors the PHP navigation_node VO.
|
|
68
|
+
*/
|
|
69
|
+
/** Entity types for automatic icon resolution when no explicit icon is set. */
|
|
70
|
+
export type NavigationEntityType = "connector" | "workflow" | "segment" | "instancegroup" | "condition" | "compliance" | "offering" | "order" | "course" | "form" | "certificate";
|
|
71
|
+
export interface NavigationNode {
|
|
72
|
+
key: string;
|
|
73
|
+
label: string;
|
|
74
|
+
icon?: string;
|
|
75
|
+
/** Entity type for automatic icon resolution (CC-based). Overrides depth fallback. */
|
|
76
|
+
entityType?: NavigationEntityType;
|
|
77
|
+
href?: string;
|
|
78
|
+
badge?: string | number;
|
|
79
|
+
/** Badge display variant: 'count' (muted text, default) or 'alert' (red pill like WooCommerce). */
|
|
80
|
+
badgeVariant?: "count" | "alert";
|
|
81
|
+
active?: boolean;
|
|
82
|
+
/** When true, clicking replaces sidebar with this node's children + back. */
|
|
83
|
+
drilldown?: boolean;
|
|
84
|
+
/** When true, group renders with a toggle to expand/collapse its content. */
|
|
85
|
+
collapsible?: boolean;
|
|
86
|
+
/** Whether a collapsible group starts expanded (default: false). */
|
|
87
|
+
defaultOpen?: boolean;
|
|
88
|
+
/** CSS color for status dot shown next to drilldown title (e.g. 'var(--success)'). */
|
|
89
|
+
statusColor?: string;
|
|
90
|
+
children?: NavigationNode[];
|
|
91
|
+
}
|
|
92
|
+
/** Navigation payload using the unified tree model */
|
|
93
|
+
export interface NavigationTreePayload {
|
|
94
|
+
tree: NavigationNode[];
|
|
95
|
+
activeKey: string;
|
|
96
|
+
/** Stack of drilled-down node keys (for ← back navigation). */
|
|
97
|
+
drilldownStack?: string[];
|
|
98
|
+
/** Persistent footer items (Settings, Help). */
|
|
99
|
+
footer: NavigationNode[];
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=navigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/contracts/navigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,mGAAmG;IACnG,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACjC,wCAAwC;IACxC,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,gEAAgE;AAChE,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAC;IACzC,+BAA+B;IAC/B,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD;;;;;GAKG;AACH,+EAA+E;AAC/E,MAAM,MAAM,oBAAoB,GAC5B,WAAW,GACX,UAAU,GACV,SAAS,GACT,eAAe,GACf,WAAW,GACX,YAAY,GACZ,UAAU,GACV,OAAO,GACP,QAAQ,GACR,MAAM,GACN,aAAa,CAAC;AAElB,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sFAAsF;IACtF,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,mGAAmG;IACnG,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oEAAoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,sDAAsD;AACtD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gDAAgD;IAChD,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B"}
|