@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,13 @@
1
+ import React from 'react';
2
+ import { type FormFieldComponentProps } from '../FormFieldComponent';
3
+ export type SelectFieldOptions = FormFieldComponentProps & {
4
+ options?: Array<{
5
+ value: string | number;
6
+ label?: string;
7
+ secondaryLabel?: string;
8
+ icon?: string;
9
+ iconHue?: string;
10
+ }>;
11
+ };
12
+ export declare const SelectField: ({ type, readonly, label, jsonPath, layout, placeholder, options, getStatus, getValue, onValueChange, }: SelectFieldOptions) => React.JSX.Element | null;
13
+ //# sourceMappingURL=SelectField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/fields/SelectField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAK3C,OAAO,EAAE,KAAK,uBAAuB,EAAkB,MAAM,uBAAuB,CAAC;AAErF,MAAM,MAAM,kBAAkB,GAAG,uBAAuB,GAAG;IACzD,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvH,CAAC;AAEF,eAAO,MAAM,WAAW,2GAWrB,kBAAkB,6BA4CpB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { type SelectOption } from '@dxos/echo/internal';
3
+ import { type FormFieldComponentProps } from '../FormFieldComponent';
4
+ export declare const SelectOptionField: ({ type, readonly, label, jsonPath, getStatus, getValue, onValueChange, }: FormFieldComponentProps<SelectOption[] | undefined>) => React.JSX.Element;
5
+ //# sourceMappingURL=SelectOptionField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectOptionField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/fields/SelectOptionField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAyF,MAAM,OAAO,CAAC;AAE9G,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AASxD,OAAO,EAAE,KAAK,uBAAuB,EAAkB,MAAM,uBAAuB,CAAC;AAErF,eAAO,MAAM,iBAAiB,6EAQ3B,uBAAuB,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC,sBA4KrD,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
+ component: any;
6
+ render: () => React.JSX.Element;
7
+ decorators: import("@storybook/react").Decorator[];
8
+ parameters: {
9
+ layout: string;
10
+ translations: [{
11
+ readonly 'en-US': {
12
+ readonly "@dxos/react-ui-form": {
13
+ readonly 'fields.label': 'Fields';
14
+ readonly 'hidden-fields.label': 'Hidden Fields';
15
+ readonly 'empty-readonly-ref-field.label': '(none)';
16
+ readonly 'field-property.label': 'Property';
17
+ readonly 'field-property.placeholder': 'Property name';
18
+ readonly 'field-format.label': 'Type';
19
+ readonly 'field-path.label': 'Field path';
20
+ readonly 'remove-item.button': 'Delete item';
21
+ readonly 'add-item.button': 'Add item';
22
+ readonly 'add-property-button.label': 'Add property';
23
+ readonly 'boolean-input-true.value': 'Yes';
24
+ readonly 'boolean-input-false.value': 'No';
25
+ readonly 'show-field.label': 'Show field';
26
+ readonly 'hide-field.label': 'Hide field';
27
+ readonly 'delete-field.label': 'Delete field';
28
+ readonly 'create-option.label': 'Create';
29
+ readonly 'add-tag.label': 'Add tag';
30
+ readonly 'ref-field-combobox-input.placeholder': 'Search\u2026';
31
+ readonly 'ref-field.placeholder': 'Select\u2026';
32
+ readonly 'ref-field.placeholder_one': 'Select\u2026';
33
+ readonly 'ref-field.placeholder_other': 'Select items\u2026';
34
+ readonly 'example.placeholder': 'Example';
35
+ readonly 'latitude.placeholder': 'Latitude (e.g., 40.7128)';
36
+ readonly 'longitude.placeholder': 'Longitude (e.g., -74.0060)';
37
+ readonly 'cancel-button.label': 'Cancel';
38
+ readonly 'save-button.label': 'Save';
39
+ readonly 'create-text.label': 'Create text';
40
+ readonly 'format.boolean.label': 'Boolean';
41
+ readonly 'format.currency.label': 'Currency';
42
+ readonly 'format.date.label': 'Date';
43
+ readonly 'format.date-time.label': 'DateTime';
44
+ readonly 'format.did.label': 'DID';
45
+ readonly 'format.duration.label': 'Duration';
46
+ readonly 'format.dxn.label': 'DXN';
47
+ readonly 'format.email.label': 'Email';
48
+ readonly 'format.formula.label': 'Formula';
49
+ readonly 'format.hostname.label': 'Hostname';
50
+ readonly 'format.integer.label': 'Integer';
51
+ readonly 'format.json.label': 'JSON';
52
+ readonly 'format.lnglat.label': 'Geopoint';
53
+ readonly 'format.markdown.label': 'Markdown';
54
+ readonly 'format.percent.label': 'Percent';
55
+ readonly 'format.ref.label': 'Reference';
56
+ readonly 'format.regex.label': 'RegExp';
57
+ readonly 'format.string.label': 'String';
58
+ readonly 'format.single-select.label': 'Select';
59
+ readonly 'format.multi-select.label': 'Multi-select';
60
+ readonly 'format.text.label': 'Long text';
61
+ readonly 'format.time.label': 'Time';
62
+ readonly 'format.timestamp.label': 'Timestamp';
63
+ readonly 'format.user.label': 'User';
64
+ readonly 'format.number.label': 'Number';
65
+ readonly 'format.uri.label': 'URI';
66
+ readonly 'format.url.label': 'URL';
67
+ readonly 'format.uuid.label': 'UUID';
68
+ readonly 'latitude.label': 'Latitude';
69
+ readonly 'longitude.label': 'Longitude';
70
+ readonly 'select-option.label': 'Label';
71
+ readonly 'select-option-label.placeholder': 'Option label';
72
+ readonly 'select-option-delete.button': 'Delete';
73
+ readonly 'select-option-add.button': 'Add option';
74
+ readonly 'system-schema.title': 'System type';
75
+ readonly 'system-schema.description': 'System type: cannot add or remove fields.';
76
+ readonly 'remove.button': 'Delete';
77
+ };
78
+ };
79
+ }];
80
+ };
81
+ };
82
+ export default meta;
83
+ type Story = StoryObj<typeof meta>;
84
+ export declare const Default: Story;
85
+ //# sourceMappingURL=SelectOptionField.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectOptionField.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/fields/SelectOptionField.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAmB,MAAM,OAAO,CAAC;AA4CxC,QAAA,MAAM,IAAI;;eAEwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOA,CAAC;eAEvB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { type FormFieldComponentProps } from '../FormFieldComponent';
3
+ export declare const TextAreaField: ({ type, readonly, placeholder, onValueChange, onBlur, ...props }: FormFieldComponentProps<string>) => React.JSX.Element;
4
+ //# sourceMappingURL=TextAreaField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextAreaField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/fields/TextAreaField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAI3C,OAAO,EAAE,KAAK,uBAAuB,EAAoB,MAAM,uBAAuB,CAAC;AAEvF,eAAO,MAAM,aAAa,qEAOvB,uBAAuB,CAAC,MAAM,CAAC,sBAoBjC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { type FormFieldComponentProps } from '../FormFieldComponent';
3
+ export declare const TextField: ({ type, readonly, placeholder, onBlur, onValueChange, ...props }: FormFieldComponentProps<string>) => React.JSX.Element;
4
+ //# sourceMappingURL=TextField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/fields/TextField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAI3C,OAAO,EAAE,KAAK,uBAAuB,EAAoB,MAAM,uBAAuB,CAAC;AAEvF,eAAO,MAAM,SAAS,qEAOnB,uBAAuB,CAAC,MAAM,CAAC,sBAoBjC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { type FormFieldComponentProps } from '../FormFieldComponent';
3
+ export declare const TupleField: ({ binding, type, readonly, label, jsonPath, getStatus, getValue, onValueChange, onBlur, }: FormFieldComponentProps<Record<string, number>> & {
4
+ binding: string[];
5
+ }) => React.JSX.Element;
6
+ //# sourceMappingURL=TupleField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TupleField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/fields/TupleField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,KAAK,uBAAuB,EAAkB,MAAM,uBAAuB,CAAC;AAIrF,eAAO,MAAM,UAAU,8FAUpB,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG;IACnD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,sBA4BA,CAAC"}
@@ -0,0 +1,13 @@
1
+ export * from './ArrayField';
2
+ export * from './BooleanField';
3
+ export * from './DateField';
4
+ export * from './GeoPointField';
5
+ export * from './MarkdownField';
6
+ export * from './NumberField';
7
+ export * from './RefField';
8
+ export * from './SelectField';
9
+ export * from './SelectOptionField';
10
+ export * from './TextField';
11
+ export * from './TextAreaField';
12
+ export * from './TupleField';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Form/fields/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
@@ -1,6 +1,6 @@
1
- export * from './custom';
2
- export * from './Defaults';
1
+ export * from './fields';
3
2
  export * from './Form';
