@dxos/react-ui-form 0.8.4-main.ead640a → 0.8.4-main.effb148878

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 (268) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +0 -1
  3. package/dist/lib/browser/index.mjs +3252 -2315
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/translations.mjs +83 -0
  7. package/dist/lib/browser/translations.mjs.map +7 -0
  8. package/dist/lib/node-esm/index.mjs +3252 -2315
  9. package/dist/lib/node-esm/index.mjs.map +4 -4
  10. package/dist/lib/node-esm/meta.json +1 -1
  11. package/dist/lib/node-esm/translations.mjs +85 -0
  12. package/dist/lib/node-esm/translations.mjs.map +7 -0
  13. package/dist/types/src/components/FieldEditor/FieldEditor.d.ts +8 -7
  14. package/dist/types/src/components/FieldEditor/FieldEditor.d.ts.map +1 -1
  15. package/dist/types/src/components/FieldEditor/FieldEditor.stories.d.ts +69 -60
  16. package/dist/types/src/components/FieldEditor/FieldEditor.stories.d.ts.map +1 -1
  17. package/dist/types/src/components/Form/Form.d.ts +123 -26
  18. package/dist/types/src/components/Form/Form.d.ts.map +1 -1
  19. package/dist/types/src/components/Form/Form.stories.d.ts +175 -138
  20. package/dist/types/src/components/Form/Form.stories.d.ts.map +1 -1
  21. package/dist/types/src/components/Form/FormField.d.ts +48 -0
  22. package/dist/types/src/components/Form/FormField.d.ts.map +1 -0
  23. package/dist/types/src/components/Form/FormFieldComponent.d.ts +95 -0
  24. package/dist/types/src/components/Form/FormFieldComponent.d.ts.map +1 -0
  25. package/dist/types/src/components/Form/FormFieldComponent.stories.d.ts +9 -0
  26. package/dist/types/src/components/Form/FormFieldComponent.stories.d.ts.map +1 -0
  27. package/dist/types/src/components/Form/FormFieldSet.d.ts +21 -0
  28. package/dist/types/src/components/Form/FormFieldSet.d.ts.map +1 -0
  29. package/dist/types/src/components/Form/FormTooltipsContext.d.ts +19 -0
  30. package/dist/types/src/components/Form/FormTooltipsContext.d.ts.map +1 -0
  31. package/dist/types/src/components/Form/Layout/FormLayout.d.ts +25 -0
  32. package/dist/types/src/components/Form/Layout/FormLayout.d.ts.map +1 -0
  33. package/dist/types/src/components/Form/Layout/FormLayout.stories.d.ts +116 -0
  34. package/dist/types/src/components/Form/Layout/FormLayout.stories.d.ts.map +1 -0
  35. package/dist/types/src/components/Form/Layout/annotation.d.ts +30 -0
  36. package/dist/types/src/components/Form/Layout/annotation.d.ts.map +1 -0
  37. package/dist/types/src/components/Form/Layout/index.d.ts +4 -0
  38. package/dist/types/src/components/Form/Layout/index.d.ts.map +1 -0
  39. package/dist/types/src/components/Form/Layout/parser.d.ts +31 -0
  40. package/dist/types/src/components/Form/Layout/parser.d.ts.map +1 -0
  41. package/dist/types/src/components/Form/Layout/parser.test.d.ts +2 -0
  42. package/dist/types/src/components/Form/Layout/parser.test.d.ts.map +1 -0
  43. package/dist/types/src/components/Form/fields/ArrayField.d.ts +18 -0
  44. package/dist/types/src/components/Form/fields/ArrayField.d.ts.map +1 -0
  45. package/dist/types/src/components/Form/fields/BooleanField.d.ts +4 -0
  46. package/dist/types/src/components/Form/fields/BooleanField.d.ts.map +1 -0
  47. package/dist/types/src/components/Form/fields/DateField.d.ts +4 -0
  48. package/dist/types/src/components/Form/fields/DateField.d.ts.map +1 -0
  49. package/dist/types/src/components/Form/fields/GeoPointField.d.ts +5 -0
  50. package/dist/types/src/components/Form/fields/GeoPointField.d.ts.map +1 -0
  51. package/dist/types/src/components/Form/fields/MarkdownField.d.ts +11 -0
  52. package/dist/types/src/components/Form/fields/MarkdownField.d.ts.map +1 -0
  53. package/dist/types/src/components/Form/fields/MarkdownField.stories.d.ts +85 -0
  54. package/dist/types/src/components/Form/fields/MarkdownField.stories.d.ts.map +1 -0
  55. package/dist/types/src/components/Form/fields/NumberField.d.ts +4 -0
  56. package/dist/types/src/components/Form/fields/NumberField.d.ts.map +1 -0
  57. package/dist/types/src/components/Form/fields/RefField.d.ts +22 -0
  58. package/dist/types/src/components/Form/fields/RefField.d.ts.map +1 -0
  59. package/dist/types/src/components/Form/fields/SelectField.d.ts +13 -0
  60. package/dist/types/src/components/Form/fields/SelectField.d.ts.map +1 -0
  61. package/dist/types/src/components/Form/fields/SelectOptionField.d.ts +5 -0
  62. package/dist/types/src/components/Form/fields/SelectOptionField.d.ts.map +1 -0
  63. package/dist/types/src/components/Form/fields/SelectOptionField.stories.d.ts +85 -0
  64. package/dist/types/src/components/Form/fields/SelectOptionField.stories.d.ts.map +1 -0
  65. package/dist/types/src/components/Form/fields/TextAreaField.d.ts +4 -0
  66. package/dist/types/src/components/Form/fields/TextAreaField.d.ts.map +1 -0
  67. package/dist/types/src/components/Form/fields/TextField.d.ts +4 -0
  68. package/dist/types/src/components/Form/fields/TextField.d.ts.map +1 -0
  69. package/dist/types/src/components/Form/fields/TupleField.d.ts +6 -0
  70. package/dist/types/src/components/Form/fields/TupleField.d.ts.map +1 -0
  71. package/dist/types/src/components/Form/fields/index.d.ts +13 -0
  72. package/dist/types/src/components/Form/fields/index.d.ts.map +1 -0
  73. package/dist/types/src/components/Form/index.d.ts +4 -4
  74. package/dist/types/src/components/Form/index.d.ts.map +1 -1
  75. package/dist/types/src/components/ObjectForm/ObjectForm.d.ts +8 -0
  76. package/dist/types/src/components/ObjectForm/ObjectForm.d.ts.map +1 -0
  77. package/dist/types/src/components/ObjectForm/index.d.ts +2 -0
  78. package/dist/types/src/components/ObjectForm/index.d.ts.map +1 -0
  79. package/dist/types/src/components/ObjectPicker/ObjectPicker.d.ts +37 -10
  80. package/dist/types/src/components/ObjectPicker/ObjectPicker.d.ts.map +1 -1
  81. package/dist/types/src/components/ObjectPicker/ObjectPicker.stories.d.ts +65 -59
  82. package/dist/types/src/components/ObjectPicker/ObjectPicker.stories.d.ts.map +1 -1
  83. package/dist/types/src/components/ObjectProperties/ObjectProperties.d.ts +9 -0
  84. package/dist/types/src/components/ObjectProperties/ObjectProperties.d.ts.map +1 -0
  85. package/dist/types/src/components/ObjectProperties/ObjectProperties.stories.d.ts +128 -0
  86. package/dist/types/src/components/ObjectProperties/ObjectProperties.stories.d.ts.map +1 -0
  87. package/dist/types/src/components/ObjectProperties/ObjectProperties.test.d.ts +2 -0
  88. package/dist/types/src/components/ObjectProperties/ObjectProperties.test.d.ts.map +1 -0
  89. package/dist/types/src/components/ObjectProperties/index.d.ts +2 -0
  90. package/dist/types/src/components/ObjectProperties/index.d.ts.map +1 -0
  91. package/dist/types/src/components/ObjectTree/ObjectTree.d.ts +9 -0
  92. package/dist/types/src/components/ObjectTree/ObjectTree.d.ts.map +1 -0
  93. package/dist/types/src/components/ObjectTree/ObjectTree.stories.d.ts +87 -0
  94. package/dist/types/src/components/ObjectTree/ObjectTree.stories.d.ts.map +1 -0
  95. package/dist/types/src/components/ObjectTree/index.d.ts +2 -0
  96. package/dist/types/src/components/ObjectTree/index.d.ts.map +1 -0
  97. package/dist/types/src/components/Settings/Settings.d.ts +51 -0
  98. package/dist/types/src/components/Settings/Settings.d.ts.map +1 -0
  99. package/dist/types/src/components/Settings/Settings.stories.d.ts +85 -0
  100. package/dist/types/src/components/Settings/Settings.stories.d.ts.map +1 -0
  101. package/dist/types/src/components/Settings/SettingsFieldSet.d.ts +43 -0
  102. package/dist/types/src/components/Settings/SettingsFieldSet.d.ts.map +1 -0
  103. package/dist/types/src/components/Settings/SettingsItem.d.ts +16 -0
  104. package/dist/types/src/components/Settings/SettingsItem.d.ts.map +1 -0
  105. package/dist/types/src/components/Settings/SettingsSelectField.d.ts +18 -0
  106. package/dist/types/src/components/Settings/SettingsSelectField.d.ts.map +1 -0
  107. package/dist/types/src/components/Settings/index.d.ts +4 -0
  108. package/dist/types/src/components/Settings/index.d.ts.map +1 -0
  109. package/dist/types/src/components/ViewEditor/ViewEditor.d.ts +16 -20
  110. package/dist/types/src/components/ViewEditor/ViewEditor.d.ts.map +1 -1
  111. package/dist/types/src/components/ViewEditor/ViewEditor.stories.d.ts +72 -66
  112. package/dist/types/src/components/ViewEditor/ViewEditor.stories.d.ts.map +1 -1
  113. package/dist/types/src/components/index.d.ts +4 -1
  114. package/dist/types/src/components/index.d.ts.map +1 -1
  115. package/dist/types/src/components/testing.d.ts +13 -6
  116. package/dist/types/src/components/testing.d.ts.map +1 -1
  117. package/dist/types/src/hooks/index.d.ts +2 -3
  118. package/dist/types/src/hooks/index.d.ts.map +1 -1
  119. package/dist/types/src/hooks/useFormHandler.d.ts +82 -0
  120. package/dist/types/src/hooks/useFormHandler.d.ts.map +1 -0
  121. package/dist/types/src/hooks/useKeyHandler.d.ts +7 -0
  122. package/dist/types/src/hooks/useKeyHandler.d.ts.map +1 -0
  123. package/dist/types/src/index.d.ts +0 -2
  124. package/dist/types/src/index.d.ts.map +1 -1
  125. package/dist/types/src/translations.d.ts +66 -60
  126. package/dist/types/src/translations.d.ts.map +1 -1
  127. package/dist/types/src/util/field-type.d.ts +19 -0
  128. package/dist/types/src/util/field-type.d.ts.map +1 -0
  129. package/dist/types/src/util/field.d.ts +3 -3
  130. package/dist/types/src/util/field.d.ts.map +1 -1
  131. package/dist/types/src/util/formatting.d.ts +2 -2
  132. package/dist/types/src/util/formatting.d.ts.map +1 -1
  133. package/dist/types/src/util/index.d.ts +2 -1
  134. package/dist/types/src/util/index.d.ts.map +1 -1
  135. package/dist/types/src/util/properties.d.ts +17 -0
  136. package/dist/types/src/util/properties.d.ts.map +1 -0
  137. package/dist/types/src/util/properties.test.d.ts +2 -0
  138. package/dist/types/src/util/properties.test.d.ts.map +1 -0
  139. package/dist/types/src/util/refs.d.ts +2 -2
  140. package/dist/types/src/util/refs.d.ts.map +1 -1
  141. package/dist/types/tsconfig.tsbuildinfo +1 -1
  142. package/package.json +61 -51
  143. package/src/components/FieldEditor/FieldEditor.stories.tsx +44 -25
  144. package/src/components/FieldEditor/FieldEditor.test.tsx +0 -1
  145. package/src/components/FieldEditor/FieldEditor.tsx +84 -84
  146. package/src/components/Form/AUDIT.md +17 -0
  147. package/src/components/Form/Form.stories.tsx +134 -252
  148. package/src/components/Form/Form.tsx +417 -107
  149. package/src/components/Form/FormField.tsx +332 -0
  150. package/src/components/Form/FormFieldComponent.stories.tsx +65 -0
  151. package/src/components/Form/FormFieldComponent.tsx +206 -0
  152. package/src/components/Form/FormFieldSet.tsx +173 -0
  153. package/src/components/Form/FormTooltipsContext.ts +25 -0
  154. package/src/components/Form/Layout/FormLayout.stories.tsx +339 -0
  155. package/src/components/Form/Layout/FormLayout.tsx +123 -0
  156. package/src/components/Form/Layout/annotation.ts +38 -0
  157. package/src/components/Form/Layout/index.ts +7 -0
  158. package/src/components/Form/Layout/parser.test.ts +120 -0
  159. package/src/components/Form/Layout/parser.ts +167 -0
  160. package/src/components/Form/README.md +3 -0
  161. package/src/components/Form/fields/ArrayField.tsx +185 -0
  162. package/src/components/Form/fields/BooleanField.tsx +22 -0
  163. package/src/components/Form/fields/DateField.tsx +95 -0
  164. package/src/components/Form/fields/GeoPointField.tsx +124 -0
  165. package/src/components/Form/fields/MarkdownField.stories.tsx +206 -0
  166. package/src/components/Form/fields/MarkdownField.tsx +168 -0
  167. package/src/components/Form/fields/NumberField.tsx +39 -0
  168. package/src/components/Form/fields/RefField.tsx +232 -0
  169. package/src/components/Form/fields/SelectField.tsx +77 -0
  170. package/src/components/Form/{custom/SelectOptionsInput.stories.tsx → fields/SelectOptionField.stories.tsx} +23 -18
  171. package/src/components/Form/{custom/SelectOptionsInput.tsx → fields/SelectOptionField.tsx} +31 -24
  172. package/src/components/Form/fields/TextAreaField.tsx +38 -0
  173. package/src/components/Form/fields/TextField.tsx +38 -0
  174. package/src/components/Form/{custom/TupleInput.tsx → fields/TupleField.tsx} +17 -9
  175. package/src/components/Form/fields/index.ts +16 -0
  176. package/src/components/Form/index.ts +5 -4
  177. package/src/components/ObjectForm/ObjectForm.tsx +115 -0
  178. package/src/components/{ControlSection → ObjectForm}/index.ts +1 -1
  179. package/src/components/ObjectPicker/ObjectPicker.stories.tsx +30 -25
  180. package/src/components/ObjectPicker/ObjectPicker.tsx +122 -81
  181. package/src/components/ObjectProperties/ObjectProperties.stories.tsx +350 -0
  182. package/src/components/ObjectProperties/ObjectProperties.test.tsx +108 -0
  183. package/src/components/ObjectProperties/ObjectProperties.tsx +147 -0
  184. package/src/components/ObjectProperties/index.ts +5 -0
  185. package/src/components/ObjectTree/ObjectTree.stories.tsx +134 -0
  186. package/src/components/ObjectTree/ObjectTree.tsx +190 -0
  187. package/src/components/ObjectTree/index.ts +5 -0
  188. package/src/components/Settings/AUDIT.md +51 -0
  189. package/src/components/Settings/Settings.stories.tsx +104 -0
  190. package/src/components/Settings/Settings.tsx +81 -0
  191. package/src/components/Settings/SettingsFieldSet.tsx +257 -0
  192. package/src/components/Settings/SettingsItem.tsx +58 -0
  193. package/src/components/Settings/SettingsSelectField.tsx +59 -0
  194. package/src/components/Settings/index.ts +7 -0
  195. package/src/components/ViewEditor/ViewEditor.stories.tsx +65 -73
  196. package/src/components/ViewEditor/ViewEditor.test.tsx +11 -11
  197. package/src/components/ViewEditor/ViewEditor.tsx +308 -214
  198. package/src/components/index.ts +4 -1
  199. package/src/components/testing.tsx +24 -11
  200. package/src/hooks/index.ts +2 -3
  201. package/src/hooks/useFormHandler.ts +380 -0
  202. package/src/hooks/useKeyHandler.tsx +37 -0
  203. package/src/index.ts +0 -4
  204. package/src/translations.ts +71 -65
  205. package/src/util/field-type.ts +60 -0
  206. package/src/util/field.ts +25 -25
  207. package/src/util/formatting.ts +22 -22
  208. package/src/util/index.ts +2 -1
  209. package/src/util/properties.test.ts +78 -0
  210. package/src/util/properties.ts +38 -0
  211. package/src/util/refs.ts +16 -18
  212. package/src/vite-env.d.ts +10 -0
  213. package/dist/types/src/components/ControlSection/ControlSection.d.ts +0 -23
  214. package/dist/types/src/components/ControlSection/ControlSection.d.ts.map +0 -1
  215. package/dist/types/src/components/ControlSection/ControlSection.stories.d.ts +0 -84
  216. package/dist/types/src/components/ControlSection/ControlSection.stories.d.ts.map +0 -1
  217. package/dist/types/src/components/ControlSection/index.d.ts +0 -2
  218. package/dist/types/src/components/ControlSection/index.d.ts.map +0 -1
  219. package/dist/types/src/components/Form/ArrayField.d.ts +0 -16
  220. package/dist/types/src/components/Form/ArrayField.d.ts.map +0 -1
  221. package/dist/types/src/components/Form/Defaults.d.ts +0 -14
  222. package/dist/types/src/components/Form/Defaults.d.ts.map +0 -1
  223. package/dist/types/src/components/Form/FormActions.d.ts +0 -9
  224. package/dist/types/src/components/Form/FormActions.d.ts.map +0 -1
  225. package/dist/types/src/components/Form/FormContent.d.ts +0 -63
  226. package/dist/types/src/components/Form/FormContent.d.ts.map +0 -1
  227. package/dist/types/src/components/Form/FormContext.d.ts +0 -23
  228. package/dist/types/src/components/Form/FormContext.d.ts.map +0 -1
  229. package/dist/types/src/components/Form/Input.d.ts +0 -29
  230. package/dist/types/src/components/Form/Input.d.ts.map +0 -1
  231. package/dist/types/src/components/Form/RefField.d.ts +0 -22
  232. package/dist/types/src/components/Form/RefField.d.ts.map +0 -1
  233. package/dist/types/src/components/Form/custom/GeoPointInput.d.ts +0 -4
  234. package/dist/types/src/components/Form/custom/GeoPointInput.d.ts.map +0 -1
  235. package/dist/types/src/components/Form/custom/SelectOptionsInput.d.ts +0 -4
  236. package/dist/types/src/components/Form/custom/SelectOptionsInput.d.ts.map +0 -1
  237. package/dist/types/src/components/Form/custom/SelectOptionsInput.stories.d.ts +0 -79
  238. package/dist/types/src/components/Form/custom/SelectOptionsInput.stories.d.ts.map +0 -1
  239. package/dist/types/src/components/Form/custom/TupleInput.d.ts +0 -6
  240. package/dist/types/src/components/Form/custom/TupleInput.d.ts.map +0 -1
  241. package/dist/types/src/components/Form/custom/index.d.ts +0 -4
  242. package/dist/types/src/components/Form/custom/index.d.ts.map +0 -1
  243. package/dist/types/src/components/Form/factory.d.ts +0 -8
  244. package/dist/types/src/components/Form/factory.d.ts.map +0 -1
  245. package/dist/types/src/hooks/useForm.d.ts +0 -67
  246. package/dist/types/src/hooks/useForm.d.ts.map +0 -1
  247. package/dist/types/src/hooks/useQueryRefOptions.d.ts +0 -29
  248. package/dist/types/src/hooks/useQueryRefOptions.d.ts.map +0 -1
  249. package/dist/types/src/hooks/useRefQueryLookupHandler.d.ts +0 -8
  250. package/dist/types/src/hooks/useRefQueryLookupHandler.d.ts.map +0 -1
  251. package/dist/types/src/util/schema.d.ts +0 -3
  252. package/dist/types/src/util/schema.d.ts.map +0 -1
  253. package/src/components/ControlSection/ControlSection.stories.tsx +0 -38
  254. package/src/components/ControlSection/ControlSection.tsx +0 -153
  255. package/src/components/Form/ArrayField.tsx +0 -125
  256. package/src/components/Form/Defaults.tsx +0 -205
  257. package/src/components/Form/FormActions.tsx +0 -54
  258. package/src/components/Form/FormContent.tsx +0 -322
  259. package/src/components/Form/FormContext.tsx +0 -110
  260. package/src/components/Form/Input.tsx +0 -54
  261. package/src/components/Form/RefField.tsx +0 -283
  262. package/src/components/Form/custom/GeoPointInput.tsx +0 -80
  263. package/src/components/Form/custom/index.ts +0 -7
  264. package/src/components/Form/factory.tsx +0 -31
  265. package/src/hooks/useForm.ts +0 -296
  266. package/src/hooks/useQueryRefOptions.ts +0 -62
  267. package/src/hooks/useRefQueryLookupHandler.ts +0 -39
  268. package/src/util/schema.ts +0 -12
