@dxos/react-ui-form 0.8.4-main.c1de068 → 0.8.4-main.e098934

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 (94) hide show
  1. package/dist/lib/browser/index.mjs +601 -528
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node-esm/index.mjs +601 -528
  5. package/dist/lib/node-esm/index.mjs.map +4 -4
  6. package/dist/lib/node-esm/meta.json +1 -1
  7. package/dist/types/src/components/ControlSection/ControlSection.d.ts +2 -2
  8. package/dist/types/src/components/ControlSection/ControlSection.d.ts.map +1 -1
  9. package/dist/types/src/components/ControlSection/ControlSection.stories.d.ts +79 -4
  10. package/dist/types/src/components/ControlSection/ControlSection.stories.d.ts.map +1 -1
  11. package/dist/types/src/components/FieldEditor/FieldEditor.d.ts +2 -2
  12. package/dist/types/src/components/FieldEditor/FieldEditor.d.ts.map +1 -1
  13. package/dist/types/src/components/FieldEditor/FieldEditor.stories.d.ts +74 -4
  14. package/dist/types/src/components/FieldEditor/FieldEditor.stories.d.ts.map +1 -1
  15. package/dist/types/src/components/Form/ArrayField.d.ts +2 -2
  16. package/dist/types/src/components/Form/ArrayField.d.ts.map +1 -1
  17. package/dist/types/src/components/Form/Defaults.d.ts +5 -5
  18. package/dist/types/src/components/Form/Defaults.d.ts.map +1 -1
  19. package/dist/types/src/components/Form/Form.d.ts +5 -4
  20. package/dist/types/src/components/Form/Form.d.ts.map +1 -1
  21. package/dist/types/src/components/Form/Form.stories.d.ts +126 -30
  22. package/dist/types/src/components/Form/Form.stories.d.ts.map +1 -1
  23. package/dist/types/src/components/Form/FormActions.d.ts.map +1 -1
  24. package/dist/types/src/components/Form/FormContent.d.ts +16 -10
  25. package/dist/types/src/components/Form/FormContent.d.ts.map +1 -1
  26. package/dist/types/src/components/Form/FormContext.d.ts +1 -1
  27. package/dist/types/src/components/Form/FormContext.d.ts.map +1 -1
  28. package/dist/types/src/components/Form/Input.d.ts +4 -1
  29. package/dist/types/src/components/Form/Input.d.ts.map +1 -1
  30. package/dist/types/src/components/Form/RefField.d.ts +10 -4
  31. package/dist/types/src/components/Form/RefField.d.ts.map +1 -1
  32. package/dist/types/src/components/Form/custom/GeoPointInput.d.ts +1 -1
  33. package/dist/types/src/components/Form/custom/GeoPointInput.d.ts.map +1 -1
  34. package/dist/types/src/components/Form/custom/SelectOptionsInput.d.ts +1 -1
  35. package/dist/types/src/components/Form/custom/SelectOptionsInput.d.ts.map +1 -1
  36. package/dist/types/src/components/Form/custom/SelectOptionsInput.stories.d.ts +74 -3
  37. package/dist/types/src/components/Form/custom/SelectOptionsInput.stories.d.ts.map +1 -1
  38. package/dist/types/src/components/Form/custom/TupleInput.d.ts +1 -1
  39. package/dist/types/src/components/Form/factory.d.ts.map +1 -1
  40. package/dist/types/src/components/ViewEditor/ViewEditor.d.ts +3 -2
  41. package/dist/types/src/components/ViewEditor/ViewEditor.d.ts.map +1 -1
  42. package/dist/types/src/components/ViewEditor/ViewEditor.stories.d.ts +76 -5
  43. package/dist/types/src/components/ViewEditor/ViewEditor.stories.d.ts.map +1 -1
  44. package/dist/types/src/components/index.d.ts +0 -1
  45. package/dist/types/src/components/index.d.ts.map +1 -1
  46. package/dist/types/src/components/testing.d.ts +6 -3
  47. package/dist/types/src/components/testing.d.ts.map +1 -1
  48. package/dist/types/src/hooks/useForm.d.ts +1 -1
  49. package/dist/types/src/hooks/useForm.d.ts.map +1 -1
  50. package/dist/types/src/translations.d.ts +9 -4
  51. package/dist/types/src/translations.d.ts.map +1 -1
  52. package/dist/types/src/util/field.d.ts.map +1 -1
  53. package/dist/types/tsconfig.tsbuildinfo +1 -1
  54. package/package.json +35 -30
  55. package/src/components/ControlSection/ControlSection.stories.tsx +8 -10
  56. package/src/components/ControlSection/ControlSection.tsx +26 -12
  57. package/src/components/FieldEditor/FieldEditor.stories.tsx +8 -9
  58. package/src/components/FieldEditor/FieldEditor.test.tsx +3 -2
  59. package/src/components/FieldEditor/FieldEditor.tsx +22 -17
  60. package/src/components/Form/ArrayField.tsx +8 -8
  61. package/src/components/Form/Defaults.tsx +22 -20
  62. package/src/components/Form/Form.stories.tsx +129 -93
  63. package/src/components/Form/Form.tsx +16 -12
  64. package/src/components/Form/FormActions.tsx +2 -1
  65. package/src/components/Form/FormContent.tsx +96 -34
  66. package/src/components/Form/FormContext.tsx +5 -5
  67. package/src/components/Form/Input.tsx +4 -1
  68. package/src/components/Form/RefField.tsx +126 -40
  69. package/src/components/Form/custom/GeoPointInput.tsx +29 -21
  70. package/src/components/Form/custom/SelectOptionsInput.stories.tsx +7 -6
  71. package/src/components/Form/custom/SelectOptionsInput.tsx +29 -30
  72. package/src/components/Form/custom/TupleInput.tsx +2 -2
  73. package/src/components/Form/factory.tsx +1 -1
  74. package/src/components/ViewEditor/ViewEditor.stories.tsx +58 -26
  75. package/src/components/ViewEditor/ViewEditor.test.tsx +7 -10
  76. package/src/components/ViewEditor/ViewEditor.tsx +151 -132
  77. package/src/components/index.ts +0 -2
  78. package/src/components/testing.tsx +15 -9
  79. package/src/hooks/useForm.ts +5 -3
  80. package/src/hooks/useRefQueryLookupHandler.ts +1 -1
  81. package/src/translations.ts +11 -5
  82. package/src/util/field.ts +8 -18
  83. package/dist/types/src/components/deprecated/Form.d.ts +0 -15
  84. package/dist/types/src/components/deprecated/Form.d.ts.map +0 -1
  85. package/dist/types/src/components/deprecated/Form.stories.d.ts +0 -13
  86. package/dist/types/src/components/deprecated/Form.stories.d.ts.map +0 -1
  87. package/dist/types/src/components/deprecated/FormInput.d.ts +0 -16
  88. package/dist/types/src/components/deprecated/FormInput.d.ts.map +0 -1
  89. package/dist/types/src/components/deprecated/index.d.ts +0 -2
  90. package/dist/types/src/components/deprecated/index.d.ts.map +0 -1
  91. package/src/components/deprecated/Form.stories.tsx +0 -62
  92. package/src/components/deprecated/Form.tsx +0 -119
  93. package/src/components/deprecated/FormInput.tsx +0 -71
  94. package/src/components/deprecated/index.ts +0 -5
