ding-react-admin 2.0.0 → 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 (169) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +254 -195
  3. package/dist/index.css +2 -0
  4. package/dist/index.js +1772 -1169
  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/ResourceForm.d.ts +1 -4
  18. package/dist/src/crud/ResourceForm.d.ts.map +1 -1
  19. package/dist/src/crud/ResourceFormModal.d.ts +7 -1
  20. package/dist/src/crud/ResourceFormModal.d.ts.map +1 -1
  21. package/dist/src/crud/ResourceRecordForm.d.ts +27 -0
  22. package/dist/src/crud/ResourceRecordForm.d.ts.map +1 -0
  23. package/dist/src/crud/fields/ReferenceField.d.ts +12 -2
  24. package/dist/src/crud/fields/ReferenceField.d.ts.map +1 -1
  25. package/dist/src/crud/fields/ReferenceInputActions.d.ts +16 -0
  26. package/dist/src/crud/fields/ReferenceInputActions.d.ts.map +1 -0
  27. package/dist/src/crud/fields/ReferenceManyField.d.ts +10 -1
  28. package/dist/src/crud/fields/ReferenceManyField.d.ts.map +1 -1
  29. package/dist/src/crud/filters/ReferenceFilter.d.ts +1 -1
  30. package/dist/src/crud/filters/ReferenceFilter.d.ts.map +1 -1
  31. package/dist/src/crud/index.d.ts +5 -0
  32. package/dist/src/crud/index.d.ts.map +1 -1
  33. package/dist/src/crud/types.d.ts +12 -0
  34. package/dist/src/crud/types.d.ts.map +1 -1
  35. package/dist/src/crud/utils/choiceSelectionUtils.d.ts +10 -0
  36. package/dist/src/crud/utils/choiceSelectionUtils.d.ts.map +1 -0
  37. package/dist/src/crud/utils/choiceSelectionUtils.test.d.ts +2 -0
  38. package/dist/src/crud/utils/choiceSelectionUtils.test.d.ts.map +1 -0
  39. package/dist/src/crud/utils/formErrors.d.ts +18 -7
  40. package/dist/src/crud/utils/formErrors.d.ts.map +1 -1
  41. package/dist/src/crud/utils/formErrors.test.d.ts +2 -0
  42. package/dist/src/crud/utils/formErrors.test.d.ts.map +1 -0
  43. package/dist/src/crud/utils/prepareFormSubmitBody.d.ts +1 -0
  44. package/dist/src/crud/utils/prepareFormSubmitBody.d.ts.map +1 -1
  45. package/dist/src/crud/utils/referenceSelectNotFoundContent.d.ts +4 -0
  46. package/dist/src/crud/utils/referenceSelectNotFoundContent.d.ts.map +1 -0
  47. package/dist/src/crud/utils/toFormData.d.ts +1 -1
  48. package/dist/src/crud/utils/toFormData.d.ts.map +1 -1
  49. package/dist/src/crud/utils/uploadReferenceUtils.d.ts +5 -0
  50. package/dist/src/crud/utils/uploadReferenceUtils.d.ts.map +1 -0
  51. package/dist/src/crud/utils/useChoices.d.ts +27 -1
  52. package/dist/src/crud/utils/useChoices.d.ts.map +1 -1
  53. package/dist/src/crud/utils/useFormRecord.d.ts +9 -7
  54. package/dist/src/crud/utils/useFormRecord.d.ts.map +1 -1
  55. package/dist/src/data/parseFormErrorHelpers.d.ts +6 -27
  56. package/dist/src/data/parseFormErrorHelpers.d.ts.map +1 -1
  57. package/dist/src/index.d.ts +2 -2
  58. package/dist/src/index.d.ts.map +1 -1
  59. package/dist/src/layouts/AdminLayout.d.ts +1 -1
  60. package/dist/src/layouts/AdminLayout.d.ts.map +1 -1
  61. package/dist/src/layouts/AuthPageLayout.d.ts.map +1 -1
  62. package/dist/src/layouts/navFilter.d.ts +5 -0
  63. package/dist/src/layouts/navFilter.d.ts.map +1 -0
  64. package/dist/src/layouts/navMenuItems.d.ts +6 -0
  65. package/dist/src/layouts/navMenuItems.d.ts.map +1 -0
  66. package/dist/src/types.d.ts +12 -0
  67. package/dist/src/types.d.ts.map +1 -1
  68. package/package.json +79 -59
  69. package/src/app/AdminApp.tsx +34 -34
  70. package/src/components/AuthAlternateLink.tsx +23 -23
  71. package/src/components/DensitySwitch.tsx +31 -31
  72. package/src/components/NavMenuLabel.tsx +26 -0
  73. package/src/components/NavMenuSearch.tsx +76 -0
  74. package/src/components/ScrollableArea.tsx +46 -0
  75. package/src/components/ThemeSwitch.tsx +28 -28
  76. package/src/components/ThemeToolbar.tsx +34 -34
  77. package/src/components/index.ts +7 -4
  78. package/src/components/navMenu.css +21 -0
  79. package/src/components/scrollable.css +28 -0
  80. package/src/context/AppThemeProvider.tsx +128 -128
  81. package/src/context/AuthProvider.tsx +89 -77
  82. package/src/context/DataProvider.tsx +30 -30
  83. package/src/context/PermissionsProvider.tsx +57 -57
  84. package/src/crud/FilterBar.tsx +36 -36
  85. package/src/crud/FormGlobalErrorsAlert.tsx +36 -0
  86. package/src/crud/FormSteps.tsx +135 -135
  87. package/src/crud/FormTabs.tsx +126 -126
  88. package/src/crud/InlineFormSet.tsx +162 -162
  89. package/src/crud/ListActionsBar.tsx +106 -106
  90. package/src/crud/ResourceForm.tsx +83 -160
  91. package/src/crud/ResourceFormModal.tsx +75 -133
  92. package/src/crud/ResourceRecordForm.tsx +166 -0
  93. package/src/crud/columns/BooleanColumn.tsx +32 -32
  94. package/src/crud/columns/CustomColumn.tsx +33 -33
  95. package/src/crud/columns/DateColumn.tsx +28 -28
  96. package/src/crud/columns/ImageColumn.tsx +58 -58
  97. package/src/crud/columns/NumberColumn.tsx +31 -31
  98. package/src/crud/columns/ReferenceColumn.tsx +85 -85
  99. package/src/crud/columns/ReferenceManyColumn.tsx +67 -67
  100. package/src/crud/columns/TextColumn.tsx +38 -38
  101. package/src/crud/context/FilterContext.tsx +71 -71
  102. package/src/crud/context/FormContext.tsx +39 -39
  103. package/src/crud/context/FormSectionContext.tsx +22 -22
  104. package/src/crud/context/InlineFieldsRegistry.tsx +61 -61
  105. package/src/crud/context/ListContext.tsx +93 -93
  106. package/src/crud/fields/BooleanField.tsx +38 -38
  107. package/src/crud/fields/DateField.tsx +53 -53
  108. package/src/crud/fields/FileField.tsx +123 -123
  109. package/src/crud/fields/ImageField.tsx +120 -120
  110. package/src/crud/fields/NumberField.tsx +52 -52
  111. package/src/crud/fields/PasswordField.tsx +99 -99
  112. package/src/crud/fields/ReferenceField.tsx +237 -96
  113. package/src/crud/fields/ReferenceInputActions.tsx +106 -0
  114. package/src/crud/fields/ReferenceManyField.tsx +200 -76
  115. package/src/crud/fields/SelectField.tsx +48 -48
  116. package/src/crud/fields/TextField.tsx +46 -46
  117. package/src/crud/fields/uploadFieldUtils.ts +21 -21
  118. package/src/crud/fields/useUploadPreviewUrl.ts +20 -20
  119. package/src/crud/filters/BooleanFilter.tsx +38 -38
  120. package/src/crud/filters/DateFilter.tsx +35 -35
  121. package/src/crud/filters/NumberFilter.tsx +33 -33
  122. package/src/crud/filters/ReferenceFilter.tsx +192 -173
  123. package/src/crud/filters/SelectFilter.tsx +44 -44
  124. package/src/crud/filters/TextFilter.tsx +36 -36
  125. package/src/crud/index.ts +99 -94
  126. package/src/crud/types.ts +146 -134
  127. package/src/crud/utils/buildFormPayload.ts +24 -24
  128. package/src/crud/utils/buildInlineRowsPayload.ts +37 -37
  129. package/src/crud/utils/buildResourceFormSubmitBody.ts +29 -29
  130. package/src/crud/utils/choiceSelectionUtils.test.ts +45 -0
  131. package/src/crud/utils/choiceSelectionUtils.ts +116 -0
  132. package/src/crud/utils/formErrors.test.ts +168 -0
  133. package/src/crud/utils/formErrors.ts +138 -42
  134. package/src/crud/utils/formSectionErrors.ts +85 -85
  135. package/src/crud/utils/getFormValue.ts +13 -13
  136. package/src/crud/utils/hasUploadValues.ts +9 -9
  137. package/src/crud/utils/nestedFieldPath.ts +8 -8
  138. package/src/crud/utils/prepareFormSubmitBody.ts +22 -17
  139. package/src/crud/utils/referenceSelectNotFoundContent.tsx +7 -0
  140. package/src/crud/utils/setFormValue.ts +18 -18
  141. package/src/crud/utils/sortQueryParam.ts +37 -37
  142. package/src/crud/utils/toFormData.ts +79 -81
  143. package/src/crud/utils/uploadReferenceUtils.ts +44 -0
  144. package/src/crud/utils/useAbortableEffect.ts +17 -17
  145. package/src/crud/utils/useChoices.ts +330 -182
  146. package/src/crud/utils/useFormRecord.ts +179 -156
  147. package/src/crud/utils/useListQueryState.ts +191 -191
  148. package/src/data/abortError.test.ts +19 -19
  149. package/src/data/abortError.ts +10 -10
  150. package/src/data/createMemoryResourceHandlers.ts +78 -78
  151. package/src/data/createRestResourceHandlers.ts +63 -63
  152. package/src/data/dataUtils.test.ts +228 -220
  153. package/src/data/inMemoryList.ts +97 -97
  154. package/src/data/parseFormErrorHelpers.test.ts +201 -138
  155. package/src/data/parseFormErrorHelpers.ts +376 -311
  156. package/src/data/sortHelpers.ts +48 -48
  157. package/src/index.ts +211 -207
  158. package/src/layouts/AdminLayout.tsx +530 -382
  159. package/src/layouts/AuthPageLayout.tsx +87 -81
  160. package/src/layouts/navFilter.ts +49 -0
  161. package/src/layouts/navMenuItems.tsx +44 -0
  162. package/src/pages/LoginPage.tsx +80 -80
  163. package/src/pages/PlaceholderPage.tsx +9 -9
  164. package/src/permissions/resourcePermissions.ts +47 -47
  165. package/src/router/createAdminRouter.tsx +64 -64
  166. package/src/router/guards.tsx +63 -63
  167. package/src/router/routeAccess.ts +89 -89
  168. package/src/types.ts +10 -0
  169. package/src/vite-env.d.ts +1 -1
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ export type NavMenuLabelProps = {
3
+ label: ReactNode;
4
+ /** Plain-text tooltip shown on hover. */
5
+ title: string;
6
+ };
7
+ export declare function NavMenuLabel({ label, title }: NavMenuLabelProps): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=NavMenuLabel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavMenuLabel.d.ts","sourceRoot":"","sources":["../../../src/components/NavMenuLabel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,eAAe,CAAC;AAEvB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,iBAAiB,2CAe/D"}
@@ -0,0 +1,9 @@
1
+ export type NavMenuSearchProps = {
2
+ value: string;
3
+ onChange: (value: string) => void;
4
+ placeholder?: string;
5
+ /** Lighter styling for the classic dark navy sidebar. */
6
+ variant?: "on-dark" | "app";
7
+ };
8
+ export declare function NavMenuSearch({ value, onChange, placeholder, variant, }: NavMenuSearchProps): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=NavMenuSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavMenuSearch.d.ts","sourceRoot":"","sources":["../../../src/components/NavMenuSearch.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,OAAO,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;CAC7B,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,WAA4B,EAC5B,OAAmB,GACpB,EAAE,kBAAkB,2CA0DpB"}
@@ -0,0 +1,10 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ export type ScrollableAreaProps = {
3
+ children: ReactNode;
4
+ className?: string;
5
+ style?: CSSProperties;
6
+ /** Use lighter thumbs on dark sidebar backgrounds. */
7
+ variant?: "default" | "on-dark";
8
+ };
9
+ export declare const ScrollableArea: import('react').ForwardRefExoticComponent<ScrollableAreaProps & import('react').RefAttributes<HTMLDivElement>>;
10
+ //# sourceMappingURL=ScrollableArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollableArea.d.ts","sourceRoot":"","sources":["../../../src/components/ScrollableArea.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,kBAAkB,CAAC;AAE1B,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,sDAAsD;IACtD,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,cAAc,gHAgC1B,CAAC"}
@@ -1,4 +1,7 @@
1
1
  export { AuthAlternateLink } from './AuthAlternateLink';
