@fougere/admin 0.9.3-alpha.0 → 0.11.0-alpha.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 (217) hide show
  1. package/dist/{extensions.d.ts → AdminExtension.d.ts} +5 -14
  2. package/dist/AdminExtension.d.ts.map +1 -0
  3. package/dist/{extensions.js → AdminExtension.js} +3 -3
  4. package/dist/AdminExtension.js.map +1 -0
  5. package/dist/AdminFacetRegistry.d.ts +9 -0
  6. package/dist/AdminFacetRegistry.d.ts.map +1 -0
  7. package/dist/AdminFacetRegistry.js +2 -0
  8. package/dist/AdminFacetRegistry.js.map +1 -0
  9. package/dist/AdminFacets.d.ts +6 -0
  10. package/dist/AdminFacets.d.ts.map +1 -0
  11. package/dist/{facets.js → AdminFacets.js} +1 -1
  12. package/dist/AdminFacets.js.map +1 -0
  13. package/dist/AdminFieldExtension.d.ts +7 -0
  14. package/dist/AdminFieldExtension.d.ts.map +1 -0
  15. package/dist/AdminFieldExtension.js +2 -0
  16. package/dist/AdminFieldExtension.js.map +1 -0
  17. package/dist/AdminOperation.d.ts +9 -0
  18. package/dist/AdminOperation.d.ts.map +1 -0
  19. package/dist/AdminOperation.js +2 -0
  20. package/dist/AdminOperation.js.map +1 -0
  21. package/dist/AdminOperationExtension.d.ts +6 -0
  22. package/dist/AdminOperationExtension.d.ts.map +1 -0
  23. package/dist/AdminOperationExtension.js +2 -0
  24. package/dist/AdminOperationExtension.js.map +1 -0
  25. package/dist/{resources.d.ts → AdminResource.d.ts} +11 -17
  26. package/dist/AdminResource.d.ts.map +1 -0
  27. package/dist/{resources.js → AdminResource.js} +13 -14
  28. package/dist/AdminResource.js.map +1 -0
  29. package/dist/AdminRuntime.d.ts +11 -0
  30. package/dist/AdminRuntime.d.ts.map +1 -0
  31. package/dist/{runtime.js → AdminRuntime.js} +5 -6
  32. package/dist/AdminRuntime.js.map +1 -0
  33. package/dist/AdminRuntimeOptions.d.ts +8 -0
  34. package/dist/AdminRuntimeOptions.d.ts.map +1 -0
  35. package/dist/AdminRuntimeOptions.js +2 -0
  36. package/dist/AdminRuntimeOptions.js.map +1 -0
  37. package/dist/{topology.d.ts → Drawing.d.ts} +5 -46
  38. package/dist/Drawing.d.ts.map +1 -0
  39. package/dist/{topology.js → Drawing.js} +4 -5
  40. package/dist/Drawing.js.map +1 -0
  41. package/dist/EditorialFacet.d.ts +13 -0
  42. package/dist/EditorialFacet.d.ts.map +1 -0
  43. package/dist/EditorialFacet.js +2 -0
  44. package/dist/EditorialFacet.js.map +1 -0
  45. package/dist/FougereAdminProps.d.ts +17 -0
  46. package/dist/FougereAdminProps.d.ts.map +1 -0
  47. package/dist/FougereAdminProps.js +2 -0
  48. package/dist/FougereAdminProps.js.map +1 -0
  49. package/dist/FougereDashboardContextValue.d.ts +11 -0
  50. package/dist/FougereDashboardContextValue.d.ts.map +1 -0
  51. package/dist/FougereDashboardContextValue.js +2 -0
  52. package/dist/FougereDashboardContextValue.js.map +1 -0
  53. package/dist/FougereDashboardExtension.d.ts +13 -0
  54. package/dist/FougereDashboardExtension.d.ts.map +1 -0
  55. package/dist/FougereDashboardExtension.js +2 -0
  56. package/dist/FougereDashboardExtension.js.map +1 -0
  57. package/dist/FougereDashboardMetrics.d.ts +7 -0
  58. package/dist/FougereDashboardMetrics.d.ts.map +1 -0
  59. package/dist/FougereDashboardMetrics.js +2 -0
  60. package/dist/FougereDashboardMetrics.js.map +1 -0
  61. package/dist/FougereDashboardResource.d.ts +14 -0
  62. package/dist/FougereDashboardResource.d.ts.map +1 -0
  63. package/dist/FougereDashboardResource.js +2 -0
  64. package/dist/FougereDashboardResource.js.map +1 -0
  65. package/dist/FougereDashboardWidget.d.ts +11 -0
  66. package/dist/FougereDashboardWidget.d.ts.map +1 -0
  67. package/dist/FougereDashboardWidget.js +2 -0
  68. package/dist/FougereDashboardWidget.js.map +1 -0
  69. package/dist/FougereDashboardZone.d.ts +2 -0
  70. package/dist/FougereDashboardZone.d.ts.map +1 -0
  71. package/dist/FougereDashboardZone.js +2 -0
  72. package/dist/FougereDashboardZone.js.map +1 -0
  73. package/dist/{provider.d.ts → FougereDataProvider.d.ts} +2 -17
  74. package/dist/FougereDataProvider.d.ts.map +1 -0
  75. package/dist/{provider.js → FougereDataProvider.js} +2 -3
  76. package/dist/FougereDataProvider.js.map +1 -0
  77. package/dist/FougereResourceOptions.d.ts +16 -0
  78. package/dist/FougereResourceOptions.d.ts.map +1 -0
  79. package/dist/FougereResourceOptions.js +2 -0
  80. package/dist/FougereResourceOptions.js.map +1 -0
  81. package/dist/LoadedAdmin.d.ts +7 -0
  82. package/dist/LoadedAdmin.d.ts.map +1 -0
  83. package/dist/LoadedAdmin.js +2 -0
  84. package/dist/LoadedAdmin.js.map +1 -0
  85. package/dist/PlacedEdge.d.ts +17 -0
  86. package/dist/PlacedEdge.d.ts.map +1 -0
  87. package/dist/PlacedEdge.js +2 -0
  88. package/dist/PlacedEdge.js.map +1 -0
  89. package/dist/PlacedNode.d.ts +10 -0
  90. package/dist/PlacedNode.d.ts.map +1 -0
  91. package/dist/PlacedNode.js +2 -0
  92. package/dist/PlacedNode.js.map +1 -0
  93. package/dist/Point.d.ts +5 -0
  94. package/dist/Point.d.ts.map +1 -0
  95. package/dist/Point.js +2 -0
  96. package/dist/Point.js.map +1 -0
  97. package/dist/ProviderOptions.d.ts +10 -0
  98. package/dist/ProviderOptions.d.ts.map +1 -0
  99. package/dist/ProviderOptions.js +2 -0
  100. package/dist/ProviderOptions.js.map +1 -0
  101. package/dist/ReactAdminFieldContext.d.ts +10 -0
  102. package/dist/ReactAdminFieldContext.d.ts.map +1 -0
  103. package/dist/ReactAdminFieldContext.js +2 -0
  104. package/dist/ReactAdminFieldContext.js.map +1 -0
  105. package/dist/ReactAdminFieldRenderer.d.ts +4 -0
  106. package/dist/ReactAdminFieldRenderer.d.ts.map +1 -0
  107. package/dist/ReactAdminFieldRenderer.js +2 -0
  108. package/dist/ReactAdminFieldRenderer.js.map +1 -0
  109. package/dist/ReactAdminInputContext.d.ts +9 -0
  110. package/dist/ReactAdminInputContext.d.ts.map +1 -0
  111. package/dist/ReactAdminInputContext.js +2 -0
  112. package/dist/ReactAdminInputContext.js.map +1 -0
  113. package/dist/ReactAdminInputRenderer.d.ts +4 -0
  114. package/dist/ReactAdminInputRenderer.d.ts.map +1 -0
  115. package/dist/ReactAdminInputRenderer.js +2 -0
  116. package/dist/ReactAdminInputRenderer.js.map +1 -0
  117. package/dist/ReactAdminRenderers.d.ts +8 -0
  118. package/dist/ReactAdminRenderers.d.ts.map +1 -0
  119. package/dist/ReactAdminRenderers.js +2 -0
  120. package/dist/ReactAdminRenderers.js.map +1 -0
  121. package/dist/ReactAdminResourceComponents.d.ts +9 -0
  122. package/dist/ReactAdminResourceComponents.d.ts.map +1 -0
  123. package/dist/ReactAdminResourceComponents.js +2 -0
  124. package/dist/ReactAdminResourceComponents.js.map +1 -0
  125. package/dist/ResourceKey.d.ts +8 -0
  126. package/dist/ResourceKey.d.ts.map +1 -0
  127. package/dist/ResourceKey.js +2 -0
  128. package/dist/ResourceKey.js.map +1 -0
  129. package/dist/ResourceRenderOptions.d.ts +7 -0
  130. package/dist/ResourceRenderOptions.d.ts.map +1 -0
  131. package/dist/ResourceRenderOptions.js +2 -0
  132. package/dist/ResourceRenderOptions.js.map +1 -0
  133. package/dist/TopologyNode.d.ts +18 -0
  134. package/dist/TopologyNode.d.ts.map +1 -0
  135. package/dist/TopologyNode.js +2 -0
  136. package/dist/TopologyNode.js.map +1 -0
  137. package/dist/UsersFacet.d.ts +13 -0
  138. package/dist/UsersFacet.d.ts.map +1 -0
  139. package/dist/UsersFacet.js +2 -0
  140. package/dist/UsersFacet.js.map +1 -0
  141. package/dist/dashboard.d.ts +4 -61
  142. package/dist/dashboard.d.ts.map +1 -1
  143. package/dist/dashboard.js +9 -9
  144. package/dist/dashboard.js.map +1 -1
  145. package/dist/index.d.ts +3 -2
  146. package/dist/index.d.ts.map +1 -1
  147. package/dist/index.js +1 -1
  148. package/dist/index.js.map +1 -1
  149. package/dist/react.d.ts +21 -65
  150. package/dist/react.d.ts.map +1 -1
  151. package/dist/react.js +7 -7
  152. package/dist/react.js.map +1 -1
  153. package/dist/theme.js +1 -1
  154. package/dist/topology-page.d.ts.map +1 -1
  155. package/dist/topology-page.js +3 -3
  156. package/dist/topology-page.js.map +1 -1
  157. package/package.json +6 -5
  158. package/src/{extensions.ts → AdminExtension.ts} +5 -16
  159. package/src/AdminFacetRegistry.ts +9 -0
  160. package/src/AdminFacets.ts +22 -0
  161. package/src/AdminFieldExtension.ts +6 -0
  162. package/src/AdminOperation.ts +9 -0
  163. package/src/AdminOperationExtension.ts +5 -0
  164. package/src/{resources.ts → AdminResource.ts} +18 -26
  165. package/src/{runtime.ts → AdminRuntime.ts} +6 -24
  166. package/src/AdminRuntimeOptions.ts +8 -0
  167. package/src/{topology.ts → Drawing.ts} +7 -60
  168. package/src/EditorialFacet.ts +12 -0
  169. package/src/FougereAdminProps.ts +17 -0
  170. package/src/FougereDashboardContextValue.ts +11 -0
  171. package/src/FougereDashboardExtension.ts +13 -0
  172. package/src/FougereDashboardMetrics.ts +6 -0
  173. package/src/FougereDashboardResource.ts +14 -0
  174. package/src/FougereDashboardWidget.ts +11 -0
  175. package/src/FougereDashboardZone.ts +1 -0
  176. package/src/{provider.ts → FougereDataProvider.ts} +3 -26
  177. package/src/FougereResourceOptions.ts +13 -0
  178. package/src/LoadedAdmin.ts +7 -0
  179. package/src/PlacedEdge.ts +17 -0
  180. package/src/PlacedNode.ts +10 -0
  181. package/src/Point.ts +4 -0
  182. package/src/ProviderOptions.ts +10 -0
  183. package/src/ReactAdminFieldContext.ts +10 -0
  184. package/src/ReactAdminFieldRenderer.ts +4 -0
  185. package/src/ReactAdminInputContext.ts +9 -0
  186. package/src/ReactAdminInputRenderer.ts +4 -0
  187. package/src/ReactAdminRenderers.ts +8 -0
  188. package/src/ReactAdminResourceComponents.ts +9 -0
  189. package/src/ResourceKey.ts +7 -0
  190. package/src/ResourceRenderOptions.ts +7 -0
  191. package/src/TopologyNode.ts +18 -0
  192. package/src/UsersFacet.ts +12 -0
  193. package/src/dashboard.tsx +19 -88
  194. package/src/index.ts +3 -9
  195. package/src/react.tsx +37 -80
  196. package/src/theme.tsx +1 -1
  197. package/src/topology-page.tsx +5 -3
  198. package/template/index.html +5 -0
  199. package/template/package.json +22 -0
  200. package/template/src/main.tsx +27 -0
  201. package/template/tsconfig.json +12 -0
  202. package/template/vite.config.ts +16 -0
  203. package/dist/extensions.d.ts.map +0 -1
  204. package/dist/extensions.js.map +0 -1
  205. package/dist/facets.d.ts +0 -36
  206. package/dist/facets.d.ts.map +0 -1
  207. package/dist/facets.js.map +0 -1
  208. package/dist/provider.d.ts.map +0 -1
  209. package/dist/provider.js.map +0 -1
  210. package/dist/resources.d.ts.map +0 -1
  211. package/dist/resources.js.map +0 -1
  212. package/dist/runtime.d.ts +0 -22
  213. package/dist/runtime.d.ts.map +0 -1
  214. package/dist/runtime.js.map +0 -1
  215. package/dist/topology.d.ts.map +0 -1
  216. package/dist/topology.js.map +0 -1
  217. package/src/facets.ts +0 -55