@@ -1,32 +1,97 @@
1
1
  import '@dxos-theme';
2
- import { type Meta, type StoryObj } from '@storybook/react-vite';
2
+ import { type StoryObj } from '@storybook/react-vite';
3
3
  import { Schema } from 'effect';
4
- import { ContactType } from '@dxos/client/testing';
5
- import { type BaseObject } from '@dxos/echo-schema';
6
- import { Testing } from '@dxos/schema/testing';
4
+ import React from 'react';
5
+ import { type Type } from '@dxos/echo';
6
+ import { type BaseObject, Expando, Ref } from '@dxos/echo-schema';
7
7
  import { type FormProps } from './Form';
8
- declare const TestSchema: Schema.mutable<Schema.Struct<{
9
- name: Schema.optional<Schema.SchemaClass<string, string, never>>;
10
- active: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
11
- rank: Schema.optional<Schema.SchemaClass<number, number, never>>;
12
- website: Schema.optional<Schema.refine<string, typeof Schema.String>>;
13
- address: Schema.optional<Schema.Struct<{
14
- street: Schema.optional<Schema.SchemaClass<string, string, never>>;
15
- city: Schema.optional<Schema.SchemaClass<string, string, never>>;
16
- zip: Schema.optional<Schema.refine<string, typeof Schema.String>>;
17
- location: Schema.optional<Schema.Tuple<[Schema.refine<number, Schema.transform<typeof Schema.Number, Schema.filter<Schema.SchemaClass<number, number, never>>>>, Schema.refine<number, Schema.transform<typeof Schema.Number, Schema.filter<Schema.SchemaClass<number, number, never>>>>, Schema.Element<typeof Schema.Number, "?">]>>;
18
- }>>;
19
- }>>;
20
- type TestType = Schema.Schema.Type<typeof TestSchema>;
21
8
  type StoryProps<T extends BaseObject> = {
22
- schema: Schema.Schema<T>;
9
+ debug?: boolean;
10
+ schema: Type.Obj.Any;
23
11
  } & FormProps<T>;
24
- declare const meta: Meta<StoryProps<any>>;
12
+ declare const meta: {
13
+ title: string;
14
+ component: any;
15
+ render: <T extends BaseObject = any>({ debug, schema, values: initialValues, ...props }: StoryProps<T>) => React.JSX.Element;
16
+ decorators: import("@storybook/react").Decorator[];
17
+ parameters: {
18
+ translations: [{
19
+ readonly 'en-US': {
20
+ readonly "react-ui-form": {
21
+ readonly 'fields label': "Fields";
22
+ readonly 'hidden fields label': "Hidden Fields";
23
+ readonly 'empty readonly ref field label': "(none)";
24
+ readonly 'button add property': "Add property";
25
+ readonly 'field property label': "Property";
26
+ readonly 'field property placeholder': "Property name";
27
+ readonly 'field format label': "Type";
28
+ readonly 'field path label': "Field path";
29
+ readonly 'add field': "Add field";
30
+ readonly 'delete field': "Delete field";
31
+ readonly 'field limit reached': "Maximum number of fields reached";
32
+ readonly 'boolean input true value': "Yes";
33
+ readonly 'boolean input false value': "No";
34
+ readonly 'show field label': "Show field";
35
+ readonly 'hide field label': "Hide field";
36
+ readonly 'delete field label': "Delete field";
37
+ readonly 'ref field placeholder_one': "Select…";
38
+ readonly 'ref field placeholder_other': "Select items…";
39
+ readonly 'button cancel': "Cancel";
40
+ readonly 'button save': "Save";
41
+ readonly 'format boolean': "Boolean";
42
+ readonly 'format currency': "Currency";
43
+ readonly 'format date': "Date";
44
+ readonly 'format date-time': "DateTime";
45
+ readonly 'format did': "DID";
46
+ readonly 'format duration': "Duration";
47
+ readonly 'format dxn': "DXN";
48
+ readonly 'format email': "Email";
49
+ readonly 'format formula': "Formula";
50
+ readonly 'format hostname': "Hostname";
51
+ readonly 'format integer': "Integer";
52
+ readonly 'format json': "JSON";
53
+ readonly 'format latlng': "Geopoint";
54
+ readonly 'format markdown': "Markdown";
55
+ readonly 'format percent': "Percent";
56
+ readonly 'format ref': "Reference";
57
+ readonly 'format regex': "RegExp";
58
+ readonly 'format string': "String";
59
+ readonly 'format single-select': "Select";
60
+ readonly 'format multi-select': "Multi-select";
61
+ readonly 'format text': "Long text";
62
+ readonly 'format time': "Time";
63
+ readonly 'format timestamp': "Timestamp";
64
+ readonly 'format user': "User";
65
+ readonly 'format number': "Number";
66
+ readonly 'format uri': "URI";
67
+ readonly 'format url': "URL";
68
+ readonly 'format uuid': "UUID";
69
+ readonly 'latitude label': "Latitude";
70
+ readonly 'longitude label': "Longitude";
71
+ readonly 'select option label': "Label";
72
+ readonly 'select option label placeholder': "Option label";
73
+ readonly 'select option color': "Color";
74
+ readonly 'select option delete': "Delete";
75
+ readonly 'select option add': "Add option";
76
+ readonly 'system schema title': "System record type";
77
+ readonly 'system schema description': "This is a system record type and cannot be modified, though the view can still be configured.";
78
+ };
79
+ };
80
+ }];
81
+ };
82
+ argTypes: {
83
+ readonly: {
84
+ control: "boolean";
85
+ description: string;
86
+ };
87
+ };
88
+ };
25
89
  export default meta;
