@dxos/react-ui-form 0.8.4-main.72ec0f3 → 0.8.4-main.7996785055

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 (186) hide show
  1. package/README.md +0 -1
  2. package/dist/lib/browser/index.mjs +2306 -2293
  3. package/dist/lib/browser/index.mjs.map +4 -4
  4. package/dist/lib/browser/meta.json +1 -1
  5. package/dist/lib/node-esm/index.mjs +2306 -2293
  6. package/dist/lib/node-esm/index.mjs.map +4 -4
  7. package/dist/lib/node-esm/meta.json +1 -1
  8. package/dist/types/src/components/FieldEditor/FieldEditor.d.ts +8 -7
  9. package/dist/types/src/components/FieldEditor/FieldEditor.d.ts.map +1 -1
  10. package/dist/types/src/components/FieldEditor/FieldEditor.stories.d.ts +14 -6
  11. package/dist/types/src/components/FieldEditor/FieldEditor.stories.d.ts.map +1 -1
  12. package/dist/types/src/components/Form/Form.d.ts +84 -27
  13. package/dist/types/src/components/Form/Form.d.ts.map +1 -1
  14. package/dist/types/src/components/Form/Form.stories.d.ts +60 -83
  15. package/dist/types/src/components/Form/Form.stories.d.ts.map +1 -1
  16. package/dist/types/src/components/Form/FormField.d.ts +43 -0
  17. package/dist/types/src/components/Form/FormField.d.ts.map +1 -0
  18. package/dist/types/src/components/Form/FormFieldComponent.d.ts +77 -0
  19. package/dist/types/src/components/Form/FormFieldComponent.d.ts.map +1 -0
  20. package/dist/types/src/components/Form/FormFieldComponent.stories.d.ts +9 -0
  21. package/dist/types/src/components/Form/FormFieldComponent.stories.d.ts.map +1 -0
  22. package/dist/types/src/components/Form/FormFieldSet.d.ts +18 -0
  23. package/dist/types/src/components/Form/FormFieldSet.d.ts.map +1 -0
  24. package/dist/types/src/components/Form/fields/ArrayField.d.ts +18 -0
  25. package/dist/types/src/components/Form/fields/ArrayField.d.ts.map +1 -0
  26. package/dist/types/src/components/Form/fields/BooleanField.d.ts +4 -0
  27. package/dist/types/src/components/Form/fields/BooleanField.d.ts.map +1 -0
  28. package/dist/types/src/components/Form/fields/GeoPointField.d.ts +5 -0
  29. package/dist/types/src/components/Form/fields/GeoPointField.d.ts.map +1 -0
  30. package/dist/types/src/components/Form/fields/MarkdownField.d.ts +4 -0
  31. package/dist/types/src/components/Form/fields/MarkdownField.d.ts.map +1 -0
  32. package/dist/types/src/components/Form/fields/NumberField.d.ts +4 -0
  33. package/dist/types/src/components/Form/fields/NumberField.d.ts.map +1 -0
  34. package/dist/types/src/components/Form/fields/RefField.d.ts +16 -0
  35. package/dist/types/src/components/Form/fields/RefField.d.ts.map +1 -0
  36. package/dist/types/src/components/Form/fields/SelectField.d.ts +10 -0
  37. package/dist/types/src/components/Form/fields/SelectField.d.ts.map +1 -0
  38. package/dist/types/src/components/Form/fields/SelectOptionField.d.ts +5 -0
  39. package/dist/types/src/components/Form/fields/SelectOptionField.d.ts.map +1 -0
  40. package/dist/types/src/components/{ControlSection/ControlSection.stories.d.ts → Form/fields/SelectOptionField.stories.d.ts} +13 -13
  41. package/dist/types/src/components/Form/fields/SelectOptionField.stories.d.ts.map +1 -0
  42. package/dist/types/src/components/Form/fields/TextAreaField.d.ts +4 -0
  43. package/dist/types/src/components/Form/fields/TextAreaField.d.ts.map +1 -0
  44. package/dist/types/src/components/Form/fields/TextField.d.ts +4 -0
  45. package/dist/types/src/components/Form/fields/TextField.d.ts.map +1 -0
  46. package/dist/types/src/components/Form/fields/TupleField.d.ts +6 -0
  47. package/dist/types/src/components/Form/fields/TupleField.d.ts.map +1 -0
  48. package/dist/types/src/components/Form/fields/index.d.ts +12 -0
  49. package/dist/types/src/components/Form/fields/index.d.ts.map +1 -0
  50. package/dist/types/src/components/Form/index.d.ts +2 -4
  51. package/dist/types/src/components/Form/index.d.ts.map +1 -1
  52. package/dist/types/src/components/ObjectPicker/ObjectPicker.d.ts +23 -10
  53. package/dist/types/src/components/ObjectPicker/ObjectPicker.d.ts.map +1 -1
  54. package/dist/types/src/components/ObjectPicker/ObjectPicker.stories.d.ts +10 -5
  55. package/dist/types/src/components/ObjectPicker/ObjectPicker.stories.d.ts.map +1 -1
  56. package/dist/types/src/components/Settings/Settings.d.ts +58 -0
  57. package/dist/types/src/components/Settings/Settings.d.ts.map +1 -0
  58. package/dist/types/src/components/{Form/custom/SelectOptionsInput.stories.d.ts → Settings/Settings.stories.d.ts} +11 -7
  59. package/dist/types/src/components/Settings/Settings.stories.d.ts.map +1 -0
  60. package/dist/types/src/components/Settings/index.d.ts +2 -0
  61. package/dist/types/src/components/Settings/index.d.ts.map +1 -0
  62. package/dist/types/src/components/ViewEditor/ViewEditor.d.ts +11 -13
  63. package/dist/types/src/components/ViewEditor/ViewEditor.d.ts.map +1 -1
  64. package/dist/types/src/components/ViewEditor/ViewEditor.stories.d.ts +15 -9
  65. package/dist/types/src/components/ViewEditor/ViewEditor.stories.d.ts.map +1 -1
  66. package/dist/types/src/components/index.d.ts +1 -1
  67. package/dist/types/src/components/index.d.ts.map +1 -1
  68. package/dist/types/src/components/testing.d.ts +0 -2
  69. package/dist/types/src/components/testing.d.ts.map +1 -1
  70. package/dist/types/src/hooks/index.d.ts +2 -3
  71. package/dist/types/src/hooks/index.d.ts.map +1 -1
  72. package/dist/types/src/hooks/useFormHandler.d.ts +82 -0
  73. package/dist/types/src/hooks/useFormHandler.d.ts.map +1 -0
  74. package/dist/types/src/hooks/useKeyHandler.d.ts +6 -0
  75. package/dist/types/src/hooks/useKeyHandler.d.ts.map +1 -0
  76. package/dist/types/src/translations.d.ts +11 -6
  77. package/dist/types/src/translations.d.ts.map +1 -1
  78. package/dist/types/src/util/field.d.ts +3 -3
  79. package/dist/types/src/util/field.d.ts.map +1 -1
  80. package/dist/types/src/util/formatting.d.ts +2 -2
  81. package/dist/types/src/util/formatting.d.ts.map +1 -1
  82. package/dist/types/src/util/index.d.ts +1 -1
  83. package/dist/types/src/util/index.d.ts.map +1 -1
  84. package/dist/types/src/util/properties.d.ts +7 -0
  85. package/dist/types/src/util/properties.d.ts.map +1 -0
  86. package/dist/types/src/util/refs.d.ts +2 -2
  87. package/dist/types/src/util/refs.d.ts.map +1 -1
  88. package/dist/types/tsconfig.tsbuildinfo +1 -1
  89. package/package.json +50 -47
  90. package/src/components/FieldEditor/FieldEditor.stories.tsx +43 -24
  91. package/src/components/FieldEditor/FieldEditor.tsx +74 -78
  92. package/src/components/Form/AUDIT.md +17 -0
  93. package/src/components/Form/Form.stories.tsx +149 -250
  94. package/src/components/Form/Form.tsx +314 -111
  95. package/src/components/Form/FormField.tsx +305 -0
  96. package/src/components/Form/FormFieldComponent.stories.tsx +65 -0
  97. package/src/components/Form/FormFieldComponent.tsx +171 -0
  98. package/src/components/Form/FormFieldSet.tsx +129 -0
  99. package/src/components/Form/README.md +3 -0
  100. package/src/components/Form/fields/ArrayField.tsx +149 -0
  101. package/src/components/Form/fields/BooleanField.tsx +22 -0
  102. package/src/components/Form/fields/GeoPointField.tsx +120 -0
  103. package/src/components/Form/fields/MarkdownField.tsx +78 -0
  104. package/src/components/Form/fields/NumberField.tsx +39 -0
  105. package/src/components/Form/fields/RefField.tsx +199 -0
  106. package/src/components/Form/fields/SelectField.tsx +65 -0
  107. package/src/components/Form/{custom/SelectOptionsInput.stories.tsx → fields/SelectOptionField.stories.tsx} +19 -16
  108. package/src/components/Form/{custom/SelectOptionsInput.tsx → fields/SelectOptionField.tsx} +25 -19
  109. package/src/components/Form/fields/TextAreaField.tsx +38 -0
  110. package/src/components/Form/fields/TextField.tsx +38 -0
  111. package/src/components/Form/{custom/TupleInput.tsx → fields/TupleField.tsx} +16 -9
  112. package/src/components/Form/fields/index.ts +15 -0
  113. package/src/components/Form/index.ts +3 -4
  114. package/src/components/ObjectPicker/ObjectPicker.stories.tsx +15 -12
  115. package/src/components/ObjectPicker/ObjectPicker.tsx +103 -78
  116. package/src/components/Settings/Settings.stories.tsx +56 -0
  117. package/src/components/Settings/Settings.tsx +235 -0
  118. package/src/components/{ControlSection → Settings}/index.ts +1 -1
  119. package/src/components/ViewEditor/ViewEditor.stories.tsx +47 -44
  120. package/src/components/ViewEditor/ViewEditor.test.tsx +5 -4
  121. package/src/components/ViewEditor/ViewEditor.tsx +297 -210
  122. package/src/components/index.ts +1 -1
  123. package/src/components/testing.tsx +17 -8
  124. package/src/hooks/index.ts +2 -3
  125. package/src/hooks/useFormHandler.ts +380 -0
  126. package/src/hooks/useKeyHandler.tsx +37 -0
  127. package/src/translations.ts +13 -9
  128. package/src/util/field.ts +25 -25
  129. package/src/util/formatting.ts +22 -22
  130. package/src/util/index.ts +1 -1
  131. package/src/util/properties.ts +18 -0
  132. package/src/util/refs.ts +13 -15
  133. package/dist/types/src/components/ControlSection/ControlSection.d.ts +0 -23
  134. package/dist/types/src/components/ControlSection/ControlSection.d.ts.map +0 -1
  135. package/dist/types/src/components/ControlSection/ControlSection.stories.d.ts.map +0 -1
  136. package/dist/types/src/components/ControlSection/index.d.ts +0 -2
  137. package/dist/types/src/components/ControlSection/index.d.ts.map +0 -1
  138. package/dist/types/src/components/Form/ArrayField.d.ts +0 -16
  139. package/dist/types/src/components/Form/ArrayField.d.ts.map +0 -1
  140. package/dist/types/src/components/Form/Defaults.d.ts +0 -14
  141. package/dist/types/src/components/Form/Defaults.d.ts.map +0 -1
  142. package/dist/types/src/components/Form/FormActions.d.ts +0 -9
  143. package/dist/types/src/components/Form/FormActions.d.ts.map +0 -1
  144. package/dist/types/src/components/Form/FormContent.d.ts +0 -63
  145. package/dist/types/src/components/Form/FormContent.d.ts.map +0 -1
  146. package/dist/types/src/components/Form/FormContext.d.ts +0 -23
  147. package/dist/types/src/components/Form/FormContext.d.ts.map +0 -1
  148. package/dist/types/src/components/Form/Input.d.ts +0 -29
  149. package/dist/types/src/components/Form/Input.d.ts.map +0 -1
  150. package/dist/types/src/components/Form/RefField.d.ts +0 -22
  151. package/dist/types/src/components/Form/RefField.d.ts.map +0 -1
  152. package/dist/types/src/components/Form/custom/GeoPointInput.d.ts +0 -4
  153. package/dist/types/src/components/Form/custom/GeoPointInput.d.ts.map +0 -1
  154. package/dist/types/src/components/Form/custom/SelectOptionsInput.d.ts +0 -4
  155. package/dist/types/src/components/Form/custom/SelectOptionsInput.d.ts.map +0 -1
  156. package/dist/types/src/components/Form/custom/SelectOptionsInput.stories.d.ts.map +0 -1
  157. package/dist/types/src/components/Form/custom/TupleInput.d.ts +0 -6
  158. package/dist/types/src/components/Form/custom/TupleInput.d.ts.map +0 -1
  159. package/dist/types/src/components/Form/custom/index.d.ts +0 -4
  160. package/dist/types/src/components/Form/custom/index.d.ts.map +0 -1
  161. package/dist/types/src/components/Form/factory.d.ts +0 -8
  162. package/dist/types/src/components/Form/factory.d.ts.map +0 -1
  163. package/dist/types/src/hooks/useForm.d.ts +0 -67
  164. package/dist/types/src/hooks/useForm.d.ts.map +0 -1
  165. package/dist/types/src/hooks/useQueryRefOptions.d.ts +0 -29
  166. package/dist/types/src/hooks/useQueryRefOptions.d.ts.map +0 -1
  167. package/dist/types/src/hooks/useRefQueryLookupHandler.d.ts +0 -8
  168. package/dist/types/src/hooks/useRefQueryLookupHandler.d.ts.map +0 -1
  169. package/dist/types/src/util/schema.d.ts +0 -3
  170. package/dist/types/src/util/schema.d.ts.map +0 -1
  171. package/src/components/ControlSection/ControlSection.stories.tsx +0 -38
  172. package/src/components/ControlSection/ControlSection.tsx +0 -153
  173. package/src/components/Form/ArrayField.tsx +0 -125
  174. package/src/components/Form/Defaults.tsx +0 -205
  175. package/src/components/Form/FormActions.tsx +0 -54
  176. package/src/components/Form/FormContent.tsx +0 -362
  177. package/src/components/Form/FormContext.tsx +0 -110
  178. package/src/components/Form/Input.tsx +0 -54
  179. package/src/components/Form/RefField.tsx +0 -283
  180. package/src/components/Form/custom/GeoPointInput.tsx +0 -80
  181. package/src/components/Form/custom/index.ts +0 -7
  182. package/src/components/Form/factory.tsx +0 -31
  183. package/src/hooks/useForm.ts +0 -296
  184. package/src/hooks/useQueryRefOptions.ts +0 -62
  185. package/src/hooks/useRefQueryLookupHandler.ts +0 -39
  186. package/src/util/schema.ts +0 -12
