@dxos/react-ui-form 0.8.4-main.c85a9c8dae → 0.8.4-main.d05539e30a

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 (147) hide show
  1. package/LICENSE +102 -5
  2. package/dist/lib/browser/index.mjs +1028 -625
  3. package/dist/lib/browser/index.mjs.map +4 -4
  4. package/dist/lib/browser/meta.json +1 -1
  5. package/dist/lib/browser/translations.mjs +82 -0
  6. package/dist/lib/browser/translations.mjs.map +7 -0
  7. package/dist/lib/node-esm/index.mjs +1028 -625
  8. package/dist/lib/node-esm/index.mjs.map +4 -4
  9. package/dist/lib/node-esm/meta.json +1 -1
  10. package/dist/lib/node-esm/translations.mjs +84 -0
  11. package/dist/lib/node-esm/translations.mjs.map +7 -0
  12. package/dist/types/src/components/FieldEditor/FieldEditor.d.ts.map +1 -1
  13. package/dist/types/src/components/FieldEditor/FieldEditor.stories.d.ts +63 -61
  14. package/dist/types/src/components/FieldEditor/FieldEditor.stories.d.ts.map +1 -1
  15. package/dist/types/src/components/Form/Form.d.ts +40 -12
  16. package/dist/types/src/components/Form/Form.d.ts.map +1 -1
  17. package/dist/types/src/components/Form/Form.stories.d.ts +76 -74
  18. package/dist/types/src/components/Form/Form.stories.d.ts.map +1 -1
  19. package/dist/types/src/components/Form/FormField.d.ts +11 -5
  20. package/dist/types/src/components/Form/FormField.d.ts.map +1 -1
  21. package/dist/types/src/components/Form/FormFieldComponent.d.ts +8 -7
  22. package/dist/types/src/components/Form/FormFieldComponent.d.ts.map +1 -1
  23. package/dist/types/src/components/Form/FormFieldComponent.stories.d.ts.map +1 -1
  24. package/dist/types/src/components/Form/FormFieldSet.d.ts +5 -9
  25. package/dist/types/src/components/Form/FormFieldSet.d.ts.map +1 -1
  26. package/dist/types/src/components/Form/fields/ArrayField.d.ts +4 -4
  27. package/dist/types/src/components/Form/fields/ArrayField.d.ts.map +1 -1
  28. package/dist/types/src/components/Form/fields/BooleanField.d.ts.map +1 -1
  29. package/dist/types/src/components/Form/fields/GeoPointField.d.ts.map +1 -1
  30. package/dist/types/src/components/Form/fields/MarkdownField.d.ts +8 -1
  31. package/dist/types/src/components/Form/fields/MarkdownField.d.ts.map +1 -1
  32. package/dist/types/src/components/Form/fields/MarkdownField.stories.d.ts +84 -0
  33. package/dist/types/src/components/Form/fields/MarkdownField.stories.d.ts.map +1 -0
  34. package/dist/types/src/components/Form/fields/NumberField.d.ts.map +1 -1
  35. package/dist/types/src/components/Form/fields/RefField.d.ts +15 -7
  36. package/dist/types/src/components/Form/fields/RefField.d.ts.map +1 -1
  37. package/dist/types/src/components/Form/fields/SelectField.d.ts.map +1 -1
  38. package/dist/types/src/components/Form/fields/SelectOptionField.d.ts.map +1 -1
  39. package/dist/types/src/components/Form/fields/SelectOptionField.stories.d.ts +63 -61
  40. package/dist/types/src/components/Form/fields/SelectOptionField.stories.d.ts.map +1 -1
  41. package/dist/types/src/components/Form/fields/TextAreaField.d.ts.map +1 -1
  42. package/dist/types/src/components/Form/fields/TextField.d.ts +1 -1
  43. package/dist/types/src/components/Form/fields/TextField.d.ts.map +1 -1
  44. package/dist/types/src/components/Form/fields/TupleField.d.ts.map +1 -1
  45. package/dist/types/src/components/ObjectForm/ObjectForm.d.ts +9 -0
  46. package/dist/types/src/components/ObjectForm/ObjectForm.d.ts.map +1 -0
  47. package/dist/types/src/components/ObjectForm/index.d.ts +2 -0
  48. package/dist/types/src/components/ObjectForm/index.d.ts.map +1 -0
  49. package/dist/types/src/components/ObjectPicker/ObjectPicker.d.ts +26 -4
  50. package/dist/types/src/components/ObjectPicker/ObjectPicker.d.ts.map +1 -1
  51. package/dist/types/src/components/ObjectPicker/ObjectPicker.stories.d.ts +63 -61
  52. package/dist/types/src/components/ObjectPicker/ObjectPicker.stories.d.ts.map +1 -1
  53. package/dist/types/src/components/ObjectProperties/ObjectProperties.d.ts +9 -0
  54. package/dist/types/src/components/ObjectProperties/ObjectProperties.d.ts.map +1 -0
  55. package/dist/types/src/components/ObjectProperties/ObjectProperties.stories.d.ts +127 -0
  56. package/dist/types/src/components/ObjectProperties/ObjectProperties.stories.d.ts.map +1 -0
  57. package/dist/types/src/components/ObjectProperties/ObjectProperties.test.d.ts +2 -0
  58. package/dist/types/src/components/ObjectProperties/ObjectProperties.test.d.ts.map +1 -0
  59. package/dist/types/src/components/ObjectProperties/index.d.ts +2 -0
  60. package/dist/types/src/components/ObjectProperties/index.d.ts.map +1 -0
  61. package/dist/types/src/components/Settings/Settings.d.ts +28 -33
  62. package/dist/types/src/components/Settings/Settings.d.ts.map +1 -1
  63. package/dist/types/src/components/Settings/Settings.stories.d.ts +64 -61
  64. package/dist/types/src/components/Settings/Settings.stories.d.ts.map +1 -1
  65. package/dist/types/src/components/Settings/SettingsFieldSet.d.ts +43 -0
  66. package/dist/types/src/components/Settings/SettingsFieldSet.d.ts.map +1 -0
  67. package/dist/types/src/components/Settings/SettingsItem.d.ts +16 -0
  68. package/dist/types/src/components/Settings/SettingsItem.d.ts.map +1 -0
  69. package/dist/types/src/components/Settings/SettingsSelectField.d.ts +18 -0
  70. package/dist/types/src/components/Settings/SettingsSelectField.d.ts.map +1 -0
  71. package/dist/types/src/components/Settings/index.d.ts +2 -0
  72. package/dist/types/src/components/Settings/index.d.ts.map +1 -1
  73. package/dist/types/src/components/ViewEditor/ViewEditor.d.ts +3 -4
  74. package/dist/types/src/components/ViewEditor/ViewEditor.d.ts.map +1 -1
  75. package/dist/types/src/components/ViewEditor/ViewEditor.stories.d.ts +65 -63
  76. package/dist/types/src/components/ViewEditor/ViewEditor.stories.d.ts.map +1 -1
  77. package/dist/types/src/components/index.d.ts +2 -0
  78. package/dist/types/src/components/index.d.ts.map +1 -1
  79. package/dist/types/src/components/testing.d.ts +4 -4
  80. package/dist/types/src/components/testing.d.ts.map +1 -1
  81. package/dist/types/src/hooks/useFormHandler.d.ts.map +1 -1
  82. package/dist/types/src/hooks/useKeyHandler.d.ts +2 -1
  83. package/dist/types/src/hooks/useKeyHandler.d.ts.map +1 -1
  84. package/dist/types/src/index.d.ts +0 -2
  85. package/dist/types/src/index.d.ts.map +1 -1
  86. package/dist/types/src/translations.d.ts +63 -61
  87. package/dist/types/src/translations.d.ts.map +1 -1
  88. package/dist/types/src/util/field-type.d.ts +19 -0
  89. package/dist/types/src/util/field-type.d.ts.map +1 -0
  90. package/dist/types/src/util/field.d.ts.map +1 -1
  91. package/dist/types/src/util/formatting.d.ts.map +1 -1
  92. package/dist/types/src/util/index.d.ts +1 -0
  93. package/dist/types/src/util/index.d.ts.map +1 -1
  94. package/dist/types/src/util/properties.d.ts +7 -1
  95. package/dist/types/src/util/properties.d.ts.map +1 -1
  96. package/dist/types/src/util/properties.test.d.ts +2 -0
  97. package/dist/types/src/util/properties.test.d.ts.map +1 -0
  98. package/dist/types/src/util/refs.d.ts +1 -0
  99. package/dist/types/src/util/refs.d.ts.map +1 -1
  100. package/dist/types/tsconfig.tsbuildinfo +1 -1
  101. package/package.json +43 -41
  102. package/src/components/FieldEditor/FieldEditor.stories.tsx +2 -2
  103. package/src/components/FieldEditor/FieldEditor.test.tsx +0 -1
  104. package/src/components/FieldEditor/FieldEditor.tsx +4 -3
  105. package/src/components/Form/AUDIT.md +17 -0
  106. package/src/components/Form/Form.stories.tsx +25 -38
  107. package/src/components/Form/Form.tsx +77 -48
  108. package/src/components/Form/FormField.tsx +27 -15
  109. package/src/components/Form/FormFieldComponent.tsx +6 -4
  110. package/src/components/Form/FormFieldSet.tsx +98 -77
  111. package/src/components/Form/fields/ArrayField.tsx +14 -8
  112. package/src/components/Form/fields/GeoPointField.tsx +8 -7
  113. package/src/components/Form/fields/MarkdownField.stories.tsx +206 -0
  114. package/src/components/Form/fields/MarkdownField.tsx +135 -45
  115. package/src/components/Form/fields/RefField.tsx +79 -39
  116. package/src/components/Form/fields/SelectOptionField.stories.tsx +8 -6
  117. package/src/components/Form/fields/SelectOptionField.tsx +12 -12
  118. package/src/components/Form/fields/TextField.tsx +2 -2
  119. package/src/components/Form/fields/TupleField.tsx +1 -1
  120. package/src/components/ObjectForm/ObjectForm.tsx +114 -0
  121. package/src/components/ObjectForm/index.ts +5 -0
  122. package/src/components/ObjectPicker/ObjectPicker.stories.tsx +12 -10
  123. package/src/components/ObjectPicker/ObjectPicker.tsx +92 -65
  124. package/src/components/ObjectProperties/ObjectProperties.stories.tsx +362 -0
  125. package/src/components/ObjectProperties/ObjectProperties.test.tsx +101 -0
  126. package/src/components/ObjectProperties/ObjectProperties.tsx +148 -0
  127. package/src/components/ObjectProperties/index.ts +5 -0
  128. package/src/components/Settings/AUDIT.md +51 -0
  129. package/src/components/Settings/Settings.stories.tsx +69 -21
  130. package/src/components/Settings/Settings.tsx +33 -183
  131. package/src/components/Settings/SettingsFieldSet.tsx +257 -0
  132. package/src/components/Settings/SettingsItem.tsx +58 -0
  133. package/src/components/Settings/SettingsSelectField.tsx +59 -0
  134. package/src/components/Settings/index.ts +2 -0
  135. package/src/components/ViewEditor/ViewEditor.stories.tsx +14 -15
  136. package/src/components/ViewEditor/ViewEditor.test.tsx +0 -1
  137. package/src/components/ViewEditor/ViewEditor.tsx +40 -36
  138. package/src/components/index.ts +2 -0
  139. package/src/components/testing.tsx +19 -11
  140. package/src/hooks/useKeyHandler.tsx +7 -7
  141. package/src/index.ts +0 -4
  142. package/src/translations.ts +66 -63
  143. package/src/util/field-type.ts +60 -0
  144. package/src/util/index.ts +1 -0
  145. package/src/util/properties.test.ts +63 -0
  146. package/src/util/properties.ts +14 -3
  147. package/src/util/refs.ts +7 -3