26
- type Story<T extends BaseObject> = StoryObj<StoryProps<T>>;
27
- export declare const Default: Story<TestType>;
28
- export declare const Organization: Story<Schema.Schema.Type<typeof Testing.OrganizationSchema>>;
29
- export declare const OrganizationAutoSave: Story<Schema.Schema.Type<typeof Testing.OrganizationSchema>>;
90
+ type Story = StoryObj<StoryProps<any>>;
91
+ export declare const Default: Story;
92
+ export declare const Organization: Story;
93
+ export declare const OrganizationAutoSave: Story;
94
+ export declare const Contact: Story;
30
95
  declare const ShapeSchema: Schema.mutable<Schema.Struct<{
31
96
  shape: Schema.optional<Schema.Union<[Schema.Struct<{
32
97
  type: Schema.Literal<["circle"]>;
@@ -36,23 +101,54 @@ declare const ShapeSchema: Schema.mutable<Schema.Struct<{
36
101
  size: Schema.optional<Schema.refine<number, typeof Schema.Number>>;
37
102
  }>]>>;
38
103
  }>>;
39
- type ShapeType = Schema.Schema.Type<typeof ShapeSchema>;
40
- export declare const DiscriminatedShape: Story<ShapeType>;
104
+ type ShapeSchema = Schema.Schema.Type<typeof ShapeSchema>;
105
+ export declare const DiscriminatedShape: StoryObj<StoryProps<ShapeSchema>>;
41
106
  declare const ArraysSchema: Schema.mutable<Schema.Struct<{
42
107
  names: Schema.Array$<Schema.filter<typeof Schema.String>>;
43
108
  addresses: Schema.Array$<Schema.Struct<{
44
109
  street: Schema.optional<Schema.SchemaClass<string, string, never>>;
45
110
  city: Schema.optional<Schema.SchemaClass<string, string, never>>;
46
111
  zip: Schema.optional<Schema.refine<string, typeof Schema.String>>;
47
- location: Schema.optional<Schema.Tuple<[Schema.refine<number, Schema.transform<typeof Schema.Number, Schema.filter<Schema.SchemaClass<number, number, never>>>>, Schema.refine<number, Schema.transform<typeof Schema.Number, Schema.filter<Schema.SchemaClass<number, number, never>>>>, Schema.Element<typeof Schema.Number, "?">]>>;
112
+ location: Schema.optional<Schema.Tuple<[Schema.filter<Schema.transform<Schema.SchemaClass<number, number, never>, Schema.filter<Schema.SchemaClass<number, number, never>>>>, Schema.filter<Schema.transform<Schema.SchemaClass<number, number, never>, Schema.filter<Schema.SchemaClass<number, number, never>>>>, Schema.Element<typeof Schema.Number, "?">]>>;
48
113
  }>>;
49
114
  }>>;
50
- type ArraysType = Schema.Schema.Type<typeof ArraysSchema>;
51
- export declare const Arrays: StoryObj<FormProps<ArraysType>>;
115
+ type ArraysSchema = Schema.Schema.Type<typeof ArraysSchema>;
116
+ export declare const Arrays: StoryObj<StoryProps<ArraysSchema>>;
117
+ declare const TupleSchema: Schema.mutable<Schema.Struct<{
118
+ tuple: Schema.Tuple<[typeof Schema.Number, typeof Schema.String, typeof Schema.Boolean]>;
119
+ geopoint: Schema.Tuple<[Schema.filter<Schema.transform<Schema.SchemaClass<number, number, never>, Schema.filter<Schema.SchemaClass<number, number, never>>>>, Schema.filter<Schema.transform<Schema.SchemaClass<number, number, never>, Schema.filter<Schema.SchemaClass<number, number, never>>>>, Schema.Element<typeof Schema.Number, "?">]>;
120
+ }>>;
121
+ type TupleSchema = Schema.Schema.Type<typeof TupleSchema>;
122
+ export declare const Tuple: StoryObj<StoryProps<TupleSchema>>;
52
123
  declare const ColorSchema: Schema.mutable<Schema.Struct<{
53
124
  color: Schema.Union<[Schema.Literal<["red"]>, Schema.Literal<["green"]>, Schema.Literal<["blue"]>]>;
54
125
  }>>;
55
126
  type ColorType = Schema.Schema.Type<typeof ColorSchema>;
56
- export declare const Enum: StoryObj<FormProps<ColorType>>;
57
- export declare const Refs: StoryObj<FormProps<ContactType>>;
127
+ export declare const Enum: StoryObj<StoryProps<ColorType>>;
128
+ declare const RefSchema: Schema.Struct<{
129
+ contact: Schema.SchemaClass<Ref<import("@dxos/echo-schema").TypedObjectFields<{
130
+ name: Schema.optional<typeof Schema.String>;
131
+ identifiers: Schema.mutable<Schema.Array$<Schema.Struct<{
132
+ type: typeof Schema.String;
133
+ value: typeof Schema.String;
134
+ }>>>;
135
+ }, import("@dxos/echo-schema").TypedObjectOptions>>, import("@dxos/echo-protocol").EncodedReference, never>;
136
+ optionalContact: Schema.optional<Schema.SchemaClass<Ref<import("@dxos/echo-schema").TypedObjectFields<{
137
+ name: Schema.optional<typeof Schema.String>;
138
+ identifiers: Schema.mutable<Schema.Array$<Schema.Struct<{
139
+ type: typeof Schema.String;
140
+ value: typeof Schema.String;
141
+ }>>>;
142
+ }, import("@dxos/echo-schema").TypedObjectOptions>>, import("@dxos/echo-protocol").EncodedReference, never>>;
143
+ refArray: Schema.optional<Schema.Array$<import("@dxos/echo-schema").Ref$<import("@dxos/echo-schema").TypedObjectFields<{
144
+ name: Schema.optional<typeof Schema.String>;
145
+ identifiers: Schema.mutable<Schema.Array$<Schema.Struct<{
146
+ type: typeof Schema.String;
147
+ value: typeof Schema.String;
148
+ }>>>;
149
+ }, import("@dxos/echo-schema").TypedObjectOptions>>>>;
150
+ unknownExpando: Schema.optional<Schema.SchemaClass<Ref<Expando>, import("@dxos/echo-protocol").EncodedReference, never>>;
151
+ }>;
152
+ type RefSchema = Schema.Schema.Type<typeof RefSchema>;
153
+ export declare const Refs: StoryObj<StoryProps<RefSchema>>;
58
154
  //# sourceMappingURL=Form.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Form.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/Form.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,KAAK,UAAU,EAA2D,MAAM,mBAAmB,CAAC;AAG7G,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAI/C,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAY9C,QAAA,MAAM,UAAU;;;;;;;;;;;GAMO,CAAC;AAExB,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAEtD,KAAK,UAAU,CAAC,CAAC,SAAS,UAAU,IAAI;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AA0BpF,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAc/B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,CAAC,CAAC,SAAS,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3D,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,QAAQ,CAcnC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,kBAAkB,CAAC,CASrF,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,kBAAkB,CAAC,CAU7F,CAAC;AAcF,QAAA,MAAM,WAAW;;;;;;;;GAaM,CAAC;AAExB,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;AAExD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAsB/C,CAAC;AAEF,QAAA,MAAM,YAAY;;;;;;;;GAGK,CAAC;AAExB,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC;AAE1D,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CASlD,CAAC;AAEF,QAAA,MAAM,WAAW;;GAIM,CAAC;AAExB,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;AAExD,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAQ/C,CAAC;AA6CF,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAQjD,CAAC"}
1
+ {"version":3,"file":"Form.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/Form.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAgC,MAAM,OAAO,CAAC;AAGrD,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,KAAK,UAAU,EAAE,OAAO,EAAU,GAAG,EAAqC,MAAM,mBAAmB,CAAC;AAU7G,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE9C,KAAK,UAAU,CAAC,CAAC,SAAS,UAAU,IAAI;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;CACtB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AA0CjB,QAAA,MAAM,IAAI;;eAEW,GAAG;aA1CF,CAAC,SAAS,UAAU,4DAKvC,UAAU,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDiB,CAAC;AAElC,eAAe,IAAI,CAAC;AAmBpB,KAAK,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAEvC,eAAO,MAAM,OAAO,EAAE,KAarB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAU1B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAWlC,CAAC;AAKF,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC;AAMF,QAAA,MAAM,WAAW;;;;;;;;GAaM,CAAC;AAExB,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;AAE1D,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAuBhE,CAAC;AAMF,QAAA,MAAM,YAAY;;;;;;;;GAGK,CAAC;AAExB,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC;AAE5D,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAUrD,CAAC;AAOF,QAAA,MAAM,WAAW;;;GAGM,CAAC;AAExB,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;AAE1D,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAUnD,CAAC;AAMF,QAAA,MAAM,WAAW;;GAIM,CAAC;AAExB,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;AAExD,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAShD,CAAC;AAMF,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;EAKb,CAAC;AAEH,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC,CAAC;AAKtD,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAUhD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormActions.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/FormActions.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,cAAc,GAAG,eAAe,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,sCAA6C,gBAAgB,sBA+BxF,CAAC"}
1
+ {"version":3,"file":"FormActions.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/FormActions.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,cAAc,GAAG,eAAe,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,sCAA6C,gBAAgB,sBA+BxF,CAAC"}
@@ -1,24 +1,23 @@
1
1
  import { Schema } from 'effect';
2
2
  import React from 'react';
3
3
  import { type ThemedClassName } from '@dxos/react-ui';
4
- import { type SchemaProperty } from '@dxos/schema';
4
+ import { type ProjectionModel, type SchemaProperty } from '@dxos/schema';
5
+ import { type QueryRefOptions } from '../../hooks';
5
6
  import { type ComponentLookup } from './Form';
6
7
  import { type InputComponent } from './Input';
7
- import { type QueryRefOptions } from '../../hooks';
8
+ import { type RefFieldProps } from './RefField';
8
9
  export type FormFieldProps = {
9
10
  property: SchemaProperty<any>;
10
11
  path?: (string | number)[];
11
- readonly?: boolean;
12
12
  /** Used to indicate if input should be presented inline (e.g. for array items). */
13
13
  inline?: boolean;
14
- onQueryRefOptions?: QueryRefOptions;
14
+ projection?: ProjectionModel;
15
15
  lookupComponent?: ComponentLookup;
16
16
  Custom?: Partial<Record<string, InputComponent>>;
17
- };
18
- export declare const FormField: ({ property, path, readonly, inline, onQueryRefOptions, lookupComponent, Custom, }: FormFieldProps) => React.JSX.Element | null;
17
+ } & Pick<RefFieldProps, 'readonly' | 'onQueryRefOptions' | 'createOptionLabel' | 'createOptionIcon' | 'onCreateFromQuery'>;
18
+ export declare const FormField: ({ property, path, readonly, inline, projection, onQueryRefOptions, createOptionLabel, createOptionIcon, onCreateFromQuery, lookupComponent, Custom, }: FormFieldProps) => React.JSX.Element | null;
19
19
  export type FormFieldsProps = ThemedClassName<{
20
20
  testId?: string;
21
- readonly?: boolean;
22
21
  schema: Schema.Schema.All;
23
22
  /**
24
23
  * Path to the current object from the root. Used with nested forms.
@@ -26,6 +25,10 @@ export type FormFieldsProps = ThemedClassName<{
26
25
  path?: (string | number)[];
27
26
  filter?: (props: SchemaProperty<any>[]) => SchemaProperty<any>[];
28
27
  sort?: string[];
28
+ /**
29
+ * Optional projection for projection-based field management
30
+ */
31
+ projection?: ProjectionModel;
29
32
  lookupComponent?: ComponentLookup;
30
33
  /**
31
34
  * Map of custom renderers for specific properties.
@@ -33,10 +36,9 @@ export type FormFieldsProps = ThemedClassName<{
33
36
  */
34
37
  Custom?: Partial<Record<string, InputComponent>>;
35
38
  onQueryRefOptions?: QueryRefOptions;
36
- }>;
39
+ } & Pick<FormFieldProps, 'readonly'> & Pick<RefFieldProps, 'onQueryRefOptions' | 'createOptionLabel' | 'createOptionIcon' | 'onCreateFromQuery'>>;
37
40
  export declare const FormFields: React.ForwardRefExoticComponent<Omit<{
38
41
  testId?: string;
39
- readonly?: boolean;
40
42
  schema: Schema.Schema.All;
41
43
  /**
42
44
  * Path to the current object from the root. Used with nested forms.
@@ -44,6 +46,10 @@ export declare const FormFields: React.ForwardRefExoticComponent<Omit<{
44
46
  path?: (string | number)[];
45
47
  filter?: (props: SchemaProperty<any>[]) => SchemaProperty<any>[];
46
48
  sort?: string[];
49
+ /**
50
+ * Optional projection for projection-based field management
51
+ */
52
+ projection?: ProjectionModel;
47
53
  lookupComponent?: ComponentLookup;
48
54
  /**
49
55
  * Map of custom renderers for specific properties.
@@ -51,7 +57,7 @@ export declare const FormFields: React.ForwardRefExoticComponent<Omit<{
51
57
  */
52
58
  Custom?: Partial<Record<string, InputComponent>>;
53
59
  onQueryRefOptions?: QueryRefOptions;
54
- }, "className"> & {
60
+ } & Pick<FormFieldProps, "readonly"> & Pick<RefFieldProps, "onQueryRefOptions" | "createOptionLabel" | "createOptionIcon" | "onCreateFromQuery">, "className"> & {
55
61
  classNames?: import("@dxos/react-ui-types").ClassNameValue;
56
62
  } & React.RefAttributes<HTMLDivElement>>;
