@asgardeo/react
Version:
React implementation of Asgardeo JavaScript SDK.
97 lines (96 loc) • 5.08 kB
TypeScript
/**
* Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).
*
* WSO2 LLC. licenses this file 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
*
* 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 React from 'react';
import { UseFloatingReturn, UseInteractionsReturn } from '@floating-ui/react';
interface DialogOptions {
initialOpen?: boolean;
open?: boolean;
onOpenChange?: (open: boolean) => void;
}
interface DialogHookReturn extends UseFloatingReturn, UseInteractionsReturn {
open: boolean;
setOpen: (open: boolean) => void;
labelId: string | undefined;
descriptionId: string | undefined;
setLabelId: React.Dispatch<React.SetStateAction<string | undefined>>;
setDescriptionId: React.Dispatch<React.SetStateAction<string | undefined>>;
}
export declare function useDialog({ initialOpen, open: controlledOpen, onOpenChange: setControlledOpen, }?: DialogOptions): DialogHookReturn;
interface PopoverOptions {
initialOpen?: boolean;
open?: boolean;
onOpenChange?: (open: boolean) => void;
placement?: 'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end';
offset?: number;
}
interface PopoverHookReturn extends UseFloatingReturn, UseInteractionsReturn {
open: boolean;
setOpen: (open: boolean) => void;
labelId: string | undefined;
descriptionId: string | undefined;
setLabelId: React.Dispatch<React.SetStateAction<string | undefined>>;
setDescriptionId: React.Dispatch<React.SetStateAction<string | undefined>>;
}
export declare function usePopover({ initialOpen, open: controlledOpen, onOpenChange: setControlledOpen, placement, offset: offsetValue, }?: PopoverOptions): PopoverHookReturn;
export declare const useDialogContext: () => DialogHookReturn;
export declare const usePopoverContext: () => PopoverHookReturn;
export declare function Dialog({ children, ...options }: {
children: React.ReactNode;
} & DialogOptions): import("react/jsx-runtime").JSX.Element;
interface DialogTriggerProps {
children: React.ReactNode;
asChild?: boolean;
}
export declare const DialogTrigger: React.ForwardRefExoticComponent<Omit<React.HTMLProps<HTMLElement> & DialogTriggerProps, "ref"> & React.RefAttributes<HTMLElement>>;
export declare const DialogContent: React.ForwardRefExoticComponent<Omit<React.HTMLProps<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
export declare function Popover({ children, ...options }: {
children: React.ReactNode;
} & PopoverOptions): import("react/jsx-runtime").JSX.Element;
interface PopoverTriggerProps {
children: React.ReactNode;
asChild?: boolean;
}
export declare const PopoverTrigger: React.ForwardRefExoticComponent<Omit<React.HTMLProps<HTMLElement> & PopoverTriggerProps, "ref"> & React.RefAttributes<HTMLElement>>;
export declare const PopoverContent: React.ForwardRefExoticComponent<Omit<React.HTMLProps<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
export declare const PopoverHeading: React.ForwardRefExoticComponent<Omit<React.HTMLProps<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
export declare const DialogHeading: React.ForwardRefExoticComponent<Omit<React.HTMLProps<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
export declare const PopoverDescription: React.ForwardRefExoticComponent<Omit<React.HTMLProps<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
export declare const DialogDescription: React.ForwardRefExoticComponent<Omit<React.HTMLProps<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
export declare const PopoverClose: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
export declare const DialogClose: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
interface LegacyPopoverProps {
isOpen: boolean;
children: React.ReactNode;
onClose: () => void;
className?: string;
mode?: 'modal' | 'dropdown';
trigger?: HTMLElement | null;
placement?: 'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end';
offset?: number;
}
declare const LegacyPopoverHeader: React.FC<{
children?: React.ReactNode;
}>;
declare const LegacyPopoverContent: React.FC<{
children: React.ReactNode;
}>;
export declare const LegacyPopover: React.FC<LegacyPopoverProps> & {
Header: typeof LegacyPopoverHeader;
Content: typeof LegacyPopoverContent;
};
export default LegacyPopover;