@@ -0,0 +1,9 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { type ReactElement, type RefAttributes } from 'react';
3
+ import { type ComposableProps } from '@dxos/ui-types';
4
+ export type ObjectTreeProps<T> = {
5
+ schema: Schema.Schema<T, any, never>;
6
+ value: T;
7
+ };
8
+ export declare const ObjectTree: <T>(props: ComposableProps<ObjectTreeProps<T>> & RefAttributes<HTMLDivElement>) => ReactElement | null;
9
+ //# sourceMappingURL=ObjectTree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectTree.d.ts","sourceRoot":"","sources":["../../../../../src/components/ObjectTree/ObjectTree.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAc,EAAE,KAAK,YAAY,EAAkB,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAIrF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAuBF,eAAO,MAAM,UAAU,EAAgC,CAAC,CAAC,EACvD,KAAK,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC,KACvE,YAAY,GAAG,IAAI,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { type StoryObj } from '@storybook/react-vite';
2
+ import React from 'react';
3
+ declare const meta: {
4
+ title: string;
5
+ component: <T>(props: import("@dxos/ui-types").ComposableProps<import("./ObjectTree").ObjectTreeProps<T>> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
6
+ decorators: import("@storybook/react").Decorator[];
7
+ parameters: {
8
+ layout: string;
9
+ translations: [{
10
+ readonly 'en-US': {
11
+ readonly "@dxos/react-ui-form": {
12
+ readonly 'fields.label': 'Fields';
13
+ readonly 'hidden-fields.label': 'Hidden Fields';
14
+ readonly 'empty-readonly-ref-field.label': '(none)';
15
+ readonly 'field-property.label': 'Property';
16
+ readonly 'field-property.placeholder': 'Property name';
17
+ readonly 'field-format.label': 'Type';
18
+ readonly 'field-path.label': 'Field path';
19
+ readonly 'remove-item.button': 'Delete item';
20
+ readonly 'add-item.button': 'Add item';
21
+ readonly 'add-property-button.label': 'Add property';
22
+ readonly 'boolean-input-true.value': 'Yes';
23
+ readonly 'boolean-input-false.value': 'No';
24
+ readonly 'show-field.label': 'Show field';
25
+ readonly 'hide-field.label': 'Hide field';
26
+ readonly 'delete-field.label': 'Delete field';
27
+ readonly 'create-option.label': 'Create';
28
+ readonly 'add-tag.label': 'Add tag';
29
+ readonly 'ref-field-combobox-input.placeholder': 'Search\u2026';
30
+ readonly 'ref-field.placeholder': 'Select\u2026';
31
+ readonly 'ref-field.placeholder_one': 'Select\u2026';
32
+ readonly 'ref-field.placeholder_other': 'Select items\u2026';
33
+ readonly 'example.placeholder': 'Example';
34
+ readonly 'latitude.placeholder': 'Latitude (e.g., 40.7128)';
35
+ readonly 'longitude.placeholder': 'Longitude (e.g., -74.0060)';
36
+ readonly 'cancel-button.label': 'Cancel';
37
+ readonly 'save-button.label': 'Save';
38
+ readonly 'create-text.label': 'Create text';
39
+ readonly 'format.boolean.label': 'Boolean';
40
+ readonly 'format.currency.label': 'Currency';
41
+ readonly 'format.date.label': 'Date';
42
+ readonly 'format.date-time.label': 'DateTime';
43
+ readonly 'format.did.label': 'DID';
44
+ readonly 'format.duration.label': 'Duration';
45
+ readonly 'format.dxn.label': 'DXN';
46
+ readonly 'format.email.label': 'Email';
47
+ readonly 'format.formula.label': 'Formula';
48
+ readonly 'format.hostname.label': 'Hostname';
49
+ readonly 'format.integer.label': 'Integer';
50
+ readonly 'format.json.label': 'JSON';
51
+ readonly 'format.lnglat.label': 'Geopoint';
52
+ readonly 'format.markdown.label': 'Markdown';
53
+ readonly 'format.percent.label': 'Percent';
54
+ readonly 'format.ref.label': 'Reference';
55
+ readonly 'format.regex.label': 'RegExp';
56
+ readonly 'format.string.label': 'String';
57
+ readonly 'format.single-select.label': 'Select';
58
+ readonly 'format.multi-select.label': 'Multi-select';
59
+ readonly 'format.text.label': 'Long text';
60
+ readonly 'format.time.label': 'Time';
61
+ readonly 'format.timestamp.label': 'Timestamp';
62
+ readonly 'format.user.label': 'User';
63
+ readonly 'format.number.label': 'Number';
64
+ readonly 'format.uri.label': 'URI';
65
+ readonly 'format.url.label': 'URL';
66
+ readonly 'format.uuid.label': 'UUID';
67
+ readonly 'latitude.label': 'Latitude';
68
+ readonly 'longitude.label': 'Longitude';
69
+ readonly 'select-option.label': 'Label';
70
+ readonly 'select-option-label.placeholder': 'Option label';
71
+ readonly 'select-option-delete.button': 'Delete';
72
+ readonly 'select-option-add.button': 'Add option';
73
+ readonly 'system-schema.title': 'System type';
74
+ readonly 'system-schema.description': 'System type: cannot add or remove fields.';
75
+ readonly 'remove.button': 'Delete';
76
+ };
77
+ };
78
+ }];
79
+ };
80
+ };
81
+ export default meta;
82
+ type Story = StoryObj<typeof meta>;
83
+ export declare const Default: Story;
84
+ export declare const JSON: () => React.JSX.Element;
85
+ export declare const WithForm: () => React.JSX.Element;
86
+ export declare const WithReadOnlyForm: () => React.JSX.Element;
87
+ //# sourceMappingURL=ObjectTree.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectTree.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/ObjectTree/ObjectTree.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAmE1B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQyB,CAAC;eAErB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,IAAI,yBAShB,CAAC;AAMF,eAAO,MAAM,QAAQ,yBAcpB,CAAC;AAEF,eAAO,MAAM,gBAAgB,yBAS5B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './ObjectTree';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ObjectTree/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,51 @@
1
+ import React, { type PropsWithChildren } from 'react';
2
+ import { type Label, type ThemedClassName } from '@dxos/react-ui';
3
+ type SettingsRootProps = ThemedClassName<PropsWithChildren>;
4
+ declare function SettingsRoot({ children, classNames }: SettingsRootProps): React.JSX.Element;
5
+ declare namespace SettingsRoot {
6
+ var displayName: string;
7
+ }
8
+ type SettingsSectionProps = PropsWithChildren<{
9
+ title: Label;
10
+ description?: Label;
11
+ }>;
12
+ declare function SettingsSection({ title, description, children }: SettingsSectionProps): React.JSX.Element;
13
+ declare namespace SettingsSection {
14
+ var displayName: string;
15
+ }
16
+ export declare const Settings: {
17
+ Root: {
18
+ ({ children, classNames }: SettingsRootProps): React.JSX.Element;
19
+ displayName: string;
20
+ };
21
+ Viewport: React.ForwardRefExoticComponent<Omit<{}, "className"> & {
22
+ classNames?: import("@dxos/ui-types").ClassNameValue;
23
+ } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
24
+ Section: {
25
+ ({ title, description, children }: SettingsSectionProps): React.JSX.Element;
26
+ displayName: string;
27
+ };
28
+ Panel: {
29
+ ({ classNames, children }: Omit<{
30
+ children?: React.ReactNode | undefined;
31
+ }, "className"> & {
32
+ classNames?: import("@dxos/ui-types").ClassNameValue;
33
+ }): React.JSX.Element;
34
+ displayName: string;
35
+ };
36
+ Item: {
37
+ ({ title, description, children }: {
38
+ title: Label;
39
+ description?: Label;
40
+ } & {
41
+ children?: React.ReactNode | undefined;
42
+ }): React.JSX.Element;
43
+ displayName: string;
44
+ };
45
+ FieldSet: {
46
+ <T extends Record<string, any>>({ schema, values, onValuesChanged, readonly, fieldMap, visible, sort, pathPrefix, }: import("./SettingsFieldSet").SettingsFieldSetProps<T>): React.JSX.Element;
47
+ displayName: string;
48
+ };
49
+ };
50
+ export {};
51
+ //# 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,EAAE,KAAK,KAAK,EAAc,KAAK,eAAe,EAAqC,MAAM,gBAAgB,CAAC;AAiBjH,KAAK,iBAAiB,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;8BAEtC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,iBAAiB;;;;AA0BjE,KAAK,oBAAoB,GAAG,iBAAiB,CAAC;IAC5C,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB,CAAC,CAAC;iCAEsB,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,oBAAoB;;;;AAiB/E,eAAO,MAAM,QAAQ;IACnB,IAAI;mCAjD0C,iBAAiB;;;IAkD/D,QAAQ;;;IACR,OAAO;2CApBkD,oBAAoB;;;IAqB7E,KAAK;;;;;;;;IACL,IAAI;;;;;;;;;IACJ,QAAQ;;;;CACT,CAAC"}
@@ -0,0 +1,85 @@
1
+ import { type StoryObj } from '@storybook/react-vite';
2
+ import React from 'react';
3
+ declare const meta: {
4
+ title: string;
5
+ render: () => React.JSX.Element;
6
+ decorators: import("@storybook/react").Decorator[];
7
+ parameters: {
8
+ layout: string;
9
+ translations: [{
10
+ readonly 'en-US': {
11
+ readonly "@dxos/react-ui-form": {
12
+ readonly 'fields.label': 'Fields';
13
+ readonly 'hidden-fields.label': 'Hidden Fields';
14
+ readonly 'empty-readonly-ref-field.label': '(none)';
15
+ readonly 'field-property.label': 'Property';
16
+ readonly 'field-property.placeholder': 'Property name';
17
+ readonly 'field-format.label': 'Type';
18
+ readonly 'field-path.label': 'Field path';
19
+ readonly 'remove-item.button': 'Delete item';
20
+ readonly 'add-item.button': 'Add item';
21
+ readonly 'add-property-button.label': 'Add property';
22
+ readonly 'boolean-input-true.value': 'Yes';
23
+ readonly 'boolean-input-false.value': 'No';
24
+ readonly 'show-field.label': 'Show field';
25
+ readonly 'hide-field.label': 'Hide field';
26
+ readonly 'delete-field.label': 'Delete field';
27
+ readonly 'create-option.label': 'Create';
28
+ readonly 'add-tag.label': 'Add tag';
29
+ readonly 'ref-field-combobox-input.placeholder': 'Search\u2026';
30
+ readonly 'ref-field.placeholder': 'Select\u2026';
31
+ readonly 'ref-field.placeholder_one': 'Select\u2026';
32
+ readonly 'ref-field.placeholder_other': 'Select items\u2026';
33
+ readonly 'example.placeholder': 'Example';
34
+ readonly 'latitude.placeholder': 'Latitude (e.g., 40.7128)';
35
+ readonly 'longitude.placeholder': 'Longitude (e.g., -74.0060)';
36
+ readonly 'cancel-button.label': 'Cancel';
37
+ readonly 'save-button.label': 'Save';
38
+ readonly 'create-text.label': 'Create text';
39
+ readonly 'format.boolean.label': 'Boolean';
40
+ readonly 'format.currency.label': 'Currency';
41
+ readonly 'format.date.label': 'Date';
42
+ readonly 'format.date-time.label': 'DateTime';
43
+ readonly 'format.did.label': 'DID';
44
+ readonly 'format.duration.label': 'Duration';
45
+ readonly 'format.dxn.label': 'DXN';
46
+ readonly 'format.email.label': 'Email';
47
+ readonly 'format.formula.label': 'Formula';
48
+ readonly 'format.hostname.label': 'Hostname';
49
+ readonly 'format.integer.label': 'Integer';
50
+ readonly 'format.json.label': 'JSON';
51
+ readonly 'format.lnglat.label': 'Geopoint';
52
+ readonly 'format.markdown.label': 'Markdown';
53
+ readonly 'format.percent.label': 'Percent';
54
+ readonly 'format.ref.label': 'Reference';
55
+ readonly 'format.regex.label': 'RegExp';
56
+ readonly 'format.string.label': 'String';
57
+ readonly 'format.single-select.label': 'Select';
58
+ readonly 'format.multi-select.label': 'Multi-select';
59
+ readonly 'format.text.label': 'Long text';
60
+ readonly 'format.time.label': 'Time';
61
+ readonly 'format.timestamp.label': 'Timestamp';
62
+ readonly 'format.user.label': 'User';
63
+ readonly 'format.number.label': 'Number';
64
+ readonly 'format.uri.label': 'URI';
65
+ readonly 'format.url.label': 'URL';
66
+ readonly 'format.uuid.label': 'UUID';
67
+ readonly 'latitude.label': 'Latitude';
68
+ readonly 'longitude.label': 'Longitude';
69
+ readonly 'select-option.label': 'Label';
70
+ readonly 'select-option-label.placeholder': 'Option label';
71
+ readonly 'select-option-delete.button': 'Delete';
72
+ readonly 'select-option-add.button': 'Add option';
73
+ readonly 'system-schema.title': 'System type';
74
+ readonly 'system-schema.description': 'System type: cannot add or remove fields.';
75
+ readonly 'remove.button': 'Delete';
76
+ };
77
+ };
78
+ }];
79
+ };
80
+ };
81
+ export default meta;
82
+ type Story = StoryObj<typeof meta>;
83
+ export declare const Default: Story;
84
+ export declare const FieldSet: Story;
85
+ //# 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;AAEjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAoC1B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQM,CAAC;eAEF,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AA6CjC,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC"}
@@ -0,0 +1,43 @@
1
+ import * as SchemaAST from 'effect/SchemaAST';
2
+ import React from 'react';
3
+ /**
4
+ * Props for a custom field renderer.
5
+ * The renderer provides the control only; SettingsItem wrapper is handled by FieldSet.
6
+ */
7
+ export type SettingsFieldProps<T = any> = {
8
+ value: T;
9
+ onChange: (value: T) => void;
10
+ readonly?: boolean;
11
+ };
12
+ /**
13
+ * Map of property names to either a custom field renderer or a nested field map for struct fields.
14
+ * When a value type `T` is provided, the map shape is checked against the schema's value type.
15
+ */
16
+ export type SettingsFieldMap<T extends Record<string, any> = Record<string, any>> = {
17
+ [K in keyof T]?: NonNullable<T[K]> extends Record<string, any> ? SettingsFieldMap<NonNullable<T[K]>> : React.FC<SettingsFieldProps<T[K]>>;
18
+ };
19
+ export type SettingsFieldSetProps<T extends Record<string, any> = Record<string, any>> = {
20
+ /** Effect Schema for the settings object. */
21
+ schema: {
22
+ ast: SchemaAST.AST;
23
+ };
24
+ /** Current settings values. */
25
+ values: T;
26
+ /** Callback when any value changes. Receives a new complete object. */
27
+ onValuesChanged?: (values: T) => void;
28
+ /** When true, all controls are disabled. */
29
+ readonly?: boolean;
30
+ /** Map of property names to custom field renderers. Nested objects map to struct sub-fields. */
31
+ fieldMap?: SettingsFieldMap<T>;
32
+ /** Control field visibility. Receives the dotted path (e.g. `'modelDefaults.edge'`) at every level. */
33
+ visible?: (path: string, values: T) => boolean;
34
+ /** Override the order of fields. Fields not listed are appended in schema order. Applied per scope. */
35
+ sort?: string[];
36
+ /** Internal: dot-path prefix used by recursive struct rendering. */
37
+ pathPrefix?: string;
38
+ };
39
+ export declare function SettingsFieldSet<T extends Record<string, any>>({ schema, values, onValuesChanged, readonly, fieldMap, visible, sort, pathPrefix }: SettingsFieldSetProps<T>): React.JSX.Element;
40
+ export declare namespace SettingsFieldSet {
41
+ var displayName: string;
42
+ }
43
+ //# sourceMappingURL=SettingsFieldSet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsFieldSet.d.ts","sourceRoot":"","sources":["../../../../../src/components/Settings/SettingsFieldSet.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAA+B,MAAM,OAAO,CAAC;AAYpD;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,GAAG,IAAI;IACxC,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;KACjF,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1D,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACnC,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IACvF,6CAA6C;IAC7C,MAAM,EAAE;QAAE,GAAG,EAAE,SAAS,CAAC,GAAG,CAAA;KAAE,CAAC;IAE/B,+BAA+B;IAC/B,MAAM,EAAE,CAAC,CAAC;IAEV,uEAAuE;IACvE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAEtC,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,gGAAgG;IAChG,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAE/B,uGAAuG;IACvG,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC;IAE/C,uGAAuG;IACvG,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;yCAM+B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAC9D,MAAM,EACN,MAAM,EACN,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,UAAe,EAChB,EAAE,qBAAqB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import React, { type PropsWithChildren } from 'react';
2
+ import { type Label, type ThemedClassName } from '@dxos/react-ui';
3
+ type SettingsPanelProps = ThemedClassName<PropsWithChildren>;
4
+ export declare function SettingsPanel({ classNames, children }: SettingsPanelProps): React.JSX.Element;
5
+ export declare namespace SettingsPanel {
6
+ var displayName: string;
7
+ }
8
+ type SettingsItemProps = PropsWithChildren<{
9
+ title: Label;
10
+ description?: Label;
11
+ }>;
12
+ export declare function SettingsItem({ title, description, children }: SettingsItemProps): React.JSX.Element;
13
+ export declare namespace SettingsItem {
14
+ var displayName: string;
15
+ }
16
+ //# sourceMappingURL=SettingsItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/Settings/SettingsItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAS,KAAK,KAAK,EAAE,KAAK,eAAe,EAAqC,MAAM,gBAAgB,CAAC;AAY5G,KAAK,kBAAkB,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;sCAE/B,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,kBAAkB;;;;AAY1E,KAAK,iBAAiB,GAAG,iBAAiB,CAAC;IACzC,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB,CAAC,CAAC;qCAE0B,EAAE,KAAK,EAAE,WAAgB,EAAE,QAAQ,EAAE,EAAE,iBAAiB"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { type SettingsFieldProps } from './SettingsFieldSet';
3
+ export type SelectFieldOption = {
4
+ value: string;
5
+ label?: string;
6
+ };
7
+ export type CreateSelectFieldOptions = {
8
+ /** Options to display. Strings are used as both value and label. */
9
+ options: ReadonlyArray<string | SelectFieldOption>;
10
+ /** Label for the sentinel option that maps to `undefined`. Defaults to `'Default'`. Pass `null` to omit. */
11
+ defaultLabel?: string | null;
12
+ };
13
+ /**
14
+ * Factory for a `SettingsFieldSet` `fieldMap` entry that renders a Select control
15
+ * over a fixed list of options, with an optional sentinel for `undefined`.
16
+ */
17
+ export declare const createSelectField: ({ options, defaultLabel, }: CreateSelectFieldOptions) => React.FC<SettingsFieldProps<string | undefined>>;
18
+ //# sourceMappingURL=SettingsSelectField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsSelectField.d.ts","sourceRoot":"","sources":["../../../../../src/components/Settings/SettingsSelectField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,oEAAoE;IACpE,OAAO,EAAE,aAAa,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC;IACnD,4GAA4G;IAC5G,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,+BAG3B,wBAAwB,KAAG,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,MAAM,GAAG,SAAS,CAAC,CA6B5E,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './Settings';
2
+ export { type SettingsFieldMap, type SettingsFieldProps, type SettingsFieldSetProps } from './SettingsFieldSet';
3
+ export { createSelectField, type CreateSelectFieldOptions, type SelectFieldOption } from './SettingsSelectField';
4
+ //# 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;AAC3B,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChH,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,34 +1,30 @@
1
- import * as Schema from 'effect/Schema';
2
1
  import React from 'react';
3
- import { QueryAST } from '@dxos/echo';
4
- import { type SchemaRegistry } from '@dxos/echo-db';
2
+ import { EchoURI, QueryAST, type SchemaRegistry, Type, View } from '@dxos/echo';
5
3
  import { type ThemedClassName } from '@dxos/react-ui';
6
4
  import { type QueryFormProps } from '@dxos/react-ui-components';
7
- import { type DataType, ProjectionModel } from '@dxos/schema';
8
- import { type FormProps } from '../Form';
5
+ import { ProjectionModel } from '@dxos/schema';
6
+ import { type FormRootProps } from '../Form';
9
7
  export type ViewEditorProps = ThemedClassName<{
10
- schema: Schema.Schema.AnyNoContext;
11
- view: DataType.View;
12
- mode?: 'schema' | 'query';
13
- registry?: SchemaRegistry;
14
- readonly?: boolean;
8
+ type: Type.AnyEntity;
9
+ view: View.View;
10
+ mode?: 'schema' | 'tag';
11
+ registry?: SchemaRegistry.SchemaRegistry;
15
12
  showHeading?: boolean;
16
- onQueryChanged?: (query: QueryAST.Query, target?: string) => void;
13
+ onQueryChanged?: (query: QueryAST.Query, target?: EchoURI.EchoURI) => void;
17
14
  onDelete?: (fieldId: string) => void;
18
- } & Pick<FormProps<any>, 'outerSpacing'> & Pick<QueryFormProps, 'types' | 'tags'>>;
15
+ } & Pick<QueryFormProps, 'types' | 'tags'> & Pick<FormRootProps<any>, 'readonly' | 'db'>>;
19
16
  /**
20
17
  * Schema-based object form.
21
18
  */