57
63
  //# sourceMappingURL=FormContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormContent.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/FormContent.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAmB,MAAM,QAAQ,CAAC;AAEjD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAKxE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mFAAmF;IACnF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,eAAe,CAAC;IACpC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;CAClD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,mFAQvB,cAAc,6BA+IhB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,KAAK,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;IACjE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IACjD,iBAAiB,CAAC,EAAE,eAAe,CAAC;CACrC,CAAC,CAAC;AAEH,eAAO,MAAM,UAAU;aAlBZ,MAAM;eACJ,OAAO;YACV,MAAM,CAAC,MAAM,CAAC,GAAG;IACzB;;OAEG;WACI,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;aACjB,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,KAAK,cAAc,CAAC,GAAG,CAAC,EAAE;WACzD,MAAM,EAAE;sBACG,eAAe;IACjC;;;OAGG;aACM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;wBAC5B,eAAe;;;wCAmCpC,CAAC"}
1
+ {"version":3,"file":"FormContent.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/FormContent.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAmB,MAAM,QAAQ,CAAC;AAEjD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAuB,MAAM,cAAc,CAAC;AAG9F,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAMnD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC3B,mFAAmF;IACnF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;CAClD,GAAG,IAAI,CACN,aAAa,EACb,UAAU,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,mBAAmB,CAClG,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,uJAYvB,cAAc,6BAsJhB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,eAAe,CAC3C;IACE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,KAAK,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;IACjE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IACjD,iBAAiB,CAAC,EAAE,eAAe,CAAC;CACrC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAClC,IAAI,CAAC,aAAa,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC,CAC5G,CAAC;AAEF,eAAO,MAAM,UAAU;aAvBV,MAAM;YACP,MAAM,CAAC,MAAM,CAAC,GAAG;IACzB;;OAEG;WACI,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;aACjB,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,KAAK,cAAc,CAAC,GAAG,CAAC,EAAE;WACzD,MAAM,EAAE;IACf;;OAEG;iBACU,eAAe;sBACV,eAAe;IACjC;;;OAGG;aACM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;wBAC5B,eAAe;;;wCA+EtC,CAAC"}
@@ -1,4 +1,4 @@
1
- import React, { type RefObject, type FocusEvent, type PropsWithChildren } from 'react';
1
+ import React, { type FocusEvent, type PropsWithChildren, type RefObject } from 'react';
2
2
  import { type BaseObject } from '@dxos/echo-schema';
