ding-react-admin 1.0.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/README.md +38 -13
  2. package/dist/index.js +1317 -1060
  3. package/dist/src/crud/InlineFormSet.d.ts +12 -25
  4. package/dist/src/crud/InlineFormSet.d.ts.map +1 -1
  5. package/dist/src/crud/ResourceForm.d.ts +7 -4
  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/columns/ImageColumn.d.ts +14 -0
  10. package/dist/src/crud/columns/ImageColumn.d.ts.map +1 -0
  11. package/dist/src/crud/context/InlineFieldsRegistry.d.ts +15 -0
  12. package/dist/src/crud/context/InlineFieldsRegistry.d.ts.map +1 -0
  13. package/dist/src/crud/context/PayloadFieldsContext.d.ts +18 -0
  14. package/dist/src/crud/context/PayloadFieldsContext.d.ts.map +1 -0
  15. package/dist/src/crud/fields/BooleanField.d.ts +3 -1
  16. package/dist/src/crud/fields/BooleanField.d.ts.map +1 -1
  17. package/dist/src/crud/fields/DateField.d.ts +3 -1
  18. package/dist/src/crud/fields/DateField.d.ts.map +1 -1
  19. package/dist/src/crud/fields/FieldWrapper.d.ts +7 -14
  20. package/dist/src/crud/fields/FieldWrapper.d.ts.map +1 -1
  21. package/dist/src/crud/fields/FileField.d.ts +12 -0
  22. package/dist/src/crud/fields/FileField.d.ts.map +1 -0
  23. package/dist/src/crud/fields/ImageField.d.ts +14 -0
  24. package/dist/src/crud/fields/ImageField.d.ts.map +1 -0
  25. package/dist/src/crud/fields/NumberField.d.ts +5 -3
  26. package/dist/src/crud/fields/NumberField.d.ts.map +1 -1
  27. package/dist/src/crud/fields/PasswordField.d.ts +5 -3
  28. package/dist/src/crud/fields/PasswordField.d.ts.map +1 -1
  29. package/dist/src/crud/fields/ReferenceField.d.ts +6 -5
  30. package/dist/src/crud/fields/ReferenceField.d.ts.map +1 -1
  31. package/dist/src/crud/fields/ReferenceManyField.d.ts +3 -1
  32. package/dist/src/crud/fields/ReferenceManyField.d.ts.map +1 -1
  33. package/dist/src/crud/fields/SelectField.d.ts +3 -1
  34. package/dist/src/crud/fields/SelectField.d.ts.map +1 -1
  35. package/dist/src/crud/fields/TextField.d.ts +5 -3
  36. package/dist/src/crud/fields/TextField.d.ts.map +1 -1
  37. package/dist/src/crud/fields/uploadFieldUtils.d.ts +5 -0
  38. package/dist/src/crud/fields/uploadFieldUtils.d.ts.map +1 -0
  39. package/dist/src/crud/fields/useUploadPreviewUrl.d.ts +4 -0
  40. package/dist/src/crud/fields/useUploadPreviewUrl.d.ts.map +1 -0
  41. package/dist/src/crud/index.d.ts +26 -9
  42. package/dist/src/crud/index.d.ts.map +1 -1
  43. package/dist/src/crud/types.d.ts +23 -20
  44. package/dist/src/crud/types.d.ts.map +1 -1
  45. package/dist/src/crud/utils/buildFormPayload.d.ts +6 -0
  46. package/dist/src/crud/utils/buildFormPayload.d.ts.map +1 -0
  47. package/dist/src/crud/utils/buildInlineRowsPayload.d.ts +6 -0
  48. package/dist/src/crud/utils/buildInlineRowsPayload.d.ts.map +1 -0
  49. package/dist/src/crud/utils/buildResourceFormSubmitBody.d.ts +5 -0
  50. package/dist/src/crud/utils/buildResourceFormSubmitBody.d.ts.map +1 -0
  51. package/dist/src/crud/utils/formErrors.d.ts +1 -1
  52. package/dist/src/crud/utils/formErrors.d.ts.map +1 -1
  53. package/dist/src/crud/utils/getFormValue.d.ts +3 -0
  54. package/dist/src/crud/utils/getFormValue.d.ts.map +1 -0
  55. package/dist/src/crud/utils/hasUploadValues.d.ts +3 -0
  56. package/dist/src/crud/utils/hasUploadValues.d.ts.map +1 -0
  57. package/dist/src/crud/utils/nestedFieldPath.d.ts +3 -0
  58. package/dist/src/crud/utils/nestedFieldPath.d.ts.map +1 -0
  59. package/dist/src/crud/utils/prepareFormSubmitBody.d.ts +7 -0
  60. package/dist/src/crud/utils/prepareFormSubmitBody.d.ts.map +1 -0
  61. package/dist/src/crud/utils/setFormValue.d.ts +3 -0
  62. package/dist/src/crud/utils/setFormValue.d.ts.map +1 -0
  63. package/dist/src/crud/utils/toFormData.d.ts +13 -0
  64. package/dist/src/crud/utils/toFormData.d.ts.map +1 -0
  65. package/dist/src/crud/utils/useAbortableEffect.d.ts +7 -0
  66. package/dist/src/crud/utils/useAbortableEffect.d.ts.map +1 -0
  67. package/dist/src/crud/utils/useFormRecord.d.ts +42 -0
  68. package/dist/src/crud/utils/useFormRecord.d.ts.map +1 -0
  69. package/dist/src/data/abortError.d.ts +3 -0
  70. package/dist/src/data/abortError.d.ts.map +1 -0
  71. package/dist/src/data/abortError.test.d.ts +2 -0
  72. package/dist/src/data/abortError.test.d.ts.map +1 -0
  73. package/dist/src/data/createRestResourceHandlers.d.ts +6 -6
  74. package/dist/src/data/createRestResourceHandlers.d.ts.map +1 -1
  75. package/dist/src/data/dataProviderTypes.d.ts +13 -6
  76. package/dist/src/data/dataProviderTypes.d.ts.map +1 -1
  77. package/dist/src/data/parseFormErrorHelpers.d.ts +44 -6
  78. package/dist/src/data/parseFormErrorHelpers.d.ts.map +1 -1
  79. package/dist/src/data/resourceHandlers.d.ts +3 -3
  80. package/dist/src/data/resourceHandlers.d.ts.map +1 -1
  81. package/dist/src/index.d.ts +5 -4
  82. package/dist/src/index.d.ts.map +1 -1
  83. package/dist/src/layouts/AdminLayout.d.ts.map +1 -1
  84. package/package.json +59 -59
  85. package/src/crud/InlineFormSet.tsx +90 -159
  86. package/src/crud/ResourceForm.tsx +83 -204
  87. package/src/crud/ResourceFormModal.tsx +57 -45
  88. package/src/crud/ResourceList.tsx +36 -26
  89. package/src/crud/columns/ImageColumn.tsx +58 -0
  90. package/src/crud/columns/TextColumn.tsx +2 -2
  91. package/src/crud/context/InlineFieldsRegistry.tsx +61 -0
  92. package/src/crud/context/PayloadFieldsContext.tsx +62 -0
  93. package/src/crud/fields/BooleanField.tsx +22 -16
  94. package/src/crud/fields/DateField.tsx +32 -26
  95. package/src/crud/fields/FieldWrapper.tsx +87 -109
  96. package/src/crud/fields/FileField.tsx +123 -0
  97. package/src/crud/fields/ImageField.tsx +120 -0
  98. package/src/crud/fields/NumberField.tsx +36 -34
  99. package/src/crud/fields/PasswordField.tsx +41 -40
  100. package/src/crud/fields/ReferenceField.tsx +35 -130
  101. package/src/crud/fields/ReferenceManyField.tsx +31 -25
  102. package/src/crud/fields/SelectField.tsx +6 -0
  103. package/src/crud/fields/TextField.tsx +32 -30
  104. package/src/crud/fields/uploadFieldUtils.ts +21 -0
  105. package/src/crud/fields/useUploadPreviewUrl.ts +20 -0
  106. package/src/crud/index.ts +35 -14
  107. package/src/crud/types.ts +134 -130
  108. package/src/crud/utils/buildFormPayload.ts +24 -0
  109. package/src/crud/utils/buildInlineRowsPayload.ts +37 -0
  110. package/src/crud/utils/buildResourceFormSubmitBody.ts +29 -0
  111. package/src/crud/utils/formErrors.ts +42 -38
  112. package/src/crud/utils/{getByPath.ts → getFormValue.ts} +2 -2
  113. package/src/crud/utils/hasUploadValues.ts +9 -0
  114. package/src/crud/utils/nestedFieldPath.ts +8 -0
  115. package/src/crud/utils/prepareFormSubmitBody.ts +17 -0
  116. package/src/crud/utils/{setByPath.ts → setFormValue.ts} +2 -2
  117. package/src/crud/utils/toFormData.ts +81 -0
  118. package/src/crud/utils/useAbortableEffect.ts +17 -0
  119. package/src/crud/utils/useFormRecord.ts +156 -0
  120. package/src/data/abortError.test.ts +19 -0
  121. package/src/data/abortError.ts +10 -0
  122. package/src/data/createMemoryResourceHandlers.ts +1 -1
  123. package/src/data/createRestResourceHandlers.ts +22 -16
  124. package/src/data/dataProviderTypes.ts +15 -5
  125. package/src/data/dataUtils.test.ts +118 -6
  126. package/src/data/parseFormErrorHelpers.test.ts +138 -84
  127. package/src/data/parseFormErrorHelpers.ts +311 -224
  128. package/src/data/resourceHandlers.ts +5 -4
  129. package/src/index.ts +34 -9
  130. package/src/layouts/AdminLayout.tsx +2 -1
  131. package/dist/src/crud/context/FormFieldsContext.d.ts +0 -14
  132. package/dist/src/crud/context/FormFieldsContext.d.ts.map +0 -1
  133. package/dist/src/crud/context/InlineFormContext.d.ts +0 -16
  134. package/dist/src/crud/context/InlineFormContext.d.ts.map +0 -1
  135. package/dist/src/crud/fields/useInlineOrFormField.d.ts +0 -10
  136. package/dist/src/crud/fields/useInlineOrFormField.d.ts.map +0 -1
  137. package/dist/src/crud/utils/getByPath.d.ts +0 -3
  138. package/dist/src/crud/utils/getByPath.d.ts.map +0 -1
  139. package/dist/src/crud/utils/inlineArrayName.d.ts +0 -3
  140. package/dist/src/crud/utils/inlineArrayName.d.ts.map +0 -1
  141. package/dist/src/crud/utils/pickBySources.d.ts +0 -6
  142. package/dist/src/crud/utils/pickBySources.d.ts.map +0 -1
  143. package/dist/src/crud/utils/setByPath.d.ts +0 -3
  144. package/dist/src/crud/utils/setByPath.d.ts.map +0 -1
  145. package/src/crud/context/FormFieldsContext.tsx +0 -76
  146. package/src/crud/context/InlineFormContext.tsx +0 -71
  147. package/src/crud/fields/useInlineOrFormField.tsx +0 -91
  148. package/src/crud/utils/inlineArrayName.ts +0 -4
  149. package/src/crud/utils/pickBySources.ts +0 -24
