@@ -1970,13 +1970,11 @@ export declare function PopoverTrigger({ ...props }: React$1.ComponentProps<type
19701970 * rendered as React children. It does not retroactively re-portal already-mounted popovers, and it
19711971 * does not affect popovers in sibling subtrees.
19721972 *
1973- * Initial-mount behavior: pass `null` for `container` (the initial value of a `useState<HTMLElement
1974- *
1975- * | null>(null)` paired with a ref callback on the ancestor) to keep Radix's default
1976- *
1977- * `document.body` behavior until the ancestor mounts. Once the element exists, future popover opens
1978- * portal into it. The triggering ancestor (the trap owner) must wrap, not be wrapped by, this
1979- * provider.
1973+ * Initial-mount behavior: pass `null` for `container` to keep Radix's default `document.body`
1974+ * behavior until the ancestor mounts. The typical pattern is to hold the ancestor element in
1975+ * `useState<HTMLElement | null>(null)` paired with a ref callback on the ancestor — once the
1976+ * element exists, future popover opens portal into it. The triggering ancestor (the trap owner)
1977+ * must wrap, not be wrapped by, this provider.
19801978 * @example
19811979 *
19821980 * ```tsx
@@ -2518,83 +2516,8 @@ export declare function DialogHeader({ className, ...props }: React$1.ComponentP
25182516 * @see Shadcn UI Documentation: {@link https://ui.shadcn.com/docs/components/dialog}
25192517 * @see Radix UI Documentation: {@link https://www.radix-ui.com/primitives/docs/components/dialog}
25202518 */
2521- export declare const Label : React$1 . ForwardRefExoticComponent < Omit < LabelPrimitive . LabelProps & React$1 . RefAttributes < HTMLLabelElement > , "ref" > & VariantProps < ( props ?: ClassProp | undefined ) => string > & React$1 . RefAttributes < HTMLLabelElement > > ;
2522- /**
2523- * The Popover component displays rich content in a portal, triggered by a button. This popover is
2524- * built on Radix UI's Popover component and styled by Shadcn UI.
2525- *
2526- * See Shadcn UI Documentation https://ui.shadcn.com/docs/components/popover See Radix UI
2527- * Documentation https://www.radix-ui.com/docs/primitives/components/popover
2528- */
2529- export declare const Popover : React$1 . FC < PopoverPrimitive . PopoverProps > ;
2530- /** @inheritdoc Popover */
2531- export declare const PopoverTrigger : React$1 . ForwardRefExoticComponent < PopoverPrimitive . PopoverTriggerProps & React$1 . RefAttributes < HTMLButtonElement > > ;
2532- /** @inheritdoc Popover */
2533- export declare const PopoverAnchor : React$1 . ForwardRefExoticComponent < PopoverPrimitive . PopoverAnchorProps & React$1 . RefAttributes < HTMLDivElement > > ;
2534- /**
2535- * Overrides the container that descendant {@link PopoverContent} components portal into. Use it to
2536- * keep popovers inside a Radix `DialogContent`, `DropdownMenuContent`, or any other ancestor that
2537- * owns a focus trap or dismiss-on-outside-click layer.
2538- *
2539- * @remarks
2540- * Radix `Popover` portals its content to `document.body` by default, which works fine for top-level
2541- * UI. The default breaks down whenever a popover trigger lives inside an ancestor that:
2542- *
2543- * - Runs a focus trap (`Dialog`, `AlertDialog`, modal `DropdownMenu`) — the trap yanks focus back out
2544- * of the popover the instant it opens because the portal'd content is outside the trap's DOM
2545- * subtree.
2546- * - Listens for outside-clicks (Radix `DismissableLayer`, used by every `*Menu`/`Dialog`) — a click
2547- * inside the popover reads as "outside the menu" and dismisses the parent immediately.
2548- *
2549- * Wrapping the children of the trapping ancestor in this provider, with that ancestor's element as
2550- * `container`, makes nested `PopoverContent` portal as a DOM descendant of the trap so both focus
2551- * and dismiss-layer logic accept it.
2552- *
2553- * Single descendant scope: a `PopoverPortalContainerProvider` only affects `PopoverContent` mounts
2554- * rendered as React children. It does not retroactively re-portal already-mounted popovers, and it
2555- * does not affect popovers in sibling subtrees.
2556- *
2557- * Initial-mount behavior: pass `null` for `container` to keep Radix's default `document.body`
2558- * behavior until the ancestor mounts. The typical pattern is to hold the ancestor element in
2559- * `useState<HTMLElement | null>(null)` paired with a ref callback on the ancestor — once the
2560- * element exists, future popover opens portal into it. The triggering ancestor (the trap owner)
2561- * must wrap, not be wrapped by, this provider.
2562- * @example
2563- *
2564- * ```tsx
2565- * function ScopeMenu() {
2566- * const [dialogEl, setDialogEl] = useState<HTMLDivElement | null>(null);
2567- *
2568- * return (
2569- * <Dialog open={isOpen} onOpenChange={setIsOpen}>
2570- * <DialogContent ref={setDialogEl}>
2571- * <PopoverPortalContainerProvider container={dialogEl}>
2572- * <BookChapterControl ... />
2573- * </PopoverPortalContainerProvider>
2574- * </DialogContent>
2575- * </Dialog>
2576- * );
2577- * }
2578- * ```
2579- *
2580- * @example
2581- *
2582- * ```tsx
2583- * // Dropdown variant: same pattern, container is the DropdownMenuContent.
2584- * const [contentEl, setContentEl] = useState<HTMLDivElement | null>(null);
2585- * <DropdownMenu>
2586- * <DropdownMenuTrigger>...</DropdownMenuTrigger>
2587- * <DropdownMenuContent ref={setContentEl}>
2588- * <PopoverPortalContainerProvider container={contentEl}>
2589- * <BookChapterControl ... />
2590- * </PopoverPortalContainerProvider>
2591- * </DropdownMenuContent>
2592- * </DropdownMenu>
2593- * ```
2594- */
2595- export declare function PopoverPortalContainerProvider ( { container, children, } : {
2596- container : HTMLElement | null ;
2597- children : React$1 . ReactNode ;
2519+ export declare function DialogFooter ( { className, showCloseButton, children, ...props } : React$1 . ComponentProps < "div" > & {
2520+ showCloseButton ?: boolean ;
25982521} ) : import ( "react/jsx-runtime" ) . JSX . Element ;
25992522/**
26002523 * Renders the dialog's title as a styled heading. Used inside DialogHeader.
0 commit comments