ding-react-admin 1.0.4 → 2.0.4

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 (230) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +254 -201
  3. package/dist/index.css +2 -0
  4. package/dist/index.js +2073 -1202
  5. package/dist/src/components/NavMenuLabel.d.ts +8 -0
  6. package/dist/src/components/NavMenuLabel.d.ts.map +1 -0
  7. package/dist/src/components/NavMenuSearch.d.ts +9 -0
  8. package/dist/src/components/NavMenuSearch.d.ts.map +1 -0
  9. package/dist/src/components/ScrollableArea.d.ts +10 -0
  10. package/dist/src/components/ScrollableArea.d.ts.map +1 -0
  11. package/dist/src/components/index.d.ts +3 -0
  12. package/dist/src/components/index.d.ts.map +1 -1
  13. package/dist/src/context/AuthProvider.d.ts +2 -0
  14. package/dist/src/context/AuthProvider.d.ts.map +1 -1
  15. package/dist/src/crud/FormGlobalErrorsAlert.d.ts +5 -0
  16. package/dist/src/crud/FormGlobalErrorsAlert.d.ts.map +1 -0
  17. package/dist/src/crud/InlineFormSet.d.ts +2 -17
  18. package/dist/src/crud/InlineFormSet.d.ts.map +1 -1
  19. package/dist/src/crud/ResourceForm.d.ts +2 -10
  20. package/dist/src/crud/ResourceForm.d.ts.map +1 -1
  21. package/dist/src/crud/ResourceFormModal.d.ts +7 -1
  22. package/dist/src/crud/ResourceFormModal.d.ts.map +1 -1
  23. package/dist/src/crud/ResourceList.d.ts.map +1 -1
  24. package/dist/src/crud/ResourceRecordForm.d.ts +27 -0
  25. package/dist/src/crud/ResourceRecordForm.d.ts.map +1 -0
  26. package/dist/src/crud/columns/ImageColumn.d.ts +14 -0
  27. package/dist/src/crud/columns/ImageColumn.d.ts.map +1 -0
  28. package/dist/src/crud/context/InlineFieldsRegistry.d.ts +15 -0
  29. package/dist/src/crud/context/InlineFieldsRegistry.d.ts.map +1 -0
  30. package/dist/src/crud/context/PayloadFieldsContext.d.ts +18 -0
  31. package/dist/src/crud/context/PayloadFieldsContext.d.ts.map +1 -0
  32. package/dist/src/crud/fields/FileField.d.ts +12 -0
  33. package/dist/src/crud/fields/FileField.d.ts.map +1 -0
  34. package/dist/src/crud/fields/ImageField.d.ts +14 -0
  35. package/dist/src/crud/fields/ImageField.d.ts.map +1 -0
  36. package/dist/src/crud/fields/ReferenceField.d.ts +12 -2
  37. package/dist/src/crud/fields/ReferenceField.d.ts.map +1 -1
  38. package/dist/src/crud/fields/ReferenceInputActions.d.ts +16 -0
  39. package/dist/src/crud/fields/ReferenceInputActions.d.ts.map +1 -0
  40. package/dist/src/crud/fields/ReferenceManyField.d.ts +10 -1
  41. package/dist/src/crud/fields/ReferenceManyField.d.ts.map +1 -1
  42. package/dist/src/crud/fields/uploadFieldUtils.d.ts +5 -0
  43. package/dist/src/crud/fields/uploadFieldUtils.d.ts.map +1 -0
  44. package/dist/src/crud/fields/useUploadPreviewUrl.d.ts +4 -0
  45. package/dist/src/crud/fields/useUploadPreviewUrl.d.ts.map +1 -0
  46. package/dist/src/crud/filters/ReferenceFilter.d.ts +1 -1
  47. package/dist/src/crud/filters/ReferenceFilter.d.ts.map +1 -1
  48. package/dist/src/crud/index.d.ts +27 -9
  49. package/dist/src/crud/index.d.ts.map +1 -1
  50. package/dist/src/crud/types.d.ts +21 -7
  51. package/dist/src/crud/types.d.ts.map +1 -1
  52. package/dist/src/crud/utils/buildFormPayload.d.ts +6 -0
  53. package/dist/src/crud/utils/buildFormPayload.d.ts.map +1 -0
  54. package/dist/src/crud/utils/buildInlineRowsPayload.d.ts +6 -0
  55. package/dist/src/crud/utils/buildInlineRowsPayload.d.ts.map +1 -0
  56. package/dist/src/crud/utils/buildResourceFormSubmitBody.d.ts +5 -0
  57. package/dist/src/crud/utils/buildResourceFormSubmitBody.d.ts.map +1 -0
  58. package/dist/src/crud/utils/choiceSelectionUtils.d.ts +10 -0
  59. package/dist/src/crud/utils/choiceSelectionUtils.d.ts.map +1 -0
  60. package/dist/src/crud/utils/choiceSelectionUtils.test.d.ts +2 -0
  61. package/dist/src/crud/utils/choiceSelectionUtils.test.d.ts.map +1 -0
  62. package/dist/src/crud/utils/formErrors.d.ts +18 -7
  63. package/dist/src/crud/utils/formErrors.d.ts.map +1 -1
  64. package/dist/src/crud/utils/formErrors.test.d.ts +2 -0
  65. package/dist/src/crud/utils/formErrors.test.d.ts.map +1 -0
  66. package/dist/src/crud/utils/getFormValue.d.ts +3 -0
  67. package/dist/src/crud/utils/getFormValue.d.ts.map +1 -0
  68. package/dist/src/crud/utils/hasUploadValues.d.ts +3 -0
  69. package/dist/src/crud/utils/hasUploadValues.d.ts.map +1 -0
  70. package/dist/src/crud/utils/nestedFieldPath.d.ts +3 -0
  71. package/dist/src/crud/utils/nestedFieldPath.d.ts.map +1 -0
  72. package/dist/src/crud/utils/prepareFormSubmitBody.d.ts +8 -0
  73. package/dist/src/crud/utils/prepareFormSubmitBody.d.ts.map +1 -0
  74. package/dist/src/crud/utils/referenceSelectNotFoundContent.d.ts +4 -0
  75. package/dist/src/crud/utils/referenceSelectNotFoundContent.d.ts.map +1 -0
  76. package/dist/src/crud/utils/setFormValue.d.ts +3 -0
  77. package/dist/src/crud/utils/setFormValue.d.ts.map +1 -0
  78. package/dist/src/crud/utils/toFormData.d.ts +13 -0
  79. package/dist/src/crud/utils/toFormData.d.ts.map +1 -0
  80. package/dist/src/crud/utils/uploadReferenceUtils.d.ts +5 -0
  81. package/dist/src/crud/utils/uploadReferenceUtils.d.ts.map +1 -0
  82. package/dist/src/crud/utils/useChoices.d.ts +27 -1
  83. package/dist/src/crud/utils/useChoices.d.ts.map +1 -1
  84. package/dist/src/crud/utils/useFormRecord.d.ts +44 -0
  85. package/dist/src/crud/utils/useFormRecord.d.ts.map +1 -0
  86. package/dist/src/data/createRestResourceHandlers.d.ts +5 -5
  87. package/dist/src/data/createRestResourceHandlers.d.ts.map +1 -1
  88. package/dist/src/data/dataProviderTypes.d.ts +6 -5
  89. package/dist/src/data/dataProviderTypes.d.ts.map +1 -1
  90. package/dist/src/data/parseFormErrorHelpers.d.ts +23 -6
  91. package/dist/src/data/parseFormErrorHelpers.d.ts.map +1 -1
  92. package/dist/src/data/resourceHandlers.d.ts +1 -1
  93. package/dist/src/data/resourceHandlers.d.ts.map +1 -1
  94. package/dist/src/index.d.ts +4 -4
  95. package/dist/src/index.d.ts.map +1 -1
  96. package/dist/src/layouts/AdminLayout.d.ts +1 -1
  97. package/dist/src/layouts/AdminLayout.d.ts.map +1 -1
  98. package/dist/src/layouts/AuthPageLayout.d.ts.map +1 -1
  99. package/dist/src/layouts/navFilter.d.ts +5 -0
  100. package/dist/src/layouts/navFilter.d.ts.map +1 -0
  101. package/dist/src/layouts/navMenuItems.d.ts +6 -0
  102. package/dist/src/layouts/navMenuItems.d.ts.map +1 -0
  103. package/dist/src/types.d.ts +12 -0
  104. package/dist/src/types.d.ts.map +1 -1
  105. package/package.json +79 -59
  106. package/src/app/AdminApp.tsx +34 -34
  107. package/src/components/AuthAlternateLink.tsx +23 -23
  108. package/src/components/DensitySwitch.tsx +31 -31
  109. package/src/components/NavMenuLabel.tsx +26 -0
  110. package/src/components/NavMenuSearch.tsx +76 -0
  111. package/src/components/ScrollableArea.tsx +46 -0
  112. package/src/components/ThemeSwitch.tsx +28 -28
  113. package/src/components/ThemeToolbar.tsx +34 -34
  114. package/src/components/index.ts +7 -4
  115. package/src/components/navMenu.css +21 -0
  116. package/src/components/scrollable.css +28 -0
  117. package/src/context/AppThemeProvider.tsx +128 -128
  118. package/src/context/AuthProvider.tsx +89 -77
  119. package/src/context/DataProvider.tsx +30 -30
  120. package/src/context/PermissionsProvider.tsx +57 -57
  121. package/src/crud/FilterBar.tsx +36 -36
  122. package/src/crud/FormGlobalErrorsAlert.tsx +36 -0
  123. package/src/crud/FormSteps.tsx +135 -135
  124. package/src/crud/FormTabs.tsx +126 -126
  125. package/src/crud/InlineFormSet.tsx +162 -219
  126. package/src/crud/ListActionsBar.tsx +106 -106
  127. package/src/crud/ResourceForm.tsx +83 -166
  128. package/src/crud/ResourceFormModal.tsx +75 -133
  129. package/src/crud/ResourceList.tsx +1 -0
  130. package/src/crud/ResourceRecordForm.tsx +166 -0
  131. package/src/crud/columns/BooleanColumn.tsx +32 -32
  132. package/src/crud/columns/CustomColumn.tsx +33 -33
  133. package/src/crud/columns/DateColumn.tsx +28 -28
  134. package/src/crud/columns/ImageColumn.tsx +58 -0
  135. package/src/crud/columns/NumberColumn.tsx +31 -31
  136. package/src/crud/columns/ReferenceColumn.tsx +85 -85
  137. package/src/crud/columns/ReferenceManyColumn.tsx +67 -67
  138. package/src/crud/columns/TextColumn.tsx +38 -38
  139. package/src/crud/context/FilterContext.tsx +71 -71
  140. package/src/crud/context/FormContext.tsx +39 -39
  141. package/src/crud/context/FormSectionContext.tsx +22 -22
  142. package/src/crud/context/InlineFieldsRegistry.tsx +61 -0
  143. package/src/crud/context/ListContext.tsx +93 -93
  144. package/src/crud/context/PayloadFieldsContext.tsx +62 -0
  145. package/src/crud/fields/BooleanField.tsx +38 -38
  146. package/src/crud/fields/DateField.tsx +53 -53
  147. package/src/crud/fields/FieldWrapper.tsx +87 -87
  148. package/src/crud/fields/FileField.tsx +123 -0
  149. package/src/crud/fields/ImageField.tsx +120 -0
  150. package/src/crud/fields/NumberField.tsx +52 -52
  151. package/src/crud/fields/PasswordField.tsx +99 -99
  152. package/src/crud/fields/ReferenceField.tsx +237 -96
  153. package/src/crud/fields/ReferenceInputActions.tsx +106 -0
  154. package/src/crud/fields/ReferenceManyField.tsx +200 -76
  155. package/src/crud/fields/SelectField.tsx +48 -48
  156. package/src/crud/fields/TextField.tsx +46 -46
  157. package/src/crud/fields/uploadFieldUtils.ts +21 -0
  158. package/src/crud/fields/useUploadPreviewUrl.ts +20 -0
  159. package/src/crud/filters/BooleanFilter.tsx +38 -38
  160. package/src/crud/filters/DateFilter.tsx +35 -35
  161. package/src/crud/filters/NumberFilter.tsx +33 -33
  162. package/src/crud/filters/ReferenceFilter.tsx +192 -173
  163. package/src/crud/filters/SelectFilter.tsx +44 -44
  164. package/src/crud/filters/TextFilter.tsx +36 -36
  165. package/src/crud/index.ts +99 -90
  166. package/src/crud/types.ts +146 -132
  167. package/src/crud/utils/buildFormPayload.ts +24 -0
  168. package/src/crud/utils/buildInlineRowsPayload.ts +37 -0
  169. package/src/crud/utils/buildResourceFormSubmitBody.ts +29 -0
  170. package/src/crud/utils/choiceSelectionUtils.test.ts +45 -0
  171. package/src/crud/utils/choiceSelectionUtils.ts +116 -0
  172. package/src/crud/utils/formErrors.test.ts +168 -0
  173. package/src/crud/utils/formErrors.ts +138 -38
  174. package/src/crud/utils/formSectionErrors.ts +85 -85
  175. package/src/crud/utils/{getByPath.ts → getFormValue.ts} +13 -13
  176. package/src/crud/utils/hasUploadValues.ts +9 -0
  177. package/src/crud/utils/nestedFieldPath.ts +8 -0
  178. package/src/crud/utils/prepareFormSubmitBody.ts +22 -0
  179. package/src/crud/utils/referenceSelectNotFoundContent.tsx +7 -0
  180. package/src/crud/utils/{setByPath.ts → setFormValue.ts} +18 -18
  181. package/src/crud/utils/sortQueryParam.ts +37 -37
  182. package/src/crud/utils/toFormData.ts +79 -0
  183. package/src/crud/utils/uploadReferenceUtils.ts +44 -0
  184. package/src/crud/utils/useAbortableEffect.ts +17 -17
  185. package/src/crud/utils/useChoices.ts +330 -182
  186. package/src/crud/utils/useFormRecord.ts +179 -0
  187. package/src/crud/utils/useListQueryState.ts +191 -191
  188. package/src/data/abortError.test.ts +19 -19
  189. package/src/data/abortError.ts +10 -10
  190. package/src/data/createMemoryResourceHandlers.ts +78 -78
  191. package/src/data/createRestResourceHandlers.ts +63 -57
  192. package/src/data/dataProviderTypes.ts +7 -5
  193. package/src/data/dataUtils.test.ts +228 -108
  194. package/src/data/inMemoryList.ts +97 -97
  195. package/src/data/parseFormErrorHelpers.test.ts +201 -84
  196. package/src/data/parseFormErrorHelpers.ts +376 -224
  197. package/src/data/resourceHandlers.ts +1 -1
  198. package/src/data/sortHelpers.ts +48 -48
  199. package/src/index.ts +211 -195
  200. package/src/layouts/AdminLayout.tsx +530 -381
  201. package/src/layouts/AuthPageLayout.tsx +87 -81
  202. package/src/layouts/navFilter.ts +49 -0
  203. package/src/layouts/navMenuItems.tsx +44 -0
  204. package/src/pages/LoginPage.tsx +80 -80
  205. package/src/pages/PlaceholderPage.tsx +9 -9
  206. package/src/permissions/resourcePermissions.ts +47 -47
  207. package/src/router/createAdminRouter.tsx +64 -64
  208. package/src/router/guards.tsx +63 -63
  209. package/src/router/routeAccess.ts +89 -89
  210. package/src/types.ts +10 -0
  211. package/src/vite-env.d.ts +1 -1
  212. package/dist/src/crud/context/SubmitFieldsContext.d.ts +0 -18
  213. package/dist/src/crud/context/SubmitFieldsContext.d.ts.map +0 -1
  214. package/dist/src/crud/utils/getByPath.d.ts +0 -3
  215. package/dist/src/crud/utils/getByPath.d.ts.map +0 -1
  216. package/dist/src/crud/utils/inlineArrayName.d.ts +0 -3
  217. package/dist/src/crud/utils/inlineArrayName.d.ts.map +0 -1
  218. package/dist/src/crud/utils/inlineFieldName.d.ts +0 -3
  219. package/dist/src/crud/utils/inlineFieldName.d.ts.map +0 -1
  220. package/dist/src/crud/utils/pickBySources.d.ts +0 -6
  221. package/dist/src/crud/utils/pickBySources.d.ts.map +0 -1
  222. package/dist/src/crud/utils/setByPath.d.ts +0 -3
  223. package/dist/src/crud/utils/setByPath.d.ts.map +0 -1
  224. package/dist/src/crud/utils/useResourceFormData.d.ts +0 -47
  225. package/dist/src/crud/utils/useResourceFormData.d.ts.map +0 -1
  226. package/src/crud/context/SubmitFieldsContext.tsx +0 -62
  227. package/src/crud/utils/inlineArrayName.ts +0 -4
  228. package/src/crud/utils/inlineFieldName.ts +0 -8
  229. package/src/crud/utils/pickBySources.ts +0 -24
  230. package/src/crud/utils/useResourceFormData.ts +0 -231