3
3
  import { type SimpleType } from '@dxos/effect';
4
4
  import { type FormHandler, type FormOptions } from '../../hooks';
@@ -1 +1 @@
1
- {"version":3,"file":"FormContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/FormContext.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAEZ,KAAK,SAAS,EAId,KAAK,UAAU,EACf,KAAK,iBAAiB,EAEvB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,KAAK,UAAU,EAAY,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAW,MAAM,aAAa,CAAC;AAE1E,KAAK,gBAAgB,CAAC,CAAC,SAAS,UAAU,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;AAI7D,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,UAAU,OAAK,gBAAgB,CAAC,CAAC,CAEzE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAM,CAAC,MAAM,GAAG,MAAM,CAAC,EAAO,KAAG,GAI9D,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IACjC,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACtD,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAClD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAM,CAAC,MAAM,GAAG,MAAM,CAAC,EAAO,KAAG,mBAa9D,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,iDAK1B,iBAAiB,CAClB,WAAW,CAAC,GAAG,CAAC,GAAG;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CACF,sBA0CA,CAAC"}
1
+ {"version":3,"file":"FormContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/FormContext.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EACZ,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,KAAK,UAAU,EAAY,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAW,MAAM,aAAa,CAAC;AAE1E,KAAK,gBAAgB,CAAC,CAAC,SAAS,UAAU,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;AAI7D,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,UAAU,OAAK,gBAAgB,CAAC,CAAC,CAEzE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAM,CAAC,MAAM,GAAG,MAAM,CAAC,EAAO,KAAG,GAI9D,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IACjC,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACtD,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAClD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAM,CAAC,MAAM,GAAG,MAAM,CAAC,EAAO,KAAG,mBAa9D,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,iDAK1B,iBAAiB,CAClB,WAAW,CAAC,GAAG,CAAC,GAAG;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CACF,sBA0CA,CAAC"}
@@ -9,9 +9,12 @@ export type InputProps = {
9
9
  type: SimpleType;
10
10
  format?: FormatEnum;
11
11
  label: string;
12
- disabled?: boolean;
13
12
  placeholder?: string;
14
13
  inputOnly?: boolean;
14
+ /**
15
+ * Specifies the readonly variant: either disabled inputs, elements indicating they are usually editable but currently are not; or `static`, a field’s representation as regular content without signifiers that it is ever editable.
16
+ */
17
+ readonly?: 'disabled-input' | 'static' | false;
15
18
  } & FormInputStateProps;
