@object-ui/fields 15.0.0 → 16.1.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 (42) hide show
  1. package/CHANGELOG.md +219 -0
  2. package/README.md +45 -7
  3. package/dist/index.cjs +5 -5
  4. package/dist/index.d.ts +21 -0
  5. package/dist/index.js +1798 -1721
  6. package/dist/widgets/CheckboxesField.cascade.test.d.ts +0 -0
  7. package/dist/widgets/CheckboxesField.d.ts +8 -1
  8. package/dist/widgets/FileField.d.ts +1 -1
  9. package/dist/widgets/ImageField.d.ts +1 -1
  10. package/dist/widgets/MultiSelectField.cascade.test.d.ts +0 -0
  11. package/dist/widgets/MultiSelectField.d.ts +10 -2
  12. package/dist/widgets/RadioField.cascade.test.d.ts +0 -0
  13. package/dist/widgets/RadioField.d.ts +8 -1
  14. package/dist/widgets/SelectField.d.ts +13 -9
  15. package/dist/widgets/deriveLookupColumns.d.ts +1 -0
  16. package/dist/widgets/types.d.ts +6 -0
  17. package/dist/widgets/useCascadingOptions.d.ts +18 -0
  18. package/dist/widgets/useUploadingSignal.d.ts +9 -0
  19. package/dist/widgets/useUploadingSignal.test.d.ts +1 -0
  20. package/package.json +9 -9
  21. package/src/field-type-coverage.test.ts +3 -1
  22. package/src/index.tsx +47 -6
  23. package/src/standard-widgets.test.tsx +44 -0
  24. package/src/widgets/CapabilityMultiSelectField.test.tsx +26 -1
  25. package/src/widgets/CapabilityMultiSelectField.tsx +35 -10
  26. package/src/widgets/CheckboxesField.cascade.test.tsx +143 -0
  27. package/src/widgets/CheckboxesField.tsx +70 -7
  28. package/src/widgets/FileField.tsx +9 -1
  29. package/src/widgets/ImageField.tsx +45 -42
  30. package/src/widgets/MultiSelectField.cascade.test.tsx +143 -0
  31. package/src/widgets/MultiSelectField.tsx +72 -8
  32. package/src/widgets/RadioField.cascade.test.tsx +141 -0
  33. package/src/widgets/RadioField.tsx +64 -7
  34. package/src/widgets/SelectField.tsx +33 -31
  35. package/src/widgets/TextAreaField.tsx +4 -2
  36. package/src/widgets/deriveLookupColumns.test.ts +13 -0
  37. package/src/widgets/deriveLookupColumns.ts +5 -15
  38. package/src/widgets/types.ts +6 -0
  39. package/src/widgets/useCascadingOptions.ts +46 -0
  40. package/src/widgets/useFieldTranslation.ts +13 -0
  41. package/src/widgets/useUploadingSignal.test.tsx +62 -0
  42. package/src/widgets/useUploadingSignal.ts +20 -0
package/dist/index.d.ts CHANGED
@@ -269,6 +269,27 @@ export declare function evaluateCondition(condition: any, formData: any): boolea
269
269
  * `INLINE_EXCLUDED_FIELD_TYPES` and its drift-guard test.
270
270
  */
271
271
  export declare const FORM_FIELD_TYPES: readonly string[];
272
+ /**
273
+ * Resolve an arbitrary field-type spelling to the widget key the form uses.
274
+ * A key already present in the widget map resolves to itself; spec aliases
275
+ * (`toggle`, `json`, `repeater`, `secret`, …) resolve through
276
+ * {@link mapFieldTypeToFormType}; anything unknown falls back to `text` —
277
+ * the same fallback the form renderer applies.
278
+ *
279
+ * Consumers that render field widgets outside the form (e.g. the app-shell
280
+ * `ActionParamDialog`) use this + {@link getLazyFieldWidget} so their type
281
+ * support can never drift behind the form surface (ADR-0059).
282
+ */
283
+ export declare function resolveFormWidgetType(fieldType: string): string;
284
+ /**
285
+ * Lazily-loaded form field widget for a field type. Shares the exact loaders
286
+ * of {@link fieldWidgetMap} (the same components `registerField` registers for
287
+ * forms), wrapped in `React.lazy` and cached per type — so a consumer can
288
+ * render any form-supported field type without eagerly bundling every widget.
289
+ * Render inside a `<Suspense>` boundary. Unknown types resolve to the `text`
290
+ * widget via {@link resolveFormWidgetType}.
291
+ */
292
+ export declare function getLazyFieldWidget(fieldType: string): React.ComponentType<any>;
272
293
  export declare function registerField(fieldType: string): void;
273
294
  /**
274
295
  * Register all field types (for backward compatibility)