4
- export * from './FormContext';
5
- export * from './Input';
3
+ export * from './FormFieldComponent';
4
+ export * from './FormTooltipsContext';
5
+ export * from './Layout';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Form/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AAEzB,cAAc,QAAQ,CAAC;AACvB,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { Obj, Type } from '@dxos/echo';
3
+ export type ObjectFormProps = {
4
+ type: Type.AnyEntity;
5
+ object: Obj.Unknown;
6
+ };
7
+ export declare const ObjectForm: ({ object, type }: ObjectFormProps) => React.JSX.Element;
8
+ //# sourceMappingURL=ObjectForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectForm.d.ts","sourceRoot":"","sources":["../../../../../src/components/ObjectForm/ObjectForm.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,GAAG,EAAY,IAAI,EAAE,MAAM,YAAY,CAAC;AAWjD,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC;CACrB,CAAC;AAeF,eAAO,MAAM,UAAU,qBAAsB,eAAe,sBA8E3D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './ObjectForm';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ObjectForm/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC"}
@@ -1,21 +1,40 @@
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;
19
+ createFieldMap?: FormFieldMap;
20
+ /**
21
+ * Persist a newly-created object given the form values. May be async (e.g.
22
+ * to write to a database). The Promise is awaited before the inline create
23
+ * form is collapsed back to the picker list, so consumers can complete
24
+ * follow-up work (assign the new ref to a parent slot, close the popover)
25
+ * before the picker UI re-renders.
26
+ */
27
+ onCreate?: (values: any) => unknown | Promise<unknown>;
14
28
  onSelect: (id: string) => void;
