import React from 'react' import type { Meta } from '@storybook/react' import { IconButton, Icons, NormaChatMessageBalloon } from '../components' import { useChatMessageBalloon } from '../components/NormaChatMessageBalloon/hook' import { Avatar, Box, Typography } from '@mui/material' import { SentimentDissatisfiedOutlined, TagFacesOutlined } from '@mui/icons-material' const messageArr = [ { direction: 'O' as 'O', label: 'Teste de Título', description: 'lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec purus feugiat, molestie ipsum et, varius velit. Nulla nec purus feugiat, molestie ipsum et, varius velit.', date: '06/02/2025', }, { direction: 'I' as 'I', label: 'Teste de Título', description: 'lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec purus feugiat, molestie ipsum et, varius velit. Nulla nec purus feugiat, molestie ipsum et, varius velit.', date: '06/02/2025', }, { direction: 'O' as 'O', label: 'Teste de Título', description: 'lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec purus feugiat, molestie ipsum et, varius velit. Nulla nec purus feugiat, molestie ipsum et, varius velit.', date: '07/02/2025', }, ] const avatars = { O: { src: '', alt: 'HC', }, I: { src: 'https://letsenhance.io/static/73136da51c245e80edc6ccfe44888a99/1015f/MainBefore.jpg', alt: 'MB', }, } const Template = () => { return ( <> {messageArr.map((message, index) => { const { balloonClassNames } = useChatMessageBalloon(() => console.log('hover'), false) return ( console.log('hover')} onMouseLeave={() => console.log('leave')} > console.log('row hover')} onMouseLeave={() => console.log('row leave')} > ) })} ) } const TemplateWithAvatar = () => { return ( <> {messageArr.map((message, index) => { const { balloonClassNames } = useChatMessageBalloon(() => console.log('hover'), false) return ( console.log('hover')} onMouseLeave={() => console.log('leave')} > console.log('row hover')} onMouseLeave={() => console.log('row leave')} > {avatars[message.direction].alt} ) })} ) } const TemplateWithChildren = () => { return ( <> {messageArr.map((message, index) => { const { balloonClassNames } = useChatMessageBalloon(() => console.log('hover'), false) return ( console.log('hover')} onMouseLeave={() => console.log('leave')} > console.log('row hover')} onMouseLeave={() => console.log('row leave')} > {/* Children located here */}

...children

) })} ) } const SimplifiedTemplate = () => { return ( <> {messageArr.map((message, index) => { const { balloonClassNames } = useChatMessageBalloon(() => console.log('hover'), false) return ( console.log('hover')} onMouseLeave={() => console.log('leave')} > console.log('row hover')} onMouseLeave={() => console.log('row leave')} className={balloonClassNames} avatar={avatars[message.direction]} children={ <>

...children

} />
) })} ) } const meta = { title: 'Norma/ChatMessageBalloon', component: Template, parameters: { layout: 'centered', }, tags: ['autodocs'], argTypes: {}, } satisfies Meta export default meta export const Default = Template.bind({}) export const WithAvatar = TemplateWithAvatar.bind({}) export const WithChildren = TemplateWithChildren.bind({}) export const Simplified = SimplifiedTemplate.bind({})