From 6afec696424b1c22dd52dd655e34154fdc5210e7 Mon Sep 17 00:00:00 2001 From: Louis Date: Wed, 8 Jan 2025 06:38:15 +0700 Subject: [PATCH] chore: fix settings component type --- core/src/types/setting/settingComponent.ts | 29 +++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/core/src/types/setting/settingComponent.ts b/core/src/types/setting/settingComponent.ts index 2474f6bd4..98e409716 100644 --- a/core/src/types/setting/settingComponent.ts +++ b/core/src/types/setting/settingComponent.ts @@ -3,7 +3,11 @@ export type SettingComponentProps = { title: string description: string controllerType: ControllerType - controllerProps: SliderComponentProps | CheckboxComponentProps | InputComponentProps + controllerProps: + | SliderComponentProps + | CheckboxComponentProps + | InputComponentProps + | DropdownComponentProps extensionName?: string requireModelReload?: boolean @@ -12,13 +16,26 @@ export type SettingComponentProps = { export type ConfigType = 'runtime' | 'setting' -export type ControllerType = 'slider' | 'checkbox' | 'input' | 'tag' +export type ControllerType = + | 'slider' + | 'checkbox' + | 'input' + | 'tag' + | 'dropdown' -export type InputType = 'password' | 'text' | 'email' | 'number' | 'tel' | 'url' +export type InputType = + | 'password' + | 'text' + | 'email' + | 'number' + | 'tel' + | 'url' + | 'dropdown' const InputActions = ['unobscure', 'copy'] as const export type InputActionsTuple = typeof InputActions export type InputAction = InputActionsTuple[number] +export type DropdownOption = { label: string; value: string } export type InputComponentProps = { placeholder: string @@ -38,3 +55,9 @@ export type SliderComponentProps = { export type CheckboxComponentProps = { value: boolean } + +export type DropdownComponentProps = { + value: string + type?: InputType + options?: DropdownOption[] +}