ding-react-admin 1.0.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 (237) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +74 -0
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.js +3067 -0
  5. package/dist/src/app/AdminApp.d.ts +7 -0
  6. package/dist/src/app/AdminApp.d.ts.map +1 -0
  7. package/dist/src/components/AuthAlternateLink.d.ts +7 -0
  8. package/dist/src/components/AuthAlternateLink.d.ts.map +1 -0
  9. package/dist/src/components/DensitySwitch.d.ts +2 -0
  10. package/dist/src/components/DensitySwitch.d.ts.map +1 -0
  11. package/dist/src/components/ThemeSwitch.d.ts +2 -0
  12. package/dist/src/components/ThemeSwitch.d.ts.map +1 -0
  13. package/dist/src/components/ThemeToolbar.d.ts +2 -0
  14. package/dist/src/components/ThemeToolbar.d.ts.map +1 -0
  15. package/dist/src/components/index.d.ts +5 -0
  16. package/dist/src/components/index.d.ts.map +1 -0
  17. package/dist/src/context/AppThemeProvider.d.ts +13 -0
  18. package/dist/src/context/AppThemeProvider.d.ts.map +1 -0
  19. package/dist/src/context/AuthProvider.d.ts +18 -0
  20. package/dist/src/context/AuthProvider.d.ts.map +1 -0
  21. package/dist/src/context/DataProvider.d.ts +10 -0
  22. package/dist/src/context/DataProvider.d.ts.map +1 -0
  23. package/dist/src/context/PermissionsProvider.d.ts +18 -0
  24. package/dist/src/context/PermissionsProvider.d.ts.map +1 -0
  25. package/dist/src/crud/FilterBar.d.ts +6 -0
  26. package/dist/src/crud/FilterBar.d.ts.map +1 -0
  27. package/dist/src/crud/FormSteps.d.ts +20 -0
  28. package/dist/src/crud/FormSteps.d.ts.map +1 -0
  29. package/dist/src/crud/FormTabs.d.ts +13 -0
  30. package/dist/src/crud/FormTabs.d.ts.map +1 -0
  31. package/dist/src/crud/InlineFormSet.d.ts +29 -0
  32. package/dist/src/crud/InlineFormSet.d.ts.map +1 -0
  33. package/dist/src/crud/ListActionsBar.d.ts +15 -0
  34. package/dist/src/crud/ListActionsBar.d.ts.map +1 -0
  35. package/dist/src/crud/ResourceForm.d.ts +21 -0
  36. package/dist/src/crud/ResourceForm.d.ts.map +1 -0
  37. package/dist/src/crud/ResourceFormModal.d.ts +10 -0
  38. package/dist/src/crud/ResourceFormModal.d.ts.map +1 -0
  39. package/dist/src/crud/ResourceList.d.ts +38 -0
  40. package/dist/src/crud/ResourceList.d.ts.map +1 -0
  41. package/dist/src/crud/columns/BooleanColumn.d.ts +6 -0
  42. package/dist/src/crud/columns/BooleanColumn.d.ts.map +1 -0
  43. package/dist/src/crud/columns/CustomColumn.d.ts +9 -0
  44. package/dist/src/crud/columns/CustomColumn.d.ts.map +1 -0
  45. package/dist/src/crud/columns/DateColumn.d.ts +6 -0
  46. package/dist/src/crud/columns/DateColumn.d.ts.map +1 -0
  47. package/dist/src/crud/columns/NumberColumn.d.ts +6 -0
  48. package/dist/src/crud/columns/NumberColumn.d.ts.map +1 -0
  49. package/dist/src/crud/columns/ReferenceColumn.d.ts +6 -0
  50. package/dist/src/crud/columns/ReferenceColumn.d.ts.map +1 -0
  51. package/dist/src/crud/columns/ReferenceManyColumn.d.ts +6 -0
  52. package/dist/src/crud/columns/ReferenceManyColumn.d.ts.map +1 -0
  53. package/dist/src/crud/columns/TextColumn.d.ts +7 -0
  54. package/dist/src/crud/columns/TextColumn.d.ts.map +1 -0
  55. package/dist/src/crud/context/FilterContext.d.ts +17 -0
  56. package/dist/src/crud/context/FilterContext.d.ts.map +1 -0
  57. package/dist/src/crud/context/FormContext.d.ts +16 -0
  58. package/dist/src/crud/context/FormContext.d.ts.map +1 -0
  59. package/dist/src/crud/context/FormFieldsContext.d.ts +14 -0
  60. package/dist/src/crud/context/FormFieldsContext.d.ts.map +1 -0
  61. package/dist/src/crud/context/FormSectionContext.d.ts +7 -0
  62. package/dist/src/crud/context/FormSectionContext.d.ts.map +1 -0
  63. package/dist/src/crud/context/InlineFormContext.d.ts +16 -0
  64. package/dist/src/crud/context/InlineFormContext.d.ts.map +1 -0
  65. package/dist/src/crud/context/ListContext.d.ts +22 -0
  66. package/dist/src/crud/context/ListContext.d.ts.map +1 -0
  67. package/dist/src/crud/fields/BooleanField.d.ts +7 -0
  68. package/dist/src/crud/fields/BooleanField.d.ts.map +1 -0
  69. package/dist/src/crud/fields/DateField.d.ts +8 -0
  70. package/dist/src/crud/fields/DateField.d.ts.map +1 -0
  71. package/dist/src/crud/fields/FieldWrapper.d.ts +29 -0
  72. package/dist/src/crud/fields/FieldWrapper.d.ts.map +1 -0
  73. package/dist/src/crud/fields/NumberField.d.ts +12 -0
  74. package/dist/src/crud/fields/NumberField.d.ts.map +1 -0
  75. package/dist/src/crud/fields/PasswordField.d.ts +11 -0
  76. package/dist/src/crud/fields/PasswordField.d.ts.map +1 -0
  77. package/dist/src/crud/fields/ReferenceField.d.ts +18 -0
  78. package/dist/src/crud/fields/ReferenceField.d.ts.map +1 -0
  79. package/dist/src/crud/fields/ReferenceManyField.d.ts +9 -0
  80. package/dist/src/crud/fields/ReferenceManyField.d.ts.map +1 -0
  81. package/dist/src/crud/fields/SelectField.d.ts +10 -0
  82. package/dist/src/crud/fields/SelectField.d.ts.map +1 -0
  83. package/dist/src/crud/fields/TextField.d.ts +10 -0
  84. package/dist/src/crud/fields/TextField.d.ts.map +1 -0
  85. package/dist/src/crud/fields/useInlineOrFormField.d.ts +10 -0
  86. package/dist/src/crud/fields/useInlineOrFormField.d.ts.map +1 -0
  87. package/dist/src/crud/filters/BooleanFilter.d.ts +4 -0
  88. package/dist/src/crud/filters/BooleanFilter.d.ts.map +1 -0
  89. package/dist/src/crud/filters/DateFilter.d.ts +4 -0
  90. package/dist/src/crud/filters/DateFilter.d.ts.map +1 -0
  91. package/dist/src/crud/filters/NumberFilter.d.ts +4 -0
  92. package/dist/src/crud/filters/NumberFilter.d.ts.map +1 -0
  93. package/dist/src/crud/filters/ReferenceFilter.d.ts +13 -0
  94. package/dist/src/crud/filters/ReferenceFilter.d.ts.map +1 -0
  95. package/dist/src/crud/filters/SelectFilter.d.ts +7 -0
  96. package/dist/src/crud/filters/SelectFilter.d.ts.map +1 -0
  97. package/dist/src/crud/filters/TextFilter.d.ts +6 -0
  98. package/dist/src/crud/filters/TextFilter.d.ts.map +1 -0
  99. package/dist/src/crud/index.d.ts +44 -0
  100. package/dist/src/crud/index.d.ts.map +1 -0
  101. package/dist/src/crud/types.d.ts +99 -0
  102. package/dist/src/crud/types.d.ts.map +1 -0
  103. package/dist/src/crud/utils/formErrors.d.ts +9 -0
  104. package/dist/src/crud/utils/formErrors.d.ts.map +1 -0
  105. package/dist/src/crud/utils/formSectionErrors.d.ts +6 -0
  106. package/dist/src/crud/utils/formSectionErrors.d.ts.map +1 -0
  107. package/dist/src/crud/utils/getByPath.d.ts +3 -0
  108. package/dist/src/crud/utils/getByPath.d.ts.map +1 -0
  109. package/dist/src/crud/utils/inlineArrayName.d.ts +3 -0
  110. package/dist/src/crud/utils/inlineArrayName.d.ts.map +1 -0
  111. package/dist/src/crud/utils/pickBySources.d.ts +6 -0
  112. package/dist/src/crud/utils/pickBySources.d.ts.map +1 -0
  113. package/dist/src/crud/utils/setByPath.d.ts +3 -0
  114. package/dist/src/crud/utils/setByPath.d.ts.map +1 -0
  115. package/dist/src/crud/utils/sortQueryParam.d.ts +7 -0
  116. package/dist/src/crud/utils/sortQueryParam.d.ts.map +1 -0
  117. package/dist/src/crud/utils/useChoices.d.ts +10 -0
  118. package/dist/src/crud/utils/useChoices.d.ts.map +1 -0
  119. package/dist/src/crud/utils/useListQueryState.d.ts +22 -0
  120. package/dist/src/crud/utils/useListQueryState.d.ts.map +1 -0
  121. package/dist/src/data/createMemoryResourceHandlers.d.ts +23 -0
  122. package/dist/src/data/createMemoryResourceHandlers.d.ts.map +1 -0
  123. package/dist/src/data/createRestResourceHandlers.d.ts +22 -0
  124. package/dist/src/data/createRestResourceHandlers.d.ts.map +1 -0
  125. package/dist/src/data/dataProviderTypes.d.ts +67 -0
  126. package/dist/src/data/dataProviderTypes.d.ts.map +1 -0
  127. package/dist/src/data/dataUtils.test.d.ts +2 -0
  128. package/dist/src/data/dataUtils.test.d.ts.map +1 -0
  129. package/dist/src/data/inMemoryList.d.ts +12 -0
  130. package/dist/src/data/inMemoryList.d.ts.map +1 -0
  131. package/dist/src/data/parseFormErrorHelpers.d.ts +35 -0
  132. package/dist/src/data/parseFormErrorHelpers.d.ts.map +1 -0
  133. package/dist/src/data/parseFormErrorHelpers.test.d.ts +2 -0
  134. package/dist/src/data/parseFormErrorHelpers.test.d.ts.map +1 -0
  135. package/dist/src/data/resourceHandlers.d.ts +33 -0
  136. package/dist/src/data/resourceHandlers.d.ts.map +1 -0
  137. package/dist/src/data/sortHelpers.d.ts +17 -0
  138. package/dist/src/data/sortHelpers.d.ts.map +1 -0
  139. package/dist/src/index.d.ts +31 -0
  140. package/dist/src/index.d.ts.map +1 -0
  141. package/dist/src/layouts/AdminLayout.d.ts +3 -0
  142. package/dist/src/layouts/AdminLayout.d.ts.map +1 -0
  143. package/dist/src/layouts/AuthPageLayout.d.ts +11 -0
  144. package/dist/src/layouts/AuthPageLayout.d.ts.map +1 -0
  145. package/dist/src/pages/LoginPage.d.ts +3 -0
  146. package/dist/src/pages/LoginPage.d.ts.map +1 -0
  147. package/dist/src/pages/PlaceholderPage.d.ts +4 -0
  148. package/dist/src/pages/PlaceholderPage.d.ts.map +1 -0
  149. package/dist/src/permissions/resourcePermissions.d.ts +22 -0
  150. package/dist/src/permissions/resourcePermissions.d.ts.map +1 -0
  151. package/dist/src/router/createAdminRouter.d.ts +3 -0
  152. package/dist/src/router/createAdminRouter.d.ts.map +1 -0
  153. package/dist/src/router/guards.d.ts +20 -0
  154. package/dist/src/router/guards.d.ts.map +1 -0
  155. package/dist/src/router/routeAccess.d.ts +21 -0
  156. package/dist/src/router/routeAccess.d.ts.map +1 -0
  157. package/dist/src/types.d.ts +123 -0
  158. package/dist/src/types.d.ts.map +1 -0
  159. package/package.json +58 -0
  160. package/src/app/AdminApp.tsx +34 -0
  161. package/src/components/AuthAlternateLink.tsx +23 -0
  162. package/src/components/DensitySwitch.tsx +31 -0
  163. package/src/components/ThemeSwitch.tsx +28 -0
  164. package/src/components/ThemeToolbar.tsx +34 -0
  165. package/src/components/index.ts +4 -0
  166. package/src/context/AppThemeProvider.tsx +128 -0
  167. package/src/context/AuthProvider.tsx +77 -0
  168. package/src/context/DataProvider.tsx +30 -0
  169. package/src/context/PermissionsProvider.tsx +57 -0
  170. package/src/crud/FilterBar.tsx +36 -0
  171. package/src/crud/FormSteps.tsx +135 -0
  172. package/src/crud/FormTabs.tsx +126 -0
  173. package/src/crud/InlineFormSet.tsx +231 -0
  174. package/src/crud/ListActionsBar.tsx +106 -0
  175. package/src/crud/ResourceForm.tsx +281 -0
  176. package/src/crud/ResourceFormModal.tsx +121 -0
  177. package/src/crud/ResourceList.tsx +633 -0
  178. package/src/crud/columns/BooleanColumn.tsx +32 -0
  179. package/src/crud/columns/CustomColumn.tsx +33 -0
  180. package/src/crud/columns/DateColumn.tsx +28 -0
  181. package/src/crud/columns/NumberColumn.tsx +31 -0
  182. package/src/crud/columns/ReferenceColumn.tsx +85 -0
  183. package/src/crud/columns/ReferenceManyColumn.tsx +67 -0
  184. package/src/crud/columns/TextColumn.tsx +38 -0
  185. package/src/crud/context/FilterContext.tsx +71 -0
  186. package/src/crud/context/FormContext.tsx +39 -0
  187. package/src/crud/context/FormFieldsContext.tsx +76 -0
  188. package/src/crud/context/FormSectionContext.tsx +22 -0
  189. package/src/crud/context/InlineFormContext.tsx +71 -0
  190. package/src/crud/context/ListContext.tsx +93 -0
  191. package/src/crud/fields/BooleanField.tsx +32 -0
  192. package/src/crud/fields/DateField.tsx +47 -0
  193. package/src/crud/fields/FieldWrapper.tsx +109 -0
  194. package/src/crud/fields/NumberField.tsx +50 -0
  195. package/src/crud/fields/PasswordField.tsx +98 -0
  196. package/src/crud/fields/ReferenceField.tsx +191 -0
  197. package/src/crud/fields/ReferenceManyField.tsx +70 -0
  198. package/src/crud/fields/SelectField.tsx +42 -0
  199. package/src/crud/fields/TextField.tsx +44 -0
  200. package/src/crud/fields/useInlineOrFormField.tsx +91 -0
  201. package/src/crud/filters/BooleanFilter.tsx +38 -0
  202. package/src/crud/filters/DateFilter.tsx +35 -0
  203. package/src/crud/filters/NumberFilter.tsx +33 -0
  204. package/src/crud/filters/ReferenceFilter.tsx +173 -0
  205. package/src/crud/filters/SelectFilter.tsx +44 -0
  206. package/src/crud/filters/TextFilter.tsx +36 -0
  207. package/src/crud/index.ts +73 -0
  208. package/src/crud/types.ts +130 -0
  209. package/src/crud/utils/formErrors.ts +38 -0
  210. package/src/crud/utils/formSectionErrors.ts +85 -0
  211. package/src/crud/utils/getByPath.ts +13 -0
  212. package/src/crud/utils/inlineArrayName.ts +4 -0
  213. package/src/crud/utils/pickBySources.ts +24 -0
  214. package/src/crud/utils/setByPath.ts +18 -0
  215. package/src/crud/utils/sortQueryParam.ts +37 -0
  216. package/src/crud/utils/useChoices.ts +182 -0
  217. package/src/crud/utils/useListQueryState.ts +191 -0
  218. package/src/data/createMemoryResourceHandlers.ts +78 -0
  219. package/src/data/createRestResourceHandlers.ts +57 -0
  220. package/src/data/dataProviderTypes.ts +101 -0
  221. package/src/data/dataUtils.test.ts +108 -0
  222. package/src/data/inMemoryList.ts +97 -0
  223. package/src/data/parseFormErrorHelpers.test.ts +84 -0
  224. package/src/data/parseFormErrorHelpers.ts +224 -0
  225. package/src/data/resourceHandlers.ts +124 -0
  226. package/src/data/sortHelpers.ts +48 -0
  227. package/src/index.ts +182 -0
  228. package/src/layouts/AdminLayout.tsx +381 -0
  229. package/src/layouts/AuthPageLayout.tsx +81 -0
  230. package/src/pages/LoginPage.tsx +80 -0
  231. package/src/pages/PlaceholderPage.tsx +9 -0
  232. package/src/permissions/resourcePermissions.ts +47 -0
  233. package/src/router/createAdminRouter.tsx +64 -0
  234. package/src/router/guards.tsx +63 -0
  235. package/src/router/routeAccess.ts +89 -0
  236. package/src/types.ts +135 -0
  237. package/src/vite-env.d.ts +1 -0
