@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.
Files changed (265) hide show
  1. package/dist-lib/app/ContractPage.d.ts +17 -0
  2. package/dist-lib/app/ContractPage.d.ts.map +1 -0
  3. package/dist-lib/app/bootstrap.d.ts +6 -0
  4. package/dist-lib/app/bootstrap.d.ts.map +1 -0
  5. package/dist-lib/app/providers/auth.d.ts +41 -0
  6. package/dist-lib/app/providers/auth.d.ts.map +1 -0
  7. package/dist-lib/app/providers/flash.d.ts +14 -0
  8. package/dist-lib/app/providers/flash.d.ts.map +1 -0
  9. package/dist-lib/app/providers/i18n.d.ts +40 -0
  10. package/dist-lib/app/providers/i18n.d.ts.map +1 -0
  11. package/dist-lib/app/providers/progress.d.ts +13 -0
  12. package/dist-lib/app/providers/progress.d.ts.map +1 -0
  13. package/dist-lib/app/providers/scope.d.ts +32 -0
  14. package/dist-lib/app/providers/scope.d.ts.map +1 -0
  15. package/dist-lib/app/register-defaults.d.ts +6 -0
  16. package/dist-lib/app/register-defaults.d.ts.map +1 -0
  17. package/dist-lib/app/registries.d.ts +33 -0
  18. package/dist-lib/app/registries.d.ts.map +1 -0
  19. package/dist-lib/assets/lottie/index.d.ts +36 -0
  20. package/dist-lib/assets/lottie/index.d.ts.map +1 -0
  21. package/dist-lib/base/blocks/ActionGridBlock.d.ts +14 -0
  22. package/dist-lib/base/blocks/ActionGridBlock.d.ts.map +1 -0
  23. package/dist-lib/base/blocks/ActivityTimelineBlock.d.ts +13 -0
  24. package/dist-lib/base/blocks/ActivityTimelineBlock.d.ts.map +1 -0
  25. package/dist-lib/base/blocks/CardGridBlock.d.ts +18 -0
  26. package/dist-lib/base/blocks/CardGridBlock.d.ts.map +1 -0
  27. package/dist-lib/base/blocks/ConditionTreeBlock.d.ts +13 -0
  28. package/dist-lib/base/blocks/ConditionTreeBlock.d.ts.map +1 -0
  29. package/dist-lib/base/blocks/DenseTableBlock.d.ts +13 -0
  30. package/dist-lib/base/blocks/DenseTableBlock.d.ts.map +1 -0
  31. package/dist-lib/base/blocks/DetailPanelBlock.d.ts +13 -0
  32. package/dist-lib/base/blocks/DetailPanelBlock.d.ts.map +1 -0
  33. package/dist-lib/base/blocks/EmptyStateBlock.d.ts +12 -0
  34. package/dist-lib/base/blocks/EmptyStateBlock.d.ts.map +1 -0
  35. package/dist-lib/base/blocks/FlowEditorBlock.d.ts +15 -0
  36. package/dist-lib/base/blocks/FlowEditorBlock.d.ts.map +1 -0
  37. package/dist-lib/base/blocks/FormBuilderBlock.d.ts +17 -0
  38. package/dist-lib/base/blocks/FormBuilderBlock.d.ts.map +1 -0
  39. package/dist-lib/base/blocks/FormPanelBlock.d.ts +13 -0
  40. package/dist-lib/base/blocks/FormPanelBlock.d.ts.map +1 -0
  41. package/dist-lib/base/blocks/LinkListBlock.d.ts +12 -0
  42. package/dist-lib/base/blocks/LinkListBlock.d.ts.map +1 -0
  43. package/dist-lib/base/blocks/MarkdownPanelBlock.d.ts +13 -0
  44. package/dist-lib/base/blocks/MarkdownPanelBlock.d.ts.map +1 -0
  45. package/dist-lib/base/blocks/MetricCardBlock.d.ts +10 -0
  46. package/dist-lib/base/blocks/MetricCardBlock.d.ts.map +1 -0
  47. package/dist-lib/base/blocks/SentenceBuilderBlock.d.ts +15 -0
  48. package/dist-lib/base/blocks/SentenceBuilderBlock.d.ts.map +1 -0
  49. package/dist-lib/base/blocks/StatusStripBlock.d.ts +12 -0
  50. package/dist-lib/base/blocks/StatusStripBlock.d.ts.map +1 -0
  51. package/dist-lib/base/blocks/TabbedPanelBlock.d.ts +15 -0
  52. package/dist-lib/base/blocks/TabbedPanelBlock.d.ts.map +1 -0
  53. package/dist-lib/base/form/FormField.d.ts +38 -0
  54. package/dist-lib/base/form/FormField.d.ts.map +1 -0
  55. package/dist-lib/base/form/fields/CheckboxField.d.ts +19 -0
  56. package/dist-lib/base/form/fields/CheckboxField.d.ts.map +1 -0
  57. package/dist-lib/base/form/fields/EntityPickerField.d.ts +24 -0
  58. package/dist-lib/base/form/fields/EntityPickerField.d.ts.map +1 -0
  59. package/dist-lib/base/form/fields/MultiSelectField.d.ts +24 -0
  60. package/dist-lib/base/form/fields/MultiSelectField.d.ts.map +1 -0
  61. package/dist-lib/base/form/fields/NumberField.d.ts +21 -0
  62. package/dist-lib/base/form/fields/NumberField.d.ts.map +1 -0
  63. package/dist-lib/base/form/fields/PasswordField.d.ts +19 -0
  64. package/dist-lib/base/form/fields/PasswordField.d.ts.map +1 -0
  65. package/dist-lib/base/form/fields/RadioField.d.ts +23 -0
  66. package/dist-lib/base/form/fields/RadioField.d.ts.map +1 -0
  67. package/dist-lib/base/form/fields/SelectField.d.ts +24 -0
  68. package/dist-lib/base/form/fields/SelectField.d.ts.map +1 -0
  69. package/dist-lib/base/form/fields/StaticField.d.ts +12 -0
  70. package/dist-lib/base/form/fields/StaticField.d.ts.map +1 -0
  71. package/dist-lib/base/form/fields/SwitchField.d.ts +19 -0
  72. package/dist-lib/base/form/fields/SwitchField.d.ts.map +1 -0
  73. package/dist-lib/base/form/fields/TextField.d.ts +21 -0
  74. package/dist-lib/base/form/fields/TextField.d.ts.map +1 -0
  75. package/dist-lib/base/form/fields/TextareaField.d.ts +21 -0
  76. package/dist-lib/base/form/fields/TextareaField.d.ts.map +1 -0
  77. package/dist-lib/base/hooks/useIsDark.d.ts +12 -0
  78. package/dist-lib/base/hooks/useIsDark.d.ts.map +1 -0
  79. package/dist-lib/base/hooks/usePolling.d.ts +11 -0
  80. package/dist-lib/base/hooks/usePolling.d.ts.map +1 -0
  81. package/dist-lib/base/hooks/useToast.d.ts +17 -0
  82. package/dist-lib/base/hooks/useToast.d.ts.map +1 -0
  83. package/dist-lib/base/layout/DashboardLayout.d.ts +11 -0
  84. package/dist-lib/base/layout/DashboardLayout.d.ts.map +1 -0
  85. package/dist-lib/base/layout/MasterDetailLayout.d.ts +8 -0
  86. package/dist-lib/base/layout/MasterDetailLayout.d.ts.map +1 -0
  87. package/dist-lib/base/layout/SplitLayout.d.ts +8 -0
  88. package/dist-lib/base/layout/SplitLayout.d.ts.map +1 -0
  89. package/dist-lib/base/layout/StackLayout.d.ts +12 -0
  90. package/dist-lib/base/layout/StackLayout.d.ts.map +1 -0
  91. package/dist-lib/base/layout/WizardLayout.d.ts +12 -0
  92. package/dist-lib/base/layout/WizardLayout.d.ts.map +1 -0
  93. package/dist-lib/base/partials/ActionBar/index.d.ts +28 -0
  94. package/dist-lib/base/partials/ActionBar/index.d.ts.map +1 -0
  95. package/dist-lib/base/partials/ConfirmationDialog/index.d.ts +26 -0
  96. package/dist-lib/base/partials/ConfirmationDialog/index.d.ts.map +1 -0
  97. package/dist-lib/base/partials/DataTable/cell-renderers.d.ts +16 -0
  98. package/dist-lib/base/partials/DataTable/cell-renderers.d.ts.map +1 -0
  99. package/dist-lib/base/partials/DataTable/index.d.ts +12 -0
  100. package/dist-lib/base/partials/DataTable/index.d.ts.map +1 -0
  101. package/dist-lib/base/partials/DataTable/types.d.ts +129 -0
  102. package/dist-lib/base/partials/DataTable/types.d.ts.map +1 -0
  103. package/dist-lib/base/partials/DetailSection/index.d.ts +37 -0
  104. package/dist-lib/base/partials/DetailSection/index.d.ts.map +1 -0
  105. package/dist-lib/base/partials/EmptyPlaceholder/index.d.ts +29 -0
  106. package/dist-lib/base/partials/EmptyPlaceholder/index.d.ts.map +1 -0
  107. package/dist-lib/base/partials/FilterBar/index.d.ts +31 -0
  108. package/dist-lib/base/partials/FilterBar/index.d.ts.map +1 -0
  109. package/dist-lib/base/partials/FormSection/index.d.ts +19 -0
  110. package/dist-lib/base/partials/FormSection/index.d.ts.map +1 -0
  111. package/dist-lib/base/partials/LogViewer/JsonBlock.d.ts +8 -0
  112. package/dist-lib/base/partials/LogViewer/JsonBlock.d.ts.map +1 -0
  113. package/dist-lib/base/partials/LogViewer/LogEntry.d.ts +9 -0
  114. package/dist-lib/base/partials/LogViewer/LogEntry.d.ts.map +1 -0
  115. package/dist-lib/base/partials/LogViewer/LogViewerToolbar.d.ts +16 -0
  116. package/dist-lib/base/partials/LogViewer/LogViewerToolbar.d.ts.map +1 -0
  117. package/dist-lib/base/partials/LogViewer/index.d.ts +14 -0
  118. package/dist-lib/base/partials/LogViewer/index.d.ts.map +1 -0
  119. package/dist-lib/base/partials/LogViewer/types.d.ts +26 -0
  120. package/dist-lib/base/partials/LogViewer/types.d.ts.map +1 -0
  121. package/dist-lib/base/partials/MarkdownContent/index.d.ts +17 -0
  122. package/dist-lib/base/partials/MarkdownContent/index.d.ts.map +1 -0
  123. package/dist-lib/base/partials/StatRow/index.d.ts +12 -0
  124. package/dist-lib/base/partials/StatRow/index.d.ts.map +1 -0
  125. package/dist-lib/base/partials/StatusBar/index.d.ts +21 -0
  126. package/dist-lib/base/partials/StatusBar/index.d.ts.map +1 -0
  127. package/dist-lib/base/partials/StatusIndicator/index.d.ts +16 -0
  128. package/dist-lib/base/partials/StatusIndicator/index.d.ts.map +1 -0
  129. package/dist-lib/base/partials/StepIndicator/index.d.ts +15 -0
  130. package/dist-lib/base/partials/StepIndicator/index.d.ts.map +1 -0
  131. package/dist-lib/base/partials/TimelineList/index.d.ts +32 -0
  132. package/dist-lib/base/partials/TimelineList/index.d.ts.map +1 -0
  133. package/dist-lib/base/shell/AdminShell.d.ts +12 -0
  134. package/dist-lib/base/shell/AdminShell.d.ts.map +1 -0
  135. package/dist-lib/base/shell/ProductShell.d.ts +22 -0
  136. package/dist-lib/base/shell/ProductShell.d.ts.map +1 -0
  137. package/dist-lib/base/shell/partials/AppearanceToggle.d.ts +8 -0
  138. package/dist-lib/base/shell/partials/AppearanceToggle.d.ts.map +1 -0
  139. package/dist-lib/base/shell/partials/CommandPalette.d.ts +24 -0
  140. package/dist-lib/base/shell/partials/CommandPalette.d.ts.map +1 -0
  141. package/dist-lib/base/shell/partials/HelpContext.d.ts +15 -0
  142. package/dist-lib/base/shell/partials/HelpContext.d.ts.map +1 -0
  143. package/dist-lib/base/shell/partials/HelpPanel.d.ts +15 -0
  144. package/dist-lib/base/shell/partials/HelpPanel.d.ts.map +1 -0
  145. package/dist-lib/base/shell/partials/InlineInspector.d.ts +15 -0
  146. package/dist-lib/base/shell/partials/InlineInspector.d.ts.map +1 -0
  147. package/dist-lib/base/shell/partials/InspectorContext.d.ts +58 -0
  148. package/dist-lib/base/shell/partials/InspectorContext.d.ts.map +1 -0
  149. package/dist-lib/base/shell/partials/InspectorPanel.d.ts +29 -0
  150. package/dist-lib/base/shell/partials/InspectorPanel.d.ts.map +1 -0
  151. package/dist-lib/base/shell/partials/NavErrorBoundary.d.ts +23 -0
  152. package/dist-lib/base/shell/partials/NavErrorBoundary.d.ts.map +1 -0
  153. package/dist-lib/base/shell/partials/OverlayScreen.d.ts +17 -0
  154. package/dist-lib/base/shell/partials/OverlayScreen.d.ts.map +1 -0
  155. package/dist-lib/base/shell/partials/PageActionButton.d.ts +17 -0
  156. package/dist-lib/base/shell/partials/PageActionButton.d.ts.map +1 -0
  157. package/dist-lib/base/shell/partials/PageFilterTabs.d.ts +22 -0
  158. package/dist-lib/base/shell/partials/PageFilterTabs.d.ts.map +1 -0
  159. package/dist-lib/base/shell/partials/PageHeader.d.ts +22 -0
  160. package/dist-lib/base/shell/partials/PageHeader.d.ts.map +1 -0
  161. package/dist-lib/base/shell/partials/SidebarNav.d.ts +17 -0
  162. package/dist-lib/base/shell/partials/SidebarNav.d.ts.map +1 -0
  163. package/dist-lib/base/theme/appearance.d.ts +58 -0
  164. package/dist-lib/base/theme/appearance.d.ts.map +1 -0
  165. package/dist-lib/base/theme/host-theme-detector.d.ts +22 -0
  166. package/dist-lib/base/theme/host-theme-detector.d.ts.map +1 -0
  167. package/dist-lib/base/theme/useHostTheme.d.ts +27 -0
  168. package/dist-lib/base/theme/useHostTheme.d.ts.map +1 -0
  169. package/dist-lib/base/utils/clipboard.d.ts +12 -0
  170. package/dist-lib/base/utils/clipboard.d.ts.map +1 -0
  171. package/dist-lib/base/utils/conditions.d.ts +7 -0
  172. package/dist-lib/base/utils/conditions.d.ts.map +1 -0
  173. package/dist-lib/base/utils/icons.d.ts +21 -0
  174. package/dist-lib/base/utils/icons.d.ts.map +1 -0
  175. package/dist-lib/base/utils/interpolate.d.ts +7 -0
  176. package/dist-lib/base/utils/interpolate.d.ts.map +1 -0
  177. package/dist-lib/base/utils/time.d.ts +28 -0
  178. package/dist-lib/base/utils/time.d.ts.map +1 -0
  179. package/dist-lib/components/reui/alert-dialog.d.ts +19 -0
  180. package/dist-lib/components/reui/alert-dialog.d.ts.map +1 -0
  181. package/dist-lib/components/reui/alert.d.ts +10 -0
  182. package/dist-lib/components/reui/alert.d.ts.map +1 -0
  183. package/dist-lib/components/reui/badge.d.ts +12 -0
  184. package/dist-lib/components/reui/badge.d.ts.map +1 -0
  185. package/dist-lib/components/reui/button.d.ts +11 -0
  186. package/dist-lib/components/reui/button.d.ts.map +1 -0
  187. package/dist-lib/components/reui/card.d.ts +10 -0
  188. package/dist-lib/components/reui/card.d.ts.map +1 -0
  189. package/dist-lib/components/reui/checkbox.d.ts +5 -0
  190. package/dist-lib/components/reui/checkbox.d.ts.map +1 -0
  191. package/dist-lib/components/reui/dialog.d.ts +18 -0
  192. package/dist-lib/components/reui/dialog.d.ts.map +1 -0
  193. package/dist-lib/components/reui/dropdown-menu.d.ts +26 -0
  194. package/dist-lib/components/reui/dropdown-menu.d.ts.map +1 -0
  195. package/dist-lib/components/reui/frame.d.ts +29 -0
  196. package/dist-lib/components/reui/frame.d.ts.map +1 -0
  197. package/dist-lib/components/reui/input.d.ts +4 -0
  198. package/dist-lib/components/reui/input.d.ts.map +1 -0
  199. package/dist-lib/components/reui/label.d.ts +5 -0
  200. package/dist-lib/components/reui/label.d.ts.map +1 -0
  201. package/dist-lib/components/reui/number-field.d.ts +26 -0
  202. package/dist-lib/components/reui/number-field.d.ts.map +1 -0
  203. package/dist-lib/components/reui/popover.d.ts +11 -0
  204. package/dist-lib/components/reui/popover.d.ts.map +1 -0
  205. package/dist-lib/components/reui/radio-group.d.ts +6 -0
  206. package/dist-lib/components/reui/radio-group.d.ts.map +1 -0
  207. package/dist-lib/components/reui/select.d.ts +16 -0
  208. package/dist-lib/components/reui/select.d.ts.map +1 -0
  209. package/dist-lib/components/reui/separator.d.ts +5 -0
  210. package/dist-lib/components/reui/separator.d.ts.map +1 -0
  211. package/dist-lib/components/reui/sheet.d.ts +15 -0
  212. package/dist-lib/components/reui/sheet.d.ts.map +1 -0
  213. package/dist-lib/components/reui/sidebar.d.ts +70 -0
  214. package/dist-lib/components/reui/sidebar.d.ts.map +1 -0
  215. package/dist-lib/components/reui/skeleton.d.ts +3 -0
  216. package/dist-lib/components/reui/skeleton.d.ts.map +1 -0
  217. package/dist-lib/components/reui/sonner.d.ts +4 -0
  218. package/dist-lib/components/reui/sonner.d.ts.map +1 -0
  219. package/dist-lib/components/reui/spinner.d.ts +3 -0
  220. package/dist-lib/components/reui/spinner.d.ts.map +1 -0
  221. package/dist-lib/components/reui/switch.d.ts +7 -0
  222. package/dist-lib/components/reui/switch.d.ts.map +1 -0
  223. package/dist-lib/components/reui/tabs.d.ts +12 -0
  224. package/dist-lib/components/reui/tabs.d.ts.map +1 -0
  225. package/dist-lib/components/reui/textarea.d.ts +4 -0
  226. package/dist-lib/components/reui/textarea.d.ts.map +1 -0
  227. package/dist-lib/components/reui/tooltip.d.ts +8 -0
  228. package/dist-lib/components/reui/tooltip.d.ts.map +1 -0
  229. package/dist-lib/components/ui/svgs/claudeAiIcon.d.ts +4 -0
  230. package/dist-lib/components/ui/svgs/claudeAiIcon.d.ts.map +1 -0
  231. package/dist-lib/components/ui/svgs/gemini.d.ts +4 -0
  232. package/dist-lib/components/ui/svgs/gemini.d.ts.map +1 -0
  233. package/dist-lib/components/ui/svgs/openai.d.ts +4 -0
  234. package/dist-lib/components/ui/svgs/openai.d.ts.map +1 -0
  235. package/dist-lib/components/ui/svgs/openaiDark.d.ts +4 -0
  236. package/dist-lib/components/ui/svgs/openaiDark.d.ts.map +1 -0
  237. package/dist-lib/contracts/block-data.d.ts +399 -0
  238. package/dist-lib/contracts/block-data.d.ts.map +1 -0
  239. package/dist-lib/contracts/connectors.d.ts +50 -0
  240. package/dist-lib/contracts/connectors.d.ts.map +1 -0
  241. package/dist-lib/contracts/navigation.d.ts +101 -0
  242. package/dist-lib/contracts/navigation.d.ts.map +1 -0
  243. package/dist-lib/contracts/page-contract.d.ts +129 -0
  244. package/dist-lib/contracts/page-contract.d.ts.map +1 -0
  245. package/dist-lib/contracts/shared-props.d.ts +76 -0
  246. package/dist-lib/contracts/shared-props.d.ts.map +1 -0
  247. package/dist-lib/hooks/use-copy-to-clipboard.d.ts +2 -0
  248. package/dist-lib/hooks/use-copy-to-clipboard.d.ts.map +1 -0
  249. package/dist-lib/hooks/use-file-upload.d.ts +2 -0
  250. package/dist-lib/hooks/use-file-upload.d.ts.map +1 -0
  251. package/dist-lib/index.d.ts +22 -0
  252. package/dist-lib/index.d.ts.map +1 -0
  253. package/dist-lib/lib/deprecation.d.ts +10 -0
  254. package/dist-lib/lib/deprecation.d.ts.map +1 -0
  255. package/dist-lib/lib/hooks/use-copy-to-clipboard.d.ts +8 -0
  256. package/dist-lib/lib/hooks/use-copy-to-clipboard.d.ts.map +1 -0
  257. package/dist-lib/lib/hooks/use-file-upload.d.ts +47 -0
  258. package/dist-lib/lib/hooks/use-file-upload.d.ts.map +1 -0
  259. package/dist-lib/lib/hooks/use-mobile.d.ts +2 -0
  260. package/dist-lib/lib/hooks/use-mobile.d.ts.map +1 -0
  261. package/dist-lib/lib/portal-container.d.ts +9 -0
  262. package/dist-lib/lib/portal-container.d.ts.map +1 -0
  263. package/dist-lib/lib/utils.d.ts +3 -0
  264. package/dist-lib/lib/utils.d.ts.map +1 -0
  265. 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,2 @@