@@ -1,12 +1,19 @@
1
1
  import * as Schema from 'effect/Schema';
2
2
  import React, { type PropsWithChildren } from 'react';
3
3
  import { type AnyProperties } from '@dxos/echo/internal';
4
- import { type IconButtonProps, type ScrollAreaRootProps, type ThemedClassName } from '@dxos/react-ui';
4
+ import { type IconButtonProps, type ThemedClassName } from '@dxos/react-ui';
5
5
  import { type FormHandler, type FormHandlerProps, type FormUpdateMeta } from '../../hooks';
6
6
  import { type FormFieldLabelProps, type FormFieldStateProps } from './FormFieldComponent';
7
7
  import { type FormFieldSetProps as NaturalFormFieldSetProps } from './FormFieldSet';
8
8
  export type ExcludeId<S extends Schema.Schema.AnyNoContext> = Omit<Schema.Schema.Type<S>, 'id'>;
9
9
  export declare const omitId: <S extends Schema.Schema.AnyNoContext>(schema: S) => Schema.Schema<ExcludeId<S>, ExcludeId<S>>;
10
+ /**
11
+ * Drop fields annotated with `FormInputAnnotation.set(false)` from a schema so
12
+ * the form's validator doesn't trip on required-but-hidden fields. Used by
13
+ * the picker's inline create form, where a `FactoryAnnotation` typically
14
+ * supplies the hidden values (e.g. a backing-object Ref) outside the form.
15
+ */
16
+ export declare const omitHiddenFormFields: <S extends Schema.Schema.AnyNoContext>(schema: S) => S;
10
17
  type FormContextValue<T extends AnyProperties = any> = {
11
18
  /**
12
19
  * Form handler.
@@ -20,7 +27,7 @@ type FormContextValue<T extends AnyProperties = any> = {
20
27
  * Testing.
21
28
  */
22
29
  testId?: string;
23
- } & Pick<NaturalFormFieldSetProps<T>, 'readonly' | 'layout' | 'fieldMap' | 'fieldProvider' | 'projection'>;
30
+ } & Pick<NaturalFormFieldSetProps<T>, 'readonly' | 'layout' | 'fieldMap' | 'fieldProvider' | 'projection' | 'createTypename' | 'createFieldMap' | 'db'>;
24
31
  declare const useFormContext: (consumerName: string) => FormContextValue<any>;