16
19
  /**
17
20
  * Form input component.
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/Input.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAK/C,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,mBAAmB,CAAC;AAExB;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;AAE5C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,4BAA4B,gBAAgB,sBAavE,CAAC"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/Input.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAK/C,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,gBAAgB,GAAG,QAAQ,GAAG,KAAK,CAAC;CAChD,GAAG,mBAAmB,CAAC;AAExB;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;AAE5C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,4BAA4B,gBAAgB,sBAavE,CAAC"}
@@ -1,12 +1,18 @@
1
1
  import { type SchemaAST } from 'effect';
2
2
  import React from 'react';
3
- import { type InputProps } from './Input';
3
+ import { type TypeAnnotation } from '@dxos/echo-schema';
4
+ import { type MaybePromise } from '@dxos/util';
4
5
  import { type QueryRefOptions } from '../../hooks';
5
- type RefFieldProps = InputProps & {
6
+ import { type InputProps } from './Input';
7
+ export type RefFieldProps = InputProps & {
6
8
  ast?: SchemaAST.AST;
7
9
  array?: boolean;
8
10
  onQueryRefOptions?: QueryRefOptions;
11
+ createOptionLabel?: [string, {
12
+ ns: string;
13
+ }];
14
+ createOptionIcon?: string;
15
+ onCreateFromQuery?: (type: TypeAnnotation, query: string) => MaybePromise<void>;
9
16
  };
10
- export declare const RefField: ({ type, label, disabled, placeholder, inputOnly, array, ast, getValue, onBlur, onQueryRefOptions, onValueChange, ...restInputProps }: RefFieldProps) => React.JSX.Element | null;
11
- export {};
17
+ export declare const RefField: ({ type, label, readonly, placeholder, inputOnly, array, ast, getValue, onBlur, onQueryRefOptions, createOptionLabel, createOptionIcon, onCreateFromQuery, onValueChange, ...restInputProps }: RefFieldProps) => React.JSX.Element | null;
12
18
  //# sourceMappingURL=RefField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RefField.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/RefField.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAgD,MAAM,OAAO,CAAC;AAkBrE,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,aAAa,CAAC;AAGvE,KAAK,aAAa,GAAG,UAAU,GAAG;IAChC,GAAG,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,eAAe,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,sIAatB,aAAa,6BAuHf,CAAC"}
1
+ {"version":3,"file":"RefField.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/RefField.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,EAKL,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AAS3B,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,aAAa,CAAC;AAIvE,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG;IACvC,GAAG,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,eAAe,CAAC;IACpC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CACjF,CAAC;AAOF,eAAO,MAAM,QAAQ,GAAI,8LAgBtB,aAAa,6BA8Lf,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { type InputProps } from '../Input';
3
- export declare const GeoPointInput: ({ type, label, disabled, getStatus, getValue, onValueChange, onBlur }: InputProps) => React.JSX.Element;
3
+ export declare const GeoPointInput: ({ type, label, readonly, getStatus, getValue, onValueChange, onBlur }: InputProps) => React.JSX.Element;
4
4
  //# sourceMappingURL=GeoPointInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GeoPointInput.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/custom/GeoPointInput.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsE,MAAM,OAAO,CAAC;AAO3F,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAExD,eAAO,MAAM,aAAa,GAAI,uEAAuE,UAAU,sBA0D9G,CAAC"}
1
+ {"version":3,"file":"GeoPointInput.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/custom/GeoPointInput.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsE,MAAM,OAAO,CAAC;AAO3F,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAExD,eAAO,MAAM,aAAa,GAAI,uEAAuE,UAAU,sBAkE9G,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { type InputProps } from '../Input';
3
- export declare const SelectOptionInput: ({ type, label, disabled, getStatus, getValue, onValueChange }: InputProps) => React.JSX.Element;
3
+ export declare const SelectOptionInput: ({ type, label, readonly, getStatus, getValue, onValueChange }: InputProps) => React.JSX.Element;
4
4
  //# sourceMappingURL=SelectOptionsInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectOptionsInput.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/custom/SelectOptionsInput.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAyF,MAAM,OAAO,CAAC;AAU9G,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAGxD,eAAO,MAAM,iBAAiB,GAAI,+DAA+D,UAAU,sBA8K1G,CAAC"}
1
+ {"version":3,"file":"SelectOptionsInput.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/custom/SelectOptionsInput.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAyF,MAAM,OAAO,CAAC;AAU9G,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAExD,eAAO,MAAM,iBAAiB,GAAI,+DAA+D,UAAU,sBA8K1G,CAAC"}
@@ -1,7 +1,78 @@
1
1
  import '@dxos-theme';
2
- import { type Meta, type StoryObj } from '@storybook/react-vite';
3
- declare const meta: Meta;
2
+ import { type StoryObj } from '@storybook/react-vite';
3
+ import React from 'react';
4
+ declare const meta: {
5
+ title: string;
6
+ component: any;
7
+ render: () => React.JSX.Element;
8
+ decorators: import("@storybook/react").Decorator[];
9
+ parameters: {
10
+ translations: [{
11
+ readonly 'en-US': {
12
+ readonly "react-ui-form": {
13
+ readonly 'fields label': "Fields";
14
+ readonly 'hidden fields label': "Hidden Fields";
15
+ readonly 'empty readonly ref field label': "(none)";
16
+ readonly 'button add property': "Add property";
17
+ readonly 'field property label': "Property";
18
+ readonly 'field property placeholder': "Property name";
19
+ readonly 'field format label': "Type";
20
+ readonly 'field path label': "Field path";
21
+ readonly 'add field': "Add field";
22
+ readonly 'delete field': "Delete field";
23
+ readonly 'field limit reached': "Maximum number of fields reached";
24
+ readonly 'boolean input true value': "Yes";
25
+ readonly 'boolean input false value': "No";
26
+ readonly 'show field label': "Show field";
27
+ readonly 'hide field label': "Hide field";
28
+ readonly 'delete field label': "Delete field";
29
+ readonly 'ref field placeholder_one': "Select…";
30
+ readonly 'ref field placeholder_other': "Select items…";
31
+ readonly 'button cancel': "Cancel";
32
+ readonly 'button save': "Save";
33
+ readonly 'format boolean': "Boolean";
34
+ readonly 'format currency': "Currency";
35
+ readonly 'format date': "Date";
36
+ readonly 'format date-time': "DateTime";
37
+ readonly 'format did': "DID";
38
+ readonly 'format duration': "Duration";
39
+ readonly 'format dxn': "DXN";
40
+ readonly 'format email': "Email";
41
+ readonly 'format formula': "Formula";
42
+ readonly 'format hostname': "Hostname";
43
+ readonly 'format integer': "Integer";
44
+ readonly 'format json': "JSON";
45
+ readonly 'format latlng': "Geopoint";
46
+ readonly 'format markdown': "Markdown";
47
+ readonly 'format percent': "Percent";
48
+ readonly 'format ref': "Reference";
49
+ readonly 'format regex': "RegExp";
50
+ readonly 'format string': "String";
51
+ readonly 'format single-select': "Select";
52
+ readonly 'format multi-select': "Multi-select";
53
+ readonly 'format text': "Long text";
54
+ readonly 'format time': "Time";
55
+ readonly 'format timestamp': "Timestamp";
56
+ readonly 'format user': "User";
57
+ readonly 'format number': "Number";
58
+ readonly 'format uri': "URI";
59
+ readonly 'format url': "URL";
60
+ readonly 'format uuid': "UUID";
61
+ readonly 'latitude label': "Latitude";
62
+ readonly 'longitude label': "Longitude";
63
+ readonly 'select option label': "Label";
64
+ readonly 'select option label placeholder': "Option label";
65
+ readonly 'select option color': "Color";
66
+ readonly 'select option delete': "Delete";
67
+ readonly 'select option add': "Add option";
68
+ readonly 'system schema title': "System record type";
69
+ readonly 'system schema description': "This is a system record type and cannot be modified, though the view can still be configured.";
70
+ };
71
+ };
72
+ }];
73
+ };
74
+ };
4
75
  export default meta;
5
- type Story = StoryObj;
76
+ type Story = StoryObj<typeof meta>;
6
77
  export declare const Default: Story;
7
78
  //# sourceMappingURL=SelectOptionsInput.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectOptionsInput.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/custom/SelectOptionsInput.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAwCjE,QAAA,MAAM,IAAI,EAAE,IAQX,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
1
+ {"version":3,"file":"SelectOptionsInput.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/custom/SelectOptionsInput.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAmB,MAAM,OAAO,CAAC;AAuCxC,QAAA,MAAM,IAAI;;eAEwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMA,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type InputProps } from '../Input';
3
- export declare const TupleInput: ({ binding, type, label, disabled, getStatus, getValue, onValueChange, onBlur, }: InputProps & {
3
+ export declare const TupleInput: ({ binding, type, label, readonly, getStatus, getValue, onValueChange, onBlur, }: InputProps & {
4
4
  binding: string[];
5
5
  }) => React.JSX.Element;
6
6
  //# sourceMappingURL=TupleInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/factory.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,UAAU,EAAE,SAAS,UAAU,GAAG,MAAM,KAAG,cAAc,GAAG,SAgBnG,CAAC"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/factory.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAI/C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,UAAU,EAAE,SAAS,UAAU,GAAG,MAAM,KAAG,cAAc,GAAG,SAgBnG,CAAC"}
@@ -7,14 +7,15 @@ import { type FormProps } from '../Form';
7
7
  export type ViewEditorProps = ThemedClassName<{
8
8
  schema: Schema.Schema.AnyNoContext;
9
9
  view: DataType.View;
10
+ kind?: 'basic' | 'advanced';
10
11
  registry?: SchemaRegistry;
11
12
  readonly?: boolean;
12
13
  showHeading?: boolean;
13
- onTypenameChanged?: (typename: string) => void;
14
+ onQueryChanged?: (query: string) => void;
14
15
  onDelete?: (fieldId: string) => void;
15
16
  } & Pick<FormProps<any>, 'outerSpacing'>>;
16
17
  /**
17
18
  * Schema-based object form.
18
19
  */