@@ -1,48 +1,48 @@
1
- import type { SortSpec } from "./dataProviderTypes";
2
-
3
- function normalizeSort(sort?: SortSpec | SortSpec[]): SortSpec[] {
4
- if (!sort) return [];
5
- return Array.isArray(sort) ? sort : [sort];
6
- }
7
-
8
- /**
9
- * Django REST Framework `ordering` query param.
10
- * ASC → `username`; DESC → `-username`; multi → `username,-date_joined`.
11
- */
12
- export function toDjangoRestOrdering(
13
- sort?: SortSpec | SortSpec[],
14
- ): string | undefined {
15
- const specs = normalizeSort(sort);
16
- if (specs.length === 0) return undefined;
17
- return specs
18
- .map((s) => (s.order === "DESC" ? `-${s.field}` : s.field))
19
- .join(",");
20
- }
21
-
22
- /**
23
- * OData `$orderby` query param.
24
- * ASC → `username asc`; DESC → `username desc`.
25
- */
26
- export function toODataOrderBy(
27
- sort?: SortSpec | SortSpec[],
28
- ): string | undefined {
29
- const specs = normalizeSort(sort);
30
- if (specs.length === 0) return undefined;
31
- return specs
32
- .map((s) => `${s.field} ${s.order === "DESC" ? "desc" : "asc"}`)
33
- .join(",");
34
- }
35
-
36
- /**
37
- * Common JSON:API `sort` query param.
38
- * ASC → `username`; DESC → `-username`.
39
- */
40
- export function toJsonApiSort(
41
- sort?: SortSpec | SortSpec[],
42
- ): string | undefined {
43
- const specs = normalizeSort(sort);
44
- if (specs.length === 0) return undefined;
45
- return specs
46
- .map((s) => (s.order === "DESC" ? `-${s.field}` : s.field))
47
- .join(",");
48
- }
1
+ import type { SortSpec } from "./dataProviderTypes";
2
+
3
+ function normalizeSort(sort?: SortSpec | SortSpec[]): SortSpec[] {
4
+ if (!sort) return [];
5
+ return Array.isArray(sort) ? sort : [sort];
6
+ }
7
+
8
+ /**
9
+ * Django REST Framework `ordering` query param.
10
+ * ASC → `username`; DESC → `-username`; multi → `username,-date_joined`.
11
+ */
12
+ export function toDjangoRestOrdering(
13
+ sort?: SortSpec | SortSpec[],
14
+ ): string | undefined {
15
+ const specs = normalizeSort(sort);
16
+ if (specs.length === 0) return undefined;
17
+ return specs
18
+ .map((s) => (s.order === "DESC" ? `-${s.field}` : s.field))
19
+ .join(",");
20
+ }
21
+
22
+ /**
23
+ * OData `$orderby` query param.
24
+ * ASC → `username asc`; DESC → `username desc`.
25
+ */
26
+ export function toODataOrderBy(
27
+ sort?: SortSpec | SortSpec[],
28
+ ): string | undefined {
29
+ const specs = normalizeSort(sort);
30
+ if (specs.length === 0) return undefined;
31
+ return specs
32
+ .map((s) => `${s.field} ${s.order === "DESC" ? "desc" : "asc"}`)
33
+ .join(",");
34
+ }
35
+
36
+ /**
37
+ * Common JSON:API `sort` query param.
38
+ * ASC → `username`; DESC → `-username`.
39
+ */
40
+ export function toJsonApiSort(
41
+ sort?: SortSpec | SortSpec[],
42
+ ): string | undefined {
43
+ const specs = normalizeSort(sort);
44
+ if (specs.length === 0) return undefined;
45
+ return specs
46
+ .map((s) => (s.order === "DESC" ? `-${s.field}` : s.field))
47
+ .join(",");
48
+ }
package/src/index.ts CHANGED
@@ -1,195 +1,211 @@
1
- export { AdminApp } from "./app/AdminApp";
2
- export { AdminLayout } from "./layouts/AdminLayout";
3
- export {
4
- AuthProvider,
5
- createSessionStorageAuthAdapter,
6
- useAuth,
7
- type AuthProviderProps,
8
- } from "./context/AuthProvider";
9
- export {
10
- DataProvider,
11
- useDataProvider,
12
- type DataProviderProps,
13
- } from "./context/DataProvider";
14
- export {
15
- PermissionsProvider,
16
- createPermissionsChecker,
17
- useCan,
18
- usePermissions,
19
- type PermissionsProviderProps,
20
- } from "./context/PermissionsProvider";
21
- export {
22
- AppThemeProvider,
23
- useThemeMode,
24
- } from "./context/AppThemeProvider";
25
- export type {
26
- CreateResult,
27
- DataProvider as DataProviderContract,
28
- DeleteResult,
29
- GetListParams,
30
- GetListResult,
31
- GetOneParams,
32
- GetOneResult,
33
- Identifier,
34
- PaginationParams,
35
- SortOrder,
36
- SortSpec,
37
- UpdateParams,
38
- UpdateResult,
39
- FormMutation,
40
- FormValidationErrors,
41
- ParseFormError,
42
- ParseFormErrorContext,
43
- } from "./data/dataProviderTypes";
44
- export { combineResourceHandlers } from "./data/resourceHandlers";
45
- export { isAbortError } from "./data/abortError";
46
- export {
47
- parseDjangoDRFFormErrors,
48
- parseDotNetFormErrors,
49
- parseNodeFormErrors,
50
- getErrorBody,
51
- applyInlineFieldPaths,
52
- asStringMessages,
53
- finalizeFormErrors,
54
- } from "./data/parseFormErrorHelpers";
55
- export type {
56
- DotNetFormErrorOptions,
57
- NodeFormErrorOptions,
58
- } from "./data/parseFormErrorHelpers";
59
- export { createMemoryResourceHandlers } from "./data/createMemoryResourceHandlers";
60
- export { createRestResourceHandlers } from "./data/createRestResourceHandlers";
61
- export type { RestResourceHandlersConfig } from "./data/createRestResourceHandlers";
62
- export {
63
- toDjangoRestOrdering,
64
- toODataOrderBy,
65
- toJsonApiSort,
66
- } from "./data/sortHelpers";
67
- export {
68
- applyInMemoryListParams,
69
- filterRows,
70
- getById as getRowById,
71
- } from "./data/inMemoryList";
72
- export type {
73
- CombineResourceHandlersOptions,
74
- ResourceAction,
75
- ResourceGuard,
76
- ResourceHandlerEntry,
77
- ResourceHandlerMap,
78
- ResourceHandlers,
79
- } from "./data/resourceHandlers";
80
- export type { ResourcePermissions } from "./permissions/resourcePermissions";
81
- export { filterNavByPermission } from "./permissions/resourcePermissions";
82
- export type { MemoryResourceHandlersConfig } from "./data/createMemoryResourceHandlers";
83
- export type { PermissionsChecker } from "./context/PermissionsProvider";
84
- export { LoginPage } from "./pages/LoginPage";
85
- export { PlaceholderPage } from "./pages/PlaceholderPage";
86
- export { AuthPageLayout } from "./layouts/AuthPageLayout";
87
- export {
88
- AuthAlternateLink,
89
- DensitySwitch,
90
- ThemeSwitch,
91
- ThemeToolbar,
92
- } from "./components";
93
- export { Guard, GuestOnly, Protected, RequirePermission } from "./router/guards";
94
- export { createAdminRouter } from "./router/createAdminRouter";
95
- export {
96
- deriveAuthPaths,
97
- getRouteAccess,
98
- partitionAdminRoutes,
99
- } from "./router/routeAccess";
100
- export type {
101
- AdminAppProps,
102
- AdminLayoutProps,
103
- AdminRouteChild,
104
- AppThemeProviderProps,
105
- AuthAdapter,
106
- LoginCredentials,
107
- AuthRedirects,
108
- CreateAdminRouterOptions,
109
- AuthAlternateLinkProps,
110
- AuthPageLayoutProps,
111
- LoginPageProps,
112
- NavItem,
113
- RouteAccess,
114
- ThemeDensity,
115
- ThemeMode,
116
- } from "./types";
117
- export {
118
- ResourceList,
119
- FilterBar,
120
- ResourceForm,
121
- ResourceFormModal,
122
- InlineFormSet,
123
- InlineFormSetStacked,
124
- FormTabs,
125
- FormTab,
126
- FormSteps,
127
- FormStep,
128
- saveInlineRows,
129
- loadInlineRows,
130
- TextField,
131
- NumberField,
132
- BooleanField,
133
- DateField,
134
- SelectField,
135
- PasswordField,
136
- ReferenceField,
137
- ReferenceManyField,
138
- FieldWrapper,
139
- TextColumn,
140
- NumberColumn,
141
- BooleanColumn,
142
- DateColumn,
143
- ReferenceColumn,
144
- ReferenceManyColumn,
145
- CustomColumn,
146
- TextFilter,
147
- NumberFilter,
148
- BooleanFilter,
149
- DateFilter,
150
- SelectFilter,
151
- ReferenceFilter,
152
- ReferenceManyFilter,
153
- useListQueryState,
154
- useChoices,
155
- useAbortableEffect,
156
- getByPath,
157
- pickBySources,
158
- inlineArrayName,
159
- inlineFieldName,
160
- useResourceListContext,
161
- useSubmitField,
162
- useSectionField,
163
- } from "./crud";
164
- export type {
165
- ResourceFormProps,
166
- ResourceFormInlineConfig,
167
- ResourceFormModalProps,
168
- InlineFormSetProps,
169
- InlineFormSetStackedProps,
170
- FormTabsProps,
171
- FormTabProps,
172
- FormStepsProps,
173
- FormStepProps,
174
- SaveInlineOptions,
175
- InlineFormSetLayout,
176
- ResourceListProps,
177
- BaseSourceProps,
178
- ChoiceOption,
179
- ChoicesLoader,
180
- ReferenceProps,
181
- DisplayProps,
182
- EditMode,
183
- FieldRules,
184
- InlineCellContext,
185
- InlineColumnDef,
186
- InlineFormSetBaseProps,
187
- InlineRowContext,
188
- FieldWrapperProps,
189
- ResourceListBuiltInActions,
190
- ResourceListBulkAction,
191
- ResourceListBulkActionHelpers,
192
- ResourceListRowActionsHelpers,
193
- ListQueryState,
194
- ListQueryActions,
195
- } from "./crud";
1
+ export { AdminApp } from "./app/AdminApp";
2
+ export { AdminLayout } from "./layouts/AdminLayout";
3
+ export {
4
+ AuthProvider,
5
+ createSessionStorageAuthAdapter,
6
+ useAuth,
7
+ type AuthProviderProps,
8
+ } from "./context/AuthProvider";
9
+ export {
10
+ DataProvider,
11
+ useDataProvider,
12
+ type DataProviderProps,
13
+ } from "./context/DataProvider";
14
+ export {
15
+ PermissionsProvider,
16
+ createPermissionsChecker,
17
+ useCan,
18
+ usePermissions,
19
+ type PermissionsProviderProps,
20
+ } from "./context/PermissionsProvider";
21
+ export {
22
+ AppThemeProvider,
23
+ useThemeMode,
24
+ } from "./context/AppThemeProvider";
25
+ export type {
26
+ CreateResult,
27
+ DataProvider as DataProviderContract,
28
+ DeleteResult,
29
+ GetListParams,
30
+ GetListResult,
31
+ GetOneParams,
32
+ GetOneResult,
33
+ Identifier,
34
+ PaginationParams,
35
+ SortOrder,
36
+ SortSpec,
37
+ UpdateParams,
38
+ UpdateResult,
39
+ FormMutation,
40
+ FormMutationBody,
41
+ FormValidationErrors,
42
+ ParseFormError,
43
+ ParseFormErrorContext,
44
+ } from "./data/dataProviderTypes";
45
+ export { combineResourceHandlers } from "./data/resourceHandlers";
46
+ export { isAbortError } from "./data/abortError";
47
+ export {
48
+ parseDjangoDRFFormErrors,
49
+ parseDotNetFormErrors,
50
+ parseNodeFormErrors,
51
+ getErrorBody,
52
+ resolveErrorBody,
53
+ flattenNestedArrayErrors,
54
+ asStringMessages,
55
+ finalizeFormErrors,
56
+ describeNonStandardValidationBody,
57
+ EXPECTED_VALIDATION_BODY_HINT,
58
+ } from "./data/parseFormErrorHelpers";
59
+ export type {
60
+ DotNetFormErrorOptions,
61
+ NodeFormErrorOptions,
62
+ } from "./data/parseFormErrorHelpers";
63
+ export { createMemoryResourceHandlers } from "./data/createMemoryResourceHandlers";
64
+ export { createRestResourceHandlers } from "./data/createRestResourceHandlers";
65
+ export type { RestResourceHandlersConfig } from "./data/createRestResourceHandlers";
66
+ export {
67
+ toDjangoRestOrdering,
68
+ toODataOrderBy,
69
+ toJsonApiSort,
70
+ } from "./data/sortHelpers";
71
+ export {
72
+ applyInMemoryListParams,
73
+ filterRows,
74
+ getById as getRowById,
75
+ } from "./data/inMemoryList";
76
+ export type {
77
+ CombineResourceHandlersOptions,
78
+ ResourceAction,
79
+ ResourceGuard,
80
+ ResourceHandlerEntry,
81
+ ResourceHandlerMap,
82
+ ResourceHandlers,
83
+ } from "./data/resourceHandlers";
84
+ export type { ResourcePermissions } from "./permissions/resourcePermissions";
85
+ export { filterNavByPermission } from "./permissions/resourcePermissions";
86
+ export type { MemoryResourceHandlersConfig } from "./data/createMemoryResourceHandlers";
87
+ export type { PermissionsChecker } from "./context/PermissionsProvider";
88
+ export { LoginPage } from "./pages/LoginPage";
89
+ export { PlaceholderPage } from "./pages/PlaceholderPage";
90
+ export { AuthPageLayout } from "./layouts/AuthPageLayout";
91
+ export {
92
+ AuthAlternateLink,
93
+ DensitySwitch,
94
+ ThemeSwitch,
95
+ ThemeToolbar,
96
+ } from "./components";
97
+ export { Guard, GuestOnly, Protected, RequirePermission } from "./router/guards";
98
+ export { createAdminRouter } from "./router/createAdminRouter";
99
+ export {
100
+ deriveAuthPaths,
101
+ getRouteAccess,
102
+ partitionAdminRoutes,
103
+ } from "./router/routeAccess";
104
+ export type {
105
+ AdminAppProps,
106
+ AdminLayoutProps,
107
+ AdminRouteChild,
108
+ AppThemeProviderProps,
109
+ AuthAdapter,
110
+ LoginCredentials,
111
+ AuthRedirects,
112
+ CreateAdminRouterOptions,
113
+ AuthAlternateLinkProps,
114
+ AuthPageLayoutProps,
115
+ LoginPageProps,
116
+ NavItem,
117
+ RouteAccess,
118
+ ThemeDensity,
119
+ ThemeMode,
120
+ } from "./types";
121
+ export {
122
+ ResourceList,
123
+ FilterBar,
124
+ ResourceForm,
125
+ ResourceFormModal,
126
+ InlineFormSet,
127
+ InlineFormSetStacked,
128
+ FormTabs,
129
+ FormTab,
130
+ FormSteps,
131
+ FormStep,
132
+ TextField,
133
+ NumberField,
134
+ BooleanField,
135
+ DateField,
136
+ SelectField,
137
+ PasswordField,
138
+ ReferenceField,
139
+ ReferenceManyField,
140
+ ImageField,
141
+ FileField,
142
+ FieldWrapper,
143
+ TextColumn,
144
+ NumberColumn,
145
+ BooleanColumn,
146
+ DateColumn,
147
+ ReferenceColumn,
148
+ ReferenceManyColumn,
149
+ ImageColumn,
150
+ CustomColumn,
151
+ TextFilter,
152
+ NumberFilter,
153
+ BooleanFilter,
154
+ DateFilter,
155
+ SelectFilter,
156
+ ReferenceFilter,
157
+ ReferenceManyFilter,
158
+ useListQueryState,
159
+ useChoices,
160
+ useAbortableEffect,
161
+ getFormValue,
162
+ setFormValue,
163
+ buildFormPayload,
164
+ buildInlineRowsPayload,
165
+ buildResourceFormSubmitBody,
166
+ prepareFormSubmitBody,
167
+ toFormData,
168
+ hasUploadValues,
169
+ nestedFieldPath,
170
+ useResourceListContext,
171
+ useRegisterPayloadField,
172
+ useRegisterSectionField,
173
+ } from "./crud";
174
+ export type {
175
+ ResourceFormProps,
176
+ ResourceFormModalProps,
177
+ InlineFormSetProps,
178
+ InlineFormSetStackedProps,
179
+ FormTabsProps,
180
+ FormTabProps,
181
+ FormStepsProps,
182
+ FormStepProps,
183
+ InlineFormSetLayout,
184
+ ResourceListProps,
185
+ BaseSourceProps,
186
+ ChoiceOption,
187
+ ChoicesLoader,
188
+ UseChoicesOptions,
189
+ ReferenceFieldProps,
190
+ ReferenceManyFieldProps,
191
+ DisplayProps,
192
+ EditMode,
193
+ FieldRules,
194
+ InlineCellContext,
195
+ InlineColumnDef,
196
+ InlineFormSetBaseProps,
197
+ InlineRowContext,
198
+ InlineFieldRegistration,
199
+ FieldWrapperProps,
200
+ ImageFieldProps,
201
+ FileFieldProps,
202
+ UploadFieldValue,
203
+ ToFormDataOptions,
204
+ PrepareFormSubmitBodyOptions,
205
+ ResourceListBuiltInActions,
206
+ ResourceListBulkAction,
207
+ ResourceListBulkActionHelpers,
208
+ ResourceListRowActionsHelpers,
209
+ ListQueryState,
210
+ ListQueryActions,
211
+ } from "./crud";