15
- onCreate?: (values: any) => void;
16
29
  }>;
17
30
  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;
31
+ Root: ({ children, modal, modalId: modalIdProp, open: openProp, defaultOpen, onOpenChange: propsOnOpenChange, value: valueProp, defaultValue, onValueChange: propsOnValueChange, placeholder, }: import("@dxos/react-ui-list").ComboboxRootProps) => React.JSX.Element;
32
+ Portal: {
33
+ (props: import("@dxos/react-ui").PopoverPortalProps & {
34
+ __scopePopover?: import("@radix-ui/react-context").Scope;
35
+ }): React.JSX.Element;
36
+ displayName: string;
37
+ };
19
38
  Trigger: React.ForwardRefExoticComponent<Omit<import("@dxos/react-ui").ButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
20
39
  VirtualTrigger: {
21
40
  (props: import("@dxos/react-ui").PopoverVirtualTriggerProps & {
@@ -24,18 +43,26 @@ export declare const ObjectPicker: {
24
43
  displayName: string;
25
44
  };
26
45
  Content: React.ForwardRefExoticComponent<Omit<{
27
- options: QueryTag[];
46
+ options: RefOption[];
28
47
  selectedIds?: string[];
29
- createSchema?: Schema.Schema.AnyNoContext;
30
48
  createOptionLabel?: [string, {
31
49
  ns: string;
32
50
  }];
33
51
  createOptionIcon?: string;
52
+ createSchema?: Schema.Schema.AnyNoContext;
34
53
  createInitialValuePath?: string;
54
+ createFieldMap?: FormFieldMap;
55
+ /**
56
+ * Persist a newly-created object given the form values. May be async (e.g.
57
+ * to write to a database). The Promise is awaited before the inline create
58
+ * form is collapsed back to the picker list, so consumers can complete
59
+ * follow-up work (assign the new ref to a parent slot, close the popover)
60
+ * before the picker UI re-renders.
61
+ */
62
+ onCreate?: (values: any) => unknown | Promise<unknown>;
35
63
  onSelect: (id: string) => void;
36
- onCreate?: (values: any) => void;
37
64
  }, "className"> & {
38
- classNames?: import("@dxos/react-ui-types").ClassNameValue;
65
+ classNames?: import("@dxos/ui-types").ClassNameValue;
39
66
  } & React.RefAttributes<HTMLDivElement>>;
40
67
  };
41
68
  //# 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;AAO7F,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;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC,CAAC,CAAC;AA4JH,eAAO,MAAM,YAAY;IACvB,IAAI;IACJ,MAAM;;;;;;IACN,OAAO;IACP,cAAc;;;;;;IACd,OAAO;iBAjLE,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;QAC7B;;;;;;WAMG;mBACQ,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;kBAC5C,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI;;;;CAmK/B,CAAC"}
@@ -11,65 +11,71 @@ declare const meta: {
11
11
  };
12
12
  translations: [{
13
13
  readonly 'en-US': {
14
- readonly "react-ui-form": {
15
- readonly 'fields label': "Fields";
16
- readonly 'hidden fields label': "Hidden Fields";
17
- readonly 'empty readonly ref field label': "(none)";
18
- readonly 'button add property': "Add property";
19
- readonly 'field property label': "Property";
20
- readonly 'field property placeholder': "Property name";
21
- readonly 'field format label': "Type";
22
- readonly 'field path label': "Field path";
23
- readonly 'add field': "Add field";
24
- readonly 'delete field': "Delete field";
25
- readonly 'field limit reached': "Maximum number of fields reached";
26
- readonly 'boolean input true value': "Yes";
27
- readonly 'boolean input false value': "No";
28
- readonly 'show field label': "Show field";
29
- readonly 'hide field label': "Hide field";
30
- readonly 'delete field label': "Delete field";
31
- readonly 'ref field combobox input placeholder': "Search…";
32
- readonly 'ref field placeholder_one': "Select…";
33
- readonly 'ref field placeholder_other': "Select items…";
34
- readonly 'button cancel': "Cancel";
35
- readonly 'button save': "Save";
36
- readonly 'format boolean': "Boolean";
37
- readonly 'format currency': "Currency";
38
- readonly 'format date': "Date";
39
- readonly 'format date-time': "DateTime";
40
- readonly 'format did': "DID";
41
- readonly 'format duration': "Duration";
42
- readonly 'format dxn': "DXN";
43
- readonly 'format email': "Email";
44
- readonly 'format formula': "Formula";
45
- readonly 'format hostname': "Hostname";
46
- readonly 'format integer': "Integer";
47
- readonly 'format json': "JSON";
48
- readonly 'format lnglat': "Geopoint";
49
- readonly 'format markdown': "Markdown";
50
- readonly 'format percent': "Percent";
51
- readonly 'format ref': "Reference";
52
- readonly 'format regex': "RegExp";
53
- readonly 'format string': "String";
54
- readonly 'format single-select': "Select";
55
- readonly 'format multi-select': "Multi-select";
56
- readonly 'format text': "Long text";
57
- readonly 'format time': "Time";
58
- readonly 'format timestamp': "Timestamp";
59
- readonly 'format user': "User";
60
- readonly 'format number': "Number";
61
- readonly 'format uri': "URI";
62
- readonly 'format url': "URL";
63
- readonly 'format uuid': "UUID";
64
- readonly 'latitude label': "Latitude";
65
- readonly 'longitude label': "Longitude";
66
- readonly 'select option label': "Label";
67
- readonly 'select option label placeholder': "Option label";
68
- readonly 'select option color': "Color";
69
- readonly 'select option delete': "Delete";
70
- readonly 'select option add': "Add option";
71
- readonly 'system schema title': "System record type";
72
- readonly 'system schema description': "This is a system record type and cannot be modified, though the view can still be configured.";
14
+ readonly "@dxos/react-ui-form": {
15
+ readonly 'fields.label': 'Fields';
16
+ readonly 'hidden-fields.label': 'Hidden Fields';
17
+ readonly 'empty-readonly-ref-field.label': '(none)';
18
+ readonly 'field-property.label': 'Property';
19
+ readonly 'field-property.placeholder': 'Property name';
20
+ readonly 'field-format.label': 'Type';
21
+ readonly 'field-path.label': 'Field path';
22
+ readonly 'remove-item.button': 'Delete item';
23
+ readonly 'add-item.button': 'Add item';
24
+ readonly 'add-property-button.label': 'Add property';
25
+ readonly 'boolean-input-true.value': 'Yes';
26
+ readonly 'boolean-input-false.value': 'No';
27
+ readonly 'show-field.label': 'Show field';
28
+ readonly 'hide-field.label': 'Hide field';
29
+ readonly 'delete-field.label': 'Delete field';
30
+ readonly 'create-option.label': 'Create';
31
+ readonly 'add-tag.label': 'Add tag';
32
+ readonly 'ref-field-combobox-input.placeholder': 'Search\u2026';
33
+ readonly 'ref-field.placeholder': 'Select\u2026';
34
+ readonly 'ref-field.placeholder_one': 'Select\u2026';
35
+ readonly 'ref-field.placeholder_other': 'Select items\u2026';
36
+ readonly 'example.placeholder': 'Example';
37
+ readonly 'latitude.placeholder': 'Latitude (e.g., 40.7128)';
38
+ readonly 'longitude.placeholder': 'Longitude (e.g., -74.0060)';
39
+ readonly 'cancel-button.label': 'Cancel';
40
+ readonly 'save-button.label': 'Save';
41
+ readonly 'create-text.label': 'Create text';
42
+ readonly 'format.boolean.label': 'Boolean';
43
+ readonly 'format.currency.label': 'Currency';
44
+ readonly 'format.date.label': 'Date';
45
+ readonly 'format.date-time.label': 'DateTime';
46
+ readonly 'format.did.label': 'DID';
47
+ readonly 'format.duration.label': 'Duration';
48
+ readonly 'format.dxn.label': 'DXN';
49
+ readonly 'format.email.label': 'Email';
50
+ readonly 'format.formula.label': 'Formula';
51
+ readonly 'format.hostname.label': 'Hostname';
52
+ readonly 'format.integer.label': 'Integer';
53
+ readonly 'format.json.label': 'JSON';
54
+ readonly 'format.lnglat.label': 'Geopoint';
55
+ readonly 'format.markdown.label': 'Markdown';
56
+ readonly 'format.percent.label': 'Percent';
57
+ readonly 'format.ref.label': 'Reference';
58
+ readonly 'format.regex.label': 'RegExp';
59
+ readonly 'format.string.label': 'String';
60
+ readonly 'format.single-select.label': 'Select';
61
+ readonly 'format.multi-select.label': 'Multi-select';
62
+ readonly 'format.text.label': 'Long text';
63
+ readonly 'format.time.label': 'Time';
64
+ readonly 'format.timestamp.label': 'Timestamp';
65
+ readonly 'format.user.label': 'User';
66
+ readonly 'format.number.label': 'Number';
67
+ readonly 'format.uri.label': 'URI';
68
+ readonly 'format.url.label': 'URL';
69
+ readonly 'format.uuid.label': '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-delete.button': 'Delete';
75
+ readonly 'select-option-add.button': 'Add option';
76
+ readonly 'system-schema.title': 'System type';
77
+ readonly 'system-schema.description': 'System type: cannot add or remove fields.';
78
+ readonly 'remove.button': 'Delete';
73
79
  };
74
80
  };
75
81
  }];
@@ -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;AA8FzE,QAAA,MAAM,IAAI;;;;;;;YAaM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGc,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,KAuFtB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React, { type PropsWithChildren } from 'react';
2
+ import { Obj } from '@dxos/echo';
3
+ export type ObjectPropertiesProps = PropsWithChildren<{
4
+ object: Obj.Unknown;
5
+ }>;
6
+ export declare const ObjectProperties: React.ForwardRefExoticComponent<Omit<ObjectPropertiesProps, "className"> & {
7
+ classNames?: import("@dxos/ui-types").ClassNameValue;
8
+ } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
9
+ //# sourceMappingURL=ObjectProperties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectProperties.d.ts","sourceRoot":"","sources":["../../../../../src/components/ObjectProperties/ObjectProperties.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAwB,MAAM,OAAO,CAAC;AAE5E,OAAO,EAAE,GAAG,EAAkB,MAAM,YAAY,CAAC;AAcjD,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;IAAE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,CAAC,CAAC;AAG/E,eAAO,MAAM,gBAAgB;;2HAsG5B,CAAC"}
@@ -0,0 +1,128 @@
1
+ import { type StoryObj } from '@storybook/react-vite';
2
+ import { Obj } from '@dxos/echo';
3
+ import { useClientStory } from '@dxos/react-client/testing';
4
+ export type ObjectPropertiesDebug = {
5
+ /** Live database the story is rendering against. */
6
+ db: ReturnType<typeof useClientStory>['space'] extends infer S ? (S extends {
7
+ db: infer D;
8
+ } ? D : never) : never;
9
+ /** Object whose properties are being edited. */
10
+ object: Obj.Unknown;
11
+ };
12
+ declare const meta: {
13
+ title: string;
14
+ component: any;
15
+ decorators: import("@storybook/react").Decorator[];
16
+ parameters: {
17
+ layout: string;
18
+ translations: [{
19
+ readonly 'en-US': {
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';
85
+ };
86
+ };
87
+ }];
88
+ };
89
+ };
90
+ export default meta;
91
+ type Story = StoryObj<typeof meta>;
92
+ /**
93
+ * Default Pipeline form — manual exploration. Includes the Tags picker (which
94
+ * is the only ref-array path that currently works end-to-end, by virtue of
95
+ * `Tag.Tag` being special-cased in `ObjectProperties.handleCreate`).
96
+ */
97
+ export declare const Default: Story;
98
+ /**
99
+ * Tag-creation play. Walks the inline create flow against the Tags picker and
100
+ * leaves the magazine in the post-Save state for assertions to inspect via
101
+ * `OBJECT_PROPERTIES_DEBUG_SYMBOL`.
102
+ *
103
+ * Expected end-state (currently passes):
104
+ * - new Tag.Tag exists in the DB with `label === "PinnedTag"`
105
+ * - `Obj.getMeta(object).tags` includes its DXN.
106
+ */
107
+ export declare const CreateTagPlay: Story;
108
+ /**
109
+ * Ref-array creation play. Walks Add → Open → Create → Save against
110
+ * `Article.authors`. After the fix, the new Author should be persisted AND
111
+ * wired into `article.authors[0]`. Today it persists to the DB but the array
112
+ * slot stays empty.
113
+ */
114
+ export declare const CreateRefArrayPlay: Story;
115
+ /**
116
+ * Ref-array creation against a schema with a hidden required field. `Note`
117
+ * mirrors the shape of `Subscription.Feed`: the form omits `backing` (a
118
+ * required `Ref` annotated `FormInputAnnotation.set(false)`) but the schema
119
+ * requires it. Without `omitHiddenFormFields` + `FactoryAnnotation`, the
120
+ * form's validator would reject Save and the popover would never close.
121
+ *
122
+ * Expected end-state after the fix:
123
+ * - new Note exists in DB with a synthesised `backing` ref
124
+ * - `notebook.notes[0]` references the new Note
125
+ * - the create form is gone
126
+ */
127
+ export declare const CreateHiddenFieldPlay: Story;
128
+ //# sourceMappingURL=ObjectProperties.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectProperties.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/ObjectProperties/ObjectProperties.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAKjE,OAAO,EAA2B,GAAG,EAAkB,MAAM,YAAY,CAAC;AAG1E,OAAO,EAAE,cAAc,EAAsB,MAAM,4BAA4B,CAAC;AA0EhF,MAAM,MAAM,qBAAqB,GAAG;IAClC,oDAAoD;IACpD,EAAE,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,OAAO,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;IACjH,gDAAgD;IAChD,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC;CACrB,CAAC;AA8CF,QAAA,MAAM,IAAI;;eAEuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAME,CAAC;eAExB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AA4DnC;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,KAGrB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAE,KAmC3B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAkChC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,EAAE,KA8BnC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ObjectProperties.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectProperties.test.d.ts","sourceRoot":"","sources":["../../../../../src/components/ObjectProperties/ObjectProperties.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './ObjectProperties';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ObjectProperties/index.ts"],"names":[],"mappings":"AAIA,cAAc,oBAAoB,CAAC"}