19
- export declare const ViewEditor: ({ classNames, schema, view, registry, readonly: _readonly, showHeading, onTypenameChanged, onDelete, outerSpacing, }: ViewEditorProps) => React.JSX.Element;
20
+ export declare const ViewEditor: ({ classNames, schema, view, kind, registry, readonly, showHeading, onQueryChanged, onDelete, outerSpacing, }: ViewEditorProps) => React.JSX.Element;
20
21
  //# sourceMappingURL=ViewEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/ViewEditor/ViewEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAuB,KAAK,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAI3F,OAAO,EAAiD,KAAK,QAAQ,EAAmB,MAAM,cAAc,CAAC;AAI7G,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAY/C,MAAM,MAAM,eAAe,GAAG,eAAe,CAC3C;IACE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IACnC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CACzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,sHAUxB,eAAe,sBAsNjB,CAAC"}
1
+ {"version":3,"file":"ViewEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/ViewEditor/ViewEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAS,MAAM,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpD,OAAO,EAAuB,KAAK,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAK3F,OAAO,EACL,KAAK,QAAQ,EAMd,MAAM,cAAc,CAAC;AAItB,OAAO,EAAQ,KAAK,SAAS,EAAwC,MAAM,SAAS,CAAC;AAKrF,MAAM,MAAM,eAAe,GAAG,eAAe,CAC3C;IACE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IACnC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CACzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,8GAWxB,eAAe,sBAqOjB,CAAC"}
@@ -1,17 +1,88 @@
1
1
  import '@dxos-theme';