@@ -0,0 +1,7 @@
1
+ export interface FougereDashboardMetrics {
2
+ content: number;
3
+ drafts: number;
4
+ published: number;
5
+ users: number;
6
+ }
7
+ //# sourceMappingURL=FougereDashboardMetrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FougereDashboardMetrics.d.ts","sourceRoot":"","sources":["../src/FougereDashboardMetrics.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=FougereDashboardMetrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FougereDashboardMetrics.js","sourceRoot":"","sources":["../src/FougereDashboardMetrics.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import type { AdminFacets } from './AdminFacets.js';
2
+ export interface FougereDashboardResource {
3
+ name: string;
4
+ label: string;
5
+ primary: string;
6
+ facets: AdminFacets;
7
+ hasCreate: boolean;
8
+ hasEdit: boolean;
9
+ hasShow: boolean;
10
+ total: number;
11
+ rows: Record<string, unknown>[];
12
+ states: Record<string, number>;
13
+ }
14
+ //# sourceMappingURL=FougereDashboardResource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FougereDashboardResource.d.ts","sourceRoot":"","sources":["../src/FougereDashboardResource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=FougereDashboardResource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FougereDashboardResource.js","sourceRoot":"","sources":["../src/FougereDashboardResource.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import type { ComponentType } from 'react';
2
+ import type { FougereDashboardZone } from './FougereDashboardZone.js';
3
+ export interface FougereDashboardWidget {
4
+ id: string;
5
+ zone: FougereDashboardZone;
6
+ /** Twelve-column width for `main`, four-column width for `metrics`. */
7
+ span: number;
8
+ component: ComponentType;
9
+ hidden?: boolean;
10
+ }
11
+ //# sourceMappingURL=FougereDashboardWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FougereDashboardWidget.d.ts","sourceRoot":"","sources":["../src/FougereDashboardWidget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,oBAAoB,CAAC;IAC3B,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=FougereDashboardWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FougereDashboardWidget.js","sourceRoot":"","sources":["../src/FougereDashboardWidget.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export type FougereDashboardZone = 'hero' | 'metrics' | 'main';
2
+ //# sourceMappingURL=FougereDashboardZone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FougereDashboardZone.d.ts","sourceRoot":"","sources":["../src/FougereDashboardZone.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=FougereDashboardZone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FougereDashboardZone.js","sourceRoot":"","sources":["../src/FougereDashboardZone.ts"],"names":[],"mappings":""}
@@ -1,19 +1,4 @@
1
- /** react-admin's `DataProvider`, answered by the Fougere wire. */
2
- import { type Fetcher } from '@fougere/app/client';
3
- /** What a resource must tell the provider — the rest of the card is the UI's business. */
4
- export interface ResourceKey {
5
- /** The registration key its door answers under — `post`, not `Post`. */
6
- name: string;
7
- /** The field that identifies an instance. */
8
- primary: string;
9
- }
10
- export interface ProviderOptions {
11
- /** Registration key → its identity. Built from the card by `resourcesOf`. */
12
- resources: Record<string, ResourceKey>;
13
- /** The call endpoint. A named surface appends `/{surface}` to it. */
14
- endpoint?: string;
15
- fetcher?: Fetcher;
16
- }
1
+ import type { ProviderOptions } from './ProviderOptions.js';
17
2
  type Values = Record<string, unknown>;
