Split codebase (#455)

This commit is contained in:
Gregory Schier
2026-05-07 15:50:10 -07:00
committed by GitHub
parent d2dc719cc6
commit 10559c8f4f
742 changed files with 7686 additions and 3249 deletions
+52
View File
@@ -0,0 +1,52 @@
import type { FormInput, JsonPrimitive } from "@yaakapp-internal/plugins";
import type { DialogProps } from "../components/core/Dialog";
import type { PromptProps } from "../components/core/Prompt";
import { Prompt } from "../components/core/Prompt";
import { showDialog } from "./dialog";
type FormArgs = Pick<DialogProps, "title" | "description" | "size"> &
Omit<PromptProps, "onClose" | "onCancel" | "onResult"> & {
id: string;
onValuesChange?: (values: Record<string, JsonPrimitive>) => void;
onInputsUpdated?: (cb: (inputs: FormInput[]) => void) => void;
};
export async function showPromptForm({
id,
title,
description,
size,
onValuesChange,
onInputsUpdated,
...props
}: FormArgs) {
return new Promise((resolve: PromptProps["onResult"]) => {
showDialog({
id,
title,
description,
hideX: true,
size: size ?? "sm",
disableBackdropClose: true, // Prevent accidental dismisses
onClose: () => {
// Click backdrop, close, or escape
resolve(null);
},
render: ({ hide }) =>
Prompt({
onCancel: () => {
// Click cancel button within dialog
resolve(null);
hide();
},
onResult: (v) => {
resolve(v);
hide();
},
onValuesChange,
onInputsUpdated,
...props,
}),
});
});
}