UNPKG

@bothub-chat/ui

Version:

Bothub UI Components

2 lines (1 loc) 1.27 kB
import{jsx as r,jsxs as e}from"react/jsx-runtime";import{forwardRef as l,useRef as t,useCallback as o,useImperativeHandle as s}from"react";import{MessagesStyled as n,MessagesScrollbarWrapper as c,MessagesContent as i,MessagesContainer as d,MessageList as a,MessagesStart as u}from"./styled.js";import{MessagesProvider as m,MessagesScrollProvider as f}from"./context.js";export{MessagesContext,MessagesScrollContext,useMessages,useScrollbarRef}from"./context.js";import{ScrollButton as h}from"../scroll-button/index.js";const p=l(({scrollButton:l=!1,fullWidth:p=!1,className:S,startRef:x,scrollShadows:v,children:b},j)=>{const y=t(null),R=o(r=>{var e;return null===(e=y.current)||void 0===e?void 0:e.setScroll(null!=r?r:{side:"bottom"})},[y.current]);return s(j,()=>{var r,e;return{element:null!==(e=null===(r=y.current)||void 0===r?void 0:r.element)&&void 0!==e?e:null,setScroll:R}},[R,y.current]),r(m,{setScroll:R,children:e(n,{"data-openreplay-masked":!0,className:S,children:[r(c,{ref:y,scrollShadows:v,withStickyBottom:!0,defaultStickyBottom:!0,children:r(i,{children:e(d,{$fullWidth:p,children:[r(f,{scrollbarRef:y,children:r(a,{children:b})}),r(u,{ref:x})]})})}),l&&r(h,{scrollbarRef:y})]})})});export{p as Messages,m as MessagesProvider,f as MessagesScrollProvider};