ding-react-admin 1.0.1 → 1.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 (87) hide show
  1. package/README.md +107 -2
  2. package/dist/index.js +712 -723
  3. package/dist/src/crud/InlineFormSet.d.ts +13 -11
  4. package/dist/src/crud/InlineFormSet.d.ts.map +1 -1
  5. package/dist/src/crud/ResourceForm.d.ts +10 -2
  6. package/dist/src/crud/ResourceForm.d.ts.map +1 -1
  7. package/dist/src/crud/ResourceFormModal.d.ts.map +1 -1
  8. package/dist/src/crud/ResourceList.d.ts.map +1 -1
  9. package/dist/src/crud/context/SubmitFieldsContext.d.ts +18 -0
  10. package/dist/src/crud/context/SubmitFieldsContext.d.ts.map +1 -0
  11. package/dist/src/crud/fields/BooleanField.d.ts +3 -1
  12. package/dist/src/crud/fields/BooleanField.d.ts.map +1 -1
  13. package/dist/src/crud/fields/DateField.d.ts +3 -1
  14. package/dist/src/crud/fields/DateField.d.ts.map +1 -1
  15. package/dist/src/crud/fields/FieldWrapper.d.ts +7 -14
  16. package/dist/src/crud/fields/FieldWrapper.d.ts.map +1 -1
  17. package/dist/src/crud/fields/NumberField.d.ts +5 -3
  18. package/dist/src/crud/fields/NumberField.d.ts.map +1 -1
  19. package/dist/src/crud/fields/PasswordField.d.ts +5 -3
  20. package/dist/src/crud/fields/PasswordField.d.ts.map +1 -1
  21. package/dist/src/crud/fields/ReferenceField.d.ts +6 -5
  22. package/dist/src/crud/fields/ReferenceField.d.ts.map +1 -1
  23. package/dist/src/crud/fields/ReferenceManyField.d.ts +3 -1
  24. package/dist/src/crud/fields/ReferenceManyField.d.ts.map +1 -1
  25. package/dist/src/crud/fields/SelectField.d.ts +3 -1
  26. package/dist/src/crud/fields/SelectField.d.ts.map +1 -1
  27. package/dist/src/crud/fields/TextField.d.ts +5 -3
  28. package/dist/src/crud/fields/TextField.d.ts.map +1 -1
  29. package/dist/src/crud/index.d.ts +8 -4
  30. package/dist/src/crud/index.d.ts.map +1 -1
  31. package/dist/src/crud/types.d.ts +21 -20
  32. package/dist/src/crud/types.d.ts.map +1 -1
  33. package/dist/src/crud/utils/inlineFieldName.d.ts +3 -0
  34. package/dist/src/crud/utils/inlineFieldName.d.ts.map +1 -0
  35. package/dist/src/crud/utils/useAbortableEffect.d.ts +7 -0
  36. package/dist/src/crud/utils/useAbortableEffect.d.ts.map +1 -0
  37. package/dist/src/crud/utils/useResourceFormData.d.ts +47 -0
  38. package/dist/src/crud/utils/useResourceFormData.d.ts.map +1 -0
  39. package/dist/src/data/abortError.d.ts +3 -0
  40. package/dist/src/data/abortError.d.ts.map +1 -0
  41. package/dist/src/data/abortError.test.d.ts +2 -0
  42. package/dist/src/data/abortError.test.d.ts.map +1 -0
  43. package/dist/src/data/createRestResourceHandlers.d.ts +2 -2
  44. package/dist/src/data/createRestResourceHandlers.d.ts.map +1 -1
  45. package/dist/src/data/dataProviderTypes.d.ts +7 -1
  46. package/dist/src/data/dataProviderTypes.d.ts.map +1 -1
  47. package/dist/src/data/resourceHandlers.d.ts +2 -2
  48. package/dist/src/data/resourceHandlers.d.ts.map +1 -1
  49. package/dist/src/index.d.ts +4 -3
  50. package/dist/src/index.d.ts.map +1 -1
  51. package/docs/assets/form-with-inline.png +0 -0
  52. package/package.json +59 -59
  53. package/src/crud/InlineFormSet.tsx +77 -89
  54. package/src/crud/ResourceForm.tsx +87 -202
  55. package/src/crud/ResourceFormModal.tsx +37 -25
  56. package/src/crud/ResourceList.tsx +35 -26
  57. package/src/crud/context/SubmitFieldsContext.tsx +62 -0
  58. package/src/crud/fields/BooleanField.tsx +22 -16
  59. package/src/crud/fields/DateField.tsx +32 -26
  60. package/src/crud/fields/FieldWrapper.tsx +32 -54
  61. package/src/crud/fields/NumberField.tsx +36 -34
  62. package/src/crud/fields/PasswordField.tsx +41 -40
  63. package/src/crud/fields/ReferenceField.tsx +35 -130
  64. package/src/crud/fields/ReferenceManyField.tsx +31 -25
  65. package/src/crud/fields/SelectField.tsx +6 -0
  66. package/src/crud/fields/TextField.tsx +32 -30
  67. package/src/crud/index.ts +19 -2
  68. package/src/crud/types.ts +132 -130
  69. package/src/crud/utils/inlineFieldName.ts +8 -0
  70. package/src/crud/utils/useAbortableEffect.ts +17 -0
  71. package/src/crud/utils/useResourceFormData.ts +231 -0
  72. package/src/data/abortError.test.ts +19 -0
  73. package/src/data/abortError.ts +10 -0
  74. package/src/data/createMemoryResourceHandlers.ts +1 -1
  75. package/src/data/createRestResourceHandlers.ts +4 -4
  76. package/src/data/dataProviderTypes.ts +8 -0
  77. package/src/data/resourceHandlers.ts +4 -3
  78. package/src/index.ts +14 -1
  79. package/dist/src/crud/context/FormFieldsContext.d.ts +0 -14
  80. package/dist/src/crud/context/FormFieldsContext.d.ts.map +0 -1
  81. package/dist/src/crud/context/InlineFormContext.d.ts +0 -16
  82. package/dist/src/crud/context/InlineFormContext.d.ts.map +0 -1
  83. package/dist/src/crud/fields/useInlineOrFormField.d.ts +0 -10
  84. package/dist/src/crud/fields/useInlineOrFormField.d.ts.map +0 -1
  85. package/src/crud/context/FormFieldsContext.tsx +0 -76
  86. package/src/crud/context/InlineFormContext.tsx +0 -71
  87. package/src/crud/fields/useInlineOrFormField.tsx +0 -91