18
3
  export declare function createDataProvider(options: ProviderOptions): {
19
4
  /** One page, and how it knows there is another. */
@@ -105,4 +90,4 @@ export type FougereDataProvider = ReturnType<typeof createDataProvider>;
105
90
  /** The card arrives asynchronously; react-admin requires a provider synchronously. */
106
91
  export declare function createLazyDataProvider(load: () => Promise<FougereDataProvider>): FougereDataProvider;
107
92
  export {};
108
- //# sourceMappingURL=provider.d.ts.map
93
+ //# sourceMappingURL=FougereDataProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FougereDataProvider.d.ts","sourceRoot":"","sources":["../src/FougereDataProvider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAYtC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe;IA2CvD,mDAAmD;IACnD,OAAO,aAAmB,MAAM,UAAU;QACxC,UAAU,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QACxC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC;;;;;;;;IAmBD,MAAM,aAAmB,MAAM,UAAU;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;;;IAOhE,2CAA2C;IAC3C,OAAO,aAAmB,MAAM,UAAU;QAAE,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE;;;IAQtE,yEAAyE;IACzE,gBAAgB,aAAmB,MAAM,UAAU;QACjD,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QACxC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC;cAzDgB,MAAM,EAAE;gBAAU,MAAM;;IAsEzC,MAAM,aAAmB,MAAM,UAAU;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;;;IAMzD,MAAM,aAAmB,MAAM,UAAU;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;;;IAS9E,MAAM,aAAmB,MAAM,UAAU;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;cAExB,MAAM;;IAGrE,0CAA0C;IAC1C,UAAU,aAAmB,MAAM,UAAU;QAAE,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;;;IAQvF,UAAU,aAAmB,MAAM,UAAU;QAAE,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE;;;IAKzE,0EAA0E;IAC1E,MAAM,aACM,MAAM,UACR;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAC1D,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;EAOhC;AAED,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAExE,sFAAsF;AACtF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAapG"}
@@ -1,5 +1,4 @@
1
- /** react-admin's `DataProvider`, answered by the Fougere wire. */
2
- import { sendCall, fetcher as browserFetcher, CALL_ENDPOINT, itemsOf, pageOf, errorsByField, } from '@fougere/app/client';
1
+ import { sendCall, fetcher as browserFetcher, CALL_ENDPOINT, itemsOf, pageOf, errorsByField } from '@fougere/app/client';
3
2
  import { validationErrorsOf } from '@fougere/core/contract';
4
3
  /** A refusal, in the shape react-admin reads. */
5
4
  function asAdminError(err) {
@@ -145,4 +144,4 @@ export function createLazyDataProvider(load) {
145
144
  invoke: async (...args) => (await load()).invoke(...args),
146
145
  };
147
146
  }
148
- //# sourceMappingURL=provider.js.map
147
+ //# sourceMappingURL=FougereDataProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FougereDataProvider.js","sourceRoot":"","sources":["../src/FougereDataProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { ResourceOptions } from 'react-admin';
2
+ import type { AdminFacets } from './AdminFacets.js';
3
+ export interface FougereResourceOptions extends ResourceOptions {
4
+ primary: string;
5
+ facets: AdminFacets;
6
+ /** The frond that owns this facade — the card groups by it, so the panel can too. */
7
+ frond?: string;
8
+ /** What the facade answers, with each op's kind. `query` reads, `command` writes. */
9
+ operations?: readonly {
10
+ name: string;
11
+ kind: 'query' | 'command';
12
+ }[];
13
+ /** How many columns the shape yields — a rough measure of an entity's width. */
14
+ fieldCount?: number;
15
+ }
16
+ //# sourceMappingURL=FougereResourceOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FougereResourceOptions.d.ts","sourceRoot":"","sources":["../src/FougereResourceOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,UAAU,CAAC,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,EAAE,CAAC;IACpE,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=FougereResourceOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FougereResourceOptions.js","sourceRoot":"","sources":["../src/FougereResourceOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { type FougereDataProvider } from './FougereDataProvider.js';
2
+ import { type AdminResource } from './AdminResource.js';
3
+ export interface LoadedAdmin {
4
+ resources: AdminResource[];
5
+ provider: FougereDataProvider;
6
+ }
7
+ //# sourceMappingURL=LoadedAdmin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadedAdmin.d.ts","sourceRoot":"","sources":["../src/LoadedAdmin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,QAAQ,EAAE,mBAAmB,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=LoadedAdmin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadedAdmin.js","sourceRoot":"","sources":["../src/LoadedAdmin.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import type { Point } from './Point.js';
2
+ /**
3
+ * One link between two nodes. `count` is absent on a link nothing has travelled: the config
4
+ * declares it and no call has gone down it, which is drawn broken rather than not drawn.
5
+ */
6
+ export interface PlacedEdge {
7
+ from: string;
8
+ to: string;
9
+ path: string;
10
+ /** Where this link's figure goes — clear of every node, or absent when the route is a point. */
11
+ at?: Point;
12
+ count?: number;
13
+ errors: number;
14
+ /** Where this link's volume sits among the others, `0` to `1`. Absent when nothing travelled. */
15
+ weight?: number;
16
+ }
17
+ //# sourceMappingURL=PlacedEdge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlacedEdge.d.ts","sourceRoot":"","sources":["../src/PlacedEdge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,gGAAgG;IAChG,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,iGAAiG;IACjG,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PlacedEdge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlacedEdge.js","sourceRoot":"","sources":["../src/PlacedEdge.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import type { TopologyNode } from './TopologyNode.js';
2
+ /** A node placed on the drawing. `x`/`y` are its CENTRE, the convention the layout answers in. */
3
+ export interface PlacedNode {
4
+ node: TopologyNode;
5
+ x: number;
6
+ y: number;
7
+ width: number;
8
+ height: number;
9
+ }
10
+ //# sourceMappingURL=PlacedNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlacedNode.d.ts","sourceRoot":"","sources":["../src/PlacedNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,kGAAkG;AAClG,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PlacedNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlacedNode.js","sourceRoot":"","sources":["../src/PlacedNode.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface Point {
2
+ x: number;
3
+ y: number;
4
+ }
5
+ //# sourceMappingURL=Point.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Point.d.ts","sourceRoot":"","sources":["../src/Point.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX"}
package/dist/Point.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Point.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Point.js","sourceRoot":"","sources":["../src/Point.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { type Fetcher } from '@fougere/app/client';
2
+ import type { ResourceKey } from './ResourceKey.js';
3
+ export interface ProviderOptions {
4
+ /** Registration key → its identity. Built from the card by `resourcesOf`. */
5
+ resources: Record<string, ResourceKey>;
6
+ /** The call endpoint. A named surface appends `/{surface}` to it. */
7
+ endpoint?: string;
8
+ fetcher?: Fetcher;
9
+ }
10
+ //# sourceMappingURL=ProviderOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderOptions.d.ts","sourceRoot":"","sources":["../src/ProviderOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ProviderOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderOptions.js","sourceRoot":"","sources":["../src/ProviderOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { type ReactElement } from 'react';
2
+ import { type AdminResource } from './AdminResource.js';
3
+ import { type TableColumn } from '@fougere/app/client';
4
+ export interface ReactAdminFieldContext {
5
+ resource: AdminResource;
6
+ column: TableColumn;
7
+ /** The maintained Fougere renderer. Call it to wrap rather than replace it. */
8
+ defaultRender(): ReactElement;
9
+ }
10
+ //# sourceMappingURL=ReactAdminFieldContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactAdminFieldContext.d.ts","sourceRoot":"","sources":["../src/ReactAdminFieldContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,+EAA+E;IAC/E,aAAa,IAAI,YAAY,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ReactAdminFieldContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactAdminFieldContext.js","sourceRoot":"","sources":["../src/ReactAdminFieldContext.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { type ReactElement } from 'react';
2
+ import type { ReactAdminFieldContext } from './ReactAdminFieldContext.js';
3
+ export type ReactAdminFieldRenderer = (context: ReactAdminFieldContext) => ReactElement;
4
+ //# sourceMappingURL=ReactAdminFieldRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactAdminFieldRenderer.d.ts","sourceRoot":"","sources":["../src/ReactAdminFieldRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,sBAAsB,KAAK,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ReactAdminFieldRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactAdminFieldRenderer.js","sourceRoot":"","sources":["../src/ReactAdminFieldRenderer.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { type ReactElement } from 'react';
2
+ import { type AdminResource } from './AdminResource.js';
3
+ import { type FormField } from '@fougere/app/client';
4
+ export interface ReactAdminInputContext {
5
+ resource: AdminResource;
6
+ field: FormField;
7
+ defaultRender(): ReactElement;
8
+ }
9
+ //# sourceMappingURL=ReactAdminInputContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactAdminInputContext.d.ts","sourceRoot":"","sources":["../src/ReactAdminInputContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,IAAI,YAAY,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ReactAdminInputContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactAdminInputContext.js","sourceRoot":"","sources":["../src/ReactAdminInputContext.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { type ReactElement } from 'react';
2
+ import type { ReactAdminInputContext } from './ReactAdminInputContext.js';
3
+ export type ReactAdminInputRenderer = (context: ReactAdminInputContext) => ReactElement;
4
+ //# sourceMappingURL=ReactAdminInputRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactAdminInputRenderer.d.ts","sourceRoot":"","sources":["../src/ReactAdminInputRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,sBAAsB,KAAK,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ReactAdminInputRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactAdminInputRenderer.js","sourceRoot":"","sources":["../src/ReactAdminInputRenderer.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import type { ReactAdminFieldRenderer } from './ReactAdminFieldRenderer.js';
2
+ import type { ReactAdminInputRenderer } from './ReactAdminInputRenderer.js';
3
+ export interface ReactAdminRenderers {
4
+ /** Exact `resource.field` keys. Unmentioned and future fields keep the default renderer. */
5
+ fields?: Record<string, ReactAdminFieldRenderer>;
6
+ inputs?: Record<string, ReactAdminInputRenderer>;
7
+ }
8
+ //# sourceMappingURL=ReactAdminRenderers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactAdminRenderers.d.ts","sourceRoot":"","sources":["../src/ReactAdminRenderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE5E,MAAM,WAAW,mBAAmB;IAClC,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CAClD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ReactAdminRenderers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactAdminRenderers.js","sourceRoot":"","sources":["../src/ReactAdminRenderers.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { type ComponentType } from 'react';
2
+ export interface ReactAdminResourceComponents {
3
+ list?: ComponentType;
4
+ show?: ComponentType;
5
+ edit?: ComponentType;
6
+ create?: ComponentType;
7
+ icon?: ComponentType;
8
+ }
9
+ //# sourceMappingURL=ReactAdminResourceComponents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactAdminResourceComponents.d.ts","sourceRoot":"","sources":["../src/ReactAdminResourceComponents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,4BAA4B;IAC3C,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ReactAdminResourceComponents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactAdminResourceComponents.js","sourceRoot":"","sources":["../src/ReactAdminResourceComponents.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ /** What a resource must tell the provider — the rest of the card is the UI's business. */
2
+ export interface ResourceKey {
3
+ /** The registration key its facade answers under — `post`, not `Post`. */
4
+ name: string;
5
+ /** The field that identifies an instance. */
6
+ primary: string;
7
+ }
8
+ //# sourceMappingURL=ResourceKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceKey.d.ts","sourceRoot":"","sources":["../src/ResourceKey.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,MAAM,WAAW,WAAW;IAC1B,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ResourceKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceKey.js","sourceRoot":"","sources":["../src/ResourceKey.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type { ReactAdminRenderers } from './ReactAdminRenderers.js';
2
+ import type { ReactAdminResourceComponents } from './ReactAdminResourceComponents.js';
3
+ export interface ResourceRenderOptions {
4
+ renderers?: ReactAdminRenderers;
5
+ components?: ReactAdminResourceComponents;
6
+ }
7
+ //# sourceMappingURL=ResourceRenderOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceRenderOptions.d.ts","sourceRoot":"","sources":["../src/ResourceRenderOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEtF,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,UAAU,CAAC,EAAE,4BAA4B,CAAC;CAC3C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ResourceRenderOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceRenderOptions.js","sourceRoot":"","sources":["../src/ResourceRenderOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import { type DeclaredEdge, type Edge, type FrondPlacement } from '@fougere/core/contract';
2
+ /** One frond as the page draws it: its placement, and the calls observed around it. */
3
+ export interface TopologyNode extends FrondPlacement {
4
+ /** Fronds this one called, with what it cost them. */
5
+ calls: Edge[];
6
+ /** Fronds that called this one. */
7
+ calledBy: Edge[];
8
+ /** Fronds its code reaches, whether or not a call has ever gone down the link. */
9
+ declaredCalls: DeclaredEdge[];
10
+ /** Where the config says to reach it, when it says so. */
11
+ at?: string;
12
+ /**
13
+ * Declared in `remotes:` and never heard from. A different absence from an opaque remote,
14
+ * which answered and keeps its shape to itself: this one may simply be down.
15
+ */
16
+ silent: boolean;
17
+ }
18
+ //# sourceMappingURL=TopologyNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopologyNode.d.ts","sourceRoot":"","sources":["../src/TopologyNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,IAAI,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE3F,uFAAuF;AACvF,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,sDAAsD;IACtD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,mCAAmC;IACnC,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,kFAAkF;IAClF,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,0DAA0D;IAC1D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TopologyNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopologyNode.js","sourceRoot":"","sources":["../src/TopologyNode.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ export interface UsersFacet {
2
+ name: string;
3
+ email?: string;
4
+ role?: string;
5
+ state?: {
6
+ field: string;
7
+ active?: readonly string[];
8
+ invited?: readonly string[];
9
+ suspended?: readonly string[];
10
+ };
11
+ createdAt?: string;
12
+ }
13
+ //# sourceMappingURL=UsersFacet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UsersFacet.d.ts","sourceRoot":"","sources":["../src/UsersFacet.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC5B,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KAC/B,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=UsersFacet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UsersFacet.js","sourceRoot":"","sources":["../src/UsersFacet.ts"],"names":[],"mappings":""}
@@ -1,67 +1,10 @@
1
+ import type { FougereDashboardContextValue } from './FougereDashboardContextValue.js';
2
+ import type { FougereDashboardWidget } from './FougereDashboardWidget.js';
3
+ import type { FougereDashboardExtension } from './FougereDashboardExtension.js';
1
4
  import { type SvgIconProps } from '@mui/material';