1
+ export { useCopyToClipboard } from "@/lib/hooks/use-copy-to-clipboard";
2
+ //# sourceMappingURL=use-copy-to-clipboard.d.ts.map
@@ -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,2 @@
1
+ export { useFileUpload, formatBytes, type FileMetadata, type FileWithPreview, type FileUploadOptions, type FileUploadState, type FileUploadActions, } from "@/lib/hooks/use-file-upload";
2
+ //# sourceMappingURL=use-file-upload.d.ts.map
@@ -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,8 @@
1
+ export declare function useCopyToClipboard({ timeout, onCopy, }?: {
2
+ timeout?: number;
3
+ onCopy?: () => void;
4
+ }): {
5
+ isCopied: boolean;
6
+ copyToClipboard: (value: string) => void;
7
+ };
8
+ //# sourceMappingURL=use-copy-to-clipboard.d.ts.map
@@ -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,2 @@
1
+ export declare function useIsMobile(): boolean;
2
+ //# sourceMappingURL=use-mobile.d.ts.map
@@ -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,3 @@
1
+ import { type ClassValue } from "clsx";
2
+ export declare function cn(...inputs: ClassValue[]): string;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@middag-io/react",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "type": "module",
5
5
  "description": "MIDDAG shared React UI library for Moodle, WordPress and other Inertia hosts",
6
6
  "repository": {