@middag-io/react 0.2.1 → 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,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Page Contract (ADR-807) — TypeScript mirror of PHP VOs in
|
|
3
|
+
* `classes/framework/shared/ui/*`.
|
|
4
|
+
*
|
|
5
|
+
* Backend sends this shape via Inertia props; the runtime resolves
|
|
6
|
+
* shell/layout/blocks through registries to render React components.
|
|
7
|
+
*/
|
|
8
|
+
import type { ActionConfirmation } from "@/contracts/block-data";
|
|
9
|
+
export type Shell = "product" | "admin" | "course" | "immersive";
|
|
10
|
+
export type LayoutTemplate = "stack" | "split" | "dashboard" | "master-detail" | "wizard" | "canvas";
|
|
11
|
+
export type ActionIntent = "primary" | "secondary" | "danger" | "ghost" | "menu";
|
|
12
|
+
export type ActionMethod = "get" | "post" | "put" | "delete";
|
|
13
|
+
export interface Breadcrumb {
|
|
14
|
+
label: string;
|
|
15
|
+
href?: string;
|
|
16
|
+
external?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface PageAction {
|
|
19
|
+
id: string;
|
|
20
|
+
label: string;
|
|
21
|
+
intent: ActionIntent;
|
|
22
|
+
href?: string;
|
|
23
|
+
method?: ActionMethod;
|
|
24
|
+
icon?: string;
|
|
25
|
+
requiresConfirmation?: boolean;
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
loading?: boolean;
|
|
28
|
+
confirmation?: ActionConfirmation;
|
|
29
|
+
}
|
|
30
|
+
export interface PageFilterTab {
|
|
31
|
+
key: string;
|
|
32
|
+
label: string;
|
|
33
|
+
badge?: number | string;
|
|
34
|
+
}
|
|
35
|
+
export interface PageBadge {
|
|
36
|
+
label: string;
|
|
37
|
+
variant: "success" | "warning" | "destructive" | "info";
|
|
38
|
+
}
|
|
39
|
+
export interface PageMeta {
|
|
40
|
+
key: string;
|
|
41
|
+
title: string;
|
|
42
|
+
subtitle?: string;
|
|
43
|
+
/** Hugeicons icon name displayed before title (detail pages only). */
|
|
44
|
+
icon?: string;
|
|
45
|
+
/** Status badge shown after title (detail pages). */
|
|
46
|
+
badge?: PageBadge;
|
|
47
|
+
/** Whether this page can be favorited. Defaults to true. */
|
|
48
|
+
favoritable?: boolean;
|
|
49
|
+
breadcrumbs?: Breadcrumb[];
|
|
50
|
+
actions?: PageAction[];
|
|
51
|
+
/** Page-level filter tabs rendered between header and content (preview 03 pattern). */
|
|
52
|
+
filterTabs?: PageFilterTab[];
|
|
53
|
+
/** Key of the initially active filter tab. Defaults to first tab. */
|
|
54
|
+
activeFilterTab?: string;
|
|
55
|
+
}
|
|
56
|
+
export interface BlockDescriptor<TData = Record<string, unknown>> {
|
|
57
|
+
type: string;
|
|
58
|
+
key: string;
|
|
59
|
+
data: TData;
|
|
60
|
+
variant?: string;
|
|
61
|
+
title?: string;
|
|
62
|
+
subtitle?: string;
|
|
63
|
+
actions?: PageAction[];
|
|
64
|
+
meta?: Record<string, unknown>;
|
|
65
|
+
}
|
|
66
|
+
export interface LayoutDescriptor {
|
|
67
|
+
template: LayoutTemplate;
|
|
68
|
+
regions: Record<string, BlockDescriptor[]>;
|
|
69
|
+
meta?: Record<string, unknown>;
|
|
70
|
+
}
|
|
71
|
+
export interface PageResources {
|
|
72
|
+
auth?: Record<string, unknown>;
|
|
73
|
+
capabilities?: string[];
|
|
74
|
+
featureFlags?: Record<string, boolean>;
|
|
75
|
+
locale?: string;
|
|
76
|
+
}
|
|
77
|
+
export interface PageContract {
|
|
78
|
+
version: "1";
|
|
79
|
+
shell: Shell;
|
|
80
|
+
page: PageMeta;
|
|
81
|
+
layout: LayoutDescriptor;
|
|
82
|
+
resources?: PageResources;
|
|
83
|
+
}
|
|
84
|
+
/** Contextual help data for the ContextAside panel */
|
|
85
|
+
export interface HelpSection {
|
|
86
|
+
title: string;
|
|
87
|
+
body: string;
|
|
88
|
+
}
|
|
89
|
+
export interface HelpTip {
|
|
90
|
+
icon?: string;
|
|
91
|
+
text: string;
|
|
92
|
+
}
|
|
93
|
+
export interface HelpShortcut {
|
|
94
|
+
keys: string;
|
|
95
|
+
action: string;
|
|
96
|
+
}
|
|
97
|
+
export interface HelpData {
|
|
98
|
+
title: string;
|
|
99
|
+
description: string;
|
|
100
|
+
sections?: HelpSection[];
|
|
101
|
+
tips?: HelpTip[];
|
|
102
|
+
shortcuts?: HelpShortcut[];
|
|
103
|
+
learnMore?: string;
|
|
104
|
+
}
|
|
105
|
+
/** Inspector side-panel configuration */
|
|
106
|
+
export interface InspectorData {
|
|
107
|
+
endpoint: string;
|
|
108
|
+
width: number;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Full Inertia props shape for ContractPage.
|
|
112
|
+
*
|
|
113
|
+
* `overlay` and `help` are separate props (not part of page_contract)
|
|
114
|
+
* to keep the @api VO unchanged.
|
|
115
|
+
*/
|
|
116
|
+
export interface ContractPageProps {
|
|
117
|
+
contract: PageContract;
|
|
118
|
+
/** When true, page renders in a full-screen overlay with X close. */
|
|
119
|
+
overlay?: boolean;
|
|
120
|
+
/** Contextual help shown in the ContextAside panel. */
|
|
121
|
+
help?: HelpData;
|
|
122
|
+
/** Inspector side-panel configuration. */
|
|
123
|
+
inspector?: InspectorData;
|
|
124
|
+
}
|
|
125
|
+
export interface PollingMeta {
|
|
126
|
+
interval: number;
|
|
127
|
+
enabled: boolean;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=page-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-contract.d.ts","sourceRoot":"","sources":["../../src/contracts/page-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SharedProps — typed Inertia shared props sent on every request.
|
|
3
|
+
*
|
|
4
|
+
* PHP side: inertia_manager::share() in http_kernel boot.
|
|
5
|
+
* Frontend: usePage<SharedProps>().props
|
|
6
|
+
*
|
|
7
|
+
* @see NV-05-ux-shell-sidebar.md §1.3
|
|
8
|
+
*/
|
|
9
|
+
import type { NavigationPayload, NavigationTreePayload } from "@/contracts/navigation";
|
|
10
|
+
export interface SharedPropsAuth {
|
|
11
|
+
/** Moodle user ID */
|
|
12
|
+
id: number;
|
|
13
|
+
/** Full display name */
|
|
14
|
+
name: string;
|
|
15
|
+
/** Email address */
|
|
16
|
+
email: string;
|
|
17
|
+
/** URL to user avatar (Moodle profile picture) */
|
|
18
|
+
avatarUrl?: string;
|
|
19
|
+
/** Array of Moodle capability strings the user holds in current context */
|
|
20
|
+
capabilities: string[];
|
|
21
|
+
}
|
|
22
|
+
export interface SharedPropsTheme {
|
|
23
|
+
/** Pre-loaded i18n strings for the current page (key → translated string) */
|
|
24
|
+
strings?: Record<string, string>;
|
|
25
|
+
/**
|
|
26
|
+
* Current appearance preference: 'system' | 'light' | 'dark'.
|
|
27
|
+
* Sent from server to sync cross-device. Client reads localStorage first.
|
|
28
|
+
*/
|
|
29
|
+
appearance?: "system" | "light" | "dark";
|
|
30
|
+
/**
|
|
31
|
+
* Moodle brand color (hex, e.g. "#1177d1").
|
|
32
|
+
* Present when local_middag/inherit_theme_colors = ON.
|
|
33
|
+
* PHP injects :root { --middag-brand: <value> } in page head.
|
|
34
|
+
*/
|
|
35
|
+
brandColor?: string;
|
|
36
|
+
/** Whether Moodle theme color inheritance is active */
|
|
37
|
+
inherit?: boolean;
|
|
38
|
+
}
|
|
39
|
+
export interface SharedPropsFlash {
|
|
40
|
+
/** Success message to show as toast */
|
|
41
|
+
success?: string;
|
|
42
|
+
/** Error message to show as toast */
|
|
43
|
+
error?: string;
|
|
44
|
+
/** Info message to show as toast */
|
|
45
|
+
info?: string;
|
|
46
|
+
/** Warning message to show as toast */
|
|
47
|
+
warning?: string;
|
|
48
|
+
toast?: {
|
|
49
|
+
severity: "success" | "error" | "warning" | "info";
|
|
50
|
+
message: string;
|
|
51
|
+
duration?: number;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export interface AdminTabItem {
|
|
55
|
+
key: string;
|
|
56
|
+
label: string;
|
|
57
|
+
href: string;
|
|
58
|
+
}
|
|
59
|
+
export interface AdminTabsProps {
|
|
60
|
+
active: string;
|
|
61
|
+
items: AdminTabItem[];
|
|
62
|
+
}
|
|
63
|
+
export interface SharedProps {
|
|
64
|
+
navigation: NavigationPayload | NavigationTreePayload;
|
|
65
|
+
auth: SharedPropsAuth;
|
|
66
|
+
theme: SharedPropsTheme;
|
|
67
|
+
flash?: SharedPropsFlash;
|
|
68
|
+
/** Effective locale string, e.g. "pt-BR", "en" */
|
|
69
|
+
locale: string;
|
|
70
|
+
/** MIDDAG version string, e.g. "5.0.0" */
|
|
71
|
+
version: string;
|
|
72
|
+
/** Global scope data from global_scope_manager (extensions add their keys) */
|
|
73
|
+
scope?: Record<string, unknown>;
|
|
74
|
+
[key: string]: unknown;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=shared-props.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-props.d.ts","sourceRoot":"","sources":["../../src/contracts/shared-props.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACzC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,QAAQ,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;QACnD,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,iBAAiB,GAAG,qBAAqB,CAAC;IACtD,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-copy-to-clipboard.d.ts","sourceRoot":"","sources":["../../src/hooks/use-copy-to-clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-file-upload.d.ts","sourceRoot":"","sources":["../../src/hooks/use-file-upload.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @middag-io/react — barrel export for ESM lib build.
|
|
3
|
+
*
|
|
4
|
+
* Exports the reusable core of the MIDDAG React UI:
|
|
5
|
+
* - Contracts (TypeScript types/interfaces)
|
|
6
|
+
* - ContractPage (page renderer)
|
|
7
|
+
* - Registries (shell, layout, block registration)
|
|
8
|
+
* - Theme utilities
|
|
9
|
+
* - Providers (i18n, auth, flash, scope, progress)
|
|
10
|
+
* - Hooks
|
|
11
|
+
*/
|
|
12
|
+
export type { PageContract, PageMeta, HelpData, HelpSection, PageFilterTab, BlockDescriptor, LayoutDescriptor, ContractPageProps, } from "@/contracts/page-contract";
|
|
13
|
+
export type { SharedProps } from "@/contracts/shared-props";
|
|
14
|
+
export type { NavigationPayload } from "@/contracts/navigation";
|
|
15
|
+
export { ContractPage } from "@/app/ContractPage";
|
|
16
|
+
export { shellRegistry, layoutRegistry, blockRegistry, type ShellProps, type LayoutProps, type BlockProps, } from "@/app/registries";
|
|
17
|
+
export { registerDefaults } from "@/app/register-defaults";
|
|
18
|
+
export { getStoredAppearance, setAppearance, cycleAppearance, getEffectiveTheme, applyTheme, toggleDir, initDir, onSystemThemeChange, type Appearance, type EffectiveTheme, } from "@/base/theme/appearance";
|
|
19
|
+
export { I18nProvider, useTranslation, type AsyncStringResolver, } from "@/app/providers/i18n";
|
|
20
|
+
export { useIsDark } from "@/base/hooks/useIsDark";
|
|
21
|
+
export { deprecated } from "@/lib/deprecation";
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,YAAY,EACV,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGhE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,OAAO,EACP,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,YAAY,EACZ,cAAc,EACd,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Emit a deprecation warning for a renamed or removed API.
|
|
3
|
+
* Each warning is shown only once per session to avoid console noise.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* deprecated("useOldHook", "useNewHook");
|
|
7
|
+
* deprecated("BlockType.header", "BlockType.title", "https://docs.middag.io/changelog#v0.2.0");
|
|
8
|
+
*/
|
|
9
|
+
export declare function deprecated(oldApi: string, newApi: string, docUrl?: string): void;
|
|
10
|
+
//# sourceMappingURL=deprecation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deprecation.d.ts","sourceRoot":"","sources":["../../src/lib/deprecation.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CASN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-copy-to-clipboard.d.ts","sourceRoot":"","sources":["../../../src/lib/hooks/use-copy-to-clipboard.ts"],"names":[],"mappings":"AAIA,wBAAgB,kBAAkB,CAAC,EACjC,OAAc,EACd,MAAM,GACP,GAAE;IACD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CAChB;;6BAG4B,MAAM;EAuBvC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import { type ChangeEvent, type DragEvent, type InputHTMLAttributes } from "react";
|
|
3
|
+
export type FileMetadata = {
|
|
4
|
+
name: string;
|
|
5
|
+
size: number;
|
|
6
|
+
type: string;
|
|
7
|
+
url: string;
|
|
8
|
+
id: string;
|
|
9
|
+
};
|
|
10
|
+
export type FileWithPreview = {
|
|
11
|
+
file: File | FileMetadata;
|
|
12
|
+
id: string;
|
|
13
|
+
preview?: string;
|
|
14
|
+
};
|
|
15
|
+
export type FileUploadOptions = {
|
|
16
|
+
maxFiles?: number;
|
|
17
|
+
maxSize?: number;
|
|
18
|
+
accept?: string;
|
|
19
|
+
multiple?: boolean;
|
|
20
|
+
initialFiles?: FileMetadata[];
|
|
21
|
+
onFilesChange?: (files: FileWithPreview[]) => void;
|
|
22
|
+
onFilesAdded?: (addedFiles: FileWithPreview[]) => void;
|
|
23
|
+
onError?: (errors: string[]) => void;
|
|
24
|
+
};
|
|
25
|
+
export type FileUploadState = {
|
|
26
|
+
files: FileWithPreview[];
|
|
27
|
+
isDragging: boolean;
|
|
28
|
+
errors: string[];
|
|
29
|
+
};
|
|
30
|
+
export type FileUploadActions = {
|
|
31
|
+
addFiles: (files: FileList | File[]) => void;
|
|
32
|
+
removeFile: (id: string) => void;
|
|
33
|
+
clearFiles: () => void;
|
|
34
|
+
clearErrors: () => void;
|
|
35
|
+
handleDragEnter: (e: DragEvent<HTMLElement>) => void;
|
|
36
|
+
handleDragLeave: (e: DragEvent<HTMLElement>) => void;
|
|
37
|
+
handleDragOver: (e: DragEvent<HTMLElement>) => void;
|
|
38
|
+
handleDrop: (e: DragEvent<HTMLElement>) => void;
|
|
39
|
+
handleFileChange: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
40
|
+
openFileDialog: () => void;
|
|
41
|
+
getInputProps: (props?: InputHTMLAttributes<HTMLInputElement>) => InputHTMLAttributes<HTMLInputElement> & {
|
|
42
|
+
ref: React.Ref<HTMLInputElement>;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
export declare const useFileUpload: (options?: FileUploadOptions) => [FileUploadState, FileUploadActions];
|
|
46
|
+
export declare const formatBytes: (bytes: number, decimals?: number) => string;
|
|
47
|
+
//# sourceMappingURL=use-file-upload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-file-upload.d.ts","sourceRoot":"","sources":["../../../src/lib/hooks/use-file-upload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,mBAAmB,EACzB,MAAM,OAAO,CAAC;AAEf,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,IAAI,GAAG,YAAY,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IACnD,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IACvD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC;IAC7C,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,eAAe,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACrD,eAAe,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACrD,cAAc,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACpD,UAAU,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAChD,gBAAgB,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC7D,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,EAAE,CACb,KAAK,CAAC,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,KAC1C,mBAAmB,CAAC,gBAAgB,CAAC,GAAG;QAC3C,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;KAClC,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,UAAS,iBAAsB,KAC9B,CAAC,eAAe,EAAE,iBAAiB,CAqVrC,CAAC;AAGF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,EAAE,iBAAY,KAAG,MAUzD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-mobile.d.ts","sourceRoot":"","sources":["../../../src/lib/hooks/use-mobile.ts"],"names":[],"mappings":"AAkBA,wBAAgB,WAAW,IAAI,OAAO,CAErC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Portal container for CSS isolation (ADR-807).
|
|
3
|
+
*
|
|
4
|
+
* Radix UI portals default to document.body, which is outside .middag-root.
|
|
5
|
+
* This utility returns the #middag-portals container (created in inertia-app.tsx)
|
|
6
|
+
* so portal content inherits our scoped Tailwind styles.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getPortalContainer(): HTMLElement;
|
|
9
|
+
//# sourceMappingURL=portal-container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portal-container.d.ts","sourceRoot":"","sources":["../../src/lib/portal-container.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,wBAAgB,kBAAkB,IAAI,WAAW,CAKhD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
|