windmill-components 1.339.2 → 1.352.1
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/package/assets/app.css +0 -12
- package/package/ata/index.js +1 -0
- package/package/autosize.js +1 -1
- package/package/common.d.ts +6 -2
- package/package/common.js +2 -1
- package/package/components/AppConnectDrawer.svelte +1 -1
- package/package/components/AppConnectInner.svelte +9 -15
- package/package/components/ArgEnum.svelte +4 -1
- package/package/components/ArgEnum.svelte.d.ts +3 -1
- package/package/components/ArgInput.svelte +184 -141
- package/package/components/ArgInput.svelte.d.ts +7 -7
- package/package/components/ArrayTypeNarrowing.svelte +29 -27
- package/package/components/CenteredPage.svelte +2 -2
- package/package/components/DefaultTagsInner.svelte +1 -1
- package/package/components/Dev.svelte +2 -1
- package/package/components/DiffDrawer.svelte +1 -2
- package/package/components/DisplayResult.svelte +293 -233
- package/package/components/DurationMs.svelte +11 -3
- package/package/components/DurationMs.svelte.d.ts +2 -0
- package/package/components/EditableSchemaForm.svelte +447 -103
- package/package/components/EditableSchemaForm.svelte.d.ts +16 -6
- package/package/components/Editor.svelte +3 -1
- package/package/components/EditorBar.svelte +2 -2
- package/package/components/FlowBuilder.svelte +14 -6
- package/package/components/FlowGraphViewer.svelte +1 -1
- package/package/components/FlowGraphViewerStep.svelte +37 -9
- package/package/components/FlowGraphViewerStep.svelte.d.ts +2 -7
- package/package/components/FlowJobResult.svelte +1 -3
- package/package/components/FlowMetadata.svelte +1 -1
- package/package/components/FlowPreviewContent.svelte +5 -3
- package/package/components/FlowStatusViewer.svelte +4 -0
- package/package/components/FlowStatusViewer.svelte.d.ts +3 -0
- package/package/components/FlowStatusViewerInner.svelte +50 -17
- package/package/components/FlowStatusViewerInner.svelte.d.ts +3 -0
- package/package/components/FlowTimeline.svelte +13 -0
- package/package/components/FlowTimeline.svelte.d.ts +2 -0
- package/package/components/FlowViewer.svelte +0 -5
- package/package/components/FolderEditor.svelte +25 -0
- package/package/components/FolderEditor.svelte.d.ts +2 -0
- package/package/components/GroupEditor.svelte +36 -91
- package/package/components/GroupInfo.svelte +1 -1
- package/package/components/InputTransformForm.svelte +16 -1
- package/package/components/InputTransformForm.svelte.d.ts +2 -0
- package/package/components/InputTransformSchemaForm.svelte +6 -0
- package/package/components/InputTransformSchemaForm.svelte.d.ts +2 -0
- package/package/components/InstanceSettings.svelte +36 -3
- package/package/components/InstanceSettings.svelte.d.ts +2 -0
- package/package/components/JobStatus.svelte +2 -2
- package/package/components/LightweightArgInput.svelte +66 -14
- package/package/components/LightweightArgInput.svelte.d.ts +3 -2
- package/package/components/LightweightSchemaForm.svelte +24 -15
- package/package/components/ModulePreviewForm.svelte +1 -0
- package/package/components/NumberTypeNarrowing.svelte +71 -44
- package/package/components/ObjectResourceInput.svelte +2 -0
- package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
- package/package/components/ObjectTypeNarrowing.svelte +0 -1
- package/package/components/ParqetCsvTableRenderer.svelte +181 -0
- package/package/components/ParqetCsvTableRenderer.svelte.d.ts +21 -0
- package/package/components/Path.svelte +2 -2
- package/package/components/PersistentScriptDrawer.svelte +6 -3
- package/package/components/Range.svelte +88 -286
- package/package/components/Range.svelte.d.ts +9 -23
- package/package/components/ResourceEditor.svelte +138 -141
- package/package/components/ResourceEditor.svelte.d.ts +9 -2
- package/package/components/ResourceEditorDrawer.svelte +45 -0
- package/package/components/ResourceEditorDrawer.svelte.d.ts +21 -0
- package/package/components/ResourcePicker.svelte +5 -2
- package/package/components/ResourceTypePicker.svelte +88 -36
- package/package/components/RunChart.svelte +55 -5
- package/package/components/RunChart.svelte.d.ts +1 -0
- package/package/components/RunForm.svelte +1 -1
- package/package/components/S3FilePicker.svelte +20 -8
- package/package/components/S3FilePicker.svelte.d.ts +2 -0
- package/package/components/ScheduleEditorInner.svelte +40 -37
- package/package/components/SchemaForm.svelte +192 -103
- package/package/components/SchemaForm.svelte.d.ts +16 -2
- package/package/components/ScriptBuilder.svelte +13 -8
- package/package/components/ScriptSchedules.svelte +11 -8
- package/package/components/ScriptSchema.svelte +3 -21
- package/package/components/ScriptVersionHistory.svelte +1 -1
- package/package/components/StringTypeNarrowing.svelte +217 -174
- package/package/components/StringTypeNarrowing.svelte.d.ts +5 -1
- package/package/components/Toggle.svelte +6 -3
- package/package/components/Toggle.svelte.d.ts +1 -0
- package/package/components/UserSettings.svelte +24 -1
- package/package/components/WorkspaceGroup.svelte +11 -13
- package/package/components/apps/components/buttons/AppButton.svelte +2 -0
- package/package/components/apps/components/buttons/AppButton.svelte.d.ts +1 -0
- package/package/components/apps/components/display/AppFlowStatusComponent.svelte +13 -70
- package/package/components/apps/components/display/AppFlowStatusComponent.svelte.d.ts +1 -9
- package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +21 -8
- package/package/components/apps/components/display/AppJobIdFlowStatus.svelte.d.ts +1 -3
- package/package/components/apps/components/display/AppJobIdLogComponent.svelte +19 -7
- package/package/components/apps/components/display/AppJobIdLogComponent.svelte.d.ts +1 -3
- package/package/components/apps/components/display/AppLogsComponent.svelte +13 -70
- package/package/components/apps/components/display/AppLogsComponent.svelte.d.ts +1 -9
- package/package/components/apps/components/display/charts/AppAgCharts.svelte +25 -15
- package/package/components/apps/components/display/table/AppAggridTableActions.svelte +2 -0
- package/package/components/apps/components/display/table/SyncColumnDefs.svelte +1 -1
- package/package/components/apps/components/helpers/HiddenComponent.svelte +2 -1
- package/package/components/apps/components/helpers/RunnableComponent.svelte +18 -8
- package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -0
- package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -0
- package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -0
- package/package/components/apps/components/helpers/eval.js +1 -36
- package/package/components/apps/components/inputs/AppFileInput.svelte +3 -1
- package/package/components/apps/components/inputs/AppFileInput.svelte.d.ts +1 -0
- package/package/components/apps/components/inputs/AppS3FileInput.svelte +3 -1
- package/package/components/apps/components/inputs/AppS3FileInput.svelte.d.ts +1 -0
- package/package/components/apps/components/layout/AppConditionalWrapper.svelte +3 -1
- package/package/components/apps/components/layout/AppConditionalWrapper.svelte.d.ts +1 -0
- package/package/components/apps/components/layout/AppStepper.svelte +5 -1
- package/package/components/apps/components/layout/AppStepper.svelte.d.ts +2 -0
- package/package/components/apps/components/layout/AppTabs.svelte +3 -1
- package/package/components/apps/components/layout/AppTabs.svelte.d.ts +1 -0
- package/package/components/apps/editor/AppEditorHeader.svelte +6 -7
- package/package/components/apps/editor/SettingsPanel.svelte +13 -3
- package/package/components/apps/editor/component/Component.svelte +8 -16
- package/package/components/apps/editor/component/components.d.ts +11 -2
- package/package/components/apps/editor/component/components.js +2 -1
- package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +1 -1
- package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +5 -34
- package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +3 -41
- package/package/components/apps/editor/settingsPanel/EventHandlerItem.svelte +33 -0
- package/package/components/apps/editor/settingsPanel/EventHandlerItem.svelte.d.ts +19 -0
- package/package/components/apps/editor/settingsPanel/EventHandlers.svelte +103 -0
- package/package/components/apps/editor/settingsPanel/EventHandlers.svelte.d.ts +18 -0
- package/package/components/apps/editor/settingsPanel/GridCondition.svelte +21 -45
- package/package/components/apps/editor/settingsPanel/GridTab.svelte +3 -23
- package/package/components/apps/editor/settingsPanel/InputsSpecsEditor.svelte +5 -1
- package/package/components/apps/editor/settingsPanel/SubTypeEditor.svelte +0 -2
- package/package/components/apps/editor/settingsPanel/SubTypeEditor.svelte.d.ts +0 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +7 -1
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +7 -14
- package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte.d.ts +0 -1
- package/package/components/build_workers.js +13 -11
- package/package/components/common/button/ButtonDropdown.svelte +1 -0
- package/package/components/common/drawer/Disposable.svelte +3 -2
- package/package/components/common/drawer/Disposable.svelte.d.ts +1 -0
- package/package/components/common/drawer/Drawer.svelte +12 -2
- package/package/components/common/drawer/Drawer.svelte.d.ts +1 -0
- package/package/components/common/fileDownload/FileDownload.svelte +4 -2
- package/package/components/common/fileUpload/FileUpload.svelte +4 -3
- package/package/components/common/modal/Modal.svelte +4 -1
- package/package/components/common/modal/Modal.svelte.d.ts +1 -0
- package/package/components/common/popup/Popup.svelte +1 -1
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +4 -1
- package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -0
- package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte +79 -0
- package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte.d.ts +18 -0
- package/package/components/flows/content/FlowEditorPanel.svelte +16 -2
- package/package/components/flows/content/FlowInput.svelte +63 -53
- package/package/components/flows/content/FlowModuleComponent.svelte +26 -3
- package/package/components/flows/content/FlowModuleScript.svelte +40 -1
- package/package/components/flows/content/FlowModuleScript.svelte.d.ts +2 -0
- package/package/components/flows/content/FlowModuleSuspend.svelte +99 -59
- package/package/components/flows/content/FlowModuleWrapper.svelte +16 -1
- package/package/components/flows/content/FlowSchedules.svelte +11 -8
- package/package/components/flows/content/ScriptEditorDrawer.svelte +3 -4
- package/package/components/flows/flowStateUtils.js +4 -1
- package/package/components/flows/map/FlowModuleSchemaItem.svelte +16 -1
- package/package/components/flows/map/FlowModuleSchemaMap.svelte +6 -1
- package/package/components/flows/types.d.ts +4 -0
- package/package/components/flows/utils.d.ts +5 -1
- package/package/components/flows/utils.js +36 -0
- package/package/components/graph/FlowGraph.svelte +5 -2
- package/package/components/graph/FlowGraph.svelte.d.ts +2 -0
- package/package/components/graph/svelvet/container/models/index.d.ts +0 -5
- package/package/components/graph/svelvet/container/models/index.js +1 -1
- package/package/components/graph/svelvet/container/views/Svelvet.svelte +2 -5
- package/package/components/graph/util.d.ts +1 -37
- package/package/components/graph/util.js +0 -34
- package/package/components/instanceSettings.js +2 -1
- package/package/components/jobs/JobPreview.svelte +1 -1
- package/package/components/multiselect/MultiSelect.svelte +4 -3
- package/package/components/multiselect/MultiSelect.svelte.d.ts +1 -0
- package/package/components/multiselect/MultiSelectWrapper.svelte +89 -0
- package/package/components/multiselect/MultiSelectWrapper.svelte.d.ts +20 -0
- package/package/components/propertyPicker/ObjectViewer.svelte +6 -2
- package/package/components/runs/JobPreview.svelte +5 -1
- package/package/components/runs/RunRow.svelte +22 -3
- package/package/components/runs/RunRow.svelte.d.ts +2 -1
- package/package/components/runs/RunsTable.svelte +22 -9
- package/package/components/runs/RunsTable.svelte.d.ts +2 -1
- package/package/components/schema/AddProperty.svelte +149 -0
- package/package/components/schema/AddProperty.svelte.d.ts +23 -0
- package/package/components/schema/AddPropertyForm.svelte +33 -0
- package/package/components/schema/AddPropertyForm.svelte.d.ts +16 -0
- package/package/components/schema/EditableSchemaDrawer.svelte +198 -0
- package/package/components/schema/EditableSchemaDrawer.svelte.d.ts +21 -0
- package/package/components/schema/EditableSchemaWrapper.svelte +31 -0
- package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +22 -0
- package/package/components/schema/FlowPropertyEditor.svelte +393 -0
- package/package/components/schema/FlowPropertyEditor.svelte.d.ts +47 -0
- package/package/components/schema/PropertyEditor.svelte +185 -0
- package/package/components/schema/PropertyEditor.svelte.d.ts +46 -0
- package/package/components/schema/SchemaFormDND.svelte +75 -0
- package/package/components/schema/SchemaFormDND.svelte.d.ts +28 -0
- package/package/components/table/AutoDataTable.svelte +90 -104
- package/package/components/table/Cell.svelte +4 -1
- package/package/components/table/Cell.svelte.d.ts +1 -0
- package/package/components/table/DownloadCsv.svelte +30 -0
- package/package/components/table/DownloadCsv.svelte.d.ts +17 -0
- package/package/components/table/tableUtils.d.ts +8 -0
- package/package/components/table/tableUtils.js +37 -0
- package/package/consts.js +3 -1
- package/package/deno_fetch.d.ts.txt +6 -0
- package/package/gen/core/OpenAPI.js +1 -1
- package/package/gen/schemas.gen.d.ts +76 -0
- package/package/gen/schemas.gen.js +76 -0
- package/package/gen/services.gen.d.ts +100 -5
- package/package/gen/services.gen.js +216 -16
- package/package/gen/types.gen.d.ts +378 -5
- package/package/inferArgSig.d.ts +10 -0
- package/package/inferArgSig.js +59 -2
- package/package/scripts.d.ts +2 -0
- package/package/scripts.js +6 -3
- package/package/utils.d.ts +4 -3
- package/package/utils.js +9 -4
- package/package/workspace_settings.d.ts +15 -0
- package/package/workspace_settings.js +81 -0
- package/package.json +17 -7
- package/package/components/ParqetTableRenderer.svelte +0 -117
- package/package/components/ParqetTableRenderer.svelte.d.ts +0 -18
- package/package/components/PropertyRow.svelte +0 -88
- package/package/components/PropertyRow.svelte.d.ts +0 -23
- package/package/components/SchemaEditor.svelte +0 -346
- package/package/components/SchemaEditor.svelte.d.ts +0 -25
- package/package/components/SchemaModal.svelte +0 -443
- package/package/components/SchemaModal.svelte.d.ts +0 -33
- package/package/components/apps/editor/settingsPanel/Recompute.svelte +0 -55
- package/package/components/apps/editor/settingsPanel/Recompute.svelte.d.ts +0 -20
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
<script>import Alert from '../common/alert/Alert.svelte';
|
|
2
|
+
import Label from '../Label.svelte';
|
|
3
|
+
import Toggle from '../Toggle.svelte';
|
|
4
|
+
import SimpleEditor from '../SimpleEditor.svelte';
|
|
5
|
+
import { createEventDispatcher } from 'svelte';
|
|
6
|
+
import ArgInput from '../ArgInput.svelte';
|
|
7
|
+
import ObjectTypeNarrowing from '../ObjectTypeNarrowing.svelte';
|
|
8
|
+
import Tabs from '../common/tabs/Tabs.svelte';
|
|
9
|
+
import { Tab, TabContent } from '../common';
|
|
10
|
+
import LightweightArgInput from '../LightweightArgInput.svelte';
|
|
11
|
+
import EditableSchemaDrawer from './EditableSchemaDrawer.svelte';
|
|
12
|
+
import ToggleButtonGroup from '../common/toggleButton-v2/ToggleButtonGroup.svelte';
|
|
13
|
+
import ToggleButton from '../common/toggleButton-v2/ToggleButton.svelte';
|
|
14
|
+
import Button from '../common/button/Button.svelte';
|
|
15
|
+
import { Pen, Plus, Trash2 } from 'lucide-svelte';
|
|
16
|
+
import Popup from '../common/popup/Popup.svelte';
|
|
17
|
+
import { deepEqual } from 'fast-equals';
|
|
18
|
+
export let format = '';
|
|
19
|
+
export let contentEncoding = undefined;
|
|
20
|
+
export let type = undefined;
|
|
21
|
+
export let oneOf = undefined;
|
|
22
|
+
export let required = false;
|
|
23
|
+
export let pattern = undefined;
|
|
24
|
+
export let password = false;
|
|
25
|
+
export let variableEditor = undefined;
|
|
26
|
+
export let itemPicker = undefined;
|
|
27
|
+
export let nullable = false;
|
|
28
|
+
export let defaultValue = undefined;
|
|
29
|
+
export let propsNames = [];
|
|
30
|
+
export let showExpr = undefined;
|
|
31
|
+
export let extra = {};
|
|
32
|
+
export let customErrorMessage = undefined;
|
|
33
|
+
export let itemsType = undefined;
|
|
34
|
+
export let properties = {};
|
|
35
|
+
export let order = [];
|
|
36
|
+
export let requiredProperty = [];
|
|
37
|
+
export let displayWebhookWarning = true;
|
|
38
|
+
export let lightweightMode = false;
|
|
39
|
+
function getOneOfWithoutLabel(oneOf) {
|
|
40
|
+
return oneOf.map((v) => ({
|
|
41
|
+
...v,
|
|
42
|
+
properties: Object.fromEntries(Object.entries(v.properties ?? {}).filter(([k, v]) => k !== 'label'))
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
let oneOfSelected = undefined;
|
|
46
|
+
function oneOfUpdate(oneOf) {
|
|
47
|
+
if (oneOf && oneOf.length >= 2) {
|
|
48
|
+
if (!oneOfSelected) {
|
|
49
|
+
oneOfSelected = oneOf[0].title;
|
|
50
|
+
}
|
|
51
|
+
if (!schema.oneOf ||
|
|
52
|
+
!deepEqual(oneOf.map((v) => [v.title, v.order]), schema.oneOf.map((v) => [v.title, v.order]))) {
|
|
53
|
+
// update schema if not exists or order changed
|
|
54
|
+
schema.oneOf = getOneOfWithoutLabel(oneOf);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
else if (!oneOf) {
|
|
58
|
+
schema.oneOf = undefined;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
$: oneOfUpdate(oneOf);
|
|
62
|
+
function orderUpdate(order) {
|
|
63
|
+
if (order && !deepEqual(order, schema.order)) {
|
|
64
|
+
// update from external reordering
|
|
65
|
+
schema.order = order;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
$: orderUpdate(order);
|
|
69
|
+
const dispatch = createEventDispatcher();
|
|
70
|
+
function getResourceTypesFromFormat(format) {
|
|
71
|
+
if (format?.startsWith('resource-')) {
|
|
72
|
+
return [format.split('-')[1]];
|
|
73
|
+
}
|
|
74
|
+
return [];
|
|
75
|
+
}
|
|
76
|
+
let schema = {
|
|
77
|
+
properties,
|
|
78
|
+
order,
|
|
79
|
+
required: requiredProperty,
|
|
80
|
+
oneOf: oneOf ? getOneOfWithoutLabel(oneOf) : undefined
|
|
81
|
+
};
|
|
82
|
+
console.log('initial schema', schema);
|
|
83
|
+
function schemaUpdate(changedSchema) {
|
|
84
|
+
if (!deepEqual(changedSchema, {
|
|
85
|
+
properties,
|
|
86
|
+
order,
|
|
87
|
+
required: requiredProperty,
|
|
88
|
+
oneOf: oneOf ? getOneOfWithoutLabel(oneOf) : undefined
|
|
89
|
+
})) {
|
|
90
|
+
properties = changedSchema.properties;
|
|
91
|
+
order = changedSchema.order;
|
|
92
|
+
requiredProperty = changedSchema.required;
|
|
93
|
+
oneOf = changedSchema.oneOf?.map((v) => {
|
|
94
|
+
return {
|
|
95
|
+
...v,
|
|
96
|
+
properties: {
|
|
97
|
+
...v.properties,
|
|
98
|
+
label: {
|
|
99
|
+
type: 'string',
|
|
100
|
+
enum: [v.title ?? '']
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
});
|
|
105
|
+
dispatch('schemaChange');
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
$: schemaUpdate(schema);
|
|
109
|
+
let variantName = '';
|
|
110
|
+
function createVariant(name) {
|
|
111
|
+
if (schema.oneOf) {
|
|
112
|
+
if (schema.oneOf.some((obj) => obj.title === name)) {
|
|
113
|
+
throw new Error('Variant name already exists');
|
|
114
|
+
}
|
|
115
|
+
const idx = schema.oneOf.findIndex((obj) => obj.title === name);
|
|
116
|
+
if (idx === -1) {
|
|
117
|
+
schema.oneOf = [
|
|
118
|
+
...schema.oneOf,
|
|
119
|
+
{
|
|
120
|
+
title: name,
|
|
121
|
+
type: 'object',
|
|
122
|
+
properties: {}
|
|
123
|
+
}
|
|
124
|
+
];
|
|
125
|
+
oneOfSelected = name;
|
|
126
|
+
}
|
|
127
|
+
variantName = '';
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
function renameVariant(name, selected) {
|
|
131
|
+
if (schema.oneOf) {
|
|
132
|
+
if (schema.oneOf.some((obj) => obj.title === name)) {
|
|
133
|
+
throw new Error('Variant name already exists');
|
|
134
|
+
}
|
|
135
|
+
const idx = schema.oneOf.findIndex((obj) => obj.title === selected);
|
|
136
|
+
if (idx !== -1) {
|
|
137
|
+
schema.oneOf[idx].title = name;
|
|
138
|
+
oneOfSelected = name;
|
|
139
|
+
}
|
|
140
|
+
variantName = '';
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
</script>
|
|
144
|
+
|
|
145
|
+
<div class="flex flex-col gap-2">
|
|
146
|
+
{#if type === 'object' && schema.oneOf && schema.oneOf.length >= 2}
|
|
147
|
+
<div class="flex flex-row gap-2 items-center justify-start">
|
|
148
|
+
<ToggleButtonGroup bind:selected={oneOfSelected} class="w-auto">
|
|
149
|
+
{#each schema.oneOf as obj}
|
|
150
|
+
<ToggleButton value={obj.title} label={obj.title} />
|
|
151
|
+
{/each}
|
|
152
|
+
</ToggleButtonGroup>
|
|
153
|
+
|
|
154
|
+
<Popup
|
|
155
|
+
floatingConfig={{ strategy: 'absolute', placement: 'bottom-end' }}
|
|
156
|
+
containerClasses="border rounded-lg shadow-lg p-4 bg-surface"
|
|
157
|
+
let:close
|
|
158
|
+
>
|
|
159
|
+
<svelte:fragment slot="button">
|
|
160
|
+
<Button size="xs2" color="light" nonCaptureEvent startIcon={{ icon: Plus }} />
|
|
161
|
+
</svelte:fragment>
|
|
162
|
+
<Label label="Label">
|
|
163
|
+
<div class="flex flex-col gap-2">
|
|
164
|
+
<input
|
|
165
|
+
type="text"
|
|
166
|
+
class="w-full !bg-surface"
|
|
167
|
+
on:keydown={(event) => {
|
|
168
|
+
if (event.key === 'Enter') {
|
|
169
|
+
createVariant(variantName)
|
|
170
|
+
close(null)
|
|
171
|
+
}
|
|
172
|
+
}}
|
|
173
|
+
bind:value={variantName}
|
|
174
|
+
/>
|
|
175
|
+
<Button
|
|
176
|
+
variant="border"
|
|
177
|
+
color="light"
|
|
178
|
+
size="xs"
|
|
179
|
+
on:click={() => {
|
|
180
|
+
createVariant(variantName)
|
|
181
|
+
close(null)
|
|
182
|
+
}}
|
|
183
|
+
disabled={!variantName}
|
|
184
|
+
>
|
|
185
|
+
Add
|
|
186
|
+
</Button>
|
|
187
|
+
</div>
|
|
188
|
+
</Label>
|
|
189
|
+
</Popup>
|
|
190
|
+
</div>
|
|
191
|
+
<div class="flex flex-row gap-2 items-center">
|
|
192
|
+
<span class="font-semibold text-sm">{oneOfSelected}</span>
|
|
193
|
+
|
|
194
|
+
<Popup
|
|
195
|
+
floatingConfig={{ strategy: 'absolute', placement: 'bottom-end' }}
|
|
196
|
+
containerClasses="border rounded-lg shadow-lg p-4 bg-surface"
|
|
197
|
+
let:close
|
|
198
|
+
>
|
|
199
|
+
<svelte:fragment slot="button">
|
|
200
|
+
<Button
|
|
201
|
+
size="xs2"
|
|
202
|
+
color="light"
|
|
203
|
+
startIcon={{ icon: Pen }}
|
|
204
|
+
propagateEvent
|
|
205
|
+
iconOnly={false}
|
|
206
|
+
on:click={() => {
|
|
207
|
+
if (oneOfSelected) {
|
|
208
|
+
variantName = oneOfSelected
|
|
209
|
+
}
|
|
210
|
+
}}
|
|
211
|
+
/>
|
|
212
|
+
</svelte:fragment>
|
|
213
|
+
<Label label="Label">
|
|
214
|
+
<div class="flex flex-col gap-2">
|
|
215
|
+
<input
|
|
216
|
+
type="text"
|
|
217
|
+
class="w-full !bg-surface"
|
|
218
|
+
on:keydown={(event) => {
|
|
219
|
+
if (event.key === 'Enter') {
|
|
220
|
+
if (oneOfSelected) {
|
|
221
|
+
renameVariant(variantName, oneOfSelected)
|
|
222
|
+
close(null)
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}}
|
|
226
|
+
bind:value={variantName}
|
|
227
|
+
/>
|
|
228
|
+
<Button
|
|
229
|
+
variant="border"
|
|
230
|
+
color="light"
|
|
231
|
+
size="xs"
|
|
232
|
+
on:click={() => {
|
|
233
|
+
if (oneOfSelected) {
|
|
234
|
+
renameVariant(variantName, oneOfSelected)
|
|
235
|
+
close(null)
|
|
236
|
+
}
|
|
237
|
+
}}
|
|
238
|
+
disabled={!variantName}
|
|
239
|
+
>
|
|
240
|
+
Rename
|
|
241
|
+
</Button>
|
|
242
|
+
</div>
|
|
243
|
+
</Label>
|
|
244
|
+
</Popup>
|
|
245
|
+
<Button
|
|
246
|
+
size="xs2"
|
|
247
|
+
color="red"
|
|
248
|
+
startIcon={{ icon: Trash2 }}
|
|
249
|
+
iconOnly
|
|
250
|
+
disabled={schema.oneOf.length <= 2}
|
|
251
|
+
on:click={() => {
|
|
252
|
+
if (schema.oneOf && oneOfSelected) {
|
|
253
|
+
const idx = schema.oneOf.findIndex((obj) => obj.title === oneOfSelected)
|
|
254
|
+
schema.oneOf = schema.oneOf.filter((_, i) => i !== idx)
|
|
255
|
+
oneOfSelected = schema.oneOf[0].title
|
|
256
|
+
}
|
|
257
|
+
}}
|
|
258
|
+
/>
|
|
259
|
+
</div>
|
|
260
|
+
{#if oneOfSelected && schema.oneOf}
|
|
261
|
+
{@const idx = schema.oneOf.findIndex((obj) => obj.title === oneOfSelected)}
|
|
262
|
+
<EditableSchemaDrawer bind:schema={schema.oneOf[idx]} />
|
|
263
|
+
{/if}
|
|
264
|
+
{:else if type === 'object' && format !== 'resource-s3_object'}
|
|
265
|
+
<Tabs
|
|
266
|
+
selected="resource"
|
|
267
|
+
on:selected={(e) => {
|
|
268
|
+
if (e.detail === 'custom-object') {
|
|
269
|
+
format = ''
|
|
270
|
+
}
|
|
271
|
+
}}
|
|
272
|
+
>
|
|
273
|
+
<Tab value="resource">Resource</Tab>
|
|
274
|
+
<Tab value="custom-object">Custom Object</Tab>
|
|
275
|
+
<svelte:fragment slot="content">
|
|
276
|
+
<div class="pt-2">
|
|
277
|
+
<TabContent value="custom-object">
|
|
278
|
+
<EditableSchemaDrawer bind:schema />
|
|
279
|
+
</TabContent>
|
|
280
|
+
|
|
281
|
+
<TabContent value="resource">
|
|
282
|
+
<ObjectTypeNarrowing bind:format />
|
|
283
|
+
</TabContent>
|
|
284
|
+
</div>
|
|
285
|
+
</svelte:fragment>
|
|
286
|
+
</Tabs>
|
|
287
|
+
{/if}
|
|
288
|
+
|
|
289
|
+
{#if !(type === 'object' && oneOf && oneOf.length >= 2)}
|
|
290
|
+
<Label label="Default">
|
|
291
|
+
{#if lightweightMode}
|
|
292
|
+
<LightweightArgInput
|
|
293
|
+
bind:value={defaultValue}
|
|
294
|
+
type={password ? 'string' : type}
|
|
295
|
+
displayHeader={false}
|
|
296
|
+
{pattern}
|
|
297
|
+
{customErrorMessage}
|
|
298
|
+
{itemsType}
|
|
299
|
+
{contentEncoding}
|
|
300
|
+
{format}
|
|
301
|
+
{extra}
|
|
302
|
+
/>
|
|
303
|
+
{:else}
|
|
304
|
+
<ArgInput
|
|
305
|
+
{itemPicker}
|
|
306
|
+
resourceTypes={getResourceTypesFromFormat(format)}
|
|
307
|
+
bind:value={defaultValue}
|
|
308
|
+
type={password ? 'string' : type}
|
|
309
|
+
displayHeader={false}
|
|
310
|
+
{pattern}
|
|
311
|
+
{customErrorMessage}
|
|
312
|
+
{itemsType}
|
|
313
|
+
{contentEncoding}
|
|
314
|
+
{format}
|
|
315
|
+
{extra}
|
|
316
|
+
{nullable}
|
|
317
|
+
{variableEditor}
|
|
318
|
+
compact
|
|
319
|
+
noMargin
|
|
320
|
+
/>
|
|
321
|
+
{/if}
|
|
322
|
+
</Label>
|
|
323
|
+
{/if}
|
|
324
|
+
|
|
325
|
+
<div class="flex flex-row gap-2">
|
|
326
|
+
<Toggle
|
|
327
|
+
options={{ right: 'Required' }}
|
|
328
|
+
size="xs"
|
|
329
|
+
disabled={type === 'boolean'}
|
|
330
|
+
on:change={(event) => {
|
|
331
|
+
dispatch('requiredChange', { required: event?.detail })
|
|
332
|
+
}}
|
|
333
|
+
checked={required}
|
|
334
|
+
on:change={(event) => {
|
|
335
|
+
if (event?.detail) {
|
|
336
|
+
nullable = false
|
|
337
|
+
}
|
|
338
|
+
}}
|
|
339
|
+
/>
|
|
340
|
+
{#if type === 'string'}
|
|
341
|
+
<Toggle
|
|
342
|
+
options={{
|
|
343
|
+
right: 'Nullable',
|
|
344
|
+
rightTooltip: 'If enabled, the default value will be null and not an empty string.'
|
|
345
|
+
}}
|
|
346
|
+
lightMode
|
|
347
|
+
size="xs"
|
|
348
|
+
bind:checked={nullable}
|
|
349
|
+
disabled={required}
|
|
350
|
+
/>
|
|
351
|
+
{/if}
|
|
352
|
+
</div>
|
|
353
|
+
|
|
354
|
+
{#if displayWebhookWarning && !(type === 'object' && oneOf && oneOf.length >= 2)}
|
|
355
|
+
<Alert type="info" title="Default not used by webhooks" size="xs" collapsible>
|
|
356
|
+
If this flow is triggered by a webhook, the default value will not replace a missing value
|
|
357
|
+
from the payload. It will only be used as the default value in the autogenerated UI. We
|
|
358
|
+
recommend using default values in the signature of the steps where this value is used (using
|
|
359
|
+
`x=default`) to have the desired behavior.
|
|
360
|
+
</Alert>
|
|
361
|
+
{/if}
|
|
362
|
+
</div>
|
|
363
|
+
<div>
|
|
364
|
+
<Toggle
|
|
365
|
+
size="xs"
|
|
366
|
+
options={{ right: 'Show this field only when conditions are met' }}
|
|
367
|
+
checked={Boolean(showExpr)}
|
|
368
|
+
on:change={() => {
|
|
369
|
+
showExpr = showExpr ? undefined : 'true //fields.foo == 42'
|
|
370
|
+
}}
|
|
371
|
+
/>
|
|
372
|
+
{#if showExpr != undefined}
|
|
373
|
+
<div class="border">
|
|
374
|
+
<SimpleEditor
|
|
375
|
+
extraLib={`declare const fields: Record<${propsNames
|
|
376
|
+
?.filter((x) => x != name)
|
|
377
|
+
.map((x) => `"${x}"`)
|
|
378
|
+
.join(' | ')}, any>;\n`}
|
|
379
|
+
lang="javascript"
|
|
380
|
+
bind:code={showExpr}
|
|
381
|
+
shouldBindKey={false}
|
|
382
|
+
fixedOverflowWidgets={false}
|
|
383
|
+
autoHeight
|
|
384
|
+
/>
|
|
385
|
+
</div>
|
|
386
|
+
<div class="flex flex-row-reverse text-2xs text-tertiary">
|
|
387
|
+
<div>
|
|
388
|
+
Other fields are available under <code>fields</code> (e.g:
|
|
389
|
+
<code>fields.foo == 42</code>)
|
|
390
|
+
</div>
|
|
391
|
+
</div>
|
|
392
|
+
{/if}
|
|
393
|
+
</div>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import type ItemPicker from '../ItemPicker.svelte';
|
|
3
|
+
import type VariableEditor from '../VariableEditor.svelte';
|
|
4
|
+
import type { SchemaProperty } from '../../common';
|
|
5
|
+
declare const __propDef: {
|
|
6
|
+
props: {
|
|
7
|
+
format?: string | undefined;
|
|
8
|
+
contentEncoding?: 'base64' | 'binary' | undefined;
|
|
9
|
+
type?: string | undefined;
|
|
10
|
+
oneOf?: SchemaProperty[] | undefined;
|
|
11
|
+
required?: boolean | undefined;
|
|
12
|
+
pattern?: undefined | string;
|
|
13
|
+
password?: boolean | undefined;
|
|
14
|
+
variableEditor?: VariableEditor | undefined;
|
|
15
|
+
itemPicker?: ItemPicker | undefined;
|
|
16
|
+
nullable?: boolean | undefined;
|
|
17
|
+
defaultValue?: any;
|
|
18
|
+
propsNames?: any;
|
|
19
|
+
showExpr?: string | undefined;
|
|
20
|
+
extra?: Record<string, any> | undefined;
|
|
21
|
+
customErrorMessage?: string | undefined;
|
|
22
|
+
itemsType?: {
|
|
23
|
+
type?: "string" | "number" | "object" | "bytes" | undefined;
|
|
24
|
+
contentEncoding?: "base64" | undefined;
|
|
25
|
+
enum?: string[] | undefined;
|
|
26
|
+
multiselect?: string[] | undefined;
|
|
27
|
+
} | undefined;
|
|
28
|
+
properties?: Record<string, any> | undefined;
|
|
29
|
+
order?: string[] | undefined;
|
|
30
|
+
requiredProperty?: string[] | undefined;
|
|
31
|
+
displayWebhookWarning?: boolean | undefined;
|
|
32
|
+
lightweightMode?: boolean | undefined;
|
|
33
|
+
};
|
|
34
|
+
events: {
|
|
35
|
+
requiredChange: CustomEvent<any>;
|
|
36
|
+
schemaChange: CustomEvent<any>;
|
|
37
|
+
} & {
|
|
38
|
+
[evt: string]: CustomEvent<any>;
|
|
39
|
+
};
|
|
40
|
+
slots: {};
|
|
41
|
+
};
|
|
42
|
+
export type FlowPropertyEditorProps = typeof __propDef.props;
|
|
43
|
+
export type FlowPropertyEditorEvents = typeof __propDef.events;
|
|
44
|
+
export type FlowPropertyEditorSlots = typeof __propDef.slots;
|
|
45
|
+
export default class FlowPropertyEditor extends SvelteComponent<FlowPropertyEditorProps, FlowPropertyEditorEvents, FlowPropertyEditorSlots> {
|
|
46
|
+
}
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
<script>import autosize from '../../autosize';
|
|
2
|
+
import { shouldDisplayPlaceholder } from '../../utils';
|
|
3
|
+
import { twMerge } from 'tailwind-merge';
|
|
4
|
+
import ArrayTypeNarrowing from '../ArrayTypeNarrowing.svelte';
|
|
5
|
+
import Label from '../Label.svelte';
|
|
6
|
+
import NumberTypeNarrowing from '../NumberTypeNarrowing.svelte';
|
|
7
|
+
import StringTypeNarrowing from '../StringTypeNarrowing.svelte';
|
|
8
|
+
import Tooltip from '../Tooltip.svelte';
|
|
9
|
+
import EditableSchemaForm from '../EditableSchemaForm.svelte';
|
|
10
|
+
import { deepEqual } from 'fast-equals';
|
|
11
|
+
import ToggleButtonGroup from '../common/toggleButton-v2/ToggleButtonGroup.svelte';
|
|
12
|
+
import ToggleButton from '../common/toggleButton-v2/ToggleButton.svelte';
|
|
13
|
+
export let description = '';
|
|
14
|
+
export let format = '';
|
|
15
|
+
export let contentEncoding = undefined;
|
|
16
|
+
export let type = undefined;
|
|
17
|
+
export let oneOf = undefined;
|
|
18
|
+
export let pattern = undefined;
|
|
19
|
+
export let enum_ = undefined;
|
|
20
|
+
export let extra = {};
|
|
21
|
+
export let minW = true;
|
|
22
|
+
export let customErrorMessage = undefined;
|
|
23
|
+
export let title = undefined;
|
|
24
|
+
export let placeholder = undefined;
|
|
25
|
+
export let properties = {};
|
|
26
|
+
export let isFlowInput = false;
|
|
27
|
+
export let isAppInput = false;
|
|
28
|
+
export let order = [];
|
|
29
|
+
export let itemsType = undefined;
|
|
30
|
+
let el = undefined;
|
|
31
|
+
let oneOfSelected = (oneOf && oneOf.length >= 2 && oneOf[0]['title']) || undefined;
|
|
32
|
+
let oneOfSchemas = undefined;
|
|
33
|
+
function updateOneOfSchemas(oneOf) {
|
|
34
|
+
if (oneOf && oneOf.length >= 2) {
|
|
35
|
+
oneOfSchemas = oneOf.map((obj) => {
|
|
36
|
+
return {
|
|
37
|
+
properties: obj.properties
|
|
38
|
+
? Object.fromEntries(Object.entries(obj.properties).filter(([k, v]) => k !== 'label'))
|
|
39
|
+
: {},
|
|
40
|
+
order: obj.order
|
|
41
|
+
};
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
$: updateOneOfSchemas(oneOf);
|
|
46
|
+
export function focus() {
|
|
47
|
+
el?.focus();
|
|
48
|
+
if (el) {
|
|
49
|
+
el.style.height = '5px';
|
|
50
|
+
el.style.height = el.scrollHeight + 50 + 'px';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function onKeyDown(e) {
|
|
54
|
+
if ((e.ctrlKey || e.metaKey) && e.key == 'Enter') {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
e.stopPropagation();
|
|
58
|
+
}
|
|
59
|
+
let schema = {
|
|
60
|
+
properties,
|
|
61
|
+
order
|
|
62
|
+
};
|
|
63
|
+
$: (properties || order) && updateSchema();
|
|
64
|
+
function updateSchema() {
|
|
65
|
+
if (!deepEqual(schema.properties, properties) || !deepEqual(schema.order, order)) {
|
|
66
|
+
schema = {
|
|
67
|
+
properties,
|
|
68
|
+
order
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
</script>
|
|
73
|
+
|
|
74
|
+
<div class="flex flex-row items-center justify-between w-full gap-2">
|
|
75
|
+
<!-- svelte-ignore a11y-autofocus -->
|
|
76
|
+
<div class={twMerge('flex flex-col w-full', 'gap-4', minW ? 'min-w-[250px]' : '')}>
|
|
77
|
+
<slot name="typeeditor" />
|
|
78
|
+
|
|
79
|
+
<Label label="Description">
|
|
80
|
+
<textarea
|
|
81
|
+
use:autosize
|
|
82
|
+
rows="2"
|
|
83
|
+
bind:value={description}
|
|
84
|
+
on:keydown={onKeyDown}
|
|
85
|
+
placeholder="Field description"
|
|
86
|
+
/>
|
|
87
|
+
</Label>
|
|
88
|
+
|
|
89
|
+
<Label label="Custom Title" class="w-full">
|
|
90
|
+
<svelte:fragment slot="header">
|
|
91
|
+
<Tooltip light>Will be displayed in the UI instead of the field name.</Tooltip>
|
|
92
|
+
</svelte:fragment>
|
|
93
|
+
<input bind:value={title} on:keydown={onKeyDown} placeholder="Field title" />
|
|
94
|
+
</Label>
|
|
95
|
+
|
|
96
|
+
<Label label="Placeholder">
|
|
97
|
+
<svelte:fragment slot="header">
|
|
98
|
+
<Tooltip light>
|
|
99
|
+
Will be displayed in the input field when the field is empty. If not set, the default
|
|
100
|
+
value will be used. The placeholder is disabled depending on the field typ, format, etc.
|
|
101
|
+
</Tooltip>
|
|
102
|
+
</svelte:fragment>
|
|
103
|
+
|
|
104
|
+
<textarea
|
|
105
|
+
placeholder="Enter a placeholder"
|
|
106
|
+
rows="1"
|
|
107
|
+
bind:value={placeholder}
|
|
108
|
+
disabled={!shouldDisplayPlaceholder(type, format, enum_, contentEncoding, pattern, extra)}
|
|
109
|
+
/>
|
|
110
|
+
</Label>
|
|
111
|
+
|
|
112
|
+
{#if type == 'array'}
|
|
113
|
+
<ArrayTypeNarrowing bind:itemsType />
|
|
114
|
+
{:else if type == 'string' || ['number', 'integer', 'object'].includes(type ?? '')}
|
|
115
|
+
<div>
|
|
116
|
+
<Label label="Field settings">
|
|
117
|
+
<div>
|
|
118
|
+
{#if type == 'string'}
|
|
119
|
+
<StringTypeNarrowing
|
|
120
|
+
bind:customErrorMessage
|
|
121
|
+
bind:format
|
|
122
|
+
bind:pattern
|
|
123
|
+
bind:enum_
|
|
124
|
+
bind:contentEncoding
|
|
125
|
+
bind:password={extra['password']}
|
|
126
|
+
bind:minRows={extra['minRows']}
|
|
127
|
+
bind:disableCreate={extra['disableCreate']}
|
|
128
|
+
bind:disableVariablePicker={extra['disableVariablePicker']}
|
|
129
|
+
bind:dateFormat={extra['dateFormat']}
|
|
130
|
+
bind:enumLabels={extra['enumLabels']}
|
|
131
|
+
originalType={extra['originalType']}
|
|
132
|
+
overrideAllowKindChange={isFlowInput || isAppInput}
|
|
133
|
+
/>
|
|
134
|
+
{:else if type == 'number' || type == 'integer'}
|
|
135
|
+
<NumberTypeNarrowing
|
|
136
|
+
bind:min={extra['min']}
|
|
137
|
+
bind:max={extra['max']}
|
|
138
|
+
bind:currency={extra['currency']}
|
|
139
|
+
bind:currencyLocale={extra['currencyLocale']}
|
|
140
|
+
/>
|
|
141
|
+
{:else if type == 'object' && oneOf && oneOf.length >= 2 && !isFlowInput && !isAppInput}
|
|
142
|
+
<ToggleButtonGroup bind:selected={oneOfSelected} class="mb-2">
|
|
143
|
+
{#each oneOf as obj}
|
|
144
|
+
<ToggleButton value={obj.title} label={obj.title} />
|
|
145
|
+
{/each}
|
|
146
|
+
</ToggleButtonGroup>
|
|
147
|
+
{#if oneOfSelected && oneOfSchemas}
|
|
148
|
+
{@const idx = oneOf.findIndex((obj) => obj.title === oneOfSelected)}
|
|
149
|
+
<div class="border">
|
|
150
|
+
<EditableSchemaForm
|
|
151
|
+
on:change
|
|
152
|
+
noPreview
|
|
153
|
+
bind:schema={oneOfSchemas[idx]}
|
|
154
|
+
uiOnly
|
|
155
|
+
jsonEnabled={false}
|
|
156
|
+
/>
|
|
157
|
+
</div>
|
|
158
|
+
{/if}
|
|
159
|
+
{:else if type == 'object' && !format?.startsWith('resource-') && !isFlowInput && !isAppInput}
|
|
160
|
+
<div class="border">
|
|
161
|
+
<EditableSchemaForm on:change noPreview bind:schema uiOnly jsonEnabled={false} />
|
|
162
|
+
</div>
|
|
163
|
+
{:else}
|
|
164
|
+
<div class="text-tertiary text-xs">No settings available for this field type</div>
|
|
165
|
+
{/if}
|
|
166
|
+
</div>
|
|
167
|
+
</Label>
|
|
168
|
+
</div>
|
|
169
|
+
{/if}
|
|
170
|
+
|
|
171
|
+
<slot />
|
|
172
|
+
</div>
|
|
173
|
+
</div>
|
|
174
|
+
|
|
175
|
+
<style>
|
|
176
|
+
input::-webkit-outer-spin-button,
|
|
177
|
+
input::-webkit-inner-spin-button {
|
|
178
|
+
-webkit-appearance: none !important;
|
|
179
|
+
margin: 0;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/* Firefox */
|
|
183
|
+
input[type='number'] {
|
|
184
|
+
-moz-appearance: textfield !important;
|
|
185
|
+
}</style>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
import type { EnumType } from '../../common';
|
|
3
|
+
import type { SchemaProperty } from '../../common';
|
|
4
|
+
declare const __propDef: {
|
|
5
|
+
props: {
|
|
6
|
+
description?: string | undefined;
|
|
7
|
+
format?: string | undefined;
|
|
8
|
+
contentEncoding?: 'base64' | 'binary' | undefined;
|
|
9
|
+
type?: string | undefined;
|
|
10
|
+
oneOf?: SchemaProperty[] | undefined;
|
|
11
|
+
pattern?: undefined | string;
|
|
12
|
+
enum_?: EnumType;
|
|
13
|
+
extra?: Record<string, any> | undefined;
|
|
14
|
+
minW?: boolean | undefined;
|
|
15
|
+
customErrorMessage?: string | undefined;
|
|
16
|
+
title?: string | undefined;
|
|
17
|
+
placeholder?: string | undefined;
|
|
18
|
+
properties?: Record<string, any> | undefined;
|
|
19
|
+
isFlowInput?: boolean | undefined;
|
|
20
|
+
isAppInput?: boolean | undefined;
|
|
21
|
+
order?: string[] | undefined;
|
|
22
|
+
itemsType?: {
|
|
23
|
+
type?: "string" | "number" | "object" | "bytes" | undefined;
|
|
24
|
+
contentEncoding?: "base64" | undefined;
|
|
25
|
+
enum?: string[] | undefined;
|
|
26
|
+
multiselect?: string[] | undefined;
|
|
27
|
+
} | undefined;
|
|
28
|
+
focus?: (() => void) | undefined;
|
|
29
|
+
};
|
|
30
|
+
events: {
|
|
31
|
+
change: CustomEvent<any>;
|
|
32
|
+
} & {
|
|
33
|
+
[evt: string]: CustomEvent<any>;
|
|
34
|
+
};
|
|
35
|
+
slots: {
|
|
36
|
+
typeeditor: {};
|
|
37
|
+
default: {};
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
export type PropertyEditorProps = typeof __propDef.props;
|
|
41
|
+
export type PropertyEditorEvents = typeof __propDef.events;
|
|
42
|
+
export type PropertyEditorSlots = typeof __propDef.slots;
|
|
43
|
+
export default class PropertyEditor extends SvelteComponent<PropertyEditorProps, PropertyEditorEvents, PropertyEditorSlots> {
|
|
44
|
+
get focus(): () => void;
|
|
45
|
+
}
|
|
46
|
+
export {};
|