25
32
  /**
26
33
  * Get the current form values.
@@ -43,24 +50,45 @@ type FormRootProps<T extends AnyProperties = AnyProperties> = PropsWithChildren<
43
50
  */
44
51
  onCancel?: () => void;
45
52
  } & Omit<FormContextValue<T>, 'form'> & Pick<FormHandlerProps<T>, 'schema' | 'autoSave' | 'values' | 'defaultValues' | 'onValidate' | 'onValuesChanged'> & Omit<NaturalFormFieldSetProps<T>, 'schema' | 'path'>>;
46
- type FormViewportProps = PropsWithChildren<ScrollAreaRootProps>;
53
+ declare function FormRoot<T extends AnyProperties = AnyProperties>({ children, schema, values, onSave, onCancel, ...props }: FormRootProps<T>): React.JSX.Element;
54
+ declare namespace FormRoot {
55
+ var displayName: string;
56
+ }
57
+ type FormViewportProps = {};
47
58
  type FormContentProps = ThemedClassName<PropsWithChildren<{}>>;
48
59
  type FormFieldSetProps = ThemedClassName<NaturalFormFieldSetProps<any>>;
60
+ declare function FormFieldSet(props: FormFieldSetProps): React.JSX.Element;
61
+ declare namespace FormFieldSet {
62
+ var displayName: string;
63
+ }
49
64
  type FormActionsProps = ThemedClassName<{}>;
65
+ declare function FormActions({ classNames }: FormActionsProps): React.JSX.Element | null;
66
+ declare namespace FormActions {
67
+ var displayName: string;
68
+ }
69
+ type FormSectionProps = ThemedClassName<{
70
+ label?: string;
71
+ description?: string;
72
+ }>;
50
73
  type FormSubmitProps = ThemedClassName<Partial<Pick<IconButtonProps, 'icon' | 'label' | 'disabled'>>>;