@@ -1,17 +1,19 @@
1
1
  import { ReactNode } from 'react';
2
- import { InlineFormSetLayout } from './context/InlineFormContext';
3
2
  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;
3
+ import { InlineColumnDef, InlineFormSetBaseProps, InlineRowContext } from './types';
4
+ export type InlineFormSetLayout = "tabular" | "stacked";
5
+ export type InlineFormSetProps = InlineFormSetBaseProps & {
6
+ columns: InlineColumnDef[];
7
+ };
8
+ export type InlineFormSetStackedProps = InlineFormSetBaseProps & {
9
+ /** Field sources in each row — used when appending an empty row. */
10
+ sources: string[];
11
+ renderRow: (ctx: InlineRowContext) => ReactNode;
13
12
  };
14
- export declare function InlineFormSet({ resource, label, children, name, layout, }: InlineFormSetProps): import("react/jsx-runtime").JSX.Element;
13
+ /** Tabular inline (Django TabularInline) table with column headers. */
14
+ export declare function InlineFormSet({ resource, label, name, columns, }: InlineFormSetProps): import("react/jsx-runtime").JSX.Element;
15
+ /** Stacked inline (Django StackedInline) — each row in a card with field labels. */
16
+ export declare function InlineFormSetStacked({ resource, label, name, sources, renderRow, }: InlineFormSetStackedProps): import("react/jsx-runtime").JSX.Element;
15
17
  export type SaveInlineOptions = {
16
18
  resource: string;
17
19
  foreignKey: string;
@@ -1 +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"}
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,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAIjB,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,CAAC;AAExD,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG;IACxD,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,GAAG;IAC/D,oEAAoE;IACpE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,SAAS,CAAC;CACjD,CAAC;AAoBF,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,OAAO,GACR,EAAE,kBAAkB,2CA4DpB;AAED,oFAAoF;AACpF,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,OAAO,EACP,SAAS,GACV,EAAE,yBAAyB,2CAqC3B;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"}
@@ -1,8 +1,8 @@
1
1
  import { FieldValues } from 'react-hook-form';
2
2
  import { ReactNode } from 'react';
3
3
  import { ResourcePermissions } from '../permissions/resourcePermissions';
4
- import { InlineFormSetProps } from './InlineFormSet';
5
- export type ResourceFormInlineConfig = Pick<InlineFormSetProps, "resource" | "foreignKey" | "name">;
4
+ import { ResourceFormInlineConfig } from './utils/useResourceFormData';
5
+ export type { ResourceFormInlineConfig };
6
6
  export type ResourceFormProps<T extends FieldValues> = {
7
7
  resource: string;
8
8
  title: string;
@@ -15,6 +15,14 @@ export type ResourceFormProps<T extends FieldValues> = {
15
15
  /** Permission strings for create vs edit. Omit to allow all (demos only). */
16
16
  permissions?: Pick<ResourcePermissions, "add" | "change">;
17
17
  };
18
+ /**
19
+ * Create/edit page shell around react-hook-form.
20
+ *
21
+ * Flow:
22
+ * 1. Load — edit: getOne(parent) + loadInlineRows → form.reset (see useResourceFormLoad)
23
+ * 2. Edit — children render fields; useSubmitField tracks sources for the API payload
24
+ * 3. Save — pickBySources → create/update parent → saveInlineRows (see useResourceFormSubmit)
25
+ */
18
26
  export declare function ResourceForm<T extends FieldValues & {
19
27
  id?: unknown;
20
28
  }>({ resource, title, listPath, children, defaultValues, onSaved, stayOnPage, inlines, permissions, }: ResourceFormProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -1 +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"}
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;AAI9E,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,6BAA6B,CAAC;AAErC,YAAY,EAAE,wBAAwB,EAAE,CAAC;AAEzC,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;AAEF;;;;;;;GAOG;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,OAAO,EACP,WAAW,GACZ,EAAE,iBAAiB,CAAC,CAAC,CAAC,2CAmHtB"}
@@ -1 +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"}
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 +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"}
1
+ {"version":3,"file":"ResourceList.d.ts","sourceRoot":"","sources":["../../../src/crud/ResourceList.tsx"],"names":[],"mappings":"AAOA,OAAO,EAOL,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;AAKjB,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;AA0eF,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,18 @@
1
+ import { MutableRefObject, ReactNode } from 'react';
2
+ /** Tracks which top-level field sources are included in the save payload. */
3
+ export declare function SubmitFieldsProvider({ children, fieldsRef, }: {
4
+ children: ReactNode;
5
+ fieldsRef: MutableRefObject<Set<string>>;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ export declare function useSubmitFieldsOptional(): MutableRefObject<Set<string>> | null;
8
+ /**
9
+ * Remember a field's `source` for submit (`pickBySources`).
10
+ * Top-level fields only — skip for inline row cells (nested `name` paths).
11
+ */
12
+ export declare function useSubmitField(source: string, enabled?: boolean): void;
13
+ /**
14
+ * Remember a field's `source` for tab/step error highlighting.
15
+ * Top-level fields only — no-op outside FormTabs / FormSteps.
16
+ */
17
+ export declare function useSectionField(source: string, enabled?: boolean): void;
18
+ //# sourceMappingURL=SubmitFieldsContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubmitFieldsContext.d.ts","sourceRoot":"","sources":["../../../../src/crud/context/SubmitFieldsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAMf,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CAC1C,2CAMA;AAED,wBAAgB,uBAAuB,yCAEtC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,UAAO,QAU5D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,UAAO,QAU7D"}
@@ -1,7 +1,9 @@
1
1
  import { BaseSourceProps, FieldRules } from '../types';
2
2
  export type BooleanFieldProps = BaseSourceProps & {
3
+ name?: string;
3
4
  required?: boolean;
4
5
  rules?: FieldRules;
6
+ hideLabel?: boolean;
5
7
  };
6
- export declare function BooleanField({ source, label, required, rules, }: BooleanFieldProps): import("react/jsx-runtime").JSX.Element | null;
8
+ export declare function BooleanField({ source, name, label, required, rules, hideLabel, }: BooleanFieldProps): import("react/jsx-runtime").JSX.Element;
7
9
  //# sourceMappingURL=BooleanField.d.ts.map
@@ -1 +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"}
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,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,GACV,EAAE,iBAAiB,2CAmBnB"}
@@ -1,8 +1,10 @@
1
1
  import { BaseSourceProps, FieldRules } from '../types';
2
2
  export type DateFieldProps = BaseSourceProps & {
3
+ name?: string;
3
4
  required?: boolean;
4
5
  rules?: FieldRules;
5
6
  showTime?: boolean;
7
+ hideLabel?: boolean;
6
8
  };
7
- export declare function DateField({ source, label, required, rules, showTime, }: DateFieldProps): import("react/jsx-runtime").JSX.Element | null;
9
+ export declare function DateField({ source, name, label, required, rules, showTime, hideLabel, }: DateFieldProps): import("react/jsx-runtime").JSX.Element;
8
10
  //# sourceMappingURL=DateField.d.ts.map
@@ -1 +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"}
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,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE,cAAc,2CA6BhB"}
@@ -1,29 +1,22 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { FieldRules } from '../types';
3
3
  export type FieldWrapperProps = {
4
+ /** Logical field name — used for submit payload tracking on top-level fields. */
4
5
  source: string;
6
+ /** Full RHF path. Defaults to `source`. Inline cells pass e.g. `lines.0.label`. */
7
+ name?: string;
5
8
  label?: string;
6
9
  required?: boolean;
7
10
  rules?: FieldRules;
11
+ /** Tabular inline cells: column header replaces the label. */
12
+ hideLabel?: boolean;
8
13
  children: (props: {
9
14
  value: unknown;
10
15
  onChange: (value: unknown) => void;
11
16
  onBlur: () => void;
12
17
  disabled?: boolean;
18
+ name: string;
13
19
  }) => ReactNode;
14
20
  };
15
- export declare function FieldWrapper({ source, label, required, rules, children, }: FieldWrapperProps): import("react/jsx-runtime").JSX.Element;
16
- export declare function InlineFieldWrapper({ name, label, required, rules, hideLabel, children, }: {
17
- name: string;
18
- label?: string;
19
- required?: boolean;
20
- rules?: FieldRules;
21
- /** Tabular inlines use column headers — suppress per-cell labels. */
22
- hideLabel?: boolean;
23
- children: (props: {
24
- value: unknown;
25
- onChange: (value: unknown) => void;
26
- onBlur: () => void;
27
- }) => ReactNode;
28
- }): import("react/jsx-runtime").JSX.Element;
21
+ export declare function FieldWrapper({ source, name, label, required, rules, hideLabel, children, }: FieldWrapperProps): import("react/jsx-runtime").JSX.Element;
29
22
  //# sourceMappingURL=FieldWrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldWrapper.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/FieldWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAI3C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE;QAChB,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QACnC,MAAM,EAAE,MAAM,IAAI,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,KAAK,SAAS,CAAC;CACjB,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE,iBAAiB,2CA+BnB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE;QAChB,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QACnC,MAAM,EAAE,MAAM,IAAI,CAAC;KACpB,KAAK,SAAS,CAAC;CACjB,2CA8BA"}
1
+ {"version":3,"file":"FieldWrapper.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/FieldWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAO3C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE;QAChB,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QACnC,MAAM,EAAE,MAAM,IAAI,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,KAAK,SAAS,CAAC;CACjB,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE,iBAAiB,2CAiDnB"}
@@ -1,12 +1,14 @@
1
1
  import { CSSProperties } from 'react';
2
- import { BaseSourceProps, FieldRules, InlineFieldOptions } from '../types';
3
- export type NumberFieldProps = BaseSourceProps & InlineFieldOptions & {
2
+ import { BaseSourceProps, FieldRules } from '../types';
3
+ export type NumberFieldProps = BaseSourceProps & {
4
+ name?: string;
4
5
  required?: boolean;
5
6
  rules?: FieldRules;
6
7
  min?: number;
7
8
  max?: number;
8
9
  step?: number;
9
10
  inputStyle?: CSSProperties;
11
+ hideLabel?: boolean;
10
12
  };
11
- export declare function NumberField({ source, label, required, rules, min, max, step, width: inlineWidth, minWidth: inlineMinWidth, inputStyle, }: NumberFieldProps): import("react/jsx-runtime").JSX.Element | null;
13
+ export declare function NumberField({ source, name, label, required, rules, min, max, step, inputStyle, hideLabel, }: NumberFieldProps): import("react/jsx-runtime").JSX.Element;
12
14
  //# sourceMappingURL=NumberField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NumberField.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/NumberField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGhF,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAC5C,kBAAkB,GAAG;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B,CAAC;AAEJ,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,KAAK,EACL,QAAQ,EACR,KAAK,EACL,GAAG,EACH,GAAG,EACH,IAAI,EACJ,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,cAAc,EACxB,UAAU,GACX,EAAE,gBAAgB,kDAuBlB"}
1
+ {"version":3,"file":"NumberField.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/NumberField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG5D,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,GAAG,EACH,GAAG,EACH,IAAI,EACJ,UAAU,EACV,SAAS,GACV,EAAE,gBAAgB,2CAwBlB"}
@@ -1,11 +1,13 @@
1
- import { BaseSourceProps, FieldRules, InlineFieldOptions } from '../types';
2
- export type PasswordFieldProps = BaseSourceProps & InlineFieldOptions & {
1
+ import { BaseSourceProps, FieldRules } from '../types';
2
+ export type PasswordFieldProps = BaseSourceProps & {
3
+ name?: string;
3
4
  required?: boolean;
4
5
  rules?: FieldRules;
5
6
  /** When set, renders a second field and validates it matches `source`. */
6
7
  confirmSource?: string;
7
8
  confirmLabel?: string;
8
9
  autoComplete?: string;
10
+ hideLabel?: boolean;
9
11
  };
10
- export declare function PasswordField({ source, label, required, rules, confirmSource, confirmLabel, autoComplete, width, minWidth, }: PasswordFieldProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function PasswordField({ source, name, label, required, rules, confirmSource, confirmLabel, autoComplete, hideLabel, }: PasswordFieldProps): import("react/jsx-runtime").JSX.Element;
11
13
  //# sourceMappingURL=PasswordField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordField.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/PasswordField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGhF,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAC9C,kBAAkB,GAAG;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAgCJ,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,KAAK,EACL,QAAQ,EACR,KAAK,EACL,aAAa,EACb,YAAiC,EACjC,YAA6B,EAC7B,KAAK,EACL,QAAQ,GACT,EAAE,kBAAkB,2CA0CpB"}
1
+ {"version":3,"file":"PasswordField.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/PasswordField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG5D,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAiCF,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,aAAa,EACb,YAAiC,EACjC,YAA6B,EAC7B,SAAS,GACV,EAAE,kBAAkB,2CAyCpB"}
@@ -1,18 +1,19 @@
1
1
  import { CSSProperties } from 'react';
2
- import { BaseSourceProps, ChoiceOption, FieldRules, InlineFieldOptions, ReferenceProps } from '../types';
3
- export type ReferenceFieldProps = BaseSourceProps & ReferenceProps & InlineFieldOptions & {
2
+ import { BaseSourceProps, ChoiceOption, FieldRules, ReferenceProps } from '../types';
3
+ export type ReferenceFieldProps = BaseSourceProps & ReferenceProps & {
4
+ name?: string;
4
5
  required?: boolean;
5
6
  rules?: FieldRules;
6
7
  search?: boolean;
7
8
  allowClear?: boolean;
8
9
  disabled?: boolean;
10
+ hideLabel?: boolean;
9
11
  /** Applied to the underlying Select / input control. */
10
12
  inputStyle?: CSSProperties;
11
13
  /** Called after the value changes (e.g. to update dependent fields). */
12
14
  onValueChange?: (value: unknown, option: ChoiceOption | undefined, meta: {
13
- name?: string;
14
- index?: number;
15
+ name: string;
15
16
  }) => void;
16
17
  };
17
- export declare function ReferenceField({ source, label, reference, choices, optionLabel, optionValue, required, rules, search, allowClear, disabled: disabledProp, width: inlineWidth, minWidth: inlineMinWidth, inputStyle, onValueChange, }: ReferenceFieldProps): import("react/jsx-runtime").JSX.Element | null;
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;
18
19
  //# sourceMappingURL=ReferenceField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReferenceField.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/ReferenceField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI3C,OAAO,KAAK,EAEV,eAAe,EAEf,YAAY,EAEZ,UAAU,EAEV,kBAAkB,EAElB,cAAc,EAEf,MAAM,UAAU,CAAC;AAQlB,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAE/C,cAAc,GAEd,kBAAkB,GAAG;IAEnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,wDAAwD;IAExD,UAAU,CAAC,EAAE,aAAa,CAAC;IAE3B,wEAAwE;IAExE,aAAa,CAAC,EAAE,CAEd,KAAK,EAAE,OAAO,EAEd,MAAM,EAAE,YAAY,GAAG,SAAS,EAEhC,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAEpC,IAAI,CAAC;CAEX,CAAC;AAIJ,wBAAgB,cAAc,CAAC,EAE7B,MAAM,EAEN,KAAK,EAEL,SAAS,EAET,OAAO,EAEP,WAAoB,EAEpB,WAAkB,EAElB,QAAQ,EAER,KAAK,EAEL,MAAM,EAEN,UAAU,EAEV,QAAQ,EAAE,YAAY,EAEtB,KAAK,EAAE,WAAW,EAElB,QAAQ,EAAE,cAAc,EAExB,UAAU,EAEV,aAAa,GAEd,EAAE,mBAAmB,kDA8FrB"}
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,9 +1,11 @@
1
1
  import { BaseSourceProps, FieldRules, ReferenceProps } from '../types';
2
2
  export type ReferenceManyFieldProps = BaseSourceProps & ReferenceProps & {
3
+ name?: string;
3
4
  required?: boolean;
4
5
  rules?: FieldRules;
5
6
  search?: boolean;
6
7
  allowClear?: boolean;
8
+ hideLabel?: boolean;
7
9
  };
8
- export declare function ReferenceManyField({ source, label, reference, choices, optionLabel, optionValue, required, rules, search, allowClear, }: ReferenceManyFieldProps): import("react/jsx-runtime").JSX.Element | null;
10
+ export declare function ReferenceManyField({ source, name, label, reference, choices, optionLabel, optionValue, required, rules, search, allowClear, hideLabel, }: ReferenceManyFieldProps): import("react/jsx-runtime").JSX.Element;
9
11
  //# 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,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEJ,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,KAAK,EACL,SAAS,EACT,OAAO,EACP,WAAoB,EACpB,WAAkB,EAClB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,UAAiB,GAClB,EAAE,uBAAuB,kDA4CzB"}
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,10 +1,12 @@
1
1
  import { BaseSourceProps, ChoiceOption, FieldRules } from '../types';
2
2
  export type SelectFieldProps = BaseSourceProps & {
3
+ name?: string;
3
4
  required?: boolean;
4
5
  rules?: FieldRules;
5
6
  choices: ChoiceOption[];
6
7
  mode?: "multiple";
7
8
  allowClear?: boolean;
9
+ hideLabel?: boolean;
8
10
  };
9
- export declare function SelectField({ source, label, required, rules, choices, mode, allowClear, }: SelectFieldProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function SelectField({ source, name, label, required, rules, choices, mode, allowClear, hideLabel, }: SelectFieldProps): import("react/jsx-runtime").JSX.Element;
10
12
  //# sourceMappingURL=SelectField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectField.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/SelectField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG1E,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,KAAK,EACL,QAAQ,EACR,KAAK,EACL,OAAO,EACP,IAAI,EACJ,UAAU,GACX,EAAE,gBAAgB,2CAqBlB"}
1
+ {"version":3,"file":"SelectField.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/SelectField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG1E,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,OAAO,EACP,IAAI,EACJ,UAAU,EACV,SAAS,GACV,EAAE,gBAAgB,2CAuBlB"}
@@ -1,10 +1,12 @@
1
1
  import { CSSProperties } from 'react';
2
- import { BaseSourceProps, FieldRules, InlineFieldOptions } from '../types';
3
- export type TextFieldProps = BaseSourceProps & InlineFieldOptions & {
2
+ import { BaseSourceProps, FieldRules } from '../types';
3
+ export type TextFieldProps = BaseSourceProps & {
4
+ name?: string;
4
5
  required?: boolean;
5
6
  rules?: FieldRules;
6
7
  placeholder?: string;
7
8
  inputStyle?: CSSProperties;
9
+ hideLabel?: boolean;
8
10
  };
9
- export declare function TextField({ source, label, required, rules, placeholder, width: inlineWidth, minWidth: inlineMinWidth, inputStyle, }: TextFieldProps): import("react/jsx-runtime").JSX.Element | null;
11
+ export declare function TextField({ source, name, label, required, rules, placeholder, inputStyle, hideLabel, }: TextFieldProps): import("react/jsx-runtime").JSX.Element;
10
12
  //# sourceMappingURL=TextField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/TextField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGhF,MAAM,MAAM,cAAc,GAAG,eAAe,GAC1C,kBAAkB,GAAG;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B,CAAC;AAEJ,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,KAAK,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,cAAc,EACxB,UAAU,GACX,EAAE,cAAc,kDAqBhB"}
1
+ {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/TextField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG5D,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,UAAU,EACV,SAAS,GACV,EAAE,cAAc,2CAsBhB"}
@@ -5,8 +5,8 @@ export { ResourceForm } from './ResourceForm';
5
5
  export type { ResourceFormProps, ResourceFormInlineConfig, } from './ResourceForm';
6
6
  export { ResourceFormModal } from './ResourceFormModal';
7
7
  export type { ResourceFormModalProps } from './ResourceFormModal';
8
- export { InlineFormSet, saveInlineRows, loadInlineRows, } from './InlineFormSet';
9
- export type { InlineFormSetProps, SaveInlineOptions, InlineFormSetLayout } from './InlineFormSet';
8
+ export { InlineFormSet, InlineFormSetStacked, saveInlineRows, loadInlineRows, } from './InlineFormSet';
9
+ export type { InlineFormSetProps, InlineFormSetStackedProps, SaveInlineOptions, InlineFormSetLayout, } from './InlineFormSet';
10
10
  export { FormTabs, FormTab } from './FormTabs';
11
11
  export type { FormTabsProps, FormTabProps } from './FormTabs';
12
12
  export { FormSteps, FormStep } from './FormSteps';
@@ -19,6 +19,8 @@ export { SelectField } from './fields/SelectField';
19
19
  export { PasswordField } from './fields/PasswordField';
20
20
  export { ReferenceField } from './fields/ReferenceField';
21
21
  export { ReferenceManyField } from './fields/ReferenceManyField';
22
+ export { FieldWrapper } from './fields/FieldWrapper';
23
+ export type { FieldWrapperProps } from './fields/FieldWrapper';
22
24
  export { TextColumn } from './columns/TextColumn';
23
25
  export { NumberColumn } from './columns/NumberColumn';
24
26
  export { BooleanColumn } from './columns/BooleanColumn';
@@ -33,12 +35,14 @@ export { DateFilter } from './filters/DateFilter';
33
35
  export { SelectFilter } from './filters/SelectFilter';
34
36
  export { ReferenceFilter, ReferenceManyFilter, } from './filters/ReferenceFilter';
35
37
  export { useListQueryState } from './utils/useListQueryState';
38
+ export { useAbortableEffect } from './utils/useAbortableEffect';
36
39
  export type { ListQueryState, ListQueryActions, } from './utils/useListQueryState';
37
40
  export { useChoices } from './utils/useChoices';
38
41
  export { getByPath } from './utils/getByPath';
39
42
  export { pickBySources } from './utils/pickBySources';
40
43
  export { inlineArrayName } from './utils/inlineArrayName';
44
+ export { inlineFieldName } from './utils/inlineFieldName';
41
45
  export { setByPath } from './utils/setByPath';
42
- export { useRegisterFormSource } from './context/FormFieldsContext';
43
- export type { BaseSourceProps, ChoiceOption, ChoicesLoader, ReferenceProps, DisplayProps, EditMode, FieldRules, ResourceListBuiltInActions, ResourceListBulkAction, ResourceListBulkActionHelpers, ResourceListRowActionsHelpers, } from './types';
46
+ export { useSubmitField, useSectionField, } from './context/SubmitFieldsContext';
47
+ export type { BaseSourceProps, ChoiceOption, ChoicesLoader, ReferenceProps, DisplayProps, EditMode, FieldRules, InlineCellContext, InlineColumnDef, InlineFormSetBaseProps, InlineRowContext, ResourceListBuiltInActions, ResourceListBulkAction, ResourceListBulkActionHelpers, ResourceListRowActionsHelpers, } from './types';
44
48
  //# sourceMappingURL=index.d.ts.map
@@ -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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"}
@@ -46,31 +46,32 @@ export type FilterDefinition = {
46
46
  onChange: (value: unknown) => void;
47
47
  }) => ReactNode;
48
48
  };
49
- export type InlineFieldDefinition = {
50
- key: string;
51
- source: string;
49
+ export type InlineFormSetBaseProps = {
50
+ resource: string;
51
+ foreignKey: string;
52
52
  label?: string;
53
- /** Column width in tabular inline tables (Ant Design Table `width`). */
54
- width?: number | string;
55
- /** Minimum column width in tabular inline tables. */
56
- minWidth?: number | string;
57
- render: (props: {
58
- name: string;
59
- index: number;
60
- }) => ReactNode;
53
+ name?: string;
54
+ };
55
+ /** Passed to each tabular inline column's `cell` renderer. */
56
+ export type InlineCellContext = {
57
+ /** Full RHF path, e.g. `__inline_invoice_lines.0.label`. */
58
+ name: string;
59
+ index: number;
60
+ arrayName: string;
61
61
  };
62
- export type InlineFieldOptions = {
62
+ export type InlineColumnDef = {
63
+ source: string;
64
+ label?: string;
63
65
  width?: number | string;
64
66
  minWidth?: number | string;
67
+ cell: (ctx: InlineCellContext) => ReactNode;
65
68
  };
66
- export type FieldRenderProps = {
67
- value: unknown;
68
- onChange: (value: unknown) => void;
69
- onBlur: () => void;
70
- disabled?: boolean;
71
- /** Set when rendered inside `InlineFormSet`. */
72
- name?: string;
73
- index?: number;
69
+ /** Passed to `InlineFormSetStacked`'s `renderRow` for one related row. */
70
+ export type InlineRowContext = {
71
+ arrayName: string;
72
+ index: number;
73
+ /** RHF path helper — `name("label")` → `arrayName.index.label`. */
74
+ name: (source: string) => string;
74
75
  };
75
76
  export type EditMode = "page" | "modal" | "both";
76
77
  /** Toggle built-in row actions. Omitted keys default to `true` (still gated by permissions). */
@@ -1 +1 @@
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;CACtB,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,qBAAqB,GAAG;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,EAAE,CAAC,KAAK,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/crud/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** RHF field path for one cell in an inline field array row. */
2
+ export declare function inlineFieldName(arrayName: string, index: number, source: string): string;
3
+ //# sourceMappingURL=inlineFieldName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inlineFieldName.d.ts","sourceRoot":"","sources":["../../../../src/crud/utils/inlineFieldName.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,UAGf"}
@@ -0,0 +1,7 @@
1
+ import { DependencyList } from 'react';
2
+ /**
3
+ * Runs an async effect with an `AbortSignal` that aborts on cleanup.
4
+ * Use with `params.signal` on DataProvider reads and `isAbortError` in catch blocks.
5
+ */
6
+ export declare function useAbortableEffect(effect: (signal: AbortSignal) => void | Promise<void>, deps: DependencyList): void;
7
+ //# sourceMappingURL=useAbortableEffect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAbortableEffect.d.ts","sourceRoot":"","sources":["../../../../src/crud/utils/useAbortableEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACrD,IAAI,EAAE,cAAc,GACnB,IAAI,CAON"}
@@ -0,0 +1,47 @@
1
+ import { MessageInstance } from 'antd/es/message/interface';
2
+ import { MutableRefObject } from 'react';
3
+ import { NavigateFunction } from 'react-router-dom';
4
+ import { DataProvider } from '../../data/dataProviderTypes';
5
+ import { FieldValues, UseFormReturn } from 'react-hook-form';
6
+ import { InlineFormSetProps } from '../InlineFormSet';
7
+ export type ResourceFormInlineConfig = Pick<InlineFormSetProps, "resource" | "foreignKey" | "name">;
8
+ export declare function resolveInlineArrayName(config: ResourceFormInlineConfig): string;
9
+ type LoadOptions<T extends FieldValues> = {
10
+ dp: DataProvider;
11
+ resource: string;
12
+ id: string | undefined;
13
+ isNew: boolean;
14
+ form: UseFormReturn<T>;
15
+ message: MessageInstance;
16
+ defaultValues?: Partial<T>;
17
+ inlines?: ResourceFormInlineConfig[];
18
+ };
19
+ /** Edit mode: fetch parent (+ inline rows) → form.reset → bump formVersion for field arrays. */
20
+ export declare function useResourceFormLoad<T extends FieldValues>({ dp, resource, id, isNew, form, message, defaultValues, inlines, }: LoadOptions<T>): {
21
+ loading: boolean;
22
+ formVersion: number;
23
+ existingInlineIds: Record<string, (string | number)[]>;
24
+ };
25
+ type SubmitOptions<T extends FieldValues & {
26
+ id?: unknown;
27
+ }> = {
28
+ dp: DataProvider;
29
+ resource: string;
30
+ id: string | undefined;
31
+ isNew: boolean;
32
+ form: UseFormReturn<T>;
33
+ message: MessageInstance;
34
+ navigate: NavigateFunction;
35
+ listPath: string;
36
+ submitFieldsRef: MutableRefObject<Set<string>>;
37
+ inlines?: ResourceFormInlineConfig[];
38
+ existingInlineIds: Record<string, (string | number)[]>;
39
+ onSaved?: (record: T) => void;
40
+ stayOnPage?: boolean;
41
+ };
42
+ /** Save: pickBySources → create/update parent → saveInlineRows for each inline config. */
43
+ export declare function useResourceFormSubmit<T extends FieldValues & {
44
+ id?: unknown;
45
+ }>({ dp, resource, id, isNew, form, message, navigate, listPath, submitFieldsRef, inlines, existingInlineIds, onSaved, stayOnPage, }: SubmitOptions<T>): (values: T) => Promise<void>;
46
+ export {};
47
+ //# sourceMappingURL=useResourceFormData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResourceFormData.d.ts","sourceRoot":"","sources":["../../../../src/crud/utils/useResourceFormData.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,EAGL,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAM1B,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,kBAAkB,EAClB,UAAU,GAAG,YAAY,GAAG,MAAM,CACnC,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,wBAAwB,UAEtE;AAED,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,OAAO,CAAC,EAAE,wBAAwB,EAAE,CAAC;CACtC,CAAC;AAEF,gGAAgG;AAChG,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,WAAW,EAAE,EACzD,EAAE,EACF,QAAQ,EACR,EAAE,EACF,KAAK,EACL,IAAI,EACJ,OAAO,EACP,aAAa,EACb,OAAO,GACR,EAAE,WAAW,CAAC,CAAC,CAAC;;;;EAyDhB;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,eAAe,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACrC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,0FAA0F;AAC1F,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,EAC9E,EAAE,EACF,QAAQ,EACR,EAAE,EACF,KAAK,EACL,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,OAAO,EACP,iBAAiB,EACjB,OAAO,EACP,UAAU,GACX,EAAE,aAAa,CAAC,CAAC,CAAC,YAEA,CAAC,mBAoFnB"}
@@ -0,0 +1,3 @@
1
+ /** True when a fetch/axios call was aborted via `AbortSignal` (not a real failure). */
2
+ export declare function isAbortError(error: unknown): boolean;
3
+ //# sourceMappingURL=abortError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abortError.d.ts","sourceRoot":"","sources":["../../../src/data/abortError.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQpD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=abortError.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abortError.test.d.ts","sourceRoot":"","sources":["../../../src/data/abortError.test.ts"],"names":[],"mappings":""}
@@ -1,11 +1,11 @@
1
- import { GetListParams, Identifier } from './dataProviderTypes';
1
+ import { GetListParams, GetOneParams, Identifier } from './dataProviderTypes';
2
2
  import { ResourceHandlers } from './resourceHandlers';
3
3
  export type RestResourceHandlersConfig<T extends Record<string, unknown> = Record<string, unknown>> = {
4
4
  list: (params: GetListParams) => Promise<{
5
5
  data: T[];
6
6
  total: number;
7
7
  }>;
8
- retrieve: (id: Identifier) => Promise<T>;
8
+ retrieve: (id: Identifier, params?: GetOneParams) => Promise<T>;
9
9
  create: (data: Record<string, unknown>) => Promise<T>;
10
10
  update: (id: Identifier, data: Record<string, unknown>) => Promise<T>;
11
11
  destroy: (id: Identifier) => Promise<void>;