2
+ export { NavMenuLabel } from './NavMenuLabel';
3
+ export { NavMenuSearch } from './NavMenuSearch';
4
+ export { ScrollableArea } from './ScrollableArea';
2
5
  export { ThemeToolbar } from './ThemeToolbar';
3
6
  export { ThemeSwitch } from './ThemeSwitch';
4
7
  export { DensitySwitch } from './DensitySwitch';
@@ -1 +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"}
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,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -2,6 +2,8 @@ import { ReactNode } from 'react';
2
2
  import { AuthAdapter, LoginCredentials } from '../types';
3
3
  type AuthContextValue = {
4
4
  isAuthenticated: boolean;
5
+ /** From `AuthAdapter.getUserLabel`; `"User"` when the adapter omits it or returns null. */
6
+ userLabel: string;
5
7
  login: (credentials: LoginCredentials) => Promise<void>;
6
8
  logout: () => void;
7
9
  };
@@ -1 +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"}
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,2FAA2F;IAC3F,SAAS,EAAE,MAAM,CAAC;IAClB,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;AAQF,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,iBAAiB,2CA8BpE;AAED,wBAAgB,OAAO,qBAItB;AAID,2EAA2E;AAC3E,wBAAgB,+BAA+B,CAC7C,UAAU,GAAE,MAA4B,GACvC,WAAW,CAab"}
@@ -0,0 +1,5 @@
1
+ export type FormGlobalErrorsAlertProps = {
2
+ errors: string[];
3
+ };
4
+ export declare function FormGlobalErrorsAlert({ errors }: FormGlobalErrorsAlertProps): import("react/jsx-runtime").JSX.Element | null;
5
+ //# sourceMappingURL=FormGlobalErrorsAlert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormGlobalErrorsAlert.d.ts","sourceRoot":"","sources":["../../../src/crud/FormGlobalErrorsAlert.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EAAE,MAAM,EAAE,EAAE,0BAA0B,kDA6B3E"}
@@ -13,10 +13,7 @@ export type ResourceFormProps<T extends FieldValues> = {
13
13
  permissions?: Pick<ResourcePermissions, "add" | "change">;
14
14
  };