22
19
  export declare const ViewEditor: React.ForwardRefExoticComponent<Omit<{
23
- schema: Schema.Schema.AnyNoContext;
24
- view: DataType.View;
25
- mode?: "schema" | "query";
26
- registry?: SchemaRegistry;
27
- readonly?: boolean;
20
+ type: Type.AnyEntity;
21
+ view: View.View;
22
+ mode?: 'schema' | 'tag';
23
+ registry?: SchemaRegistry.SchemaRegistry;
28
24
  showHeading?: boolean;
29
- onQueryChanged?: (query: QueryAST.Query, target?: string) => void;
25
+ onQueryChanged?: (query: QueryAST.Query, target?: EchoURI.EchoURI) => void;
30
26
  onDelete?: (fieldId: string) => void;
31
- } & Pick<FormProps<any>, "outerSpacing"> & Pick<QueryFormProps, "types" | "tags">, "className"> & {
32
- classNames?: import("@dxos/react-ui-types").ClassNameValue;
27
+ } & Pick<QueryFormProps, "tags" | "types"> & Pick<FormRootProps<any>, "db" | "readonly">, "className"> & {
28
+ classNames?: import("@dxos/ui-types").ClassNameValue;
33
29
  } & React.RefAttributes<ProjectionModel>>;
34
30
  //# 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,EACL,KAAK,QAAQ,EAGb,eAAe,EAGhB,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,QAAQ,CAAC,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B,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,QAAQ,CAAC,IAAI;WACZ,QAAQ,GAAG,OAAO;eACd,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;;;yCA6QvC,CAAC"}
