@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.
- package/LICENSE +102 -5
- package/README.md +0 -1
- package/dist/lib/browser/index.mjs +3252 -2315
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/translations.mjs +83 -0
- package/dist/lib/browser/translations.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +3252 -2315
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/translations.mjs +85 -0
- package/dist/lib/node-esm/translations.mjs.map +7 -0
- package/dist/types/src/components/FieldEditor/FieldEditor.d.ts +8 -7
- package/dist/types/src/components/FieldEditor/FieldEditor.d.ts.map +1 -1
- package/dist/types/src/components/FieldEditor/FieldEditor.stories.d.ts +69 -60
- package/dist/types/src/components/FieldEditor/FieldEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/Form/Form.d.ts +123 -26
- package/dist/types/src/components/Form/Form.d.ts.map +1 -1
- package/dist/types/src/components/Form/Form.stories.d.ts +175 -138
- package/dist/types/src/components/Form/Form.stories.d.ts.map +1 -1
- package/dist/types/src/components/Form/FormField.d.ts +48 -0
- package/dist/types/src/components/Form/FormField.d.ts.map +1 -0
- package/dist/types/src/components/Form/FormFieldComponent.d.ts +95 -0
- package/dist/types/src/components/Form/FormFieldComponent.d.ts.map +1 -0
- package/dist/types/src/components/Form/FormFieldComponent.stories.d.ts +9 -0
- package/dist/types/src/components/Form/FormFieldComponent.stories.d.ts.map +1 -0
- package/dist/types/src/components/Form/FormFieldSet.d.ts +21 -0
- package/dist/types/src/components/Form/FormFieldSet.d.ts.map +1 -0
- package/dist/types/src/components/Form/FormTooltipsContext.d.ts +19 -0
- package/dist/types/src/components/Form/FormTooltipsContext.d.ts.map +1 -0
- package/dist/types/src/components/Form/Layout/FormLayout.d.ts +25 -0
- package/dist/types/src/components/Form/Layout/FormLayout.d.ts.map +1 -0
- package/dist/types/src/components/Form/Layout/FormLayout.stories.d.ts +116 -0
- package/dist/types/src/components/Form/Layout/FormLayout.stories.d.ts.map +1 -0
- package/dist/types/src/components/Form/Layout/annotation.d.ts +30 -0
- package/dist/types/src/components/Form/Layout/annotation.d.ts.map +1 -0
- package/dist/types/src/components/Form/Layout/index.d.ts +4 -0
- package/dist/types/src/components/Form/Layout/index.d.ts.map +1 -0
- package/dist/types/src/components/Form/Layout/parser.d.ts +31 -0
- package/dist/types/src/components/Form/Layout/parser.d.ts.map +1 -0
- package/dist/types/src/components/Form/Layout/parser.test.d.ts +2 -0
- package/dist/types/src/components/Form/Layout/parser.test.d.ts.map +1 -0
- package/dist/types/src/components/Form/fields/ArrayField.d.ts +18 -0
- package/dist/types/src/components/Form/fields/ArrayField.d.ts.map +1 -0
- package/dist/types/src/components/Form/fields/BooleanField.d.ts +4 -0
- package/dist/types/src/components/Form/fields/BooleanField.d.ts.map +1 -0
- package/dist/types/src/components/Form/fields/DateField.d.ts +4 -0
- package/dist/types/src/components/Form/fields/DateField.d.ts.map +1 -0
- package/dist/types/src/components/Form/fields/GeoPointField.d.ts +5 -0
- package/dist/types/src/components/Form/fields/GeoPointField.d.ts.map +1 -0
- package/dist/types/src/components/Form/fields/MarkdownField.d.ts +11 -0
- package/dist/types/src/components/Form/fields/MarkdownField.d.ts.map +1 -0
- package/dist/types/src/components/Form/fields/MarkdownField.stories.d.ts +85 -0
- package/dist/types/src/components/Form/fields/MarkdownField.stories.d.ts.map +1 -0
- package/dist/types/src/components/Form/fields/NumberField.d.ts +4 -0
- package/dist/types/src/components/Form/fields/NumberField.d.ts.map +1 -0
- package/dist/types/src/components/Form/fields/RefField.d.ts +22 -0
- package/dist/types/src/components/Form/fields/RefField.d.ts.map +1 -0
- package/dist/types/src/components/Form/fields/SelectField.d.ts +13 -0
- package/dist/types/src/components/Form/fields/SelectField.d.ts.map +1 -0
- package/dist/types/src/components/Form/fields/SelectOptionField.d.ts +5 -0
- package/dist/types/src/components/Form/fields/SelectOptionField.d.ts.map +1 -0
- package/dist/types/src/components/Form/fields/SelectOptionField.stories.d.ts +85 -0
- package/dist/types/src/components/Form/fields/SelectOptionField.stories.d.ts.map +1 -0
- package/dist/types/src/components/Form/fields/TextAreaField.d.ts +4 -0
- package/dist/types/src/components/Form/fields/TextAreaField.d.ts.map +1 -0
- package/dist/types/src/components/Form/fields/TextField.d.ts +4 -0
- package/dist/types/src/components/Form/fields/TextField.d.ts.map +1 -0
- package/dist/types/src/components/Form/fields/TupleField.d.ts +6 -0
- package/dist/types/src/components/Form/fields/TupleField.d.ts.map +1 -0
- package/dist/types/src/components/Form/fields/index.d.ts +13 -0
- package/dist/types/src/components/Form/fields/index.d.ts.map +1 -0
- package/dist/types/src/components/Form/index.d.ts +4 -4
- package/dist/types/src/components/Form/index.d.ts.map +1 -1
- package/dist/types/src/components/ObjectForm/ObjectForm.d.ts +8 -0
- package/dist/types/src/components/ObjectForm/ObjectForm.d.ts.map +1 -0
- package/dist/types/src/components/ObjectForm/index.d.ts +2 -0
- package/dist/types/src/components/ObjectForm/index.d.ts.map +1 -0
- package/dist/types/src/components/ObjectPicker/ObjectPicker.d.ts +37 -10
- package/dist/types/src/components/ObjectPicker/ObjectPicker.d.ts.map +1 -1
- package/dist/types/src/components/ObjectPicker/ObjectPicker.stories.d.ts +65 -59
- package/dist/types/src/components/ObjectPicker/ObjectPicker.stories.d.ts.map +1 -1
- package/dist/types/src/components/ObjectProperties/ObjectProperties.d.ts +9 -0
- package/dist/types/src/components/ObjectProperties/ObjectProperties.d.ts.map +1 -0
- package/dist/types/src/components/ObjectProperties/ObjectProperties.stories.d.ts +128 -0
- package/dist/types/src/components/ObjectProperties/ObjectProperties.stories.d.ts.map +1 -0
- package/dist/types/src/components/ObjectProperties/ObjectProperties.test.d.ts +2 -0
- package/dist/types/src/components/ObjectProperties/ObjectProperties.test.d.ts.map +1 -0
- package/dist/types/src/components/ObjectProperties/index.d.ts +2 -0
- package/dist/types/src/components/ObjectProperties/index.d.ts.map +1 -0
- package/dist/types/src/components/ObjectTree/ObjectTree.d.ts +9 -0
- package/dist/types/src/components/ObjectTree/ObjectTree.d.ts.map +1 -0
- package/dist/types/src/components/ObjectTree/ObjectTree.stories.d.ts +87 -0
- package/dist/types/src/components/ObjectTree/ObjectTree.stories.d.ts.map +1 -0
- package/dist/types/src/components/ObjectTree/index.d.ts +2 -0
- package/dist/types/src/components/ObjectTree/index.d.ts.map +1 -0
- package/dist/types/src/components/Settings/Settings.d.ts +51 -0
- package/dist/types/src/components/Settings/Settings.d.ts.map +1 -0
- package/dist/types/src/components/Settings/Settings.stories.d.ts +85 -0
- package/dist/types/src/components/Settings/Settings.stories.d.ts.map +1 -0
- package/dist/types/src/components/Settings/SettingsFieldSet.d.ts +43 -0
- package/dist/types/src/components/Settings/SettingsFieldSet.d.ts.map +1 -0
- package/dist/types/src/components/Settings/SettingsItem.d.ts +16 -0
- package/dist/types/src/components/Settings/SettingsItem.d.ts.map +1 -0
- package/dist/types/src/components/Settings/SettingsSelectField.d.ts +18 -0
- package/dist/types/src/components/Settings/SettingsSelectField.d.ts.map +1 -0
- package/dist/types/src/components/Settings/index.d.ts +4 -0
- package/dist/types/src/components/Settings/index.d.ts.map +1 -0
- package/dist/types/src/components/ViewEditor/ViewEditor.d.ts +16 -20
- package/dist/types/src/components/ViewEditor/ViewEditor.d.ts.map +1 -1
- package/dist/types/src/components/ViewEditor/ViewEditor.stories.d.ts +72 -66
- package/dist/types/src/components/ViewEditor/ViewEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +4 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/components/testing.d.ts +13 -6
- package/dist/types/src/components/testing.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +2 -3
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useFormHandler.d.ts +82 -0
- package/dist/types/src/hooks/useFormHandler.d.ts.map +1 -0
- package/dist/types/src/hooks/useKeyHandler.d.ts +7 -0
- package/dist/types/src/hooks/useKeyHandler.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +0 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +66 -60
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/util/field-type.d.ts +19 -0
- package/dist/types/src/util/field-type.d.ts.map +1 -0
- package/dist/types/src/util/field.d.ts +3 -3
- package/dist/types/src/util/field.d.ts.map +1 -1
- package/dist/types/src/util/formatting.d.ts +2 -2
- package/dist/types/src/util/formatting.d.ts.map +1 -1
- package/dist/types/src/util/index.d.ts +2 -1
- package/dist/types/src/util/index.d.ts.map +1 -1
- package/dist/types/src/util/properties.d.ts +17 -0
- package/dist/types/src/util/properties.d.ts.map +1 -0
- package/dist/types/src/util/properties.test.d.ts +2 -0
- package/dist/types/src/util/properties.test.d.ts.map +1 -0
- package/dist/types/src/util/refs.d.ts +2 -2
- package/dist/types/src/util/refs.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +61 -51
- package/src/components/FieldEditor/FieldEditor.stories.tsx +44 -25
- package/src/components/FieldEditor/FieldEditor.test.tsx +0 -1
- package/src/components/FieldEditor/FieldEditor.tsx +84 -84
- package/src/components/Form/AUDIT.md +17 -0
- package/src/components/Form/Form.stories.tsx +134 -252
- package/src/components/Form/Form.tsx +417 -107
- package/src/components/Form/FormField.tsx +332 -0
- package/src/components/Form/FormFieldComponent.stories.tsx +65 -0
- package/src/components/Form/FormFieldComponent.tsx +206 -0
- package/src/components/Form/FormFieldSet.tsx +173 -0
- package/src/components/Form/FormTooltipsContext.ts +25 -0
- package/src/components/Form/Layout/FormLayout.stories.tsx +339 -0
- package/src/components/Form/Layout/FormLayout.tsx +123 -0
- package/src/components/Form/Layout/annotation.ts +38 -0
- package/src/components/Form/Layout/index.ts +7 -0
- package/src/components/Form/Layout/parser.test.ts +120 -0
- package/src/components/Form/Layout/parser.ts +167 -0
- package/src/components/Form/README.md +3 -0
- package/src/components/Form/fields/ArrayField.tsx +185 -0
- package/src/components/Form/fields/BooleanField.tsx +22 -0
- package/src/components/Form/fields/DateField.tsx +95 -0
- package/src/components/Form/fields/GeoPointField.tsx +124 -0
- package/src/components/Form/fields/MarkdownField.stories.tsx +206 -0
- package/src/components/Form/fields/MarkdownField.tsx +168 -0
- package/src/components/Form/fields/NumberField.tsx +39 -0
- package/src/components/Form/fields/RefField.tsx +232 -0
- package/src/components/Form/fields/SelectField.tsx +77 -0
- package/src/components/Form/{custom/SelectOptionsInput.stories.tsx → fields/SelectOptionField.stories.tsx} +23 -18
- package/src/components/Form/{custom/SelectOptionsInput.tsx → fields/SelectOptionField.tsx} +31 -24
- package/src/components/Form/fields/TextAreaField.tsx +38 -0
- package/src/components/Form/fields/TextField.tsx +38 -0
- package/src/components/Form/{custom/TupleInput.tsx → fields/TupleField.tsx} +17 -9
- package/src/components/Form/fields/index.ts +16 -0
- package/src/components/Form/index.ts +5 -4
- package/src/components/ObjectForm/ObjectForm.tsx +115 -0
- package/src/components/{ControlSection → ObjectForm}/index.ts +1 -1
- package/src/components/ObjectPicker/ObjectPicker.stories.tsx +30 -25
- package/src/components/ObjectPicker/ObjectPicker.tsx +122 -81
- package/src/components/ObjectProperties/ObjectProperties.stories.tsx +350 -0
- package/src/components/ObjectProperties/ObjectProperties.test.tsx +108 -0
- package/src/components/ObjectProperties/ObjectProperties.tsx +147 -0
- package/src/components/ObjectProperties/index.ts +5 -0
- package/src/components/ObjectTree/ObjectTree.stories.tsx +134 -0
- package/src/components/ObjectTree/ObjectTree.tsx +190 -0
- package/src/components/ObjectTree/index.ts +5 -0
- package/src/components/Settings/AUDIT.md +51 -0
- package/src/components/Settings/Settings.stories.tsx +104 -0
- package/src/components/Settings/Settings.tsx +81 -0
- package/src/components/Settings/SettingsFieldSet.tsx +257 -0
- package/src/components/Settings/SettingsItem.tsx +58 -0
- package/src/components/Settings/SettingsSelectField.tsx +59 -0
- package/src/components/Settings/index.ts +7 -0
- package/src/components/ViewEditor/ViewEditor.stories.tsx +65 -73
- package/src/components/ViewEditor/ViewEditor.test.tsx +11 -11
- package/src/components/ViewEditor/ViewEditor.tsx +308 -214
- package/src/components/index.ts +4 -1
- package/src/components/testing.tsx +24 -11
- package/src/hooks/index.ts +2 -3
- package/src/hooks/useFormHandler.ts +380 -0
- package/src/hooks/useKeyHandler.tsx +37 -0
- package/src/index.ts +0 -4
- package/src/translations.ts +71 -65
- package/src/util/field-type.ts +60 -0
- package/src/util/field.ts +25 -25
- package/src/util/formatting.ts +22 -22
- package/src/util/index.ts +2 -1
- package/src/util/properties.test.ts +78 -0
- package/src/util/properties.ts +38 -0
- package/src/util/refs.ts +16 -18
- package/src/vite-env.d.ts +10 -0
- package/dist/types/src/components/ControlSection/ControlSection.d.ts +0 -23
- package/dist/types/src/components/ControlSection/ControlSection.d.ts.map +0 -1
- package/dist/types/src/components/ControlSection/ControlSection.stories.d.ts +0 -84
- package/dist/types/src/components/ControlSection/ControlSection.stories.d.ts.map +0 -1
- package/dist/types/src/components/ControlSection/index.d.ts +0 -2
- package/dist/types/src/components/ControlSection/index.d.ts.map +0 -1
- package/dist/types/src/components/Form/ArrayField.d.ts +0 -16
- package/dist/types/src/components/Form/ArrayField.d.ts.map +0 -1
- package/dist/types/src/components/Form/Defaults.d.ts +0 -14
- package/dist/types/src/components/Form/Defaults.d.ts.map +0 -1
- package/dist/types/src/components/Form/FormActions.d.ts +0 -9
- package/dist/types/src/components/Form/FormActions.d.ts.map +0 -1
- package/dist/types/src/components/Form/FormContent.d.ts +0 -63
- package/dist/types/src/components/Form/FormContent.d.ts.map +0 -1
- package/dist/types/src/components/Form/FormContext.d.ts +0 -23
- package/dist/types/src/components/Form/FormContext.d.ts.map +0 -1
- package/dist/types/src/components/Form/Input.d.ts +0 -29
- package/dist/types/src/components/Form/Input.d.ts.map +0 -1
- package/dist/types/src/components/Form/RefField.d.ts +0 -22
- package/dist/types/src/components/Form/RefField.d.ts.map +0 -1
- package/dist/types/src/components/Form/custom/GeoPointInput.d.ts +0 -4
- package/dist/types/src/components/Form/custom/GeoPointInput.d.ts.map +0 -1
- package/dist/types/src/components/Form/custom/SelectOptionsInput.d.ts +0 -4
- package/dist/types/src/components/Form/custom/SelectOptionsInput.d.ts.map +0 -1
- package/dist/types/src/components/Form/custom/SelectOptionsInput.stories.d.ts +0 -79
- package/dist/types/src/components/Form/custom/SelectOptionsInput.stories.d.ts.map +0 -1
- package/dist/types/src/components/Form/custom/TupleInput.d.ts +0 -6
- package/dist/types/src/components/Form/custom/TupleInput.d.ts.map +0 -1
- package/dist/types/src/components/Form/custom/index.d.ts +0 -4
- package/dist/types/src/components/Form/custom/index.d.ts.map +0 -1
- package/dist/types/src/components/Form/factory.d.ts +0 -8
- package/dist/types/src/components/Form/factory.d.ts.map +0 -1
- package/dist/types/src/hooks/useForm.d.ts +0 -67
- package/dist/types/src/hooks/useForm.d.ts.map +0 -1
- package/dist/types/src/hooks/useQueryRefOptions.d.ts +0 -29
- package/dist/types/src/hooks/useQueryRefOptions.d.ts.map +0 -1
- package/dist/types/src/hooks/useRefQueryLookupHandler.d.ts +0 -8
- package/dist/types/src/hooks/useRefQueryLookupHandler.d.ts.map +0 -1
- package/dist/types/src/util/schema.d.ts +0 -3
- package/dist/types/src/util/schema.d.ts.map +0 -1
- package/src/components/ControlSection/ControlSection.stories.tsx +0 -38
- package/src/components/ControlSection/ControlSection.tsx +0 -153
- package/src/components/Form/ArrayField.tsx +0 -125
- package/src/components/Form/Defaults.tsx +0 -205
- package/src/components/Form/FormActions.tsx +0 -54
- package/src/components/Form/FormContent.tsx +0 -322
- package/src/components/Form/FormContext.tsx +0 -110
- package/src/components/Form/Input.tsx +0 -54
- package/src/components/Form/RefField.tsx +0 -283
- package/src/components/Form/custom/GeoPointInput.tsx +0 -80
- package/src/components/Form/custom/index.ts +0 -7
- package/src/components/Form/factory.tsx +0 -31
- package/src/hooks/useForm.ts +0 -296
- package/src/hooks/useQueryRefOptions.ts +0 -62
- package/src/hooks/useRefQueryLookupHandler.ts +0 -39
- 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 @@
|
|
|
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 {
|
|
8
|
-
import { type
|
|
5
|
+
import { ProjectionModel } from '@dxos/schema';
|
|
6
|
+
import { type FormRootProps } from '../Form';
|
|
9
7
|
export type ViewEditorProps = ThemedClassName<{
|
|
10
|
-
|
|
11
|
-
view:
|
|
12
|
-
mode?: 'schema' | '
|
|
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?:
|
|
13
|
+
onQueryChanged?: (query: QueryAST.Query, target?: EchoURI.EchoURI) => void;
|
|
17
14
|
onDelete?: (fieldId: string) => void;
|
|
18
|
-
} & Pick<
|
|
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
|
-
|
|
24
|
-
view:
|
|
25
|
-
mode?:
|
|
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?:
|
|
25
|
+
onQueryChanged?: (query: QueryAST.Query, target?: EchoURI.EchoURI) => void;
|
|
30
26
|
onDelete?: (fieldId: string) => void;
|
|
31
|
-
} & Pick<
|
|
32
|
-
classNames?: import("@dxos/
|
|
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":"
|
|
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
|
|
4
|
-
import {
|
|
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
|
-
|
|
8
|
-
view:
|
|
7
|
+
type: Type.AnyEntity;
|
|
8
|
+
view: View.View;
|
|
9
9
|
projection: ProjectionModel;
|
|
10
10
|
};
|
|
11
|
-
type
|
|
11
|
+
type DefaultStoryProps = Pick<ViewEditorProps, 'readonly' | 'mode'>;
|
|
12
12
|
declare const meta: {
|
|
13
13
|
title: string;
|
|
14
|
-
render: (props:
|
|
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
|
|
22
|
-
readonly 'hidden
|
|
23
|
-
readonly 'empty
|
|
24
|
-
readonly '
|
|
25
|
-
readonly 'field
|
|
26
|
-
readonly 'field
|
|
27
|
-
readonly 'field
|
|
28
|
-
readonly '
|
|
29
|
-
readonly 'add
|
|
30
|
-
readonly '
|
|
31
|
-
readonly '
|
|
32
|
-
readonly 'boolean
|
|
33
|
-
readonly '
|
|
34
|
-
readonly '
|
|
35
|
-
readonly '
|
|
36
|
-
readonly '
|
|
37
|
-
readonly '
|
|
38
|
-
readonly 'ref
|
|
39
|
-
readonly 'ref
|
|
40
|
-
readonly '
|
|
41
|
-
readonly '
|
|
42
|
-
readonly '
|
|
43
|
-
readonly '
|
|
44
|
-
readonly '
|
|
45
|
-
readonly '
|
|
46
|
-
readonly '
|
|
47
|
-
readonly '
|
|
48
|
-
readonly 'format
|
|
49
|
-
readonly 'format
|
|
50
|
-
readonly 'format
|
|
51
|
-
readonly 'format
|
|
52
|
-
readonly 'format
|
|
53
|
-
readonly 'format
|
|
54
|
-
readonly 'format
|
|
55
|
-
readonly 'format
|
|
56
|
-
readonly 'format
|
|
57
|
-
readonly 'format
|
|
58
|
-
readonly 'format
|
|
59
|
-
readonly 'format
|
|
60
|
-
readonly 'format
|
|
61
|
-
readonly 'format
|
|
62
|
-
readonly 'format
|
|
63
|
-
readonly 'format
|
|
64
|
-
readonly 'format
|
|
65
|
-
readonly 'format
|
|
66
|
-
readonly 'format
|
|
67
|
-
readonly 'format
|
|
68
|
-
readonly 'format
|
|
69
|
-
readonly 'format
|
|
70
|
-
readonly '
|
|
71
|
-
readonly '
|
|
72
|
-
readonly '
|
|
73
|
-
readonly '
|
|
74
|
-
readonly '
|
|
75
|
-
readonly '
|
|
76
|
-
readonly '
|
|
77
|
-
readonly '
|
|
78
|
-
readonly '
|
|
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
|
|
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;
|
|
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
|