15
15
  /**
16
- * Create/edit page — standard react-hook-form under the hood.
17
- *
18
- * Load: one `getOne` → `form.reset(record)` (nested inline arrays included).
19
- * Save: one `create` or `update` with parent fields + nested inline rows.
16
+ * Create/edit page — Card chrome around {@link ResourceRecordForm}.
20
17
  */
21
18
  export declare function ResourceForm<T extends FieldValues & {
22
19
  id?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceForm.d.ts","sourceRoot":"","sources":["../../../src/crud/ResourceForm.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA6C,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAU9E,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,6EAA6E;IAC7E,WAAW,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;CAC3D,CAAC;AAEF;;;;;GAKG;AACH,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,WAAW,GACZ,EAAE,iBAAiB,CAAC,CAAC,CAAC,2CAmHtB"}
1
+ {"version":3,"file":"ResourceForm.d.ts","sourceRoot":"","sources":["../../../src/crud/ResourceForm.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAI9E,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,6EAA6E;IAC7E,WAAW,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;CAC3D,CAAC;AAEF;;GAEG;AACH,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,WAAW,GACZ,EAAE,iBAAiB,CAAC,CAAC,CAAC,2CAgDtB"}
@@ -1,10 +1,16 @@
1
+ import { FieldValues } from 'react-hook-form';
1
2
  import { ReactNode } from 'react';
3
+ import { ResourcePermissions } from '../permissions/resourcePermissions';
2
4
  export type ResourceFormModalProps = {
3
5
  resource: string;
4
6
  editId: string | null;
5
7
  onClose: () => void;
6
8
  children: ReactNode;
7
9
  title?: string;
10
+ permissions?: Pick<ResourcePermissions, "add" | "change">;
11
+ defaultValues?: Partial<FieldValues>;
12
+ width?: number;
13
+ onSuccess?: (record: FieldValues) => void;
8
14
  };
9
- export declare function ResourceFormModal({ resource, editId, onClose, children, title, }: ResourceFormModalProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function ResourceFormModal({ resource, editId, onClose, children, title, permissions, defaultValues, width, onSuccess, }: ResourceFormModalProps): import("react/jsx-runtime").JSX.Element;
10
16
  //# sourceMappingURL=ResourceFormModal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceFormModal.d.ts","sourceRoot":"","sources":["../../../src/crud/ResourceFormModal.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAStE,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,2CAsGxB"}
1
+ {"version":3,"file":"ResourceFormModal.d.ts","sourceRoot":"","sources":["../../../src/crud/ResourceFormModal.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,oCAAoC,CAAC;AAG5C,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;IACf,WAAW,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;CAC3C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,MAAM,EACN,OAAO,EACP,QAAQ,EACR,KAAK,EACL,WAAW,EACX,aAAa,EACb,KAAW,EACX,SAAS,GACV,EAAE,sBAAsB,2CA0CxB"}
@@ -0,0 +1,27 @@
1
+ import { FieldValues } from 'react-hook-form';
2
+ import { ReactNode } from 'react';
3
+ export type ResourceRecordFormProps<T extends FieldValues & {
4
+ id?: unknown;
5
+ }> = {
6
+ resource: string;
7
+ id: string | undefined;
8
+ children: ReactNode;
9
+ defaultValues?: Partial<T>;
10
+ /** When false, skip loading (e.g. modal closed). Defaults to true. */
11
+ enabled?: boolean;
12
+ canSave?: boolean;
13
+ onCancel: () => void;
14
+ /** When set, Cancel renders as a router Link instead of a button. */
15
+ cancelHref?: string;
16
+ onSuccess?: (record: T) => void;
17
+ /** overlay: dim form + spinner; replace: show spinner instead of form. */
18
+ loadingMode?: "overlay" | "replace";
19
+ };
20
+ /**
21
+ * Shared create/edit form — load record, save, field providers, and actions.
22
+ * Used by ResourceForm (page) and ResourceFormModal.
23
+ */
24
+ export declare function ResourceRecordForm<T extends FieldValues & {
25
+ id?: unknown;
26
+ }>({ resource, id, children, defaultValues, enabled, canSave, onCancel, cancelHref, onSuccess, loadingMode, }: ResourceRecordFormProps<T>): import("react/jsx-runtime").JSX.Element;
27
+ //# sourceMappingURL=ResourceRecordForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceRecordForm.d.ts","sourceRoot":"","sources":["../../../src/crud/ResourceRecordForm.tsx"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAYzD,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,OAAO,CAAA;CAAE,IAAI;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAChC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,EAC3E,QAAQ,EACR,EAAE,EACF,QAAQ,EACR,aAAa,EACb,OAAc,EACd,OAAc,EACd,QAAQ,EACR,UAAU,EACV,SAAS,EACT,WAAuB,GACxB,EAAE,uBAAuB,CAAC,CAAC,CAAC,2CAmH5B"}
@@ -1,5 +1,6 @@
1
- import { CSSProperties } from 'react';
1
+ import { CSSProperties, ReactNode } from 'react';
2
2
  import { BaseSourceProps, ChoiceOption, FieldRules, ReferenceProps } from '../types';
3
+ import { ResourcePermissions } from '../../permissions/resourcePermissions';
3
4
  export type ReferenceFieldProps = BaseSourceProps & ReferenceProps & {
4
5
  name?: string;
5
6
  required?: boolean;
@@ -14,6 +15,15 @@ export type ReferenceFieldProps = BaseSourceProps & ReferenceProps & {
14
15
  onValueChange?: (value: unknown, option: ChoiceOption | undefined, meta: {
15
16
  name: string;
16
17
  }) => void;
18
+ /** Form fields shown in the add/edit modal. Omit to hide action buttons. */
19
+ referenceForm?: ReactNode;
20
+ /** Permissions for add/edit buttons (`add` and `change` slots). */
21
+ referencePermissions?: ResourcePermissions;
22
+ referenceTitle?: string;
23
+ referenceDefaultValues?: Record<string, unknown>;
24
+ referenceModalWidth?: number;
25
+ /** When false, hide add/edit buttons. Default true when `referenceForm` is set. */
26
+ referenceActions?: boolean;
17
27
  };
18
- export declare function ReferenceField({ source, name, label, reference, choices, optionLabel, optionValue, required, rules, search, allowClear, disabled: disabledProp, hideLabel, inputStyle, onValueChange, }: ReferenceFieldProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare function ReferenceField({ source, name, label, reference, choices, optionLabel, optionValue, required, rules, search, allowClear, disabled: disabledProp, hideLabel, inputStyle, onValueChange, lazy, recordSource, fetchSelected, referenceForm, referencePermissions, referenceTitle, referenceDefaultValues, referenceModalWidth, referenceActions, }: ReferenceFieldProps): import("react/jsx-runtime").JSX.Element;
19
29
  //# sourceMappingURL=ReferenceField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReferenceField.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/ReferenceField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,UAAU,EACV,cAAc,EACf,MAAM,UAAU,CAAC;AAIlB,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAC/C,cAAc,GAAG;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wDAAwD;IACxD,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,wEAAwE;IACxE,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KACnB,IAAI,CAAC;CACX,CAAC;AAEJ,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,IAAI,EACJ,KAAK,EACL,SAAS,EACT,OAAO,EACP,WAAoB,EACpB,WAAkB,EAClB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,UAAU,EACV,QAAQ,EAAE,YAAY,EACtB,SAAS,EACT,UAAU,EACV,aAAa,GACd,EAAE,mBAAmB,2CAgDrB"}
1
+ {"version":3,"file":"ReferenceField.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/ReferenceField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,UAAU,EACV,cAAc,EACf,MAAM,UAAU,CAAC;AAMlB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAC/C,cAAc,GAAG;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wDAAwD;IACxD,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,wEAAwE;IACxE,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KACnB,IAAI,CAAC;IACV,4EAA4E;IAC5E,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,mEAAmE;IACnE,oBAAoB,CAAC,EAAE,mBAAmB,CAAC;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AA6HJ,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,IAAI,EACJ,KAAK,EACL,SAAS,EACT,OAAO,EACP,WAAoB,EACpB,WAAkB,EAClB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,UAAU,EACV,QAAQ,EAAE,YAAY,EACtB,SAAS,EACT,UAAU,EACV,aAAa,EACb,IAAW,EACX,YAAY,EACZ,aAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,gBAAuB,GACxB,EAAE,mBAAmB,2CA0CrB"}
@@ -0,0 +1,16 @@
1
+ import { ReactNode } from 'react';
2
+ import { ResourcePermissions } from '../../permissions/resourcePermissions';
3
+ export type ReferenceInputActionsProps = {
4
+ reference?: string;
5
+ referenceForm?: ReactNode;
6
+ referencePermissions?: ResourcePermissions;
7
+ referenceTitle?: string;
8
+ referenceDefaultValues?: Record<string, unknown>;
9
+ referenceModalWidth?: number;
10
+ selectedId?: unknown;
11
+ disabled?: boolean;
12
+ onCreated?: (record: Record<string, unknown>) => void;
13
+ onUpdated?: (record: Record<string, unknown>) => void;
14
+ };
15
+ export declare function ReferenceInputActions({ reference, referenceForm, referencePermissions, referenceTitle, referenceDefaultValues, referenceModalWidth, selectedId, disabled, onCreated, onUpdated, }: ReferenceInputActionsProps): import("react/jsx-runtime").JSX.Element | null;
16
+ //# sourceMappingURL=ReferenceInputActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReferenceInputActions.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/ReferenceInputActions.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,uCAAuC,CAAC;AAG/C,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,oBAAoB,CAAC,EAAE,mBAAmB,CAAC;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACtD,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACvD,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,SAAS,GACV,EAAE,0BAA0B,kDAuE5B"}
@@ -1,4 +1,6 @@
1
1
  import { BaseSourceProps, FieldRules, ReferenceProps } from '../types';
2
+ import { ResourcePermissions } from '../../permissions/resourcePermissions';
3
+ import { ReactNode } from 'react';
2
4
  export type ReferenceManyFieldProps = BaseSourceProps & ReferenceProps & {
3
5
  name?: string;
4
6
  required?: boolean;
@@ -6,6 +8,13 @@ export type ReferenceManyFieldProps = BaseSourceProps & ReferenceProps & {
6
8
  search?: boolean;
7
9
  allowClear?: boolean;
8
10
  hideLabel?: boolean;
11
+ referenceForm?: ReactNode;
12
+ referencePermissions?: ResourcePermissions;
13
+ referenceTitle?: string;
14
+ referenceDefaultValues?: Record<string, unknown>;
15
+ referenceModalWidth?: number;
16
+ /** When false, hide add button even if catalog defines a form. Default true. */
17
+ referenceActions?: boolean;
9
18
  };
10
- export declare function ReferenceManyField({ source, name, label, reference, choices, optionLabel, optionValue, required, rules, search, allowClear, hideLabel, }: ReferenceManyFieldProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare function ReferenceManyField({ source, name, label, reference, choices, optionLabel, optionValue, required, rules, search, allowClear, hideLabel, lazy, recordSource, fetchSelected, referenceForm, referencePermissions, referenceTitle, referenceDefaultValues, referenceModalWidth, referenceActions, }: ReferenceManyFieldProps): import("react/jsx-runtime").JSX.Element;
11
20
  //# sourceMappingURL=ReferenceManyField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReferenceManyField.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/ReferenceManyField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI5E,MAAM,MAAM,uBAAuB,GAAG,eAAe,GACnD,cAAc,GAAG;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEJ,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,IAAI,EACJ,KAAK,EACL,SAAS,EACT,OAAO,EACP,WAAoB,EACpB,WAAkB,EAClB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,UAAiB,EACjB,SAAS,GACV,EAAE,uBAAuB,2CA8CzB"}
1
+ {"version":3,"file":"ReferenceManyField.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/ReferenceManyField.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAM5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,uBAAuB,GAAG,eAAe,GACnD,cAAc,GAAG;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,oBAAoB,CAAC,EAAE,mBAAmB,CAAC;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AA+GJ,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,IAAI,EACJ,KAAK,EACL,SAAS,EACT,OAAO,EACP,WAAoB,EACpB,WAAkB,EAClB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,UAAiB,EACjB,SAAS,EACT,IAAW,EACX,YAAY,EACZ,aAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,gBAAuB,GACxB,EAAE,uBAAuB,2CAuCzB"}
@@ -8,6 +8,6 @@ export type ReferenceFilterProps = BaseSourceProps & ReferenceProps & {
8
8
  multiple?: boolean;
9
9
  search?: boolean;
10
10
  };
11
- export declare function ReferenceFilter({ source, label, reference, choices, optionLabel, optionValue, multiple, search, }: ReferenceFilterProps): null;
11
+ export declare function ReferenceFilter({ source, label, reference, choices, optionLabel, optionValue, multiple, search, lazy, fetchSelected, }: ReferenceFilterProps): null;
12
12
  export declare function ReferenceManyFilter(props: ReferenceFilterProps): import("react/jsx-runtime").JSX.Element;
13
13
  //# sourceMappingURL=ReferenceFilter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReferenceFilter.d.ts","sourceRoot":"","sources":["../../../../src/crud/filters/ReferenceFilter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI9E,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAAG;IAChD,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AA0BF,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE,iBAAiB,QA2BnB;AAED,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAChD,cAAc,GAAG;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AA8CJ,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,KAAK,EACL,SAAS,EACT,OAAO,EACP,WAAoB,EACpB,WAAkB,EAClB,QAAQ,EACR,MAAM,GACP,EAAE,oBAAoB,QAwCtB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,2CAE9D"}
1
+ {"version":3,"file":"ReferenceFilter.d.ts","sourceRoot":"","sources":["../../../../src/crud/filters/ReferenceFilter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAK9E,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAAG;IAChD,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AA0BF,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE,iBAAiB,QA2BnB;AAED,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAChD,cAAc,GAAG;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AA0DJ,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,KAAK,EACL,SAAS,EACT,OAAO,EACP,WAAoB,EACpB,WAAkB,EAClB,QAAQ,EACR,MAAM,EACN,IAAW,EACX,aAAoB,GACrB,EAAE,oBAAoB,QA4CtB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,2CAE9D"}
@@ -18,7 +18,11 @@ export { DateField } from './fields/DateField';
18
18
  export { SelectField } from './fields/SelectField';
19
19
  export { PasswordField } from './fields/PasswordField';
20
20
  export { ReferenceField } from './fields/ReferenceField';
21
+ export type { ReferenceFieldProps } from './fields/ReferenceField';
21
22
  export { ReferenceManyField } from './fields/ReferenceManyField';
23
+ export type { ReferenceManyFieldProps } from './fields/ReferenceManyField';
24
+ export { ReferenceInputActions } from './fields/ReferenceInputActions';
25
+ export type { ReferenceInputActionsProps } from './fields/ReferenceInputActions';
22
26
  export { ImageField } from './fields/ImageField';
23
27
  export { FileField } from './fields/FileField';
24
28
  export { FieldWrapper } from './fields/FieldWrapper';
@@ -44,6 +48,7 @@ export { useListQueryState } from './utils/useListQueryState';
44
48
  export { useAbortableEffect } from './utils/useAbortableEffect';
45
49
  export type { ListQueryState, ListQueryActions, } from './utils/useListQueryState';
46
50
  export { useChoices } from './utils/useChoices';
51
+ export type { UseChoicesOptions } from './utils/useChoices';
47
52
  export { getFormValue } from './utils/getFormValue';
48
53
  export { setFormValue } from './utils/setFormValue';
49
54
  export { buildFormPayload } from './utils/buildFormPayload';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crud/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crud/index.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,18 @@ export type ReferenceProps = {
25
25
  choices?: ChoicesLoader;
26
26
  optionLabel?: string | ((record: Record<string, unknown>) => string);
27
27
  optionValue?: string;
28
+ /** When true (default), options load on dropdown open / search instead of on mount. */
29
+ lazy?: boolean;
30
+ /**
31
+ * Key on the loaded form record with the related object or array of objects.
32
+ * Use when retrieve embeds relations, e.g. `source="branch_id"` + `recordSource="branch"`.
33
+ */
34
+ recordSource?: string;
35
+ /**
36
+ * When true (default), fetch labels for primitive ids via `getOne` if they are not
37
+ * already embedded in the form record. Set `false` to never call `getOne`.
38
+ */
39
+ fetchSelected?: boolean;
28
40
  };
29
41
  export type DisplayProps = {
30
42
  display?: string | ((record: Record<string, unknown>) => ReactNode);
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/crud/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/crud/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACtD,YAAY,EAAE,GACd,CAAC,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAEvD,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,CAAC;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC;CACrE,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,eAAe,CAAC;AAEzC,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CAAC,KAAK,EAAE;QACd,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;KACpC,KAAK,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,2EAA2E;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC;CAC9D,CAAC;AAEF,8DAA8D;AAC9D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,SAAS,CAAC;CAC7C,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjD,gGAAgG;AAChG,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF,uEAAuE;AACvE,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,OAAO,CAAC,EACJ,MAAM,GACN,CAAC,CACC,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAChC,OAAO,EAAE,6BAA6B,KACnC,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;IACnD,OAAO,EAAE,CACP,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAChC,OAAO,EAAE,6BAA6B,KACnC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAM9B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { ChoiceOption } from '../types';
2
+ export declare function isRecordObject(value: unknown, optionValue: string): value is Record<string, unknown>;
3
+ export declare function valueAsId(value: unknown, optionValue: string): string | number | undefined;
4
+ export declare function valuesAsIds(values: unknown, optionValue: string): (string | number)[];
5
+ export declare function normalizeSelectedIds(selectedValues: unknown | unknown[] | undefined, optionValue: string): unknown[];
6
+ export declare function collectSelectedRecords(selectedValues: unknown | unknown[] | undefined, selectedRecords: Record<string, unknown> | Record<string, unknown>[] | undefined, optionValue: string): Record<string, unknown>[];
7
+ export declare function resolveOptionLabel(record: Record<string, unknown>, optionLabel: string | ((record: Record<string, unknown>) => string)): string;
8
+ export declare function recordsToOptions(records: Record<string, unknown>[], optionLabel: string | ((record: Record<string, unknown>) => string), optionValue: string): ChoiceOption[];
9
+ export declare function mergeOptions(existing: ChoiceOption[], incoming: ChoiceOption[]): ChoiceOption[];
10
+ //# sourceMappingURL=choiceSelectionUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choiceSelectionUtils.d.ts","sourceRoot":"","sources":["../../../../src/crud/utils/choiceSelectionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,MAAM,GAClB,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOlC;AAED,wBAAgB,SAAS,CACvB,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,MAAM,GAAG,SAAS,CAS7B;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,MAAM,GAClB,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAKrB;AAED,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,EAC/C,WAAW,EAAE,MAAM,GAClB,OAAO,EAAE,CAUX;AAED,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,EAC/C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,EAChF,WAAW,EAAE,MAAM,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CA4B3B;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,GAClE,MAAM,CAGR;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAClC,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,EACnE,WAAW,EAAE,MAAM,GAClB,YAAY,EAAE,CAMhB;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,YAAY,EAAE,EACxB,QAAQ,EAAE,YAAY,EAAE,GACvB,YAAY,EAAE,CAKhB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=choiceSelectionUtils.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choiceSelectionUtils.test.d.ts","sourceRoot":"","sources":["../../../../src/crud/utils/choiceSelectionUtils.test.ts"],"names":[],"mappings":""}
@@ -1,9 +1,20 @@
1
- import { MessageInstance } from 'antd/es/message/interface';
2
1
  import { FieldValues, UseFormReturn } from 'react-hook-form';
3
- import { DataProvider, ParseFormErrorContext } from '../../data/dataProviderTypes';
4
- export declare function applyFormErrors<T extends FieldValues>(form: UseFormReturn<T>, parsed: {
5
- fields?: Record<string, string | string[]>;
6
- global?: string | string[];
7
- }, message: MessageInstance): void;
8
- export declare function applyApiErrorsToForm<T extends FieldValues>(dp: DataProvider, form: UseFormReturn<T>, message: MessageInstance, error: unknown, context: ParseFormErrorContext): Promise<boolean>;
2
+ import { DataProvider, FormValidationErrors, ParseFormErrorContext } from '../../data/dataProviderTypes';
3
+ import { InlineFieldRegistration } from '../context/InlineFieldsRegistry';
4
+ export type ApplyApiErrorsResult = {
5
+ handled: boolean;
6
+ globalErrors: string[];
7
+ };
8
+ export type ApplyApiErrorsOptions = {
9
+ payloadFields: Iterable<string>;
10
+ inlineRegistry: Iterable<InlineFieldRegistration>;
11
+ };
12
+ /** Top-level `source` or inline cell path such as `lines.0.quantity`. */
13
+ export declare function isKnownFormFieldPath(path: string, payloadFields: Set<string>, inlineRegistry: Map<string, InlineFieldRegistration>): boolean;
14
+ export declare function partitionFormErrors(parsed: FormValidationErrors, payloadFields: Set<string>, inlineRegistry: Map<string, InlineFieldRegistration>): {
15
+ fieldErrors: Record<string, string | string[]>;
16
+ globalErrors: string[];
17
+ };
18
+ export declare function applyFormErrors<T extends FieldValues>(form: UseFormReturn<T>, fieldErrors: Record<string, string | string[]>): void;
19
+ export declare function applyApiErrorsToForm<T extends FieldValues>(dp: DataProvider, form: UseFormReturn<T>, error: unknown, context: ParseFormErrorContext, options: ApplyApiErrorsOptions): Promise<ApplyApiErrorsResult>;
9
20
  //# sourceMappingURL=formErrors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formErrors.d.ts","sourceRoot":"","sources":["../../../../src/crud/utils/formErrors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAa,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE7E,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAgBxF,wBAAgB,eAAe,CAAC,CAAC,SAAS,WAAW,EAEnD,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAEtB,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,EAElF,OAAO,EAAE,eAAe,QAkBzB;AAID,wBAAsB,oBAAoB,CAAC,CAAC,SAAS,WAAW,EAE9D,EAAE,EAAE,YAAY,EAEhB,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAEtB,OAAO,EAAE,eAAe,EAExB,KAAK,EAAE,OAAO,EAEd,OAAO,EAAE,qBAAqB,GAE7B,OAAO,CAAC,OAAO,CAAC,CAoBlB"}
1
+ {"version":3,"file":"formErrors.d.ts","sourceRoot":"","sources":["../../../../src/crud/utils/formErrors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE7E,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAQ/E,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,cAAc,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAWF,yEAAyE;AACzE,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAC1B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,GACnD,OAAO,CAQT;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,oBAAoB,EAC5B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAC1B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,GACnD;IAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,CAa5E;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,WAAW,EACnD,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EACtB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,QAQ/C;AAUD,wBAAsB,oBAAoB,CAAC,CAAC,SAAS,WAAW,EAC9D,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EACtB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CA2C/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=formErrors.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formErrors.test.d.ts","sourceRoot":"","sources":["../../../../src/crud/utils/formErrors.test.ts"],"names":[],"mappings":""}
@@ -2,6 +2,7 @@ import { ToFormDataOptions } from './toFormData';
2
2
  export type PrepareFormSubmitBodyOptions = ToFormDataOptions;
3
3
  /**
4
4
  * When the payload contains any `File`/`Blob`, return `FormData`; otherwise the plain object.
5
+ * Unchanged upload URL references are omitted so edit saves do not re-post existing files.
5
6
  */
6
7
  export declare function prepareFormSubmitBody(payload: Record<string, unknown>, options?: PrepareFormSubmitBodyOptions): Record<string, unknown> | FormData;
7
8
  //# sourceMappingURL=prepareFormSubmitBody.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prepareFormSubmitBody.d.ts","sourceRoot":"","sources":["../../../../src/crud/utils/prepareFormSubmitBody.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAElE,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;AAE7D;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,4BAA4B,GACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAKpC"}
1
+ {"version":3,"file":"prepareFormSubmitBody.d.ts","sourceRoot":"","sources":["../../../../src/crud/utils/prepareFormSubmitBody.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGlE,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,4BAA4B,GACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAQpC"}
@@ -0,0 +1,4 @@
1
+ import { ReactNode } from 'react';
2
+ /** Hide Ant Design Select "No data" while options are loading. */
3
+ export declare function referenceSelectNotFoundContent(loading: boolean): ReactNode;
4
+ //# sourceMappingURL=referenceSelectNotFoundContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referenceSelectNotFoundContent.d.ts","sourceRoot":"","sources":["../../../../src/crud/utils/referenceSelectNotFoundContent.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,kEAAkE;AAClE,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAE1E"}
@@ -1,6 +1,6 @@
1
1
  export type ToFormDataOptions = {
2
2
  /**
3
- * Omit unchanged upload URL strings (`http://` / `https://`) from the body.
3
+ * Omit unchanged upload URL strings (`http://` / `https://` / `/media/`) from the body.
4
4
  * Default `true` — edit forms keep existing files without re-sending the URL.
5
5
  */
6
6
  skipExistingUploadUrls?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"toFormData.d.ts","sourceRoot":"","sources":["../../../../src/crud/utils/toFormData.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAwDF;;;GAGG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,QAAQ,CAWV"}
1
+ {"version":3,"file":"toFormData.d.ts","sourceRoot":"","sources":["../../../../src/crud/utils/toFormData.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAoDF;;;GAGG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,QAAQ,CAWV"}
@@ -0,0 +1,5 @@
1
+ /** Existing server-side upload reference — omit on save unless replaced with a new File. */
2
+ export declare function isExistingUploadReference(value: string): boolean;
3
+ export declare function stripExistingUploadReferences(value: unknown, skipExistingUploadUrls: boolean): unknown;
4
+ export declare function stripExistingUploadReferencesFromPayload(payload: Record<string, unknown>, skipExistingUploadUrls?: boolean): Record<string, unknown>;
5
+ //# sourceMappingURL=uploadReferenceUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadReferenceUtils.d.ts","sourceRoot":"","sources":["../../../../src/crud/utils/uploadReferenceUtils.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,EACd,sBAAsB,EAAE,OAAO,GAC9B,OAAO,CAyBT;AAED,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,sBAAsB,UAAO,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKzB"}
@@ -1,5 +1,31 @@
1
1
  import { ChoiceOption, ChoicesLoader } from '../types';
2
- export declare function useChoices(loader: ChoicesLoader | undefined, reference: string | undefined, optionLabel?: string | ((record: Record<string, unknown>) => string), optionValue?: string, search?: string): {
2
+ export type UseChoicesOptions = {
3
+ /** When true, the option list loads only while the dropdown is open or the user is searching. */
4
+ lazy?: boolean;
5
+ /** Dropdown open or active search — triggers lazy list loading. */
6
+ active?: boolean;
7
+ /**
8
+ * Current field value — primitive id(s), nested object(s), or mixed.
9
+ * Objects shaped like `{ id, name, … }` are turned into options without `getOne`.
10
+ */
11
+ selectedValues?: unknown | unknown[];
12
+ /**
13
+ * Related record(s) from the loaded form row (e.g. `recordSource="branch"`).
14
+ * Used to show labels on edit when the retrieve API embeds relations.
15
+ */
16
+ selectedRecords?: Record<string, unknown> | Record<string, unknown>[];
17
+ /**
18
+ * When true (default), fetch labels for primitive ids via `getOne` if they are
19
+ * not already known from `selectedValues` / `selectedRecords`.
20
+ */
21
+ fetchSelected?: boolean;
22
+ /**
23
+ * Cache list results in memory. Defaults to `false` when `lazy` is true so each
24
+ * dropdown open refetches; eager loads (e.g. table columns) default to `true`.
25
+ */
26
+ cache?: boolean;
27
+ };
28
+ export declare function useChoices(loader: ChoicesLoader | undefined, reference: string | undefined, optionLabel?: string | ((record: Record<string, unknown>) => string), optionValue?: string, search?: string, hookOptions?: UseChoicesOptions): {
3
29
  options: ChoiceOption[];
4
30
  loading: boolean;
5
31
  labelForValue: (value: unknown) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"useChoices.d.ts","sourceRoot":"","sources":["../../../../src/crud/utils/useChoices.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAiF5D,wBAAgB,UAAU,CACxB,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,WAAW,GAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAU,EAC5E,WAAW,SAAO,EAClB,MAAM,CAAC,EAAE,MAAM;;;2BAgEL,OAAO,KAAG,MAAM;8BAQf,OAAO,EAAE,KAAG,MAAM;4BAQnB,OAAO,KAAG,YAAY,GAAG,SAAS;;EAa7C"}
1
+ {"version":3,"file":"useChoices.d.ts","sourceRoot":"","sources":["../../../../src/crud/utils/useChoices.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAY5D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,iGAAiG;IACjG,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;IACrC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACtE;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAyEF,wBAAgB,UAAU,CACxB,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,WAAW,GAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAU,EAC5E,WAAW,SAAO,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,GAAE,iBAAsB;;;2BAqLzB,OAAO,KAAG,MAAM;8BAQf,OAAO,EAAE,KAAG,MAAM;4BAQnB,OAAO,KAAG,YAAY,GAAG,SAAS;;EAa7C"}
@@ -1,6 +1,5 @@
1
1
  import { MessageInstance } from 'antd/es/message/interface';
2
2
  import { MutableRefObject } from 'react';
3
- import { NavigateFunction } from 'react-router-dom';
4
3
  import { DataProvider } from '../../data/dataProviderTypes';
5
4
  import { FieldValues, UseFormReturn } from 'react-hook-form';
6
5
  import { InlineFieldRegistration } from '../context/InlineFieldsRegistry';
@@ -12,9 +11,11 @@ type LoadOptions<T extends FieldValues> = {
12
11
  form: UseFormReturn<T>;
13
12
  message: MessageInstance;
14
13
  defaultValues?: Partial<T>;
14
+ /** When false, skip loading (e.g. modal closed). Defaults to true. */
15
+ enabled?: boolean;
15
16
  };
16
17
  /** Edit mode: `getOne` → `form.reset` → bump `formVersion` so field arrays remount. */
17
- export declare function useFormRecordLoad<T extends FieldValues>({ dp, resource, id, isNew, form, message, defaultValues, }: LoadOptions<T>): {
18
+ export declare function useFormRecordLoad<T extends FieldValues>({ dp, resource, id, isNew, form, message, defaultValues, enabled, }: LoadOptions<T>): {
18
19
  loading: boolean;
19
20
  formVersion: number;
20
21
  };
@@ -27,16 +28,17 @@ type SubmitOptions<T extends FieldValues & {
27
28
  isNew: boolean;
28
29
  form: UseFormReturn<T>;
29
30
  message: MessageInstance;
30
- navigate: NavigateFunction;
31
- listPath: string;
32
31
  payloadFieldsRef: MutableRefObject<Set<string>>;
33
32
  inlineRegistryRef: MutableRefObject<Map<string, InlineFieldRegistration>>;
34
- onSaved?: (record: T) => void;
35
- stayOnPage?: boolean;
33
+ setGlobalErrors: (errors: string[]) => void;
34
+ onSuccess?: (record: T) => void;
36
35
  };
37
36
  /** Save: `buildFormPayload` → clean inline rows → one `create` or `update`. */
38
37
  export declare function useFormRecordSave<T extends FieldValues & {
39
38
  id?: unknown;
40
- }>({ dp, resource, id, isNew, form, message, navigate, listPath, payloadFieldsRef, inlineRegistryRef, onSaved, stayOnPage, }: SubmitOptions<T>): (values: T) => Promise<void>;
39
+ }>({ dp, resource, id, isNew, form, message, payloadFieldsRef, inlineRegistryRef, setGlobalErrors, onSuccess, }: SubmitOptions<T>): {
40
+ onSubmit: (values: T) => Promise<void>;
41
+ saving: boolean;
42
+ };
41
43
  export {};
42
44
  //# sourceMappingURL=useFormRecord.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFormRecord.d.ts","sourceRoot":"","sources":["../../../../src/crud/utils/useFormRecord.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,aAAa,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAK/E,KAAK,WAAW,CAAC,CAAC,SAAS,WAAW,IAAI;IACxC,EAAE,EAAE,YAAY,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,eAAe,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CAC5B,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,EAAE,EACvD,EAAE,EACF,QAAQ,EACR,EAAE,EACF,KAAK,EACL,IAAI,EACJ,OAAO,EACP,aAAa,GACd,EAAE,WAAW,CAAC,CAAC,CAAC;;;EAiChB;AAED,KAAK,aAAa,CAAC,CAAC,SAAS,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,OAAO,CAAA;CAAE,IAAI;IAC7D,EAAE,EAAE,YAAY,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,iBAAiB,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAC1E,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,EAC1E,EAAE,EACF,QAAQ,EACR,EAAE,EACF,KAAK,EACL,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,OAAO,EACP,UAAU,GACX,EAAE,aAAa,CAAC,CAAC,CAAC,YAEA,CAAC,mBAmDnB"}
1
+ {"version":3,"file":"useFormRecord.d.ts","sourceRoot":"","sources":["../../../../src/crud/utils/useFormRecord.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,aAAa,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAK/E,KAAK,WAAW,CAAC,CAAC,SAAS,WAAW,IAAI;IACxC,EAAE,EAAE,YAAY,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,eAAe,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,EAAE,EACvD,EAAE,EACF,QAAQ,EACR,EAAE,EACF,KAAK,EACL,IAAI,EACJ,OAAO,EACP,aAAa,EACb,OAAc,GACf,EAAE,WAAW,CAAC,CAAC,CAAC;;;EAyChB;AAED,KAAK,aAAa,CAAC,CAAC,SAAS,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,OAAO,CAAA;CAAE,IAAI;IAC7D,EAAE,EAAE,YAAY,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,eAAe,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,iBAAiB,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAC1E,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,EAC1E,EAAE,EACF,QAAQ,EACR,EAAE,EACF,KAAK,EACL,IAAI,EACJ,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,SAAS,GACV,EAAE,aAAa,CAAC,CAAC,CAAC;uBAIA,CAAC;;EAkEnB"}