1
+ {"version":3,"file":"ViewEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/ViewEditor/ViewEditor.tsx"],"names":[],"mappings":"AASA,OAAO,KAAsF,MAAM,OAAO,CAAC;AAE3G,OAAO,EACL,OAAO,EAOP,QAAQ,EAER,KAAK,cAAc,EACnB,IAAI,EACJ,IAAI,EACL,MAAM,YAAY,CAAC;AAIpB,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;AAMtB,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,eAAe,GAAG,eAAe,CAC3C;IACE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;IACrB,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,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC;IAC3E,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;UAdb,IAAI,CAAC,SAAS;UACd,IAAI,CAAC,IAAI;WACR,QAAQ,GAAG,KAAK;eACZ,cAAc,CAAC,cAAc;kBAC1B,OAAO;qBACJ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,KAAK,IAAI;eAC/D,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;;;yCAwKvC,CAAC"}
@@ -1,81 +1,87 @@
1
1
  import { type StoryObj } from '@storybook/react-vite';
2
2
  import React from 'react';
3
- import { type EchoSchema } from '@dxos/echo/internal';
4
- import { DataType, type ProjectionModel } from '@dxos/schema';
3
+ import { Type, type View } from '@dxos/echo';
4
+ import { type ProjectionModel } from '@dxos/schema';
5
5
  import { type ViewEditorProps } from './ViewEditor';
