/*! * Copyright (c) 2023-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. */ export type FocusHandle = { focus: () => void; }; type UseControlledStateProps = { controlledValue?: Value; uncontrolledValue?: Value; }; export declare const ComponentControlledState: { CONTROLLED: string; UNCONTROLLED: string; }; export type ModeType = keyof typeof ComponentControlledState; export type ModeTypeValue = (typeof ComponentControlledState)[ModeType]; export declare const getControlState: ({ controlledValue, uncontrolledValue, }: UseControlledStateProps) => ModeTypeValue; type InputValueProps = { controlState: ModeTypeValue; defaultValue?: Value; value?: Value; }; type InputValue = { defaultValue: Value | undefined; value?: undefined; } | { defaultValue?: undefined; value: Value | undefined; }; /** * In components that support being used in a controlled or uncontrolled way, the defaultValue and value props need to be supplied values in a mutually exclusive way. * If a `value` is being provided to the component, then it is being used in a controlled manner and `defaultValue` needs to be undefined. * If `value` is undefined, then that means the component is being used in an uncontrolled way and `defaultValue` is either Value or undefined. This helper helps ensure this mutual exclusivity between the 2 props so the component can operate as expected. * * @param {InputValueProps}: { defaultValue: Value | undefined, value: Value | undefined } * @returns {InputValue}: { defaultValue: Value | undefined, value?: undefined } | { defaultValue?: undefined, value: Value } */ export declare const useInputValues: ({ defaultValue, value, controlState, }: InputValueProps) => InputValue; export {}; //# sourceMappingURL=inputUtils.d.ts.map