@@ -1,21 +1,33 @@
1
1
  import type * as Schema from 'effect/Schema';
2
2
  import React from 'react';
3
- import { type ThemedClassName } from '@dxos/react-ui';
4
- import { type QueryTag } from '../../hooks';
3
+ import { type Palette, type ThemedClassName } from '@dxos/react-ui';
4
+ import { type FormFieldMap } from '../Form/FormFieldComponent';
5
+ export type RefOption = {
6
+ id: string;
7
+ label: string;
8
+ hue?: Palette;
9
+ };
5
10
  export type ObjectPickerContentProps = ThemedClassName<{
6
- options: QueryTag[];
11
+ options: RefOption[];
7
12
  selectedIds?: string[];
8
- createSchema?: Schema.Schema.AnyNoContext;
9
13
  createOptionLabel?: [string, {
10
14
  ns: string;
11
15
  }];
12
16
  createOptionIcon?: string;
17
+ createSchema?: Schema.Schema.AnyNoContext;
13
18
  createInitialValuePath?: string;
14
- onSelect: (id: string) => void;
19
+ createFieldMap?: FormFieldMap;
15
20
  onCreate?: (values: any) => void;
21
+ onSelect: (id: string) => void;
16
22
  }>;
17
23
  export declare const ObjectPicker: {
18
- Root: ({ modal, modalId: propsModalId, open: propsOpen, defaultOpen, onOpenChange: propsOnOpenChange, value: propsValue, defaultValue, onValueChange: propsOnValueChange, placeholder, children, }: import("@dxos/react-ui-searchlist").ComboboxRootProps) => React.JSX.Element;
24
+ Root: ({ modal, modalId: propsModalId, open: propsOpen, defaultOpen, onOpenChange: propsOnOpenChange, value: propsValue, defaultValue, onValueChange: propsOnValueChange, placeholder, children, }: import("@dxos/react-ui-search").ComboboxRootProps) => React.JSX.Element;
25
+ Portal: {
26
+ (props: import("@dxos/react-ui").PopoverPortalProps & {
27
+ __scopePopover?: import("@radix-ui/react-context").Scope;
28
+ }): React.JSX.Element;
29
+ displayName: string;
30
+ };
19
31
  Trigger: React.ForwardRefExoticComponent<Omit<import("@dxos/react-ui").ButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
20
32
  VirtualTrigger: {
21
33
  (props: import("@dxos/react-ui").PopoverVirtualTriggerProps & {
@@ -24,18 +36,19 @@ export declare const ObjectPicker: {
24
36
  displayName: string;
25
37
  };
26
38
  Content: React.ForwardRefExoticComponent<Omit<{
27
- options: QueryTag[];
39
+ options: RefOption[];
28
40
  selectedIds?: string[];
29
- createSchema?: Schema.Schema.AnyNoContext;
30
41
  createOptionLabel?: [string, {
31
42
  ns: string;
32
43
  }];
33
44
  createOptionIcon?: string;
45
+ createSchema?: Schema.Schema.AnyNoContext;
34
46
  createInitialValuePath?: string;
35
- onSelect: (id: string) => void;
47
+ createFieldMap?: FormFieldMap;
36
48
  onCreate?: (values: any) => void;
49
+ onSelect: (id: string) => void;
37
50
  }, "className"> & {
38
- classNames?: import("@dxos/react-ui-types").ClassNameValue;
51
+ classNames?: import("@dxos/ui-types").ClassNameValue;
39
52
  } & React.RefAttributes<HTMLDivElement>>;
40
53
  };
41
54
  //# sourceMappingURL=ObjectPicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectPicker.d.ts","sourceRoot":"","sources":["../../../../../src/components/ObjectPicker/ObjectPicker.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAA0F,MAAM,OAAO,CAAC;AAE/G,OAAO,EAAiB,KAAK,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAGrF,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,MAAM,MAAM,wBAAwB,GAAG,eAAe,CAAC;IACrD,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IAC1C,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;CAClC,CAAC,CAAC;AAoIH,eAAO,MAAM,YAAY;;;;;0BA/F+E,CAAC;;;;;iBA7C9F,QAAQ,EAAE;sBACL,MAAM,EAAE;uBACP,MAAM,CAAC,MAAM,CAAC,YAAY;4BACrB,CAAC,MAAM,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;2BACzB,MAAM;iCACA,MAAM;kBACrB,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI;mBACnB,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI;;;;CA0IjC,CAAC"}
1
+ {"version":3,"file":"ObjectPicker.d.ts","sourceRoot":"","sources":["../../../../../src/components/ObjectPicker/ObjectPicker.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAgE,MAAM,OAAO,CAAC;AAErF,OAAO,EAAE,KAAK,OAAO,EAAW,KAAK,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAK7F,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,eAAe,CAAC;IACrD,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IAC1C,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC,CAAC,CAAC;AAqJH,eAAO,MAAM,YAAY;;;;0BAjHb,CAAC;;;;;;;0BAiBH,CAAV;;;;;iBA9DW,SAAS,EAAE;sBACN,MAAM,EAAE;4BACF,CAAC,MAAM,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;2BACzB,MAAM;uBACV,MAAM,CAAC,MAAM,CAAC,YAAY;iCAChB,MAAM;yBACd,YAAY;mBAClB,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI;kBACtB,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI;;;;CA4J/B,CAAC"}
@@ -11,11 +11,11 @@ declare const meta: {
11
11
  };
12
12
  translations: [{
13
13
  readonly 'en-US': {
14
- readonly "react-ui-form": {
14
+ readonly "@dxos/react-ui-form": {
15
15
  readonly 'fields label': "Fields";
16
16
  readonly 'hidden fields label': "Hidden Fields";
17
17
  readonly 'empty readonly ref field label': "(none)";
18
- readonly 'add property button': "Add property";
18
+ readonly 'add property button label': "Add property";
19
19
  readonly 'field property label': "Property";
20
20
  readonly 'field property placeholder': "Property name";
21
21
  readonly 'field format label': "Type";
@@ -31,7 +31,12 @@ declare const meta: {
31
31
  readonly 'ref field combobox input placeholder': "Search…";
32
32
  readonly 'ref field placeholder_one': "Select…";
33
33
  readonly 'ref field placeholder_other': "Select items…";
34
- readonly 'save button': "Save";
34
+ readonly 'create option label': "Create";
35
+ readonly 'example placeholder': "Example";
36
+ readonly 'latitude placeholder': "Latitude (e.g., 40.7128)";
37
+ readonly 'longitude placeholder': "Longitude (e.g., -74.0060)";
38
+ readonly 'cancel button label': "Cancel";
39
+ readonly 'save button label': "Save";
35
40
  readonly 'format boolean': "Boolean";
36
41
  readonly 'format currency': "Currency";
37
42
  readonly 'format date': "Date";
@@ -67,8 +72,8 @@ declare const meta: {
67
72
  readonly 'select option color': "Color";
68
73
  readonly 'select option delete': "Delete";
69
74
  readonly 'select option add': "Add option";
70
- readonly 'system schema title': "System record type";
71
- readonly 'system schema description': "This is a system record type and cannot be modified, though the view can still be configured.";
75
+ readonly 'system schema title': "System type";
76
+ readonly 'system schema description': "System type: cannot add or remove fields.";
72
77
  };
73
78
  };
74
79
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectPicker.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/ObjectPicker/ObjectPicker.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAoD,MAAM,OAAO,CAAC;AA2FzE,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgB2B,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,QAAQ,EAAE,KAqFtB,CAAC"}
1
+ {"version":3,"file":"ObjectPicker.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/ObjectPicker/ObjectPicker.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAoD,MAAM,OAAO,CAAC;AA4FzE,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgB2B,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,QAAQ,EAAE,KAuFtB,CAAC"}
@@ -0,0 +1,58 @@
1
+ import React, { type PropsWithChildren } from 'react';
2
+ import { type ButtonProps, type Label, type ThemedClassName } from '@dxos/react-ui';
3
+ type SettingsSectionProps = PropsWithChildren<{
4
+ title: Label;
5
+ description?: Label;
6
+ }>;
7
+ type SettingsGroupProps = ThemedClassName<PropsWithChildren>;
8
+ type SettingsItemProps = PropsWithChildren<{
9
+ title: Label;
10
+ description?: Label;
11
+ }>;
12
+ export declare const Settings: {
13
+ Root: React.ForwardRefExoticComponent<Omit<{}, "className"> & {
14
+ classNames?: import("@dxos/ui-types").ClassNameValue;
15
+ } & {
16
+ className?: string;
17
+ children?: React.ReactNode;
18
+ role?: string;
19
+ } & React.RefAttributes<HTMLDivElement>>;
20
+ Section: {
21
+ ({ title, description, children }: SettingsSectionProps): React.JSX.Element;
22
+ displayName: string;
23
+ };
24
+ SectionHeading: {
25
+ ({ title, description }: Omit<SettingsSectionProps, "children">): React.JSX.Element;
26
+ displayName: string;
27
+ };
28
+ Group: {
29
+ ({ children, classNames }: SettingsGroupProps): React.JSX.Element;
30
+ displayName: string;
31
+ };
32
+ GroupButton: {
33
+ ({ classNames, ...props }: ButtonProps): React.JSX.Element;
34
+ displayName: string;
35
+ };
36
+ Container: {
37
+ ({ classNames, children }: ThemedClassName<PropsWithChildren>): React.JSX.Element;
38
+ displayName: string;
39
+ };
40
+ Frame: {
41
+ ({ children }: SettingsGroupProps): React.JSX.Element;
42
+ displayName: string;
43
+ };
44
+ FrameItem: {
45
+ ({ title, description, children }: SettingsItemProps): React.JSX.Element;
46
+ displayName: string;
47
+ };
48
+ Item: {
49
+ ({ title, description, children }: SettingsItemProps): React.JSX.Element;
50
+ displayName: string;
51
+ };
52
+ ItemInput: {
53
+ ({ title, description, children }: SettingsItemProps): React.JSX.Element;
54
+ displayName: string;
55
+ };
56
+ };
57
+ export {};
58
+ //# sourceMappingURL=Settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Settings.d.ts","sourceRoot":"","sources":["../../../../../src/components/Settings/Settings.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,KAAK,EAEV,KAAK,eAAe,EAGrB,MAAM,gBAAgB,CAAC;AA+CxB,KAAK,oBAAoB,GAAG,iBAAiB,CAAC;IAC5C,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB,CAAC,CAAC;AA2CH,KAAK,kBAAkB,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;AAkE7D,KAAK,iBAAiB,GAAG,iBAAiB,CAAC;IACzC,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB,CAAC,CAAC;AA8CH,eAAO,MAAM,QAAQ;;;;;;;;;2CA5JsC,oBAAoB;;;;iCAevB,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC;;;;mCA4B7C,kBAAkB;;;;mCAZZ,WAAW;;;;mCAsDb,eAAe,CAAC,iBAAiB,CAAC;;;;uBA9BlD,kBAAkB;;;;2CAYM,iBAAiB;;;;2CA6CjB,iBAAiB;;;;2CAoBZ,iBAAiB;;;CAmClF,CAAC"}
@@ -2,18 +2,17 @@ import { type StoryObj } from '@storybook/react-vite';
2
2
  import React from 'react';
3
3
  declare const meta: {
4
4
  title: string;
5
- component: any;
6
5
  render: () => React.JSX.Element;
7
6
  decorators: import("@storybook/react").Decorator[];
8
7
  parameters: {
9
8
  layout: string;
10
9
  translations: [{
11
10
  readonly 'en-US': {
12
- readonly "react-ui-form": {
11
+ readonly "@dxos/react-ui-form": {
13
12
  readonly 'fields label': "Fields";
14
13
  readonly 'hidden fields label': "Hidden Fields";
15
14
  readonly 'empty readonly ref field label': "(none)";
16
- readonly 'add property button': "Add property";
15
+ readonly 'add property button label': "Add property";
17
16
  readonly 'field property label': "Property";
18
17
  readonly 'field property placeholder': "Property name";
19
18
  readonly 'field format label': "Type";
@@ -29,7 +28,12 @@ declare const meta: {
29
28
  readonly 'ref field combobox input placeholder': "Search…";
30
29
  readonly 'ref field placeholder_one': "Select…";
31
30
  readonly 'ref field placeholder_other': "Select items…";
32
- readonly 'save button': "Save";
31
+ readonly 'create option label': "Create";
32
+ readonly 'example placeholder': "Example";
33
+ readonly 'latitude placeholder': "Latitude (e.g., 40.7128)";
34
+ readonly 'longitude placeholder': "Longitude (e.g., -74.0060)";
35
+ readonly 'cancel button label': "Cancel";
36
+ readonly 'save button label': "Save";
33
37
  readonly 'format boolean': "Boolean";
34
38
  readonly 'format currency': "Currency";
35
39
  readonly 'format date': "Date";
@@ -65,8 +69,8 @@ declare const meta: {
65
69
  readonly 'select option color': "Color";
66
70
  readonly 'select option delete': "Delete";
67
71
  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.";
72
+ readonly 'system schema title': "System type";
73
+ readonly 'system schema description': "System type: cannot add or remove fields.";
70
74
  };
71
75
  };
72
76
  }];
@@ -75,4 +79,4 @@ declare const meta: {
75
79
  export default meta;
76
80
  type Story = StoryObj<typeof meta>;
77
81
  export declare const Default: Story;
78
- //# sourceMappingURL=SelectOptionsInput.stories.d.ts.map
82
+ //# sourceMappingURL=Settings.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Settings.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Settings/Settings.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAoC1B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQM,CAAC;AAEjB,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './Settings';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Settings/index.ts"],"names":[],"mappings":"AAIA,cAAc,YAAY,CAAC"}
@@ -1,34 +1,32 @@
1
1
  import * as Schema from 'effect/Schema';
2
2
  import React from 'react';
3
- import { QueryAST } from '@dxos/echo';
4
- import { type SchemaRegistry } from '@dxos/echo-db';
3
+ import { QueryAST, type SchemaRegistry } from '@dxos/echo';
4
+ import { View } from '@dxos/echo';
5
5
  import { type ThemedClassName } from '@dxos/react-ui';
6
6
  import { type QueryFormProps } from '@dxos/react-ui-components';
7
- import { ProjectionModel, type View } from '@dxos/schema';
8
- import { type FormProps } from '../Form';
7
+ import { ProjectionModel } from '@dxos/schema';
8
+ import { type FormRootProps } from '../Form';
9
9
  export type ViewEditorProps = ThemedClassName<{
10
10
  schema: Schema.Schema.AnyNoContext;
11
11
  view: View.View;
12
- mode?: 'schema' | 'query' | 'named-query';
13
- registry?: SchemaRegistry;
14
- readonly?: boolean;
12
+ mode?: 'schema' | 'tag';
13
+ registry?: SchemaRegistry.SchemaRegistry;
15
14
  showHeading?: boolean;
16
15
  onQueryChanged?: (query: QueryAST.Query, target?: string) => void;
17
16
  onDelete?: (fieldId: string) => void;
18
- } & Pick<FormProps<any>, 'outerSpacing'> & Pick<QueryFormProps, 'types' | 'tags'>>;
17
+ } & Pick<QueryFormProps, 'types' | 'tags'> & Pick<FormRootProps<any>, 'readonly' | 'db'>>;
19
18
  /**
20
19
  * Schema-based object form.
21
20
  */
22
21
  export declare const ViewEditor: React.ForwardRefExoticComponent<Omit<{
23
22
  schema: Schema.Schema.AnyNoContext;
24
23
  view: View.View;
25
- mode?: "schema" | "query" | "named-query";
26
- registry?: SchemaRegistry;
27
- readonly?: boolean;
24
+ mode?: "schema" | "tag";
25
+ registry?: SchemaRegistry.SchemaRegistry;
28
26
  showHeading?: boolean;
29
27
  onQueryChanged?: (query: QueryAST.Query, target?: string) => void;
30
28
  onDelete?: (fieldId: string) => void;
31
- } & Pick<FormProps<any>, "outerSpacing"> & Pick<QueryFormProps, "types" | "tags">, "className"> & {
32
- classNames?: import("@dxos/react-ui-types").ClassNameValue;
29
+ } & Pick<QueryFormProps, "types" | "tags"> & Pick<FormRootProps<any>, "readonly" | "db">, "className"> & {
30
+ classNames?: import("@dxos/ui-types").ClassNameValue;
33
31
  } & React.RefAttributes<ProjectionModel>>;
34
32
  //# sourceMappingURL=ViewEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/ViewEditor/ViewEditor.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAA0E,MAAM,OAAO,CAAC;AAE/F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,EAA8B,KAAK,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAI3E,OAAO,EAGL,eAAe,EAEf,KAAK,IAAI,EAEV,MAAM,cAAc,CAAC;AAItB,OAAO,EAAQ,KAAK,SAAS,EAAqD,MAAM,SAAS,CAAC;AAKlG,MAAM,MAAM,eAAe,GAAG,eAAe,CAC3C;IACE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IACnC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;IAC1C,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,GACtC,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,CAAC,CACzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU;YAfX,MAAM,CAAC,MAAM,CAAC,YAAY;UAC5B,IAAI,CAAC,IAAI;WACR,QAAQ,GAAG,OAAO,GAAG,aAAa;eAC9B,cAAc;eACd,OAAO;kBACJ,OAAO;qBACJ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI;eACtD,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;;;yCAgRvC,CAAC"}
1
+ {"version":3,"file":"ViewEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/ViewEditor/ViewEditor.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAsF,MAAM,OAAO,CAAC;AAE3G,OAAO,EAA4C,QAAQ,EAAO,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAC1G,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAIlC,OAAO,EAA8B,KAAK,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3E,OAAO,EAEL,eAAe,EAIhB,MAAM,cAAc,CAAC;AAKtB,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,eAAe,GAAG,eAAe,CAC3C;IACE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IACnC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IACxB,QAAQ,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,CAAC,GACxC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,CAC9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU;YAdX,MAAM,CAAC,MAAM,CAAC,YAAY;UAC5B,IAAI,CAAC,IAAI;WACR,QAAQ,GAAG,KAAK;eACZ,cAAc,CAAC,cAAc;kBAC1B,OAAO;qBACJ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI;eACtD,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;;;yCAyKvC,CAAC"}
@@ -1,27 +1,28 @@
1
1
  import { type StoryObj } from '@storybook/react-vite';
2
2
  import React from 'react';
3
+ import { type View } from '@dxos/echo';
3
4
  import { type EchoSchema } from '@dxos/echo/internal';
4
- import { type ProjectionModel, View } from '@dxos/schema';
5
+ import { type ProjectionModel } from '@dxos/schema';
5
6
  import { type ViewEditorProps } from './ViewEditor';
6
7
  export type ViewEditorDebugObjects = {
7
8
  schema: EchoSchema;
8
9
  view: View.View;
9
10
  projection: ProjectionModel;
10
11
  };
11
- type StoryProps = Pick<ViewEditorProps, 'readonly' | 'mode'>;
12
+ type DefaultStoryProps = Pick<ViewEditorProps, 'readonly' | 'mode'>;
12
13
  declare const meta: {
13
14
  title: string;
14
- render: (props: StoryProps) => React.JSX.Element;
15
+ render: (props: DefaultStoryProps) => React.JSX.Element;
15
16
  decorators: import("@storybook/react").Decorator[];
16
17
  parameters: {
17
18
  layout: string;
18
19
  translations: [{
19
20
  readonly 'en-US': {
20
- readonly "react-ui-form": {
21
+ readonly "@dxos/react-ui-form": {
21
22
  readonly 'fields label': "Fields";
22
23
  readonly 'hidden fields label': "Hidden Fields";
23
24
  readonly 'empty readonly ref field label': "(none)";
24
- readonly 'add property button': "Add property";
25
+ readonly 'add property button label': "Add property";
25
26
  readonly 'field property label': "Property";
26
27
  readonly 'field property placeholder': "Property name";
27
28
  readonly 'field format label': "Type";
@@ -37,7 +38,12 @@ declare const meta: {
37
38
  readonly 'ref field combobox input placeholder': "Search…";
38
39
  readonly 'ref field placeholder_one': "Select…";
39
40
  readonly 'ref field placeholder_other': "Select items…";
40
- readonly 'save button': "Save";
41
+ readonly 'create option label': "Create";
42
+ readonly 'example placeholder': "Example";
43
+ readonly 'latitude placeholder': "Latitude (e.g., 40.7128)";
44
+ readonly 'longitude placeholder': "Longitude (e.g., -74.0060)";
45
+ readonly 'cancel button label': "Cancel";
46
+ readonly 'save button label': "Save";
41
47
  readonly 'format boolean': "Boolean";
42
48
  readonly 'format currency': "Currency";
43
49
  readonly 'format date': "Date";
@@ -73,8 +79,8 @@ declare const meta: {
73
79
  readonly 'select option color': "Color";
74
80
  readonly 'select option delete': "Delete";
75
81
  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.";
82
+ readonly 'system schema title': "System type";
83
+ readonly 'system schema description': "System type: cannot add or remove fields.";
78
84
  };
79
85
  };
80
86
  }];
@@ -84,5 +90,5 @@ export default meta;
84
90
  type Story = StoryObj<typeof meta>;
85
91
  export declare const Default: Story;
86
92
  export declare const Readonly: Story;
87
- export declare const QueryMode: Story;
93
+ export declare const TagQueryMode: Story;
88
94
  //# sourceMappingURL=ViewEditor.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewEditor.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/ViewEditor/ViewEditor.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAA4D,MAAM,OAAO,CAAC;AAGjF,OAAO,EAAE,KAAK,UAAU,EAAU,MAAM,qBAAqB,CAAC;AAK9D,OAAO,EAAE,KAAK,eAAe,EAAE,IAAI,EAAwB,MAAM,cAAc,CAAC;AAMhF,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAWhE,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAChB,UAAU,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,KAAK,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC;AA8H7D,QAAA,MAAM,IAAI;;oBA5HmB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+IF,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,QAAQ,EAAE,KAItB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAIvB,CAAC"}
1
+ {"version":3,"file":"ViewEditor.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/ViewEditor/ViewEditor.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAA4D,MAAM,OAAO,CAAC;AAGjF,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,KAAK,UAAU,EAAwB,MAAM,qBAAqB,CAAC;AAK5E,OAAO,EAAE,KAAK,eAAe,EAAmC,MAAM,cAAc,CAAC;AAMrF,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAWhE,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAChB,UAAU,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,KAAK,iBAAiB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC;AA+HpE,QAAA,MAAM,IAAI;;oBA7HmB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiJT,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,QAAQ,EAAE,KAItB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAI1B,CAAC"}
@@ -1,6 +1,6 @@
1
- export * from './ControlSection';
2
1
  export * from './FieldEditor';
3
2
  export * from './Form';
4
3
  export * from './ObjectPicker';
4
+ export * from './Settings';
5
5
  export * from './ViewEditor';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
@@ -4,8 +4,6 @@ type TestLayoutProps = ThemedClassName<PropsWithChildren<{
4
4
  json?: any;
5
5
  }>>;
6
6
  export declare const TestLayout: ({ classNames, children, json }: TestLayoutProps) => React.JSX.Element;
7
- type TestPanelProps = ThemedClassName<PropsWithChildren>;
8
- export declare const TestPanel: ({ classNames, children }: TestPanelProps) => React.JSX.Element;
9
7
  export declare const VIEW_EDITOR_DEBUG_SYMBOL: unique symbol;
10
8
  export declare const FIELD_EDITOR_DEBUG_SYMBOL: unique symbol;
11
9
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../../src/components/testing.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAKtD,KAAK,eAAe,GAAG,eAAe,CAAC,iBAAiB,CAAC;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC,CAAC,CAAC;AAE1E,eAAO,MAAM,UAAU,GAAI,gCAAgC,eAAe,sBAOzE,CAAC;AAEF,KAAK,cAAc,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;AAEzD,eAAO,MAAM,SAAS,GAAI,0BAA0B,cAAc,sBAEjE,CAAC;AAGF,eAAO,MAAM,wBAAwB,eAA4B,CAAC;AAClE,eAAO,MAAM,yBAAyB,eAA6B,CAAC"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../../src/components/testing.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAU,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAI9D,KAAK,eAAe,GAAG,eAAe,CAAC,iBAAiB,CAAC;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC,CAAC,CAAC;AAE1E,eAAO,MAAM,UAAU,GAAI,gCAAgC,eAAe,sBAazE,CAAC;AAaF,eAAO,MAAM,wBAAwB,eAA4B,CAAC;AAClE,eAAO,MAAM,yBAAyB,eAA6B,CAAC"}
@@ -1,4 +1,3 @@
1
- export * from './useForm';
2
- export * from './useRefQueryLookupHandler';
3
- export * from './useQueryRefOptions';
1
+ export * from './useFormHandler';
2
+ export * from './useKeyHandler';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC;AAC1B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,82 @@
1
+ import type * as Schema from 'effect/Schema';
2
+ import type * as SchemaAST from 'effect/SchemaAST';
3
+ import { type AnyProperties } from '@dxos/echo/internal';
4
+ import { type JsonPath } from '@dxos/effect';
5
+ import { type ValidationError } from '@dxos/schema';
6
+ import { type MaybePromise } from '@dxos/util';
7
+ export type FormFieldStatus = {
8
+ status?: 'error';
9
+ error?: string;
10
+ };
11
+ /**
12
+ * Form properties.
13
+ */
14
+ export interface FormHandlerProps<T extends AnyProperties> {
15
+ /**
16
+ * Effect schema (Type literal).
17
+ */
18
+ schema?: Schema.Schema<T, any>;
19
+ /**
20
+ * Values for the form if controlled.
21
+ */
22
+ values?: Partial<T>;
23
+ /**
24
+ * Default values for the form which will be used if values is not provided.
25
+ */
26
+ defaultValues?: Partial<T>;
27
+ /**
28
+ * Auto-save the form when the values change.
29
+ */
30
+ autoSave?: boolean;
31
+ /**
32
+ * Callback for value changes. Note: This is called even when values are invalid.
33
+ * Sometimes the parent component may want to know about changes even if the form is
34
+ * in an invalid state.
35
+ */
36
+ onValuesChanged?: (values: Partial<T>, meta: FormUpdateMeta<T>) => void;
37
+ /**
38
+ * Custom validation function that runs only after schema validation passes.
39
+ * Use this for complex validation logic that can't be expressed in the schema.
40
+ * @returns Array of validation errors, or undefined if validation passes
41
+ */
42
+ onValidate?: (values: T) => ValidationError[] | undefined;
43
+ /**
44
+ * Called when the form is submitted and passes validation.
45
+ */
46
+ onSave?: (values: T, meta: FormUpdateMeta<T>) => MaybePromise<void>;
47
+ /**
48
+ * Called when the form is canceled.
49
+ */
50
+ onCancel?: () => void;
51
+ }
52
+ export type FormUpdateMeta<T extends AnyProperties> = {
53
+ changed: FormHandler<T>['changed'];
54
+ isValid: boolean;
55
+ };
56
+ /**
57
+ * Form handler properties and methods.
58
+ */
59
+ export type FormHandler<T extends AnyProperties> = Pick<FormHandlerProps<T>, 'schema' | 'autoSave'> & {
60
+ /** Initial values (which may not pass validation). */
61
+ values: Partial<T>;
62
+ /** Map of changed fields. */
63
+ changed: Record<JsonPath, boolean>;
64
+ touched: Record<JsonPath, boolean>;
65
+ /** Map of error strings. */
66
+ errors: Record<JsonPath, string>;
67
+ /** Whether the form can be saved (i.e., data is valid). */
68
+ isValid: boolean;
69
+ canSave: boolean;
70
+ onSave: () => void;
71
+ onCancel: () => void;
72
+ getStatus: (path: string | (string | number)[]) => FormFieldStatus;
73
+ getValue: <V>(path: (string | number)[]) => V | undefined;
74
+ onBlur: (path: (string | number)[]) => void;
75
+ onValueChange: <V>(path: (string | number)[], type: SchemaAST.AST, value: V) => void;
76
+ };
77
+ /**
78
+ * Creates a hook for managing form state, including values, validation, and submission.
79
+ * Deeply integrated with `@dxos/schema` for schema-based validation.
80
+ */
81
+ export declare const useFormHandler: <T extends AnyProperties>({ schema, autoSave, values: valuesProp, defaultValues: defaultValuesProp, onValuesChanged, onValidate, onSave, onCancel, ...props }: FormHandlerProps<T>) => FormHandler<T>;
82
+ //# sourceMappingURL=useFormHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormHandler.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useFormHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type FormHandler } from './useFormHandler';
2
+ /**
3
+ * Key handler.
4
+ */
5
+ export declare const useKeyHandler: (formElement: HTMLDivElement | null, form: FormHandler<any>) => void;
6
+ //# sourceMappingURL=useKeyHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyHandler.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useKeyHandler.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,aAAa,cAAc,GAAG,IAAI,EAAE,MAAM,WAAW,CAAC,GAAG,CAAC,SAuBvF,CAAC"}
@@ -1,11 +1,11 @@
1
- export declare const translationKey = "react-ui-form";
1
+ export declare const translationKey = "@dxos/react-ui-form";
2
2
  export declare const translations: [{
3
3
  readonly 'en-US': {
4
- readonly "react-ui-form": {
4
+ readonly "@dxos/react-ui-form": {
5
5
  readonly 'fields label': "Fields";
6
6
  readonly 'hidden fields label': "Hidden Fields";
7
7
  readonly 'empty readonly ref field label': "(none)";
8
- readonly 'add property button': "Add property";
8
+ readonly 'add property button label': "Add property";
9
9
  readonly 'field property label': "Property";
10
10
  readonly 'field property placeholder': "Property name";
11
11
  readonly 'field format label': "Type";
@@ -21,7 +21,12 @@ export declare const translations: [{
21
21
  readonly 'ref field combobox input placeholder': "Search…";
22
22
  readonly 'ref field placeholder_one': "Select…";
23
23
  readonly 'ref field placeholder_other': "Select items…";
24
- readonly 'save button': "Save";
24
+ readonly 'create option label': "Create";
25
+ readonly 'example placeholder': "Example";
26
+ readonly 'latitude placeholder': "Latitude (e.g., 40.7128)";
27
+ readonly 'longitude placeholder': "Longitude (e.g., -74.0060)";
28
+ readonly 'cancel button label': "Cancel";
29
+ readonly 'save button label': "Save";
25
30
  readonly 'format boolean': "Boolean";
26
31
  readonly 'format currency': "Currency";
27
32
  readonly 'format date': "Date";
@@ -57,8 +62,8 @@ export declare const translations: [{
57
62
  readonly 'select option color': "Color";
58
63
  readonly 'select option delete': "Delete";
59
64
  readonly 'select option add': "Add option";
60
- readonly 'system schema title': "System record type";
61
- readonly 'system schema description': "This is a system record type and cannot be modified, though the view can still be configured.";
65
+ readonly 'system schema title': "System type";
66
+ readonly 'system schema description': "System type: cannot add or remove fields.";
62
67
  };
63
68
  };
64
69
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAE9C,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6EM,CAAC"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,wBAAwB,CAAC;AAEpD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiFM,CAAC"}
@@ -1,4 +1,4 @@
1
- import { FormatEnum, TypeEnum } from '@dxos/echo/internal';
1
+ import { Format, TypeEnum } from '@dxos/echo/internal';
2
2
  import { type ValidationError } from '@dxos/schema';
3
3
  /**
4
4
  * Parse value by field value type.
@@ -8,13 +8,13 @@ import { type ValidationError } from '@dxos/schema';
8
8
  */
9
9
  export type ParseProps = {
10
10
  type?: TypeEnum;
11
- format?: FormatEnum;
11
+ format?: Format.TypeFormat;
12
12
  value: any;
13
13
  };
14
14
  export declare const parseValue: ({ type, format, value }: ParseProps) => any;
15
15
  export type CellClassesForFieldTypeProps = {
16
16
  type?: TypeEnum;
17
- format?: FormatEnum;
17
+ format?: Format.TypeFormat;
18
18
  };
19
19
  export declare const cellClassesForFieldType: ({ type, format }: CellClassesForFieldTypeProps) => string[] | undefined;
20
20
  export declare const pathNotUniqueError: (path: string) => ValidationError;
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/util/field.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAe,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,yBAAyB,UAAU,QAsF7D,CAAC;AAGF,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,kBAAkB,4BAA4B,KAAG,MAAM,EAAE,GAAG,SAyBnG,CAAC;AAGF,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,eAGhD,CAAC"}
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/util/field.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAe,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC3B,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,yBAAyB,UAAU,QAsF7D,CAAC;AAGF,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,kBAAkB,4BAA4B,KAAG,MAAM,EAAE,GAAG,SAyBnG,CAAC;AAGF,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,eAGhD,CAAC"}
@@ -1,7 +1,7 @@
1
- import { FormatEnum, TypeEnum } from '@dxos/echo/internal';
1
+ import { Format, TypeEnum } from '@dxos/echo/internal';
2
2
  type ValueFormatProps = {
3
3
  type: TypeEnum;
4
- format?: FormatEnum | undefined;
4
+ format?: Format.TypeFormat | undefined;
5
5
  value: any;
6
6
  locale?: string | undefined;
7
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../../../src/util/formatting.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAe,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAExE,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AAGH,eAAO,MAAM,gBAAgB,GAAI,iCAA6C,gBAAgB,KAAG,MAqFhG,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,iCAA6C,gBAAgB,KAAG,MA8DhG,CAAC"}
1
+ {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../../../src/util/formatting.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAe,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpE,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;IACvC,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AAGH,eAAO,MAAM,gBAAgB,GAAI,iCAA6C,gBAAgB,KAAG,MAqFhG,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,iCAA6C,gBAAgB,KAAG,MA8DhG,CAAC"}