/* * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at https://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 REPRESENTATIONS * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ import { ForwardedRef } from "react"; import { ContextValue } from "react-aria-components/slots"; //#region src/lib/utils.d.ts type WithRef = T & { ref?: ForwardedRef; }; interface SlottedValue { slots?: Record; } /** * A helper to narrow the type of Context Value * * @example * ```tsx * function ComponentWithContext({ context }: { context: ContextValue }) { * if (isSlottedContextValue(context)) { * // TypeScript knows context has 'slots' property * const slotValue = context.slots?.['header']; * return
{slotValue && 'Has header slot'}
; * } * return
No slots
; * } * ``` * * @param context - The context value to check. * @returns True if the context contains slot definitions. */ declare function isSlottedContextValue(context: ContextValue): context is SlottedValue>; //#endregion export { isSlottedContextValue }; //# sourceMappingURL=utils.d.ts.map