74
+ declare function FormSubmit({ classNames, label, icon, disabled }: FormSubmitProps): React.JSX.Element | null;
75
+ declare namespace FormSubmit {
76
+ var displayName: string;
77
+ }
51
78
  export declare const Form: {
52
79
  Root: {
53
80
  <T extends AnyProperties = AnyProperties>({ children, schema, values, onSave, onCancel, ...props }: FormRootProps<T>): React.JSX.Element;
54
81
  displayName: string;
55
82
  };
56
- Viewport: {
57
- ({ children, classNames, margin, padding, thin, ...props }: FormViewportProps): React.JSX.Element;
58
- displayName: string;
59
- };
60
- Content: {
61
- ({ classNames, children }: FormContentProps): React.JSX.Element;
62
- displayName: string;
63
- };
83
+ Viewport: React.ForwardRefExoticComponent<Omit<{}, "className"> & {
84
+ classNames?: import("@dxos/ui-types").ClassNameValue;
85
+ } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
86
+ Content: React.ForwardRefExoticComponent<Omit<FormContentProps, "className"> & {
87
+ classNames?: import("@dxos/ui-types").ClassNameValue;
88
+ } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
89
+ Section: React.ForwardRefExoticComponent<Omit<FormSectionProps, "className"> & {
90
+ classNames?: import("@dxos/ui-types").ClassNameValue;
91
+ } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
64
92
  FieldSet: {
65
93
  (props: FormFieldSetProps): React.JSX.Element;
66
94
  displayName: string;
@@ -79,5 +107,5 @@ export declare const Form: {
79
107
  };
80
108
  };
81
109
  export { useFormContext, useFormValues, useFormFieldState };
82
- export type { FormRootProps, FormViewportProps, FormContentProps, FormFieldSetProps, FormFieldLabelProps, FormActionsProps, FormSubmitProps, };
110
+ export type { FormRootProps, FormViewportProps, FormContentProps, FormSectionProps, FormFieldSetProps, FormFieldLabelProps, FormActionsProps, FormSubmitProps, };
83
111
  //# sourceMappingURL=Form.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/Form.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/Form.tsx"],"names":[],"mappings":"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"}
@@ -11,24 +11,24 @@ export interface Organization extends Schema.Schema.Type<typeof Organization> {
11
11
  }
12
12
  declare const Person: Type.Obj<{
13
13
  readonly name: string;
14
+ readonly ignore?: string | undefined;
15
+ readonly active?: boolean | undefined;
14
16
  readonly address?: {
15
- readonly state: string;
16
17
  readonly street: string;
17
18
  readonly city: string;
19
+ readonly state: string;
18
20
  readonly zip: number;
19
21
  } | undefined;
20
- readonly status?: "active" | "inactive" | undefined;
21
- readonly location?: readonly [number, number, (number | undefined)?] | undefined;
22
- readonly tags?: readonly import("@dxos/echo/internal").Ref<import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & {
23
- readonly hue?: string | undefined;
24
- readonly label: string;
25
- }>[] | undefined;
26
- readonly ignore?: string | undefined;
27
- readonly active?: boolean | undefined;
28
22
  readonly employer?: import("@dxos/echo/internal").Ref<import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & {
29
23
  readonly name: string;
30
24
  }> | undefined;
25
+ readonly tags?: readonly import("@dxos/echo/internal").Ref<import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & {
26
+ readonly label: string;
27
+ readonly hue?: string | undefined;
28
+ }>[] | undefined;
29
+ readonly status?: "active" | "inactive" | undefined;
31
30
  readonly notes?: string | undefined;
31
+ readonly location?: readonly [number, number, (number | undefined)?] | undefined;
32
32
  readonly tasks?: readonly string[] | undefined;
33
33
  readonly locations?: readonly (readonly [number, number, (number | undefined)?])[] | undefined;
34
34
  readonly identities?: readonly {
@@ -38,9 +38,9 @@ declare const Person: Type.Obj<{
38
38
  }, Schema.Struct.Fields>;
39
39
  export interface Person extends Schema.Schema.Type<typeof Person> {
40
40
  }
41
- type StoryProps<T extends AnyProperties> = {
41
+ type DefaultStoryProps<T extends AnyProperties> = {
42
+ schema?: Schema.Schema<T>;
42
43
  debug?: boolean;
43
- schema: Schema.Schema<T>;
44
44
  } & FormRootProps<T>;
45
45
  declare const meta: {
46
46
  title: string;
@@ -48,81 +48,83 @@ declare const meta: {
48
48
  <T extends AnyProperties = AnyProperties>({ children, schema, values, onSave, onCancel, ...props }: FormRootProps<T>): React.JSX.Element;
49
49
  displayName: string;
50
50
  };
51
- render: <T extends AnyProperties = AnyProperties>({ debug, schema, values: valuesProp, ...props }: StoryProps<T>) => React.JSX.Element;
51
+ render: <T extends AnyProperties = AnyProperties>({ debug, schema, values: valuesProp, ...props }: DefaultStoryProps<T>) => React.JSX.Element;
52
52
  decorators: import("@storybook/react").Decorator[];
53
53
  parameters: {
54
54
  layout: string;
55
55
  translations: [{
56
56
  readonly 'en-US': {
57
57
  readonly "@dxos/react-ui-form": {
58
- readonly 'fields label': "Fields";
59
- readonly 'hidden fields label': "Hidden Fields";
60
- readonly 'empty readonly ref field label': "(none)";
61
- readonly 'add property button label': "Add property";
62
- readonly 'field property label': "Property";
63
- readonly 'field property placeholder': "Property name";
64
- readonly 'field format label': "Type";
65
- readonly 'field path label': "Field path";
66
- readonly 'add field': "Add field";
67
- readonly 'delete field': "Delete field";
68
- readonly 'field limit reached': "Maximum number of fields reached";
69
- readonly 'boolean input true value': "Yes";
70
- readonly 'boolean input false value': "No";
71
- readonly 'show field label': "Show field";
72
- readonly 'hide field label': "Hide field";
73
- readonly 'delete field label': "Delete field";
74
- readonly 'ref field combobox input placeholder': "Search…";
75
- readonly 'ref field placeholder_one': "Select…";
76
- readonly 'ref field placeholder_other': "Select items…";
77
- readonly 'example placeholder': "Example";
78
- readonly 'latitude placeholder': "Latitude (e.g., 40.7128)";
79
- readonly 'longitude placeholder': "Longitude (e.g., -74.0060)";
80
- readonly 'cancel button label': "Cancel";
81
- readonly 'save button label': "Save";
82
- readonly 'format boolean': "Boolean";
83
- readonly 'format currency': "Currency";
84
- readonly 'format date': "Date";
85
- readonly 'format date-time': "DateTime";
86
- readonly 'format did': "DID";
87
- readonly 'format duration': "Duration";
88
- readonly 'format dxn': "DXN";
89
- readonly 'format email': "Email";
90
- readonly 'format formula': "Formula";
91
- readonly 'format hostname': "Hostname";
92
- readonly 'format integer': "Integer";
93
- readonly 'format json': "JSON";
94
- readonly 'format lnglat': "Geopoint";
95
- readonly 'format markdown': "Markdown";
96
- readonly 'format percent': "Percent";
97
- readonly 'format ref': "Reference";
98
- readonly 'format regex': "RegExp";
99
- readonly 'format string': "String";
100
- readonly 'format single-select': "Select";
101
- readonly 'format multi-select': "Multi-select";
102
- readonly 'format text': "Long text";
103
- readonly 'format time': "Time";
104
- readonly 'format timestamp': "Timestamp";
105
- readonly 'format user': "User";
106
- readonly 'format number': "Number";
107
- readonly 'format uri': "URI";
108
- readonly 'format url': "URL";
109
- readonly 'format uuid': "UUID";
110
- readonly 'latitude label': "Latitude";
111
- readonly 'longitude label': "Longitude";
112
- readonly 'select option label': "Label";
113
- readonly 'select option label placeholder': "Option label";
114
- readonly 'select option color': "Color";
115
- readonly 'select option delete': "Delete";
116
- readonly 'select option add': "Add option";
117
- readonly 'system schema title': "System type";
118
- readonly 'system schema description': "System type: cannot add or remove fields.";
58
+ readonly 'fields.label': 'Fields';
59
+ readonly 'hidden-fields.label': 'Hidden Fields';
60
+ readonly 'empty-readonly-ref-field.label': '(none)';
61
+ readonly 'field-property.label': 'Property';
62
+ readonly 'field-property.placeholder': 'Property name';
63
+ readonly 'field-format.label': 'Type';
64
+ readonly 'field-path.label': 'Field path';
65
+ readonly 'add-item.button': 'Add item';
66
+ readonly 'add-property-button.label': 'Add property';
67
+ readonly 'boolean-input-true.value': 'Yes';
68
+ readonly 'boolean-input-false.value': 'No';
69
+ readonly 'show-field.label': 'Show field';
70
+ readonly 'hide-field.label': 'Hide field';
71
+ readonly 'delete-field.label': 'Delete field';
72
+ readonly 'create-option.label': 'Create';
73
+ readonly 'add-tag.label': 'Add tag';
74
+ readonly 'ref-field-combobox-input.placeholder': 'Search\u2026';
75
+ readonly 'ref-field.placeholder': 'Select\u2026';
76
+ readonly 'ref-field.placeholder_one': 'Select\u2026';
77
+ readonly 'ref-field.placeholder_other': 'Select items\u2026';
78
+ readonly 'example.placeholder': 'Example';
79
+ readonly 'latitude.placeholder': 'Latitude (e.g., 40.7128)';
80
+ readonly 'longitude.placeholder': 'Longitude (e.g., -74.0060)';
81
+ readonly 'cancel-button.label': 'Cancel';
82
+ readonly 'save-button.label': 'Save';
83
+ readonly 'create-text.label': 'Create text';
84
+ readonly 'format.boolean.label': 'Boolean';
85
+ readonly 'format.currency.label': 'Currency';
86
+ readonly 'format.date.label': 'Date';
87
+ readonly 'format.date-time.label': 'DateTime';
88
+ readonly 'format.did.label': 'DID';
89
+ readonly 'format.duration.label': 'Duration';
90
+ readonly 'format.dxn.label': 'DXN';
91
+ readonly 'format.email.label': 'Email';
92
+ readonly 'format.formula.label': 'Formula';
93
+ readonly 'format.hostname.label': 'Hostname';
94
+ readonly 'format.integer.label': 'Integer';
95
+ readonly 'format.json.label': 'JSON';
96
+ readonly 'format.lnglat.label': 'Geopoint';
97
+ readonly 'format.markdown.label': 'Markdown';
98
+ readonly 'format.percent.label': 'Percent';
99
+ readonly 'format.ref.label': 'Reference';
100
+ readonly 'format.regex.label': 'RegExp';
101
+ readonly 'format.string.label': 'String';
102
+ readonly 'format.single-select.label': 'Select';
103
+ readonly 'format.multi-select.label': 'Multi-select';
104
+ readonly 'format.text.label': 'Long text';
105
+ readonly 'format.time.label': 'Time';
106
+ readonly 'format.timestamp.label': 'Timestamp';
107
+ readonly 'format.user.label': 'User';
108
+ readonly 'format.number.label': 'Number';
109
+ readonly 'format.uri.label': 'URI';
110
+ readonly 'format.url.label': 'URL';
111
+ readonly 'format.uuid.label': 'UUID';
112
+ readonly 'latitude.label': 'Latitude';
113
+ readonly 'longitude.label': 'Longitude';
114
+ readonly 'select-option.label': 'Label';
115
+ readonly 'select-option-label.placeholder': 'Option label';
116
+ readonly 'select-option-delete.button': 'Delete';
117
+ readonly 'select-option-add.button': 'Add option';
118
+ readonly 'system-schema.title': 'System type';
119
+ readonly 'system-schema.description': 'System type: cannot add or remove fields.';
120
+ readonly 'remove.button': 'Remove';
119
121
  };
120
122
  };
121
123
  }];
122
124
  };
123
125
  };
124
126
  export default meta;
125
- type Story<T extends AnyProperties> = StoryObj<StoryProps<T>>;
127
+ type Story<T extends AnyProperties> = StoryObj<DefaultStoryProps<T>>;
126
128
  export declare const Default: Story<ExcludeId<typeof Person>>;
127
129
  export declare const Readonly: Story<ExcludeId<typeof Person>>;
128
130
  export declare const Static: Story<ExcludeId<typeof Person>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Form.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/Form.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAgC,MAAM,OAAO,CAAC;AAErD,OAAO,EAAqC,IAAI,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAUzD,OAAO,EAAE,KAAK,SAAS,EAAQ,KAAK,aAAa,EAAU,MAAM,QAAQ,CAAC;AAE1E,QAAA,MAAM,YAAY;;wBAOjB,CAAC;AAEF,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC;CAAG;AAEhF,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;wBAsCX,CAAC;AAEF,MAAM,WAAW,MAAO,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC;CAAG;AAEpE,KAAK,UAAU,CAAC,CAAC,SAAS,aAAa,IAAI;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CAC1B,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AA8CrB,QAAA,MAAM,IAAI;;;;;;aA5CY,CAAC,SAAS,aAAa,mEAK1C,UAAU,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEiB,CAAC;AAElC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,CAAC,CAAC,SAAS,aAAa,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAQ9D,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,CAMnD,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,CAMpD,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,CAMlD,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,CAajD,CAAC"}
1
+ {"version":3,"file":"Form.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/Form.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAgC,MAAM,OAAO,CAAC;AAErD,OAAO,EAAqC,IAAI,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAUzD,OAAO,EAAE,KAAK,SAAS,EAAQ,KAAK,aAAa,EAAU,MAAM,QAAQ,CAAC;AAE1E,QAAA,MAAM,YAAY;;wBAOjB,CAAC;AAEF,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC;CAAG;AAEhF,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;wBAsCX,CAAC;AAEF,MAAM,WAAW,MAAO,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC;CAAG;AAEpE,KAAK,iBAAiB,CAAC,CAAC,SAAS,aAAa,IAAI;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AAmDrB,QAAA,MAAM,IAAI;;;;;;aAjDY,CAAC,SAAS,aAAa,mEAK1C,iBAAiB,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmEiB,CAAC;eAE1B,IAAI;AAEnB,KAAK,KAAK,CAAC,CAAC,SAAS,aAAa,IAAI,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAQrE,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,CAMnD,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,CAMpD,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,CAMlD,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,CAEjD,CAAC"}
@@ -29,9 +29,15 @@ export type FormFieldProps = {
29
29
  * Function to lookup custom renderers for specific properties.
30
30
  */
31
31
  fieldProvider?: FormFieldProvider;
32
- } & Pick<FormFieldComponentProps, 'autoFocus' | 'readonly' | 'layout'> & Pick<RefFieldProps, 'createOptionLabel' | 'createOptionIcon' | 'createInitialValuePath' | 'db' | 'schemaHook' | 'getOptions' | 'onCreate'>;
33
- export declare const FormField: {
34
- (props: FormFieldProps): React.JSX.Element | null;
35
- displayName: string;
36
- };
32
+ /**
33
+ * Typename of the ref type that the create props apply to.
34
+ * When set, createOptionLabel/createOptionIcon/createInitialValuePath/createFieldMap/onCreate
35
+ * are only passed to ref fields whose typename matches.
36
+ */
37
+ createTypename?: string;
38
+ } & Pick<FormFieldComponentProps, 'autoFocus' | 'readonly' | 'layout'> & Pick<RefFieldProps, 'createOptionLabel' | 'createOptionIcon' | 'createInitialValuePath' | 'createFieldMap' | 'db' | 'useSchema' | 'getOptions' | 'onCreate'>;
39
+ export declare function FormField(props: FormFieldProps): React.JSX.Element | null;
40
+ export declare namespace FormField {
41
+ var displayName: string;
42
+ }
37
43
  //# sourceMappingURL=FormField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/FormField.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAkB,MAAM,OAAO,CAAC;AAcvC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAKpD,OAAO,EAOL,KAAK,aAAa,EAInB,MAAM,UAAU,CAAC;AAElB,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC;IAEpB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAE3B;;OAEG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IAExB;;OAEG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC,GAAG,IAAI,CAAC,uBAAuB,EAAE,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC,GACpE,IAAI,CACF,aAAa,EACX,mBAAmB,GACnB,kBAAkB,GAClB,wBAAwB,GACxB,IAAI,GACJ,YAAY,GACZ,YAAY,GACZ,UAAU,CACb,CAAC;AAEJ,eAAO,MAAM,SAAS;YAAW,cAAc;;CA4J9C,CAAC"}
1
+ {"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/FormField.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAkB,MAAM,OAAO,CAAC;AAcvC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAKpD,OAAO,EAOL,KAAK,aAAa,EAInB,MAAM,UAAU,CAAC;AAElB,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC;IAEpB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAE3B;;OAEG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IAExB;;OAEG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,IAAI,CAAC,uBAAuB,EAAE,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC,GACpE,IAAI,CACF,aAAa,EACX,mBAAmB,GACnB,kBAAkB,GAClB,wBAAwB,GACxB,gBAAgB,GAChB,IAAI,GACJ,WAAW,GACX,YAAY,GACZ,UAAU,CACb,CAAC;kCAEsB,KAAK,EAAE,cAAc"}
@@ -1,6 +1,7 @@
1
1
  import type * as Schema from 'effect/Schema';
2
2
  import type * as SchemaAST from 'effect/SchemaAST';
3
3
  import React, { Component, type FC, type FocusEvent, type PropsWithChildren, type ReactElement, type ReactNode } from 'react';
4
+ import { type Database } from '@dxos/echo';
4
5
  import { type Format } from '@dxos/echo/internal';
5
6
  import { type FormFieldStatus } from '../../hooks';
6
7
  /**
@@ -14,7 +15,6 @@ export type FormFieldStateProps<T = any> = {
14
15
  };
15
16
  /**
16
17
  * Presentation mode.
17
- *
18
18
  * - full: Show label, control, and status.
19
19
  * - compact: Show label and control.
20
20
  * - inline: Control only.
@@ -32,6 +32,8 @@ export type FormFieldComponentProps<T = any> = {
32
32
  placeholder?: string;
33
33
  autoFocus?: boolean;
34
34
  layout?: Presentation;
35
+ /** Database the form is editing against; populated for fields whose value is an ECHO object/Ref. */
36
+ db?: Database.Database;
35
37
  } & FormFieldStateProps<T>;
36
38
  /**
37
39
  * Form field component.
@@ -47,10 +49,10 @@ export type FormFieldLabelProps = {
47
49
  asChild?: boolean;
48
50
  error?: string;
49
51
  } & Pick<FormFieldComponentProps, 'label' | 'readonly'>;
50
- export declare const FormFieldLabel: {
51
- ({ label, error, readonly, asChild }: FormFieldLabelProps): React.JSX.Element;
52
- displayName: string;
53
- };
52
+ export declare function FormFieldLabel({ label, error, readonly, asChild }: FormFieldLabelProps): React.JSX.Element;
53
+ export declare namespace FormFieldLabel {
54
+ var displayName: string;
55
+ }
54
56
  export type FormFieldWrapperProps<T = any> = Pick<FormFieldComponentProps, 'readonly' | 'label' | 'layout' | 'getStatus' | 'getValue'> & {
55
57
  children?: (props: {
56
58
  value: T;
@@ -71,8 +73,7 @@ export declare class FormFieldErrorBoundary extends Component<FormFieldErrorBoun
71
73
  error: undefined;
72
74
  };
73
75
  componentDidUpdate(prevProps: FormFieldErrorBoundaryProps): void;
74
- render(): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null | undefined;
76
+ render(): string | number | bigint | boolean | React.JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | Iterable<ReactNode> | ReactElement<unknown, string | React.JSXElementConstructor<any>> | React.ReactPortal | null | undefined> | null | undefined;
75
77
  private resetError;
76
78
  }
77
- export {};
78
79
  //# sourceMappingURL=FormFieldComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormFieldComponent.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/FormFieldComponent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormFieldComponent.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/FormFieldComponent.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormFieldComponent.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/FormFieldComponent.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAwC,MAAM,OAAO,CAAC;AAK7D,OAAO,EAAE,KAAK,uBAAuB,EAAoB,MAAM,sBAAsB,CAAC;AAEtF,QAAA,MAAM,YAAY,GAAI,kEAOnB,uBAAuB,CAAC,MAAM,CAAC,sBAsBjC,CAAC;AAEF,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,YAAY,CAOnC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC"}
1
+ {"version":3,"file":"FormFieldComponent.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/FormFieldComponent.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAwC,MAAM,OAAO,CAAC;AAK7D,OAAO,EAAE,KAAK,uBAAuB,EAAoB,MAAM,sBAAsB,CAAC;AAEtF,QAAA,MAAM,YAAY,qEAOf,uBAAuB,CAAC,MAAM,CAAC,sBAsBjC,CAAC;AAEF,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,YAAY,CAOnC,CAAC;eAEa,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC"}
@@ -5,15 +5,11 @@ import { type FormHandlerProps } from '../../hooks';
5
5
  import { type FormFieldProps } from './FormField';
6
6
  export type FormFieldSetProps<T extends AnyProperties> = {
7
7
  label?: string;
8
- exclude?: (props: SchemaProperty[]) => SchemaProperty[];
9
8
  sort?: string[];
10
- } & Pick<FormHandlerProps<T>, 'schema'> & Pick<FormFieldProps, 'path' | 'autoFocus' | 'readonly' | 'layout' | 'projection' | 'fieldMap' | 'fieldProvider' | 'createOptionLabel' | 'createOptionIcon' | 'createInitialValuePath' | 'db' | 'schemaHook' | 'getOptions' | 'onCreate'>;
11
- /**
12
- * Renders a set of form fields derived from a schema object.
13
- */
14
- export declare const FormFieldSet: React.ForwardRefExoticComponent<{
15
- label?: string;
16
9
  exclude?: (props: SchemaProperty[]) => SchemaProperty[];
17
- sort?: string[];
18
- } & Pick<FormHandlerProps<any>, "schema"> & Pick<FormFieldProps, "path" | "readonly" | "autoFocus" | "layout" | "createOptionLabel" | "createOptionIcon" | "createInitialValuePath" | "onCreate" | "db" | "schemaHook" | "getOptions" | "fieldProvider" | "projection" | "fieldMap"> & React.RefAttributes<HTMLDivElement>>;
10
+ } & Pick<FormHandlerProps<T>, 'schema'> & Pick<FormFieldProps, 'path' | 'autoFocus' | 'readonly' | 'layout' | 'projection' | 'fieldMap' | 'fieldProvider' | 'createTypename' | 'createOptionLabel' | 'createOptionIcon' | 'createInitialValuePath' | 'createFieldMap' | 'db' | 'useSchema' | 'getOptions' | 'onCreate'>;
11
+ export declare function FormFieldSet({ label, schema, readonly, path, sort, exclude, projection, layout, ...props }: FormFieldSetProps<any>): React.JSX.Element | null;
12
+ export declare namespace FormFieldSet {
13
+ var displayName: string;
14
+ }
19
15
  //# sourceMappingURL=FormFieldSet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormFieldSet.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/FormFieldSet.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIpD,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAK7D,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,aAAa,IAAI;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,CAAC;IACxD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GACrC,IAAI,CACF,cAAc,EACZ,MAAM,GACN,WAAW,GACX,UAAU,GACV,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,eAAe,GACf,mBAAmB,GACnB,kBAAkB,GAClB,wBAAwB,GACxB,IAAI,GACJ,YAAY,GACZ,YAAY,GACZ,UAAU,CACb,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,YAAY;YAzBf,MAAM;cACJ,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE;WAChD,MAAM,EAAE;2TAiGhB,CAAC"}
1
+ {"version":3,"file":"FormFieldSet.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/FormFieldSet.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAK7D,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,aAAa,IAAI;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,CAAC;CACzD,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GACrC,IAAI,CACF,cAAc,EACZ,MAAM,GACN,WAAW,GACX,UAAU,GACV,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,wBAAwB,GACxB,gBAAgB,GAChB,IAAI,GACJ,WAAW,GACX,YAAY,GACZ,UAAU,CACb,CAAC;qCAKyB,EAC3B,KAAK,EACL,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,UAAU,EACV,MAAM,EACN,GAAG,KAAK,EACT,EAAE,iBAAiB,CAAC,GAAG,CAAC"}
@@ -6,10 +6,10 @@ export type ArrayFieldProps = {
6
6
  label: string;
7
7
  fieldProps: FormFieldStateProps;
8
8
  } & FormFieldProps;
9
- export declare const ArrayField: {
10
- ({ type, path, label, readonly, layout, fieldProps: inputProps, ...props }: ArrayFieldProps): React.JSX.Element | null;
11
- displayName: string;
12
- };
9
+ export declare function ArrayField({ type, path, label, readonly, layout, fieldProps: inputProps, ...props }: ArrayFieldProps): React.JSX.Element | null;
10
+ export declare namespace ArrayField {
11
+ var displayName: string;
12
+ }
13
13
  /**
14
14
  * Returns the default empty value for a given AST.
15
15
  * Used for initializing new array values etc.
@@ -1 +1 @@
1
- {"version":3,"file":"ArrayField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/fields/ArrayField.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAgC,MAAM,OAAO,CAAC;AAQrD,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,mBAAmB,CAAC;CACjC,GAAG,cAAc,CAAC;AAEnB,eAAO,MAAM,UAAU;gFAQpB,eAAe;;CAuFjB,CAAC;AAIF;;;GAGG;AAEH,eAAO,MAAM,eAAe,GAAI,MAAM,SAAS,CAAC,GAAG,KAAG,GAsBrD,CAAC"}
1
+ {"version":3,"file":"ArrayField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/fields/ArrayField.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAsB,MAAM,OAAO,CAAC;AAS3C,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,mBAAmB,CAAC;CACjC,GAAG,cAAc,CAAC;mCAEQ,EACzB,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,UAAU,EAAE,UAAU,EACtB,GAAG,KAAK,EACT,EAAE,eAAe;;;;AAgGlB;;;GAGG;AAEH,eAAO,MAAM,eAAe,SAAU,SAAS,CAAC,GAAG,KAAG,GAsBrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BooleanField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/fields/BooleanField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAI3C,OAAO,EAAE,KAAK,uBAAuB,EAAoB,MAAM,uBAAuB,CAAC;AAEvF,eAAO,MAAM,YAAY,GAAI,6CAA6C,uBAAuB,CAAC,OAAO,CAAC,sBAWzG,CAAC"}
1
+ {"version":3,"file":"BooleanField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/fields/BooleanField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAI3C,OAAO,EAAE,KAAK,uBAAuB,EAAoB,MAAM,uBAAuB,CAAC;AAEvF,eAAO,MAAM,YAAY,gDAAiD,uBAAuB,CAAC,OAAO,CAAC,sBAWzG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"GeoPointField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/fields/GeoPointField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsE,MAAM,OAAO,CAAC;AAE3F,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKjE,OAAO,EAAE,KAAK,uBAAuB,EAAkB,MAAM,uBAAuB,CAAC;AAErF,eAAO,MAAM,aAAa,GAAI,gFAS3B,uBAAuB,CAAC,QAAQ,CAAC,6BA+EnC,CAAC"}
1
+ {"version":3,"file":"GeoPointField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/fields/GeoPointField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsE,MAAM,OAAO,CAAC;AAE3F,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAMjE,OAAO,EAAE,KAAK,uBAAuB,EAAkB,MAAM,uBAAuB,CAAC;AAErF,eAAO,MAAM,aAAa,mFASvB,uBAAuB,CAAC,QAAQ,CAAC,6BA+EnC,CAAC"}
@@ -1,4 +1,11 @@
1
1
  import React from 'react';
2
2
  import { type FormFieldComponentProps } from '../FormFieldComponent';
3
- export declare const MarkdownField: ({ type, readonly, label, placeholder, layout, getStatus, getValue, onValueChange, onBlur, }: FormFieldComponentProps) => React.JSX.Element | null;
3
+ /**
4
+ * Form field that edits a markdown value in a CodeMirror editor.
5
+ * Supports two backings:
6
+ * - `Schema.String` annotated with `Format.TypeFormat.Markdown`: edited as plain text via `getValue`/`onValueChange`.
7
+ * - `Ref<Text>` annotated with `Format.TypeFormat.Markdown`: edited in-place via an Automerge doc accessor.
8
+ * When the ref is empty and a database is available, a create button is shown to allocate a new Text.
9
+ */
10
+ export declare const MarkdownField: ({ type, readonly, label, placeholder, layout, db, getStatus, getValue, onValueChange, }: FormFieldComponentProps) => React.JSX.Element | null;
4
11
  //# sourceMappingURL=MarkdownField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/fields/MarkdownField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAI9D,OAAO,EAAE,KAAK,uBAAuB,EAAkB,MAAM,uBAAuB,CAAC;AAErF,eAAO,MAAM,aAAa,GAAI,6FAU3B,uBAAuB,6BAyDzB,CAAC"}
1
+ {"version":3,"file":"MarkdownField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/fields/MarkdownField.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAYpD,OAAO,EAAE,KAAK,uBAAuB,EAAkB,MAAM,uBAAuB,CAAC;AAKrF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,4FAUvB,uBAAuB,6BAgDzB,CAAC"}
@@ -0,0 +1,84 @@
1
+ import { type StoryObj } from '@storybook/react-vite';
2
+ declare const meta: {
3
+ title: string;
4
+ decorators: import("@storybook/react").Decorator[];
5
+ parameters: {
6
+ layout: string;
7
+ translations: [{
8
+ readonly 'en-US': {
9
+ readonly "@dxos/react-ui-form": {
10
+ readonly 'fields.label': 'Fields';
11
+ readonly 'hidden-fields.label': 'Hidden Fields';
12
+ readonly 'empty-readonly-ref-field.label': '(none)';
13
+ readonly 'field-property.label': 'Property';
14
+ readonly 'field-property.placeholder': 'Property name';
15
+ readonly 'field-format.label': 'Type';
16
+ readonly 'field-path.label': 'Field path';
17
+ readonly 'add-item.button': 'Add item';
18
+ readonly 'add-property-button.label': 'Add property';
19
+ readonly 'boolean-input-true.value': 'Yes';
20
+ readonly 'boolean-input-false.value': 'No';
21
+ readonly 'show-field.label': 'Show field';
22
+ readonly 'hide-field.label': 'Hide field';
23
+ readonly 'delete-field.label': 'Delete field';
24
+ readonly 'create-option.label': 'Create';
25
+ readonly 'add-tag.label': 'Add tag';
26
+ readonly 'ref-field-combobox-input.placeholder': 'Search\u2026';
27
+ readonly 'ref-field.placeholder': 'Select\u2026';
28
+ readonly 'ref-field.placeholder_one': 'Select\u2026';
29
+ readonly 'ref-field.placeholder_other': 'Select items\u2026';
30
+ readonly 'example.placeholder': 'Example';
31
+ readonly 'latitude.placeholder': 'Latitude (e.g., 40.7128)';
32
+ readonly 'longitude.placeholder': 'Longitude (e.g., -74.0060)';
33
+ readonly 'cancel-button.label': 'Cancel';
34
+ readonly 'save-button.label': 'Save';
35
+ readonly 'create-text.label': 'Create text';
36
+ readonly 'format.boolean.label': 'Boolean';
37
+ readonly 'format.currency.label': 'Currency';
38
+ readonly 'format.date.label': 'Date';
39
+ readonly 'format.date-time.label': 'DateTime';
40
+ readonly 'format.did.label': 'DID';
41
+ readonly 'format.duration.label': 'Duration';
42
+ readonly 'format.dxn.label': 'DXN';
43
+ readonly 'format.email.label': 'Email';
44
+ readonly 'format.formula.label': 'Formula';
45
+ readonly 'format.hostname.label': 'Hostname';
46
+ readonly 'format.integer.label': 'Integer';
47
+ readonly 'format.json.label': 'JSON';
48
+ readonly 'format.lnglat.label': 'Geopoint';
49
+ readonly 'format.markdown.label': 'Markdown';
50
+ readonly 'format.percent.label': 'Percent';
51
+ readonly 'format.ref.label': 'Reference';
52
+ readonly 'format.regex.label': 'RegExp';
53
+ readonly 'format.string.label': 'String';
54
+ readonly 'format.single-select.label': 'Select';
55
+ readonly 'format.multi-select.label': 'Multi-select';
56
+ readonly 'format.text.label': 'Long text';
57
+ readonly 'format.time.label': 'Time';
58
+ readonly 'format.timestamp.label': 'Timestamp';
59
+ readonly 'format.user.label': 'User';
60
+ readonly 'format.number.label': 'Number';
61
+ readonly 'format.uri.label': 'URI';
62
+ readonly 'format.url.label': 'URL';
63
+ readonly 'format.uuid.label': 'UUID';
64
+ readonly 'latitude.label': 'Latitude';
65
+ readonly 'longitude.label': 'Longitude';
66
+ readonly 'select-option.label': 'Label';
67
+ readonly 'select-option-label.placeholder': 'Option label';
68
+ readonly 'select-option-delete.button': 'Delete';
69
+ readonly 'select-option-add.button': 'Add option';
70
+ readonly 'system-schema.title': 'System type';
71
+ readonly 'system-schema.description': 'System type: cannot add or remove fields.';
72
+ readonly 'remove.button': 'Remove';
73
+ };
74
+ };
75
+ }];
76
+ };
77
+ };
78
+ export default meta;
79
+ type Story = StoryObj<typeof meta>;
80
+ export declare const StringBacked: Story;
81
+ export declare const StringBackedKeepsFocus: Story;
82
+ export declare const RefPopulated: Story;
83
+ export declare const RefEmpty: Story;
84
+ //# sourceMappingURL=MarkdownField.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkdownField.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/fields/MarkdownField.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AA4GjE,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOM,CAAC;eAEF,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,YAAY,EAAE,KAE1B,CAAC;AAMF,eAAO,MAAM,sBAAsB,EAAE,KA+CpC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAY1B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAStB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"NumberField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/fields/NumberField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAK3C,OAAO,EAAE,KAAK,uBAAuB,EAAoB,MAAM,uBAAuB,CAAC;AAEvF,eAAO,MAAM,WAAW,GAAI,kEAOzB,uBAAuB,CAAC,MAAM,CAAC,sBAoBjC,CAAC"}
1
+ {"version":3,"file":"NumberField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/fields/NumberField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAK3C,OAAO,EAAE,KAAK,uBAAuB,EAAoB,MAAM,uBAAuB,CAAC;AAEvF,eAAO,MAAM,WAAW,qEAOrB,uBAAuB,CAAC,MAAM,CAAC,sBAoBjC,CAAC"}