@@ -0,0 +1,7 @@
1
+ import { AdminAppProps } from '../types';
2
+ /**
3
+ * Declarative admin shell: theme, router, and layout from your route list.
4
+ * Wrap in `<AuthProvider adapter={...}>` — auth is not configured on this component.
5
+ */
6
+ export declare function AdminApp({ navItems, routes, authRedirects, layoutProps, theme: themeKeys, }: AdminAppProps): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=AdminApp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminApp.d.ts","sourceRoot":"","sources":["../../../src/app/AdminApp.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,MAAM,EACN,aAAa,EACb,WAAW,EACX,KAAK,EAAE,SAAS,GACjB,EAAE,aAAa,2CAiBf"}
@@ -0,0 +1,7 @@
1
+ export type AuthAlternateLinkProps = {
2
+ prompt: string;
3
+ linkText: string;
4
+ to: string;
5
+ };
6
+ export declare function AuthAlternateLink({ prompt, linkText, to, }: AuthAlternateLinkProps): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=AuthAlternateLink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthAlternateLink.d.ts","sourceRoot":"","sources":["../../../src/components/AuthAlternateLink.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,QAAQ,EACR,EAAE,GACH,EAAE,sBAAsB,2CASxB"}
@@ -0,0 +1,2 @@
1
+ export declare function DensitySwitch(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=DensitySwitch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DensitySwitch.d.ts","sourceRoot":"","sources":["../../../src/components/DensitySwitch.tsx"],"names":[],"mappings":"AAmBA,wBAAgB,aAAa,4CAW5B"}
@@ -0,0 +1,2 @@
1
+ export declare function ThemeSwitch(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=ThemeSwitch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeSwitch.d.ts","sourceRoot":"","sources":["../../../src/components/ThemeSwitch.tsx"],"names":[],"mappings":"AAgBA,wBAAgB,WAAW,4CAW1B"}
@@ -0,0 +1,2 @@
1
+ export declare function ThemeToolbar(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=ThemeToolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/ThemeToolbar.tsx"],"names":[],"mappings":"AAKA,wBAAgB,YAAY,4CA4B3B"}
@@ -0,0 +1,5 @@
1
+ export { AuthAlternateLink } from './AuthAlternateLink';
2
+ export { ThemeToolbar } from './ThemeToolbar';
3
+ export { ThemeSwitch } from './ThemeSwitch';
4
+ export { DensitySwitch } from './DensitySwitch';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { AppThemeProviderProps, ThemeDensity, ThemeMode } from '../types';
2
+ export type { ThemeDensity, ThemeMode };
3
+ type ThemeContextValue = {
4
+ mode: ThemeMode;
5
+ setMode: (mode: ThemeMode) => void;
6
+ /** Resolved appearance for Ant Design (`system` → OS preference). */
7
+ resolved: "light" | "dark";
8
+ density: ThemeDensity;
9
+ setDensity: (density: ThemeDensity) => void;
10
+ };
11
+ export declare function AppThemeProvider({ children, modeStorageKey, densityStorageKey, }: AppThemeProviderProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function useThemeMode(): ThemeContextValue;
13
+ //# sourceMappingURL=AppThemeProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppThemeProvider.d.ts","sourceRoot":"","sources":["../../../src/context/AppThemeProvider.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,qBAAqB,EACrB,YAAY,EACZ,SAAS,EACV,MAAM,UAAU,CAAC;AAElB,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;AAExC,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACnC,qEAAqE;IACrE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;CAC7C,CAAC;AA+BF,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,cAAiC,EACjC,iBAAuC,GACxC,EAAE,qBAAqB,2CA8DvB;AAED,wBAAgB,YAAY,sBAK3B"}
@@ -0,0 +1,18 @@
1
+ import { ReactNode } from 'react';
2
+ import { AuthAdapter, LoginCredentials } from '../types';
3
+ type AuthContextValue = {
4
+ isAuthenticated: boolean;
5
+ login: (credentials: LoginCredentials) => Promise<void>;
6
+ logout: () => void;
7
+ };
8
+ export type AuthProviderProps = {
9
+ children: ReactNode;
10
+ /** How login, logout, and token reads are implemented (API, sessionStorage, etc.). */
11
+ adapter: AuthAdapter;
12
+ };
13
+ export declare function AuthProvider({ children, adapter }: AuthProviderProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function useAuth(): AuthContextValue;
15
+ /** Store a non-empty token string in `sessionStorage` when “logged in”. */
16
+ export declare function createSessionStorageAuthAdapter(storageKey?: string): AuthAdapter;
17
+ export {};
18
+ //# sourceMappingURL=AuthProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../../../src/context/AuthProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE9D,KAAK,gBAAgB,GAAG;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,CAAC,WAAW,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAIF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,SAAS,CAAC;IACpB,sFAAsF;IACtF,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,iBAAiB,2CA0BpE;AAED,wBAAgB,OAAO,qBAItB;AAID,2EAA2E;AAC3E,wBAAgB,+BAA+B,CAC7C,UAAU,GAAE,MAA4B,GACvC,WAAW,CAab"}
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from 'react';
2
+ import { DataProvider as DataProviderContract } from '../data/dataProviderTypes';
3
+ export type DataProviderProps = {
4
+ children: ReactNode;
5
+ /** Your API client (REST adapter, in-memory mock, etc.). */
6
+ value: DataProviderContract;
7
+ };
8
+ export declare function DataProvider({ children, value }: DataProviderProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function useDataProvider(): DataProviderContract;
10
+ //# sourceMappingURL=DataProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataProvider.d.ts","sourceRoot":"","sources":["../../../src/context/DataProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAItF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,SAAS,CAAC;IACpB,4DAA4D;IAC5D,KAAK,EAAE,oBAAoB,CAAC;CAC7B,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,iBAAiB,2CAKlE;AAED,wBAAgB,eAAe,yBAM9B"}
@@ -0,0 +1,18 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * Check whether the current user has a permission string from your backend.
4
+ * Example: `can("users.create")` or `can("main.add_user")`.
5
+ */
6
+ export type PermissionsChecker = (permission: string) => boolean;
7
+ export type PermissionsProviderProps = {
8
+ children: ReactNode;
9
+ /** Return true if the current user has this permission string. */
10
+ can: PermissionsChecker;
11
+ };
12
+ export declare function PermissionsProvider({ children, can, }: PermissionsProviderProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function usePermissions(): PermissionsChecker;
14
+ /** Build a `can(permission)` checker from the user's permission strings (e.g. from login). */
15
+ export declare function createPermissionsChecker(getPermissions: () => string[] | undefined): PermissionsChecker;
16
+ /** Convenience: `const allowed = useCan("users.create")();` */
17
+ export declare function useCan(permission: string): () => boolean;
18
+ //# sourceMappingURL=PermissionsProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermissionsProvider.d.ts","sourceRoot":"","sources":["../../../src/context/PermissionsProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;AAIjE,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,SAAS,CAAC;IACpB,kEAAkE;IAClE,GAAG,EAAE,kBAAkB,CAAC;CACzB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,GAAG,GACJ,EAAE,wBAAwB,2CAO1B;AAED,wBAAgB,cAAc,IAAI,kBAAkB,CAQnD;AAED,8FAA8F;AAC9F,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,MAAM,MAAM,EAAE,GAAG,SAAS,GACzC,kBAAkB,CAGpB;AAED,+DAA+D;AAC/D,wBAAgB,MAAM,CAAC,UAAU,EAAE,MAAM,iBAGxC"}
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ /** Wrap filter field components; renders filter controls above the table. */
3
+ export declare function FilterBar({ children }: {
4
+ children: ReactNode;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=FilterBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterBar.d.ts","sourceRoot":"","sources":["../../../src/crud/FilterBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA0BvC,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAO9D"}
@@ -0,0 +1,20 @@
1
+ import { StepsProps } from 'antd';
2
+ import { CSSProperties, ReactNode } from 'react';
3
+ export type FormStepProps = {
4
+ title: ReactNode;
5
+ description?: ReactNode;
6
+ children: ReactNode;
7
+ };
8
+ export declare function FormStep(_props: FormStepProps): null;
9
+ export type FormStepsProps = {
10
+ children: ReactNode;
11
+ initialStep?: number;
12
+ /** Show Previous / Next controls below the active step. Default true. */
13
+ showNavigation?: boolean;
14
+ /** Allow clicking step headers to change the active step. Default false. */
15
+ allowStepSelect?: boolean;
16
+ stepsStyle?: CSSProperties;
17
+ navigationStyle?: CSSProperties;
18
+ } & Partial<Pick<StepsProps, "size" | "direction" | "type" | "status">>;
19
+ export declare function FormSteps({ children, initialStep, showNavigation, allowStepSelect, stepsStyle, navigationStyle, size, direction, type, status, }: FormStepsProps): import("react/jsx-runtime").JSX.Element;
20
+ //# sourceMappingURL=FormSteps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormSteps.d.ts","sourceRoot":"","sources":["../../../src/crud/FormSteps.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAC7D,OAAO,EAML,KAAK,aAAa,EAElB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AASf,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,aAAa,QAE7C;AAMD,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,eAAe,CAAC,EAAE,aAAa,CAAC;CACjC,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;AAExE,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,WAAe,EACf,cAAqB,EACrB,eAAuB,EACvB,UAAU,EACV,eAAe,EACf,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,MAAM,GACP,EAAE,cAAc,2CA+EhB"}
@@ -0,0 +1,13 @@
1
+ import { TabsProps } from 'antd';
2
+ import { ReactNode } from 'react';
3
+ export type FormTabProps = {
4
+ label: ReactNode;
5
+ children: ReactNode;
6
+ disabled?: boolean;
7
+ };
8
+ export declare function FormTab(_props: FormTabProps): null;
9
+ export type FormTabsProps = Omit<TabsProps, "items"> & {
10
+ children: ReactNode;
11
+ };
12
+ export declare function FormTabs({ children, defaultActiveKey, activeKey: controlledActiveKey, onChange, ...tabsProps }: FormTabsProps): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=FormTabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormTabs.d.ts","sourceRoot":"","sources":["../../../src/crud/FormTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,MAAM,CAAC;AACnD,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AASf,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,OAAO,CAAC,MAAM,EAAE,YAAY,QAE3C;AAMD,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG;IACrD,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,EACvB,QAAQ,EACR,gBAAgB,EAChB,SAAS,EAAE,mBAAmB,EAC9B,QAAQ,EACR,GAAG,SAAS,EACb,EAAE,aAAa,2CAmFf"}
@@ -0,0 +1,29 @@
1
+ import { ReactNode } from 'react';
2
+ import { InlineFormSetLayout } from './context/InlineFormContext';
3
+ import { Identifier, DataProvider } from '../data/dataProviderTypes';
4
+ export type { InlineFormSetLayout } from './context/InlineFormContext';
5
+ export type InlineFormSetProps = {
6
+ resource: string;
7
+ foreignKey: string;
8
+ label?: string;
9
+ children: ReactNode;
10
+ name?: string;
11
+ /** `tabular` (default) — Django TabularInline; `stacked` — Django StackedInline. */
12
+ layout?: InlineFormSetLayout;
13
+ };
14
+ export declare function InlineFormSet({ resource, label, children, name, layout, }: InlineFormSetProps): import("react/jsx-runtime").JSX.Element;
15
+ export type SaveInlineOptions = {
16
+ resource: string;
17
+ foreignKey: string;
18
+ parentId: Identifier;
19
+ rows: Record<string, unknown>[];
20
+ existingIds?: Identifier[];
21
+ /** Return true when the error was handled (field errors applied). Stops saving further rows. */
22
+ onRowError?: (error: unknown, index: number) => boolean;
23
+ };
24
+ export declare function saveInlineRows(dp: DataProvider, opts: SaveInlineOptions): Promise<boolean>;
25
+ export declare function loadInlineRows(dp: DataProvider, resource: string, foreignKey: string, parentId: Identifier): Promise<{
26
+ rows: Record<string, unknown>[];
27
+ ids: Identifier[];
28
+ }>;
29
+ //# sourceMappingURL=InlineFormSet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InlineFormSet.d.ts","sourceRoot":"","sources":["../../../src/crud/InlineFormSet.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,YAAY,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B,CAAC;AA8HF,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,MAAkB,GACnB,EAAE,kBAAkB,2CAapB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,gGAAgG;IAChG,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;CACzD,CAAC;AAEF,wBAAsB,cAAc,CAClC,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,OAAO,CAAC,CAgClB;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,YAAY,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,UAAU;UAOA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;;GAG9C"}
@@ -0,0 +1,15 @@
1
+ import { ResourceListBulkAction } from './types';
2
+ export type ListActionsBarProps = {
3
+ selectedCount: number;
4
+ total: number;
5
+ allPageSelected: boolean;
6
+ allMatchingSelected: boolean;
7
+ onSelectAllMatching: () => void;
8
+ onClearSelection: () => void;
9
+ actions: ResourceListBulkAction[];
10
+ onExecute: (action: ResourceListBulkAction, selectedIds: (string | number)[]) => Promise<void>;
11
+ selectedIds: (string | number)[];
12
+ running?: boolean;
13
+ };
14
+ export declare function ListActionsBar({ selectedCount, total, allPageSelected, allMatchingSelected, onSelectAllMatching, onClearSelection, actions, onExecute, selectedIds, running, }: ListActionsBarProps): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=ListActionsBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListActionsBar.d.ts","sourceRoot":"","sources":["../../../src/crud/ListActionsBar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,SAAS,EAAE,CACT,MAAM,EAAE,sBAAsB,EAC9B,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAC7B,aAAa,EACb,KAAK,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,SAAS,EACT,WAAW,EACX,OAAe,GAChB,EAAE,mBAAmB,2CA0ErB"}
@@ -0,0 +1,21 @@
1
+ import { FieldValues } from 'react-hook-form';
2
+ import { ReactNode } from 'react';
3
+ import { ResourcePermissions } from '../permissions/resourcePermissions';
4
+ import { InlineFormSetProps } from './InlineFormSet';
5
+ export type ResourceFormInlineConfig = Pick<InlineFormSetProps, "resource" | "foreignKey" | "name">;
6
+ export type ResourceFormProps<T extends FieldValues> = {
7
+ resource: string;
8
+ title: string;
9
+ listPath: string;
10
+ children: ReactNode;
11
+ defaultValues?: Partial<T>;
12
+ onSaved?: (record: T) => void;
13
+ stayOnPage?: boolean;
14
+ inlines?: ResourceFormInlineConfig[];
15
+ /** Permission strings for create vs edit. Omit to allow all (demos only). */
16
+ permissions?: Pick<ResourcePermissions, "add" | "change">;
17
+ };
18
+ export declare function ResourceForm<T extends FieldValues & {
19
+ id?: unknown;
20
+ }>({ resource, title, listPath, children, defaultValues, onSaved, stayOnPage, inlines, permissions, }: ResourceFormProps<T>): import("react/jsx-runtime").JSX.Element;
21
+ //# sourceMappingURL=ResourceForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceForm.d.ts","sourceRoot":"","sources":["../../../src/crud/ResourceForm.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAA4C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAK9E,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,iBAAiB,CAAC;AAIzB,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,kBAAkB,EAClB,UAAU,GAAG,YAAY,GAAG,MAAM,CACnC,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,WAAW,IAAI;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACrC,6EAA6E;IAC7E,WAAW,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;CAC3D,CAAC;AAMF,wBAAgB,YAAY,CAAC,CAAC,SAAS,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,EACrE,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,OAAO,EACP,UAAU,EACV,OAAO,EACP,WAAW,GACZ,EAAE,iBAAiB,CAAC,CAAC,CAAC,2CA+NtB"}
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from 'react';
2
+ export type ResourceFormModalProps = {
3
+ resource: string;
4
+ editId: string | null;
5
+ onClose: () => void;
6
+ children: ReactNode;
7
+ title?: string;
8
+ };
9
+ export declare function ResourceFormModal({ resource, editId, onClose, children, title, }: ResourceFormModalProps): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=ResourceFormModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceFormModal.d.ts","sourceRoot":"","sources":["../../../src/crud/ResourceFormModal.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA4C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAOjF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,MAAM,EACN,OAAO,EACP,QAAQ,EACR,KAAK,GACN,EAAE,sBAAsB,2CA4FxB"}
@@ -0,0 +1,38 @@
1
+ import { ReactNode } from 'react';
2
+ import { ResourcePermissions } from '../permissions/resourcePermissions';
3
+ import { EditMode, ResourceListBuiltInActions, ResourceListBulkAction, ResourceListRowActionsHelpers } from './types';
4
+ type ResourceListContextValue = {
5
+ filterValues: Record<string, unknown>;
6
+ setFilterValue: (source: string, value: unknown) => void;
7
+ };
8
+ export declare function useResourceListContext(): ResourceListContextValue | null;
9
+ export type ResourceListProps = {
10
+ resource: string;
11
+ title: string;
12
+ pathPrefix: string;
13
+ newPath?: string;
14
+ /** Merged into every list request (not synced to URL). */
15
+ staticFilter?: Record<string, unknown>;
16
+ editMode?: EditMode;
17
+ syncQueryParams?: boolean;
18
+ children: ReactNode;
19
+ /** Form fields rendered inside create/edit modal. */
20
+ formChildren?: ReactNode;
21
+ /** Show/hide built-in Edit, Quick edit, and Delete actions (permissions still apply). */
22
+ actions?: ResourceListBuiltInActions;
23
+ /** Extra row actions rendered after built-in ones in the Actions column. */
24
+ rowActions?: (row: Record<string, unknown>, helpers: ResourceListRowActionsHelpers) => ReactNode;
25
+ /** Extra card header content, rendered before New / New page buttons. */
26
+ headerExtra?: ReactNode;
27
+ /** Extra bulk actions in the Django-style action bar (appended after built-ins). */
28
+ bulkActions?: ResourceListBulkAction[];
29
+ /** Show built-in "Delete selected" when user has delete permission. Default true. */
30
+ bulkDelete?: boolean;
31
+ /** Set false to hide row checkboxes and the bulk action bar. Default true. */
32
+ bulkActionsEnabled?: boolean;
33
+ /** Permission strings for built-in actions. Omit to allow all (demos only). */
34
+ permissions?: ResourcePermissions;
35
+ };
36
+ export declare function ResourceList({ resource, title, pathPrefix, newPath, staticFilter, editMode, syncQueryParams, children, formChildren, actions, rowActions, headerExtra, bulkActions, bulkDelete, bulkActionsEnabled, permissions, }: ResourceListProps): import("react/jsx-runtime").JSX.Element;
37
+ export {};
38
+ //# sourceMappingURL=ResourceList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceList.d.ts","sourceRoot":"","sources":["../../../src/crud/ResourceList.tsx"],"names":[],"mappings":"AAOA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAM9E,OAAO,KAAK,EACV,QAAQ,EACR,0BAA0B,EAC1B,sBAAsB,EAEtB,6BAA6B,EAC9B,MAAM,SAAS,CAAC;AAGjB,KAAK,wBAAwB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1D,CAAC;AAMF,wBAAgB,sBAAsB,oCAErC;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,qDAAqD;IACrD,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,yFAAyF;IACzF,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,4EAA4E;IAC5E,UAAU,CAAC,EAAE,CACX,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,6BAA6B,KACnC,SAAS,CAAC;IACf,yEAAyE;IACzE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,oFAAoF;IACpF,WAAW,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACvC,qFAAqF;IACrF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,+EAA+E;IAC/E,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC,CAAC;AAkeF,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,KAAK,EACL,UAAU,EACV,OAAO,EACP,YAAY,EACZ,QAAiB,EACjB,eAAsB,EACtB,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,UAAU,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,WAAW,GACZ,EAAE,iBAAiB,2CAwDnB"}
@@ -0,0 +1,6 @@
1
+ import { BaseSourceProps } from '../types';
2
+ export type BooleanColumnProps = BaseSourceProps & {
3
+ sortable?: boolean;
4
+ };
5
+ export declare function BooleanColumn({ source, label, sortable, }: BooleanColumnProps): null;
6
+ //# sourceMappingURL=BooleanColumn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BooleanColumn.d.ts","sourceRoot":"","sources":["../../../../src/crud/columns/BooleanColumn.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhD,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,KAAK,EACL,QAAe,GAChB,EAAE,kBAAkB,QAmBpB"}
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ export type CustomColumnProps = {
3
+ source: string;
4
+ label?: string;
5
+ sortable?: boolean;
6
+ render: (record: Record<string, unknown>) => ReactNode;
7
+ };
8
+ export declare function CustomColumn({ source, label, sortable, render, }: CustomColumnProps): null;
9
+ //# sourceMappingURL=CustomColumn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomColumn.d.ts","sourceRoot":"","sources":["../../../../src/crud/columns/CustomColumn.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGhD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC;CACxD,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,KAAK,EACL,QAAgB,EAChB,MAAM,GACP,EAAE,iBAAiB,QAiBnB"}
@@ -0,0 +1,6 @@
1
+ import { BaseSourceProps } from '../types';
2
+ export type DateColumnProps = BaseSourceProps & {
3
+ sortable?: boolean;
4
+ };
5
+ export declare function DateColumn({ source, label, sortable }: DateColumnProps): null;
6
+ //# sourceMappingURL=DateColumn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateColumn.d.ts","sourceRoot":"","sources":["../../../../src/crud/columns/DateColumn.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhD,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAe,EAAE,EAAE,eAAe,QAmB7E"}
@@ -0,0 +1,6 @@
1
+ import { BaseSourceProps } from '../types';
2
+ export type NumberColumnProps = BaseSourceProps & {
3
+ sortable?: boolean;
4
+ };
5
+ export declare function NumberColumn({ source, label, sortable, }: NumberColumnProps): null;
6
+ //# sourceMappingURL=NumberColumn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberColumn.d.ts","sourceRoot":"","sources":["../../../../src/crud/columns/NumberColumn.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhD,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAAG;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,KAAK,EACL,QAAe,GAChB,EAAE,iBAAiB,QAkBnB"}
@@ -0,0 +1,6 @@
1
+ import { BaseSourceProps, DisplayProps, ReferenceProps } from '../types';
2
+ export type ReferenceColumnProps = BaseSourceProps & ReferenceProps & DisplayProps & {
3
+ sortable?: boolean;
4
+ };
5
+ export declare function ReferenceColumn({ source, label, reference, choices, optionLabel, optionValue, display, sortable, }: ReferenceColumnProps): null;
6
+ //# sourceMappingURL=ReferenceColumn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReferenceColumn.d.ts","sourceRoot":"","sources":["../../../../src/crud/columns/ReferenceColumn.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAK9E,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAChD,cAAc,GACd,YAAY,GAAG;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AA0BJ,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,KAAK,EACL,SAAS,EACT,OAAO,EACP,WAAoB,EACpB,WAAkB,EAClB,OAAO,EACP,QAAe,GAChB,EAAE,oBAAoB,QAuCtB"}
@@ -0,0 +1,6 @@
1
+ import { BaseSourceProps, DisplayProps, ReferenceProps } from '../types';
2
+ export type ReferenceManyColumnProps = BaseSourceProps & ReferenceProps & DisplayProps & {
3
+ sortable?: boolean;
4
+ };
5
+ export declare function ReferenceManyColumn({ source, label, reference, choices, optionLabel, optionValue, sortable, }: ReferenceManyColumnProps): null;
6
+ //# sourceMappingURL=ReferenceManyColumn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReferenceManyColumn.d.ts","sourceRoot":"","sources":["../../../../src/crud/columns/ReferenceManyColumn.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI9E,MAAM,MAAM,wBAAwB,GAAG,eAAe,GACpD,cAAc,GACd,YAAY,GAAG;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAqBJ,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,KAAK,EACL,SAAS,EACT,OAAO,EACP,WAAoB,EACpB,WAAkB,EAClB,QAAgB,GACjB,EAAE,wBAAwB,QA4B1B"}
@@ -0,0 +1,7 @@
1
+ import { BaseSourceProps } from '../types';
2
+ export type TextColumnProps = BaseSourceProps & {
3
+ sortable?: boolean;
4
+ };
5
+ export declare function TextColumn({ source, label, sortable }: TextColumnProps): null;
6
+ export declare function renderDisplayValue(record: Record<string, unknown>, source: string, display?: string | ((record: Record<string, unknown>) => unknown)): unknown;
7
+ //# sourceMappingURL=TextColumn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextColumn.d.ts","sourceRoot":"","sources":["../../../../src/crud/columns/TextColumn.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAIhD,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAe,EAAE,EAAE,eAAe,QAkB7E;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,GAChE,OAAO,CAIT"}
@@ -0,0 +1,17 @@
1
+ import { ReactNode } from 'react';
2
+ import { FilterDefinition } from '../types';
3
+ type FilterContextValue = {
4
+ registerFilter: (def: FilterDefinition) => () => void;
5
+ filters: FilterDefinition[];
6
+ values: Record<string, unknown>;
7
+ setFilterValue: (source: string, value: unknown) => void;
8
+ };
9
+ export declare function FilterContextProvider({ children, values, setFilterValue, }: {
10
+ children: ReactNode;
11
+ values: Record<string, unknown>;
12
+ setFilterValue: (source: string, value: unknown) => void;
13
+ }): import("react/jsx-runtime").JSX.Element;
14
+ export declare function useFilterContext(): FilterContextValue | null;
15
+ export declare function useRegisterFilter(def: FilterDefinition): void;
16
+ export {};
17
+ //# sourceMappingURL=FilterContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterContext.d.ts","sourceRoot":"","sources":["../../../../src/crud/context/FilterContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,KAAK,kBAAkB,GAAG;IACxB,cAAc,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,MAAM,IAAI,CAAC;IACtD,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1D,CAAC;AAIF,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,MAAM,EACN,cAAc,GACf,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1D,2CA8BA;AAED,wBAAgB,gBAAgB,8BAE/B;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,QAMtD"}
@@ -0,0 +1,16 @@
1
+ import { ReactNode } from 'react';
2
+ type FormMetaContextValue = {
3
+ resource: string;
4
+ isNew: boolean;
5
+ disabled?: boolean;
6
+ };
7
+ export declare function FormMetaProvider({ children, resource, isNew, disabled, }: {
8
+ children: ReactNode;
9
+ resource: string;
10
+ isNew: boolean;
11
+ disabled?: boolean;
12
+ }): import("react/jsx-runtime").JSX.Element;
13
+ export declare function useFormMeta(): FormMetaContextValue;
14
+ export declare function useFormMetaOptional(): FormMetaContextValue | null;
15
+ export {};
16
+ //# sourceMappingURL=FormContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormContext.d.ts","sourceRoot":"","sources":["../../../../src/crud/context/FormContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAIF,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,2CAMA;AAED,wBAAgB,WAAW,yBAM1B;AAED,wBAAgB,mBAAmB,gCAElC"}
@@ -0,0 +1,14 @@
1
+ import { MutableRefObject, ReactNode } from 'react';
2
+ type FormFieldsContextValue = {
3
+ registerSource: (source: string) => () => void;
4
+ getSources: () => string[];
5
+ };
6
+ export declare function FormFieldsProvider({ children, sourcesRef: externalSourcesRef, }: {
7
+ children: ReactNode;
8
+ /** Optional ref shared with submit handler outside this provider. */
9
+ sourcesRef?: MutableRefObject<Set<string>>;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ export declare function useFormFieldsOptional(): FormFieldsContextValue | null;
12
+ export declare function useRegisterFormSource(source: string): void;
13
+ export {};
14
+ //# sourceMappingURL=FormFieldsContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormFieldsContext.d.ts","sourceRoot":"","sources":["../../../../src/crud/context/FormFieldsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,KAAK,sBAAsB,GAAG;IAC5B,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,IAAI,CAAC;IAC/C,UAAU,EAAE,MAAM,MAAM,EAAE,CAAC;CAC5B,CAAC;AAIF,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,UAAU,EAAE,kBAAkB,GAC/B,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,qEAAqE;IACrE,UAAU,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CAC5C,2CA6BA;AAED,wBAAgB,qBAAqB,kCAEpC;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,QAcnD"}
@@ -0,0 +1,7 @@
1
+ import { MutableRefObject, ReactNode } from 'react';
2
+ export declare function FormSectionSourcesProvider({ sourcesRef, children, }: {
3
+ sourcesRef: MutableRefObject<Set<string>>;
4
+ children: ReactNode;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ export declare function useFormSectionSourcesOptional(): MutableRefObject<Set<string>> | null;
7
+ //# sourceMappingURL=FormSectionContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormSectionContext.d.ts","sourceRoot":"","sources":["../../../../src/crud/context/FormSectionContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKzF,wBAAgB,0BAA0B,CAAC,EACzC,UAAU,EACV,QAAQ,GACT,EAAE;IACD,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,QAAQ,EAAE,SAAS,CAAC;CACrB,2CAMA;AAED,wBAAgB,6BAA6B,yCAE5C"}
@@ -0,0 +1,16 @@
1
+ import { ReactNode } from 'react';
2
+ import { InlineFieldDefinition } from '../types';
3
+ export type InlineFormSetLayout = "tabular" | "stacked";
4
+ export declare function InlineFormSetProvider({ children, arrayName, layout, }: {
5
+ children: ReactNode;
6
+ arrayName: string;
7
+ layout?: InlineFormSetLayout;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ export declare function useInlineFormSetContext(): {
10
+ fields: InlineFieldDefinition[];
11
+ registerField: (def: InlineFieldDefinition) => () => void;
12
+ arrayName: string;
13
+ layout: InlineFormSetLayout;
14
+ } | null;
15
+ export declare function useRegisterInlineField(def: InlineFieldDefinition): void;
16
+ //# sourceMappingURL=InlineFormContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InlineFormContext.d.ts","sourceRoot":"","sources":["../../../../src/crud/context/InlineFormContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEtD,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,CAAC;AAWxD,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,SAAS,EACT,MAAkB,GACnB,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B,2CAyBA;AAED,wBAAgB,uBAAuB;;mBA3CtB,CAAC,GAAG,EAAE,qBAAqB,KAAK,MAAM,IAAI;eAC9C,MAAM;YACT,mBAAmB;SA8C5B;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,qBAAqB,QAMhE"}
@@ -0,0 +1,22 @@
1
+ import { ReactNode } from 'react';
2
+ import { ColumnDefinition } from '../types';
3
+ type ListContextValue = {
4
+ registerColumn: (def: ColumnDefinition<Record<string, unknown>>) => () => void;
5
+ columns: ColumnDefinition<Record<string, unknown>>[];
6
+ toggleSort: (field: string) => void;
7
+ sortFields: Set<string>;
8
+ sortOrders: Map<string, "ASC" | "DESC">;
9
+ sortPriorities: Map<string, number>;
10
+ };
11
+ export declare function ListContextProvider({ children, toggleSort, sort, }: {
12
+ children: ReactNode;
13
+ toggleSort: (field: string) => void;
14
+ sort: {
15
+ field: string;
16
+ order: "ASC" | "DESC";
17
+ }[];
18
+ }): import("react/jsx-runtime").JSX.Element;
19
+ export declare function useListContext(): ListContextValue;
20
+ export declare function useRegisterColumn(def: ColumnDefinition<Record<string, unknown>>): void;
21
+ export {};
22
+ //# sourceMappingURL=ListContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListContext.d.ts","sourceRoot":"","sources":["../../../../src/crud/context/ListContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGjD,KAAK,gBAAgB,GAAG;IACtB,cAAc,EAAE,CAAC,GAAG,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC;IAC/E,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IACrD,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;IACxC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC,CAAC;AAIF,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,UAAU,EACV,IAAI,GACL,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;CAClD,2CA4CA;AAED,wBAAgB,cAAc,qBAM7B;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAM/C"}
@@ -0,0 +1,7 @@
1
+ import { BaseSourceProps, FieldRules } from '../types';
2
+ export type BooleanFieldProps = BaseSourceProps & {
3
+ required?: boolean;
4
+ rules?: FieldRules;
5
+ };
6
+ export declare function BooleanField({ source, label, required, rules, }: BooleanFieldProps): import("react/jsx-runtime").JSX.Element | null;
7
+ //# sourceMappingURL=BooleanField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BooleanField.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/BooleanField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG5D,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAAG;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,KAAK,EACL,QAAQ,EACR,KAAK,GACN,EAAE,iBAAiB,kDAiBnB"}
@@ -0,0 +1,8 @@
1
+ import { BaseSourceProps, FieldRules } from '../types';
2
+ export type DateFieldProps = BaseSourceProps & {
3
+ required?: boolean;
4
+ rules?: FieldRules;
5
+ showTime?: boolean;
6
+ };
7
+ export declare function DateField({ source, label, required, rules, showTime, }: DateFieldProps): import("react/jsx-runtime").JSX.Element | null;
8
+ //# sourceMappingURL=DateField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateField.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/DateField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAK5D,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE,cAAc,kDA2BhB"}