mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 02:42:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 'use client'
 | |
| import {
 | |
|   PortalToFollowElem,
 | |
|   PortalToFollowElemContent,
 | |
|   PortalToFollowElemTrigger,
 | |
| } from '@/app/components/base/portal-to-follow-elem'
 | |
| import type { PortalToFollowElemOptions } from '@/app/components/base/portal-to-follow-elem'
 | |
| 
 | |
| type IFloatRightContainerProps = {
 | |
|   isMobile: boolean
 | |
|   open: boolean
 | |
|   toggle: () => void
 | |
|   triggerElement?: React.ReactNode
 | |
|   children?: React.ReactNode
 | |
| } & PortalToFollowElemOptions
 | |
| 
 | |
| const FloatRightContainer = ({ open, toggle, triggerElement, isMobile, children, ...portalProps }: IFloatRightContainerProps) => {
 | |
|   return (
 | |
|     <>
 | |
|       {isMobile && (
 | |
|         <PortalToFollowElem open={open} {...portalProps}>
 | |
|           <PortalToFollowElemTrigger onClick={toggle}>
 | |
|             {triggerElement}
 | |
|           </PortalToFollowElemTrigger>
 | |
|           <PortalToFollowElemContent>
 | |
|             {children}
 | |
|           </PortalToFollowElemContent>
 | |
|         </PortalToFollowElem>
 | |
|       )}
 | |
|       {!isMobile && open && (
 | |
|         <>{children}</>
 | |
|       )}
 | |
|     </>
 | |
|   )
 | |
| }
 | |
| 
 | |
| export default FloatRightContainer
 | 