@@ -1,29 +1,16 @@
1
1
  import { ReactNode } from 'react';
2
- import { InlineFormSetLayout } from './context/InlineFormContext';
3
- import { Identifier, DataProvider } from '../data/dataProviderTypes';
4
- export type { InlineFormSetLayout } from './context/InlineFormContext';
5
- export type InlineFormSetProps = {
6
- resource: string;
7
- foreignKey: string;
8
- label?: string;
9
- children: ReactNode;
10
- name?: string;
11
- /** `tabular` (default) — Django TabularInline; `stacked` — Django StackedInline. */
12
- layout?: InlineFormSetLayout;
2
+ import { InlineColumnDef, InlineFormSetBaseProps, InlineRowContext } from './types';
3
+ export type InlineFormSetLayout = "tabular" | "stacked";
4
+ export type InlineFormSetProps = InlineFormSetBaseProps & {
5
+ columns: InlineColumnDef[];
13
6
  };
14
- export declare function InlineFormSet({ resource, label, children, name, layout, }: InlineFormSetProps): import("react/jsx-runtime").JSX.Element;
15
- export type SaveInlineOptions = {
16
- resource: string;
17
- foreignKey: string;
18
- parentId: Identifier;
19
- rows: Record<string, unknown>[];
20
- existingIds?: Identifier[];
21
- /** Return true when the error was handled (field errors applied). Stops saving further rows. */
22
- onRowError?: (error: unknown, index: number) => boolean;
7
+ export type InlineFormSetStackedProps = InlineFormSetBaseProps & {
8
+ /** Field sources in each row — used when appending an empty row. */
9
+ sources: string[];
10
+ renderRow: (ctx: InlineRowContext) => ReactNode;
23
11
  };
24
- export declare function saveInlineRows(dp: DataProvider, opts: SaveInlineOptions): Promise<boolean>;
25
- export declare function loadInlineRows(dp: DataProvider, resource: string, foreignKey: string, parentId: Identifier): Promise<{
26
- rows: Record<string, unknown>[];
27
- ids: Identifier[];
28
- }>;
12
+ /** Tabular inline (Django TabularInline) table with column headers. */
13
+ export declare function InlineFormSet({ field, label, payloadKey, transformRows, columns, }: InlineFormSetProps): import("react/jsx-runtime").JSX.Element;
14
+ /** Stacked inline (Django StackedInline) — each row in a card with field labels. */
15
+ export declare function InlineFormSetStacked({ field, label, payloadKey, transformRows, sources, renderRow, }: InlineFormSetStackedProps): import("react/jsx-runtime").JSX.Element;
29
16
  //# sourceMappingURL=InlineFormSet.d.ts.map
@@ -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,EACV,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAKjB,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;AAqBF,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,KAAK,EACL,UAAU,EACV,aAAa,EACb,OAAO,GACR,EAAE,kBAAkB,2CA8DpB;AAED,oFAAoF;AACpF,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,KAAK,EACL,UAAU,EACV,aAAa,EACb,OAAO,EACP,SAAS,GACV,EAAE,yBAAyB,2CAuC3B"}
@@ -1,8 +1,6 @@
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">;
6
4
  export type ResourceFormProps<T extends FieldValues> = {
7
5
  resource: string;
8
6
  title: string;
@@ -11,11 +9,16 @@ export type ResourceFormProps<T extends FieldValues> = {
11
9
  defaultValues?: Partial<T>;
12
10
  onSaved?: (record: T) => void;
13
11
  stayOnPage?: boolean;
14
- inlines?: ResourceFormInlineConfig[];
15
12
  /** Permission strings for create vs edit. Omit to allow all (demos only). */
16
13
  permissions?: Pick<ResourcePermissions, "add" | "change">;
17
14
  };
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.
20
+ */
18
21
  export declare function ResourceForm<T extends FieldValues & {
19
22
  id?: unknown;
20
- }>({ resource, title, listPath, children, defaultValues, onSaved, stayOnPage, inlines, permissions, }: ResourceFormProps<T>): import("react/jsx-runtime").JSX.Element;
23
+ }>({ resource, title, listPath, children, defaultValues, onSaved, stayOnPage, permissions, }: ResourceFormProps<T>): import("react/jsx-runtime").JSX.Element;
21
24
  //# sourceMappingURL=ResourceForm.d.ts.map
@@ -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;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 +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;AA2eF,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,14 @@
1
+ import { CSSProperties } from 'react';
2
+ import { BaseSourceProps } from '../types';
3
+ export type ImageColumnProps = BaseSourceProps & {
4
+ sortable?: boolean;
5
+ /** Thumbnail width in pixels. */
6
+ width?: number;
7
+ /** Thumbnail height in pixels. */
8
+ height?: number;
9
+ objectFit?: CSSProperties["objectFit"];
10
+ borderRadius?: number;
11
+ alt?: string;
12
+ };
13
+ export declare function ImageColumn({ source, label, sortable, width, height, objectFit, borderRadius, alt, }: ImageColumnProps): null;
14
+ //# sourceMappingURL=ImageColumn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageColumn.d.ts","sourceRoot":"","sources":["../../../../src/crud/columns/ImageColumn.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhD,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,KAAK,EACL,QAAgB,EAChB,KAAU,EACV,MAAW,EACX,SAAmB,EACnB,YAAgB,EAChB,GAAQ,GACT,EAAE,gBAAgB,QAiClB"}
@@ -0,0 +1,15 @@
1
+ import { RefObject, ReactNode } from 'react';
2
+ export type InlineFieldRegistration = {
3
+ field: string;
4
+ sources: string[];
5
+ payloadKey?: string;
6
+ transformRows?: (rows: Record<string, unknown>[]) => unknown;
7
+ };
8
+ export declare function InlineFieldsRegistryProvider({ children, registryRef, }: {
9
+ children: ReactNode;
10
+ registryRef: RefObject<Map<string, InlineFieldRegistration>>;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ export declare function useInlineFieldsRegistryOptional(): RefObject<Map<string, InlineFieldRegistration>> | null;
13
+ /** Register an inline field array (`useFieldArray` name) for save payload cleaning. */
14
+ export declare function useRegisterInlineField(field: string, sources: string[], payloadKey?: string, transformRows?: (rows: Record<string, unknown>[]) => unknown, enabled?: boolean): void;
15
+ //# sourceMappingURL=InlineFieldsRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InlineFieldsRegistry.d.ts","sourceRoot":"","sources":["../../../../src/crud/context/InlineFieldsRegistry.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC;CAC9D,CAAC;AAOF,wBAAgB,4BAA4B,CAAC,EAC3C,QAAQ,EACR,WAAW,GACZ,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC;CAC9D,2CAMA;AAED,wBAAgB,+BAA+B,2DAE9C;AAED,uFAAuF;AACvF,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,OAAO,EAC5D,OAAO,UAAO,QAgBf"}
@@ -0,0 +1,18 @@
1
+ import { RefObject, ReactNode } from 'react';
2
+ /** Tracks which field paths are included in the save payload. */
3
+ export declare function PayloadFieldsProvider({ children, fieldsRef, }: {
4
+ children: ReactNode;
5
+ fieldsRef: RefObject<Set<string>>;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ export declare function usePayloadFieldsRefOptional(): RefObject<Set<string>> | null;
8
+ /**
9
+ * Register a field path for the save payload (`buildFormPayload`).
10
+ * Top-level fields use `source`; inline arrays register their `field` name.
11
+ */
12
+ export declare function useRegisterPayloadField(fieldPath: string, enabled?: boolean): void;
13
+ /**
14
+ * Register a field for tab/step error highlighting.
15
+ * Top-level fields only — no-op outside FormTabs / FormSteps.
16
+ */
17
+ export declare function useRegisterSectionField(source: string, enabled?: boolean): void;
18
+ //# sourceMappingURL=PayloadFieldsContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayloadFieldsContext.d.ts","sourceRoot":"","sources":["../../../../src/crud/context/PayloadFieldsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAMf,iEAAiE;AACjE,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACnC,2CAMA;AAED,wBAAgB,2BAA2B,kCAE1C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,UAAO,QAUxE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,UAAO,QAUrE"}
@@ -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"}
@@ -0,0 +1,12 @@
1
+ import { BaseSourceProps, FieldRules } from '../types';
2
+ export type FileFieldProps = BaseSourceProps & {
3
+ name?: string;
4
+ required?: boolean;
5
+ rules?: FieldRules;
6
+ hideLabel?: boolean;
7
+ /** Allow clearing an existing or newly selected file. */
8
+ clearable?: boolean;
9
+ accept?: string;
10
+ };
11
+ export declare function FileField({ source, name, label, required, rules, hideLabel, clearable, accept, }: FileFieldProps): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=FileField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileField.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/FileField.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAQ5D,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,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAyEF,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,EACT,SAAS,EACT,MAAM,GACP,EAAE,cAAc,2CAqBhB"}
@@ -0,0 +1,14 @@
1
+ import { BaseSourceProps, FieldRules } from '../types';
2
+ export type ImageFieldProps = BaseSourceProps & {
3
+ name?: string;
4
+ required?: boolean;
5
+ rules?: FieldRules;
6
+ hideLabel?: boolean;
7
+ /** Allow clearing an existing or newly selected image. */
8
+ clearable?: boolean;
9
+ accept?: string;
10
+ /** Max preview width in pixels. */
11
+ previewWidth?: number;
12
+ };
13
+ export declare function ImageField({ source, name, label, required, rules, hideLabel, clearable, accept, previewWidth, }: ImageFieldProps): import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=ImageField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageField.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/ImageField.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAK5D,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAqEF,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,EACT,SAAS,EACT,MAAM,EACN,YAAY,GACb,EAAE,eAAe,2CAsBjB"}
@@ -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"}
@@ -0,0 +1,5 @@
1
+ /** Form value for file/image fields — backend-agnostic. */
2
+ export type UploadFieldValue = File | string | null | undefined;
3
+ export declare function hasUploadValue(value: UploadFieldValue): boolean;
4
+ export declare function getUploadFileName(value: UploadFieldValue): string | undefined;
5
+ //# sourceMappingURL=uploadFieldUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadFieldUtils.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/uploadFieldUtils.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAEhE,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAG/D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAY7E"}
@@ -0,0 +1,4 @@
1
+ import { UploadFieldValue } from './uploadFieldUtils';
2
+ /** Preview URL for uploads — `URL.createObjectURL` for `File`, direct URL for existing strings. */
3
+ export declare function useUploadPreviewUrl(value: UploadFieldValue): string | undefined;
4
+ //# sourceMappingURL=useUploadPreviewUrl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUploadPreviewUrl.d.ts","sourceRoot":"","sources":["../../../../src/crud/fields/useUploadPreviewUrl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,mGAAmG;AACnG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAe/E"}
@@ -2,11 +2,11 @@ export { ResourceList, useResourceListContext } from './ResourceList';
2
2
  export type { ResourceListProps } from './ResourceList';
3
3
  export { FilterBar } from './FilterBar';
4
4
  export { ResourceForm } from './ResourceForm';
5
- export type { ResourceFormProps, ResourceFormInlineConfig, } from './ResourceForm';
5
+ export type { ResourceFormProps } 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 } from './InlineFormSet';
9
+ export type { InlineFormSetProps, InlineFormSetStackedProps, 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,12 +19,20 @@ 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 { ImageField } from './fields/ImageField';
23
+ export { FileField } from './fields/FileField';
24
+ export { FieldWrapper } from './fields/FieldWrapper';
25
+ export type { FieldWrapperProps } from './fields/FieldWrapper';
26
+ export type { ImageFieldProps } from './fields/ImageField';
27
+ export type { FileFieldProps } from './fields/FileField';
28
+ export type { UploadFieldValue } from './fields/uploadFieldUtils';
22
29
  export { TextColumn } from './columns/TextColumn';
23
30
  export { NumberColumn } from './columns/NumberColumn';
24
31
  export { BooleanColumn } from './columns/BooleanColumn';
25
32
  export { DateColumn } from './columns/DateColumn';
26
33
  export { ReferenceColumn } from './columns/ReferenceColumn';
27
34
  export { ReferenceManyColumn } from './columns/ReferenceManyColumn';
35
+ export { ImageColumn } from './columns/ImageColumn';
28
36
  export { CustomColumn } from './columns/CustomColumn';
29
37
  export { TextFilter } from './filters/TextFilter';
30
38
  export { NumberFilter } from './filters/NumberFilter';
@@ -33,12 +41,21 @@ export { DateFilter } from './filters/DateFilter';
33
41
  export { SelectFilter } from './filters/SelectFilter';
34
42
  export { ReferenceFilter, ReferenceManyFilter, } from './filters/ReferenceFilter';
35
43
  export { useListQueryState } from './utils/useListQueryState';
44
+ export { useAbortableEffect } from './utils/useAbortableEffect';
36
45
  export type { ListQueryState, ListQueryActions, } from './utils/useListQueryState';
37
46
  export { useChoices } from './utils/useChoices';
38
- export { getByPath } from './utils/getByPath';
39
- export { pickBySources } from './utils/pickBySources';
40
- export { inlineArrayName } from './utils/inlineArrayName';
41
- 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';
47
+ export { getFormValue } from './utils/getFormValue';
48
+ export { setFormValue } from './utils/setFormValue';
49
+ export { buildFormPayload } from './utils/buildFormPayload';
50
+ export { buildInlineRowsPayload } from './utils/buildInlineRowsPayload';
51
+ export { buildResourceFormSubmitBody } from './utils/buildResourceFormSubmitBody';
52
+ export { prepareFormSubmitBody } from './utils/prepareFormSubmitBody';
53
+ export { toFormData } from './utils/toFormData';
54
+ export { hasUploadValues } from './utils/hasUploadValues';
55
+ export type { ToFormDataOptions } from './utils/toFormData';
56
+ export type { PrepareFormSubmitBodyOptions } from './utils/prepareFormSubmitBody';
57
+ export { nestedFieldPath } from './utils/nestedFieldPath';
58
+ export { useRegisterPayloadField, useRegisterSectionField, } from './context/PayloadFieldsContext';
59
+ export type { InlineFieldRegistration } from './context/InlineFieldsRegistry';
60
+ export type { BaseSourceProps, ChoiceOption, ChoicesLoader, ReferenceProps, DisplayProps, EditMode, FieldRules, InlineCellContext, InlineColumnDef, InlineFormSetBaseProps, InlineRowContext, ResourceListBuiltInActions, ResourceListBulkAction, ResourceListBulkActionHelpers, ResourceListRowActionsHelpers, } from './types';
44
61
  //# 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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"}