2
- import { type ComponentType, type ReactElement } from 'react';
3
- import { type ResourceOptions } from 'react-admin';
4
- import type { AdminFacets } from './facets.js';
5
- export interface FougereResourceOptions extends ResourceOptions {
6
- primary: string;
7
- facets: AdminFacets;
8
- /** The frond that owns this door — the card groups by it, so the panel can too. */
9
- frond?: string;
10
- /** What the door answers, with each op's kind. `query` reads, `command` writes. */
11
- operations?: readonly {
12
- name: string;
13
- kind: 'query' | 'command';
14
- }[];
15
- /** How many columns the shape yields — a rough measure of an entity's width. */
16
- fieldCount?: number;
17
- }
18
- export interface FougereDashboardResource {
19
- name: string;
20
- label: string;
21
- primary: string;
22
- facets: AdminFacets;
23
- hasCreate: boolean;
24
- hasEdit: boolean;
25
- hasShow: boolean;
26
- total: number;
27
- rows: Record<string, unknown>[];
28
- states: Record<string, number>;
29
- }
30
- export interface FougereDashboardMetrics {
31
- content: number;
32
- drafts: number;
33
- published: number;
34
- users: number;
35
- }
36
- export interface FougereDashboardContextValue {
37
- loading: boolean;
38
- resources: FougereDashboardResource[];
39
- editorial: FougereDashboardResource[];
40
- users: FougereDashboardResource[];
41
- metrics: FougereDashboardMetrics;
42
- navigate(view: 'list' | 'show' | 'edit' | 'create', resource: string, id?: string | number): void;
43
- }
5
+ import { type ReactElement } from 'react';
44
6
  /** Data shared by built-in and contributed widgets. */
45
7
  export declare function useFougereDashboard(): FougereDashboardContextValue;
46
- export type FougereDashboardZone = 'hero' | 'metrics' | 'main';
47
- export interface FougereDashboardWidget {
48
- id: string;
49
- zone: FougereDashboardZone;
50
- /** Twelve-column width for `main`, four-column width for `metrics`. */
51
- span: number;
52
- component: ComponentType;
53
- hidden?: boolean;
54
- }
55
- /** A delta over stable widget ids; a component on a new id contributes a new widget. */
56
- export interface FougereDashboardExtension {
57
- widget: string;
58
- component?: ComponentType;
59
- zone?: FougereDashboardZone;
60
- span?: number;
61
- hidden?: boolean;
62
- before?: string;
63
- after?: string;
64
- }
65
8
  export declare function applyDashboardExtensions(defaults: readonly FougereDashboardWidget[], extensions?: readonly FougereDashboardExtension[]): FougereDashboardWidget[];
66
9
  type IconProps = SvgIconProps;
67
10
  export declare const FougereContentIcon: (props: IconProps) => import("react").JSX.Element;