/*! * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved. * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.") * * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0. * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * * See the License for the specific language governing permissions and limitations under the License. */ import { SelectProps as MuiSelectProps } from "@mui/material"; import type { HtmlProps } from "./HtmlProps.js"; import { FieldComponentProps } from "./FieldComponentProps.js"; import { FocusHandle } from "./inputUtils.js"; export type SelectOption = { language?: string; text: string; type?: "heading" | "option"; value?: string; }; export type SelectValueType = HasMultipleChoices extends true ? string[] : string; export type SelectProps, HasMultipleChoices extends boolean> = { /** * The default value. Use when the component is not controlled. */ defaultValue?: MuiSelectProps["defaultValue"]; /** * If `true`, the Select allows multiple options to be selected simultaneously. */ hasMultipleChoices?: HasMultipleChoices; /** * Ref attached to the underlying