@bothub-chat/ui
Version:
Bothub UI Components
2 lines (1 loc) • 1.25 kB
JavaScript
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 c,MessagesScrollbarWrapper as n,MessagesContent as i,MessagesContainer as d,MessagesStart as u,MessageList as m}from"./styled.js";import{MessagesProvider as a,MessagesScrollProvider as f}from"./context.js";export{MessagesContext,MessagesScrollContext,useMessages,useScrollbarRef}from"./context.js";import{ScrollButton as h}from"../scroll-button/index.js";const S=l((({scrollButton:l=!1,fullWidth:S=!1,className:x,startRef:p,scrollShadows:v,children:b},j)=>{const R=t(null),g=o((r=>{var e;return null===(e=R.current)||void 0===e?void 0:e.setScroll(null!=r?r:{side:"bottom"})}),[R.current]);return s(j,(()=>{var r,e;return{element:null!==(e=null===(r=R.current)||void 0===r?void 0:r.element)&&void 0!==e?e:null,setScroll:g}}),[g,R.current]),r(a,{setScroll:g,children:e(c,{className:x,children:[r(n,{ref:R,scrollShadows:v,withStickyBottom:!0,defaultStickyBottom:!0,children:r(i,{children:e(d,{$fullWidth:S,children:[r(u,{ref:p}),r(f,{scrollbarRef:R,children:r(m,{children:b})})]})})}),l&&r(h,{scrollbarRef:R})]})})}));export{S as Messages,a as MessagesProvider,f as MessagesScrollProvider};