2
- import { type Meta, type StoryObj } from '@storybook/react-vite';
2
+ import { type StoryObj } from '@storybook/react-vite';
3
+ import React from 'react';
3
4
  import { type EchoSchema } from '@dxos/echo-schema';
4
- import { DataType, ProjectionModel } from '@dxos/schema';
5
+ import { type DataType, ProjectionModel } from '@dxos/schema';
5
6
  import { type ViewEditorProps } from './ViewEditor';
6
7
  export type ViewEditorDebugObjects = {
7
8
  schema: EchoSchema;
8
9
  view: DataType.View;
9
10
  projection: ProjectionModel;
10
11
  };
11
- type StoryProps = Pick<ViewEditorProps, 'readonly'>;
12
- declare const meta: Meta<StoryProps>;
12
+ type StoryProps = Pick<ViewEditorProps, 'readonly' | 'kind'>;
13
+ declare const meta: {
14
+ title: string;
15
+ render: (props: StoryProps) => React.JSX.Element;
16
+ decorators: import("@storybook/react").Decorator[];
17
+ parameters: {
18
+ translations: [{
19
+ readonly 'en-US': {
20
+ readonly "react-ui-form": {
21
+ readonly 'fields label': "Fields";
22
+ readonly 'hidden fields label': "Hidden Fields";
23
+ readonly 'empty readonly ref field label': "(none)";
24
+ readonly 'button add property': "Add property";
25
+ readonly 'field property label': "Property";
26
+ readonly 'field property placeholder': "Property name";
27
+ readonly 'field format label': "Type";
28
+ readonly 'field path label': "Field path";
29
+ readonly 'add field': "Add field";
30
+ readonly 'delete field': "Delete field";
31
+ readonly 'field limit reached': "Maximum number of fields reached";
32
+ readonly 'boolean input true value': "Yes";
33
+ readonly 'boolean input false value': "No";
34
+ readonly 'show field label': "Show field";
35
+ readonly 'hide field label': "Hide field";
36
+ readonly 'delete field label': "Delete field";
37
+ readonly 'ref field placeholder_one': "Select…";
38
+ readonly 'ref field placeholder_other': "Select items…";
39
+ readonly 'button cancel': "Cancel";
40
+ readonly 'button save': "Save";
41
+ readonly 'format boolean': "Boolean";
42
+ readonly 'format currency': "Currency";
43
+ readonly 'format date': "Date";
44
+ readonly 'format date-time': "DateTime";
45
+ readonly 'format did': "DID";
46
+ readonly 'format duration': "Duration";
47
+ readonly 'format dxn': "DXN";
48
+ readonly 'format email': "Email";
49
+ readonly 'format formula': "Formula";
50
+ readonly 'format hostname': "Hostname";
51
+ readonly 'format integer': "Integer";
52
+ readonly 'format json': "JSON";
53
+ readonly 'format latlng': "Geopoint";
54
+ readonly 'format markdown': "Markdown";
55
+ readonly 'format percent': "Percent";
56
+ readonly 'format ref': "Reference";
57
+ readonly 'format regex': "RegExp";
58
+ readonly 'format string': "String";
59
+ readonly 'format single-select': "Select";
60
+ readonly 'format multi-select': "Multi-select";
61
+ readonly 'format text': "Long text";
62
+ readonly 'format time': "Time";
63
+ readonly 'format timestamp': "Timestamp";
64
+ readonly 'format user': "User";
65
+ readonly 'format number': "Number";
66
+ readonly 'format uri': "URI";
67
+ readonly 'format url': "URL";
68
+ readonly 'format uuid': "UUID";
69
+ readonly 'latitude label': "Latitude";
70
+ readonly 'longitude label': "Longitude";
71
+ readonly 'select option label': "Label";
72
+ readonly 'select option label placeholder': "Option label";
73
+ readonly 'select option color': "Color";
74
+ readonly 'select option delete': "Delete";
75
+ readonly 'select option add': "Add option";
76
+ readonly 'system schema title': "System record type";
77
+ readonly 'system schema description': "This is a system record type and cannot be modified, though the view can still be configured.";
78
+ };
79
+ };
80
+ }];
81
+ };
82
+ };
13
83
  export default meta;
14
- type Story = StoryObj<StoryProps>;
84
+ type Story = StoryObj<typeof meta>;
15
85
  export declare const Default: Story;
16
86
  export declare const Readonly: Story;
87
+ export declare const Advanced: Story;
17
88
  //# sourceMappingURL=ViewEditor.stories.d.ts.map