6
6
  export type ViewEditorDebugObjects = {
7
- schema: EchoSchema;
8
- view: DataType.View;
7
+ type: Type.AnyEntity;
8
+ view: View.View;
9
9
  projection: ProjectionModel;
10
10
  };
11
- type StoryProps = Pick<ViewEditorProps, 'readonly' | 'mode'>;
11
+ type DefaultStoryProps = Pick<ViewEditorProps, 'readonly' | 'mode'>;
12
12
  declare const meta: {
13
13
  title: string;
14
- render: (props: StoryProps) => React.JSX.Element;
14
+ render: (props: DefaultStoryProps) => React.JSX.Element;
15
15
  decorators: import("@storybook/react").Decorator[];
16
16
  parameters: {
17
17
  layout: string;
18
18
  translations: [{
19
19
  readonly 'en-US': {
20
- readonly "react-ui-form": {
21
- readonly 'fields label': "Fields";
22
- readonly 'hidden fields label': "Hidden Fields";
23
- readonly 'empty readonly ref field label': "(none)";
24
- readonly 'button add property': "Add property";
25
- readonly 'field property label': "Property";
26
- readonly 'field property placeholder': "Property name";
27
- readonly 'field format label': "Type";
28
- readonly 'field path label': "Field path";
29
- readonly 'add field': "Add field";
30
- readonly 'delete field': "Delete field";
31
- readonly 'field limit reached': "Maximum number of fields reached";
32
- readonly 'boolean input true value': "Yes";
33
- readonly 'boolean input false value': "No";
34
- readonly 'show field label': "Show field";
35
- readonly 'hide field label': "Hide field";
36
- readonly 'delete field label': "Delete field";
37
- readonly 'ref field combobox input placeholder': "Search…";
38
- readonly 'ref field placeholder_one': "Select…";
39
- readonly 'ref field placeholder_other': "Select items…";
40
- readonly 'button cancel': "Cancel";
41
- readonly 'button save': "Save";
42
- readonly 'format boolean': "Boolean";
43
- readonly 'format currency': "Currency";
44
- readonly 'format date': "Date";
45
- readonly 'format date-time': "DateTime";
46
- readonly 'format did': "DID";
47
- readonly 'format duration': "Duration";
48
- readonly 'format dxn': "DXN";
49
- readonly 'format email': "Email";
50
- readonly 'format formula': "Formula";
51
- readonly 'format hostname': "Hostname";
52
- readonly 'format integer': "Integer";
53
- readonly 'format json': "JSON";
54
- readonly 'format lnglat': "Geopoint";
55
- readonly 'format markdown': "Markdown";
56
- readonly 'format percent': "Percent";
57
- readonly 'format ref': "Reference";
58
- readonly 'format regex': "RegExp";
59
- readonly 'format string': "String";
60
- readonly 'format single-select': "Select";
61
- readonly 'format multi-select': "Multi-select";
62
- readonly 'format text': "Long text";
63
- readonly 'format time': "Time";
64
- readonly 'format timestamp': "Timestamp";
65
- readonly 'format user': "User";
66
- readonly 'format number': "Number";
67
- readonly 'format uri': "URI";
68
- readonly 'format url': "URL";
69
- readonly 'format uuid': "UUID";
70
- readonly 'latitude label': "Latitude";
71
- readonly 'longitude label': "Longitude";
72
- readonly 'select option label': "Label";
73
- readonly 'select option label placeholder': "Option label";
74
- readonly 'select option color': "Color";
75
- readonly 'select option delete': "Delete";
76
- readonly 'select option add': "Add option";
77
- readonly 'system schema title': "System record type";
78
- readonly 'system schema description': "This is a system record type and cannot be modified, though the view can still be configured.";
20
+ readonly "@dxos/react-ui-form": {
21
+ readonly 'fields.label': 'Fields';
22
+ readonly 'hidden-fields.label': 'Hidden Fields';
23
+ readonly 'empty-readonly-ref-field.label': '(none)';
24
+ readonly 'field-property.label': 'Property';
25
+ readonly 'field-property.placeholder': 'Property name';
26
+ readonly 'field-format.label': 'Type';
27
+ readonly 'field-path.label': 'Field path';
28
+ readonly 'remove-item.button': 'Delete item';
29
+ readonly 'add-item.button': 'Add item';
30
+ readonly 'add-property-button.label': 'Add property';
31
+ readonly 'boolean-input-true.value': 'Yes';
32
+ readonly 'boolean-input-false.value': 'No';
33
+ readonly 'show-field.label': 'Show field';
34
+ readonly 'hide-field.label': 'Hide field';
35
+ readonly 'delete-field.label': 'Delete field';
36
+ readonly 'create-option.label': 'Create';
37
+ readonly 'add-tag.label': 'Add tag';
38
+ readonly 'ref-field-combobox-input.placeholder': 'Search\u2026';
39
+ readonly 'ref-field.placeholder': 'Select\u2026';
40
+ readonly 'ref-field.placeholder_one': 'Select\u2026';
41
+ readonly 'ref-field.placeholder_other': 'Select items\u2026';
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';
47
+ readonly 'create-text.label': 'Create text';
48
+ readonly 'format.boolean.label': 'Boolean';
49
+ readonly 'format.currency.label': 'Currency';
50
+ readonly 'format.date.label': 'Date';
51
+ readonly 'format.date-time.label': 'DateTime';
52
+ readonly 'format.did.label': 'DID';
53
+ readonly 'format.duration.label': 'Duration';
54
+ readonly 'format.dxn.label': 'DXN';
55
+ readonly 'format.email.label': 'Email';
56
+ readonly 'format.formula.label': 'Formula';
57
+ readonly 'format.hostname.label': 'Hostname';
58
+ readonly 'format.integer.label': 'Integer';
59
+ readonly 'format.json.label': 'JSON';
60
+ readonly 'format.lnglat.label': 'Geopoint';
61
+ readonly 'format.markdown.label': 'Markdown';
62
+ readonly 'format.percent.label': 'Percent';
63
+ readonly 'format.ref.label': 'Reference';
64
+ readonly 'format.regex.label': 'RegExp';
65
+ readonly 'format.string.label': 'String';
66
+ readonly 'format.single-select.label': 'Select';
67
+ readonly 'format.multi-select.label': 'Multi-select';
68
+ readonly 'format.text.label': 'Long text';
69
+ readonly 'format.time.label': 'Time';
70
+ readonly 'format.timestamp.label': 'Timestamp';
71
+ readonly 'format.user.label': 'User';
72
+ readonly 'format.number.label': 'Number';
73
+ readonly 'format.uri.label': 'URI';
74
+ readonly 'format.url.label': 'URL';
75
+ readonly 'format.uuid.label': 'UUID';
76
+ readonly 'latitude.label': 'Latitude';
77
+ readonly 'longitude.label': 'Longitude';
78
+ readonly 'select-option.label': 'Label';
79
+ readonly 'select-option-label.placeholder': 'Option label';
80
+ readonly 'select-option-delete.button': 'Delete';
81
+ readonly 'select-option-add.button': 'Add option';
82
+ readonly 'system-schema.title': 'System type';
83
+ readonly 'system-schema.description': 'System type: cannot add or remove fields.';
84
+ readonly 'remove.button': 'Delete';
79
85
  };
80
86
  };
81
87
  }];
@@ -85,5 +91,5 @@ export default meta;
85
91
  type Story = StoryObj<typeof meta>;
86
92
  export declare const Default: Story;
87
93
  export declare const Readonly: Story;
88
- export declare const QueryMode: Story;
94
+ export declare const TagQueryMode: Story;
89
95
  //# 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,QAAQ,EAAE,KAAK,eAAe,EAAoC,MAAM,cAAc,CAAC;AAKhG,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAWhE,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IACpB,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;AAEjF,OAAO,EAAoE,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAM/G,OAAO,EAAE,KAAK,eAAe,EAAmC,MAAM,cAAc,CAAC;AAMrF,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAWhE,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;IACrB,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;AAoHpE,QAAA,MAAM,IAAI;;oBAlHmB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsIT,CAAC;eAEvB,IAAI;AAEnB,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,9 @@
1
- export * from './ControlSection';
2
1
  export * from './FieldEditor';
3
2
  export * from './Form';
3
+ export * from './ObjectForm';
4
4
  export * from './ObjectPicker';
5
+ export * from './ObjectProperties';
6
+ export * from './ObjectTree';
7
+ export * from './Settings';
5
8
  export * from './ViewEditor';
6
9
  //# sourceMappingURL=index.d.ts.map