@dxos/react-ui-form 0.8.4-main.5ea62a8 → 0.8.4-main.72ec0f3
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.
- package/dist/lib/browser/index.mjs +492 -287
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +492 -287
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/components/ControlSection/ControlSection.stories.d.ts +5 -5
- package/dist/types/src/components/ControlSection/ControlSection.stories.d.ts.map +1 -1
- package/dist/types/src/components/FieldEditor/FieldEditor.d.ts.map +1 -1
- package/dist/types/src/components/FieldEditor/FieldEditor.stories.d.ts +5 -5
- package/dist/types/src/components/FieldEditor/FieldEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/Form/ArrayField.d.ts.map +1 -1
- package/dist/types/src/components/Form/Form.d.ts +4 -3
- package/dist/types/src/components/Form/Form.d.ts.map +1 -1
- package/dist/types/src/components/Form/Form.stories.d.ts +15 -15
- package/dist/types/src/components/Form/Form.stories.d.ts.map +1 -1
- package/dist/types/src/components/Form/FormContent.d.ts +5 -5
- package/dist/types/src/components/Form/FormContent.d.ts.map +1 -1
- package/dist/types/src/components/Form/FormContext.d.ts +2 -2
- package/dist/types/src/components/Form/FormContext.d.ts.map +1 -1
- package/dist/types/src/components/Form/Input.d.ts +1 -1
- package/dist/types/src/components/Form/Input.d.ts.map +1 -1
- package/dist/types/src/components/Form/RefField.d.ts +10 -6
- package/dist/types/src/components/Form/RefField.d.ts.map +1 -1
- package/dist/types/src/components/Form/custom/SelectOptionsInput.stories.d.ts +5 -5
- package/dist/types/src/components/Form/custom/SelectOptionsInput.stories.d.ts.map +1 -1
- package/dist/types/src/components/Form/factory.d.ts +1 -1
- package/dist/types/src/components/Form/factory.d.ts.map +1 -1
- package/dist/types/src/components/ObjectPicker/ObjectPicker.d.ts +41 -0
- package/dist/types/src/components/ObjectPicker/ObjectPicker.d.ts.map +1 -0
- package/dist/types/src/components/ObjectPicker/ObjectPicker.stories.d.ts +81 -0
- package/dist/types/src/components/ObjectPicker/ObjectPicker.stories.d.ts.map +1 -0
- package/dist/types/src/components/ObjectPicker/index.d.ts +2 -0
- package/dist/types/src/components/ObjectPicker/index.d.ts.map +1 -0
- package/dist/types/src/components/ViewEditor/ViewEditor.d.ts +20 -6
- package/dist/types/src/components/ViewEditor/ViewEditor.d.ts.map +1 -1
- package/dist/types/src/components/ViewEditor/ViewEditor.stories.d.ts +10 -9
- package/dist/types/src/components/ViewEditor/ViewEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -0
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useForm.d.ts +2 -2
- package/dist/types/src/hooks/useForm.d.ts.map +1 -1
- package/dist/types/src/hooks/useQueryRefOptions.d.ts +9 -3
- package/dist/types/src/hooks/useQueryRefOptions.d.ts.map +1 -1
- package/dist/types/src/hooks/useRefQueryLookupHandler.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +4 -4
- package/dist/types/src/util/field.d.ts +1 -1
- package/dist/types/src/util/field.d.ts.map +1 -1
- package/dist/types/src/util/formatting.d.ts +1 -1
- package/dist/types/src/util/formatting.d.ts.map +1 -1
- package/dist/types/src/util/refs.d.ts +1 -1
- package/dist/types/src/util/refs.d.ts.map +1 -1
- package/dist/types/src/util/schema.d.ts +1 -1
- package/dist/types/src/util/schema.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +40 -37
- package/src/components/ControlSection/ControlSection.stories.tsx +4 -5
- package/src/components/ControlSection/ControlSection.tsx +1 -1
- package/src/components/FieldEditor/FieldEditor.stories.tsx +6 -5
- package/src/components/FieldEditor/FieldEditor.tsx +5 -2
- package/src/components/Form/ArrayField.tsx +4 -3
- package/src/components/Form/Defaults.tsx +1 -1
- package/src/components/Form/Form.stories.tsx +35 -35
- package/src/components/Form/Form.tsx +16 -6
- package/src/components/Form/FormActions.tsx +2 -2
- package/src/components/Form/FormContent.tsx +82 -22
- package/src/components/Form/FormContext.tsx +3 -3
- package/src/components/Form/Input.tsx +1 -1
- package/src/components/Form/RefField.tsx +50 -66
- package/src/components/Form/custom/GeoPointInput.tsx +1 -1
- package/src/components/Form/custom/SelectOptionsInput.stories.tsx +5 -6
- package/src/components/Form/custom/SelectOptionsInput.tsx +2 -2
- package/src/components/Form/factory.tsx +1 -1
- package/src/components/ObjectPicker/ObjectPicker.stories.tsx +207 -0
- package/src/components/ObjectPicker/ObjectPicker.tsx +161 -0
- package/src/components/ObjectPicker/index.ts +5 -0
- package/src/components/ViewEditor/ViewEditor.stories.tsx +114 -48
- package/src/components/ViewEditor/ViewEditor.test.tsx +6 -5
- package/src/components/ViewEditor/ViewEditor.tsx +288 -208
- package/src/components/index.ts +1 -0
- package/src/components/testing.tsx +2 -2
- package/src/hooks/useForm.ts +7 -4
- package/src/hooks/useQueryRefOptions.ts +15 -6
- package/src/hooks/useRefQueryLookupHandler.ts +3 -3
- package/src/translations.ts +4 -4
- package/src/util/field.ts +1 -1
- package/src/util/formatting.ts +1 -1
- package/src/util/refs.ts +7 -7
- package/src/util/schema.ts +2 -4
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
import { useCallback } from 'react';
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import { Obj } from '@dxos/echo';
|
|
8
|
+
import { type TypeAnnotation, getObjectDXN } from '@dxos/echo/internal';
|
|
8
9
|
import { Filter, type Space } from '@dxos/react-client/echo';
|
|
9
10
|
import { isNonNullable } from '@dxos/util';
|
|
10
11
|
|
|
@@ -28,8 +29,7 @@ export const useRefQueryLookupHandler = ({ space }: UseRefQueryLookupProps): Que
|
|
|
28
29
|
return undefined;
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
const item = { dxn, label: object?.name ?? object?.id ?? '' };
|
|
32
|
+
const item = { dxn, label: Obj.getLabel(object) ?? object?.id ?? '' };
|
|
33
33
|
return item;
|
|
34
34
|
})
|
|
35
35
|
.filter(isNonNullable);
|
package/src/translations.ts
CHANGED
|
@@ -15,7 +15,7 @@ export const translations = [
|
|
|
15
15
|
'empty readonly ref field label': '(none)',
|
|
16
16
|
|
|
17
17
|
// TODO(burdon): Standardize field/property.
|
|
18
|
-
'
|
|
18
|
+
'add property button': 'Add property',
|
|
19
19
|
'field property label': 'Property',
|
|
20
20
|
'field property placeholder': 'Property name',
|
|
21
21
|
'field format label': 'Type',
|
|
@@ -28,12 +28,12 @@ export const translations = [
|
|
|
28
28
|
'show field label': 'Show field',
|
|
29
29
|
'hide field label': 'Hide field',
|
|
30
30
|
'delete field label': 'Delete field',
|
|
31
|
+
'ref field combobox input placeholder': 'Search…',
|
|
31
32
|
'ref field placeholder_one': 'Select…',
|
|
32
33
|
'ref field placeholder_other': 'Select items…',
|
|
33
34
|
|
|
34
35
|
// TODO(burdon): Factor out?
|
|
35
|
-
'button
|
|
36
|
-
'button save': 'Save',
|
|
36
|
+
'save button': 'Save',
|
|
37
37
|
|
|
38
38
|
// FormatEnum
|
|
39
39
|
'format boolean': 'Boolean',
|
|
@@ -48,7 +48,7 @@ export const translations = [
|
|
|
48
48
|
'format hostname': 'Hostname',
|
|
49
49
|
'format integer': 'Integer',
|
|
50
50
|
'format json': 'JSON',
|
|
51
|
-
'format
|
|
51
|
+
'format lnglat': 'Geopoint',
|
|
52
52
|
'format markdown': 'Markdown',
|
|
53
53
|
'format percent': 'Percent',
|
|
54
54
|
'format ref': 'Reference',
|
package/src/util/field.ts
CHANGED
package/src/util/formatting.ts
CHANGED
package/src/util/refs.ts
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import type * as SchemaAST from 'effect/SchemaAST';
|
|
6
6
|
|
|
7
|
-
import { FormatEnum, ReferenceAnnotationId } from '@dxos/echo
|
|
7
|
+
import { FormatEnum, ReferenceAnnotationId } from '@dxos/echo/internal';
|
|
8
8
|
import { findAnnotation } from '@dxos/effect';
|
|
9
9
|
import { type SchemaProperty } from '@dxos/schema';
|
|
10
10
|
|
|
@@ -18,11 +18,6 @@ type RefProps = {
|
|
|
18
18
|
export const getRefProps = (property: SchemaProperty<any>): RefProps | undefined => {
|
|
19
19
|
const { ast, format, array } = property;
|
|
20
20
|
|
|
21
|
-
// Direct reference.
|
|
22
|
-
if (format === FormatEnum.Ref) {
|
|
23
|
-
return { ast, isArray: false };
|
|
24
|
-
}
|
|
25
|
-
|
|
26
21
|
// Array of references.
|
|
27
22
|
if (array) {
|
|
28
23
|
const elementType = findArrayElementType(ast);
|
|
@@ -34,5 +29,10 @@ export const getRefProps = (property: SchemaProperty<any>): RefProps | undefined
|
|
|
34
29
|
}
|
|
35
30
|
}
|
|
36
31
|
|
|
32
|
+
// Direct reference.
|
|
33
|
+
if (format === FormatEnum.Ref) {
|
|
34
|
+
return { ast, isArray: false };
|
|
35
|
+
}
|
|
36
|
+
|
|
37
37
|
return undefined;
|
|
38
38
|
};
|
package/src/util/schema.ts
CHANGED
|
@@ -2,13 +2,11 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import * as SchemaAST from 'effect/SchemaAST';
|
|
6
6
|
|
|
7
7
|
import { findNode } from '@dxos/effect';
|
|
8
8
|
|
|
9
9
|
export const findArrayElementType = (ast: SchemaAST.AST) => {
|
|
10
10
|
const tupleType = findNode(ast, SchemaAST.isTupleType);
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return elementType;
|
|
11
|
+
return (tupleType as SchemaAST.TupleType | undefined)?.rest[0]?.type;
|
|
14
12
|
};
|