@bothub-chat/ui 2.48.1-fix-message-0254fe9d-a9ce-4e0c-a1bb-f4ac15f0340b → 2.48.1-fix-message-46d3ffe8-098e-471e-a52e-90c20a6c4855

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{jsxs as i,jsx as o,Fragment as n}from"react/jsx-runtime";import{useState as s,useRef as e,useMemo as t,useCallback as r,useEffect as c}from"react";import{useTransition as d,easings as p}from"@react-spring/web";import{MenuDotIcon as m}from"../../../icons/menu-dot/index.js";import{UpdateIcon as l}from"../../../icons/update/index.js";import{ResendIcon as x}from"../../../icons/resend/index.js";import{EditIcon as a}from"../../../icons/edit/index.js";import{TrashIcon as j}from"../../../icons/trash/index.js";import{ThumbDownIcon as u}from"../../../icons/thumb-down/index.js";import{CheckSmallIcon as g}from"../../../icons/check-small/index.js";import{CloseIcon as b}from"../../../icons/close/index.js";import{CopyIcon as h}from"../../../icons/copy/index.js";import{DownloadImgIcon as f}from"../../../icons/download-img/index.js";import{MessageActionsStyled as w,MessageActionsMenuStyled as y,MessageActionsMenuModal as v,MessageActionsMenuModalOptionContent as k,MessageActionsButtonText as T,MessageEditButtonsStyled as L}from"./styled.js";import{MenuOption as C}from"./menu-option/index.js";import{CopyButton as z}from"./copy-button/index.js";import{ActionButton as E}from"./action-button/index.js";import"../list/styled.js";import{useScrollbarRef as M}from"../list/context.js";import"../scroll-button/styled.js";import"tslib";import{IconProvider as q}from"../../icon/context.js";import"../../icon/styled.js";import"react-markdown";import"react-dom";import"../../portal/styled.js";import"../../tooltip/styled.js";import"../../tooltip/arrow/styled.js";import"../../../theme/index.js";import"../../tooltip/context.js";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import{colorToRgba as R}from"../../../utils/colors/colorToRgba.js";import"../../../utils/colors/calculateGrayScale.js";import"../../../utils/colors/calculateAccentColors.js";import"../../../icons/arrow-down/index.js";import"../../../icons/arrow-narrow-left/index.js";import"../../../icons/arrow-narrow-right/index.js";import"../../../icons/arrow-up/index.js";import"../../../icons/bitcoin/index.js";import"../../../icons/bot-circle/index.js";import"../../../icons/bothub-agg/index.js";import"../../../icons/business-colored/index.js";import"../../../icons/check-circle/index.js";import"../../../icons/email-circle/index.js";import"../../../icons/language/index.js";import"../../../icons/lock-circle/index.js";import"../../../icons/menu/index.js";import"../../../icons/medium-circle/index.js";import"../../../icons/tg-circle/index.js";import"../../../icons/tg-colored/index.js";import"../../../icons/youcassa/index.js";import"../../../icons/dashboard/index.js";import"../../../icons/user-profile/index.js";import"../../../icons/logout/index.js";import"../../../icons/habr-2/index.js";import"../../../icons/arrow-2-down/index.js";import"../../../icons/links/index.js";import"../../../icons/free/index.js";import"../../../icons/hotness/index.js";import"../../../icons/checked/index.js";import"../../../icons/ai/index.js";import"../../../icons/bookmarks/index.js";import"../../../icons/bookmarks-big/index.js";import"../../../icons/chat/index.js";import"../../../icons/chats/index.js";import"../../../icons/coder/index.js";import"../../../icons/presets-big/index.js";import"../../../icons/referal/index.js";import"../../../icons/restore/index.js";import"../../../icons/tariff/index.js";import"../../../icons/plus-2/index.js";import"../../../icons/plus-1/index.js";import"../../../icons/send/index.js";import"../../../icons/settings/index.js";import"../../../icons/habr/index.js";import"../../../icons/stop/index.js";import"../../../icons/thumb-up/index.js";import"../../../icons/star/index.js";import"../../../icons/info-big/index.js";import"../../../icons/warning-big/index.js";import"../../../icons/error-big/index.js";import"../../../icons/success-big/index.js";import"../../../icons/mj/index.js";import"../../../icons/card/index.js";import"../../../icons/arrow-narrow-up/index.js";import"../../../icons/arrow-narrow-down/index.js";import"../../../icons/filters/index.js";import"../../../icons/info/index.js";import"../../../icons/search-circle/index.js";import"../../../icons/save/index.js";import"../../../icons/light/index.js";import"../../../icons/dark/index.js";import"../../../icons/email-colored/index.js";import"../../../icons/action-chat/index.js";import"../../../icons/attach/index.js";import"../../../icons/avatar-add/index.js";import"../../../icons/brush/index.js";import"../../../icons/calendar/index.js";import"../../../icons/claude/index.js";import"../../../icons/cookie/index.js";import"../../../icons/dalle/index.js";import"../../../icons/error/index.js";import"../../../icons/expand/index.js";import"../../../icons/eye/index.js";import"../../../icons/face/index.js";import"../../../icons/gear/index.js";import"../../../icons/gear-min/index.js";import"../../../icons/generation/index.js";import"../../../icons/gpt-3_5/index.js";import"../../../icons/gpt-4/index.js";import"../../../icons/imagine/index.js";import"../../../icons/imagine-2/index.js";import"../../../icons/loader/index.js";import"../../../icons/loader-circular/index.js";import"../../../icons/loader-circular-gradient/index.js";import"../../../icons/loader-circular-gradient-2/index.js";import"../../../icons/minus/index.js";import"../../../icons/mj-white/index.js";import"../../../icons/prompt/index.js";import"../../../icons/rabbit/index.js";import"../../../icons/ratio-1x1/index.js";import"../../../icons/ratio-2x3/index.js";import"../../../icons/ratio-3x2/index.js";import"../../../icons/ratio-4x5/index.js";import"../../../icons/ratio-4x7/index.js";import"../../../icons/ratio-5x4/index.js";import"../../../icons/ratio-7x4/index.js";import"../../../icons/ratio-16x9/index.js";import"../../../icons/ratio-9x16/index.js";import"../../../icons/ratio-21x9/index.js";import"../../../icons/ratio-9x21/index.js";import"../../../icons/refferal-min/index.js";import"../../../icons/search-data/index.js";import"../../../icons/square/index.js";import"../../../icons/turtle/index.js";import"../../../icons/upscale/index.js";import"../../../icons/withdraw/index.js";import"../../../icons/search-plus/index.js";import"../../../icons/lightning/index.js";import"../../../icons/blog-circle/index.js";import"../../../icons/stripe/index.js";import"../../../icons/corporate/index.js";import"../../../icons/public/index.js";import"../../../icons/private/index.js";import"../../../icons/mistral/index.js";import"../../../icons/gemini/index.js";import"../../../icons/search-simple/index.js";import"../../../icons/sad-robot/index.js";import"../../../icons/model/index.js";import"../../../icons/phone-colored/index.js";import"../../../icons/questions/index.js";import"../../../icons/pdf-big/index.js";import"../../../icons/xls-big/index.js";import"../../../icons/word-big/index.js";import"../../../icons/txt-big/index.js";import"../../../icons/pdf/index.js";import"../../../icons/xls/index.js";import"../../../icons/word/index.js";import"../../../icons/txt/index.js";import"../../../icons/bothub-logo-gradient/index.js";import"../../../icons/telegram-logo-gradient/index.js";import"../../../icons/decline-circle/index.js";import"../../../icons/simple-gear-bg/index.js";import"../../../icons/advanced-filter/index.js";import"../../../icons/big-corporate/index.js";import"../../../icons/big-mj/index.js";import"../../../icons/big-models/index.js";import"../../../icons/big-stats/index.js";import"../../../icons/big-success/index.js";import"../../../icons/big-users/index.js";import"../../../icons/optional-presets/index.js";import"../../../icons/wallet-withdraw/index.js";import"../../../icons/big-presets/index.js";import"../../../icons/big-favorite/index.js";import"../../../icons/big-referal/index.js";import"../../../icons/attach-file/index.js";import"../../../icons/attach-file-big/index.js";import"../../../icons/voice/index.js";import"../../../icons/play-button/index.js";import"../../../icons/pause-button/index.js";import"../../../icons/text-read/index.js";import"../../../icons/text-hide/index.js";import"../../../icons/best-chat-bots/index.js";import"../../../icons/upload/index.js";import"../../../icons/enter/index.js";import"../../../icons/discord/index.js";import"../../../icons/discord-circle/index.js";import"../../../icons/black-forest-labs/index.js";import"../../../icons/flux/index.js";import"../../../icons/stable-diffusion/index.js";import"../../../icons/stability-ai/index.js";import"../../../icons/article-generator/index.js";import"../../../icons/success/index.js";import"../../../icons/google/index.js";import"../../../icons/yandex/index.js";import"../../../icons/vk/index.js";import"../../../icons/big-article/index.js";import"../../../icons/add-chat/index.js";import"../../../icons/add-group/index.js";import"../../../icons/drag-dot/index.js";import"../../../icons/add-folder/index.js";import"../../../icons/temp-chat/index.js";import"../../../icons/delete-chat/index.js";import"../../../icons/sidebar-chat/index.js";import"../../../icons/organization/index.js";import"../../../icons/simple-gear/index.js";import"../../../icons/text-bold/index.js";import"../../../icons/text-italic/index.js";import"../../../icons/text-underline/index.js";import"../../../icons/text-strikethrough/index.js";import"../../../icons/refresh/index.js";import"../../../icons/copy-variants/index.js";import"../../../icons/sort-ascending/index.js";import"../../../icons/sort-descending/index.js";import"../../../icons/quote/index.js";import"../../../icons/url-circle/index.js";import"../../../icons/show-ui/index.js";import"../../../icons/hide-ui/index.js";import"../../../icons/sort-user/index.js";import"../../../icons/happy-robot/index.js";import"../../../icons/happy-robot-gradient/index.js";import"../../../icons/min-window/index.js";import"../../../icons/max-window/index.js";import"../../../icons/manage-chat/index.js";import"../../../icons/analyze-urls/index.js";import"../../../icons/web-search/index.js";import"../../../icons/include-context/index.js";import"../../../icons/queue/index.js";import"../../../icons/sort-alphabet-ascending/index.js";import"../../../icons/sort-alphabet-descending/index.js";import"../../../icons/sort-date-ascending/index.js";import"../../../icons/sort-date-descending/index.js";import"../../../icons/cot-r1/index.js";import"../../../icons/news/index.js";import"../../../icons/volume/index.js";import"../../../icons/flag-ru/index.js";import"../../../icons/flag-kz/index.js";import"../../../icons/print/index.js";import"../../../icons/pc-icon-1/index.js";import"../../../icons/pc-icon-2/index.js";import"../../../icons/pc-icon-3/index.js";import"../../../icons/star-unfilled/index.js";import"../../../icons/image-generation/index.js";import"../../../icons/speech-synthesys/index.js";import"../../../icons/transcription/index.js";import"../../../icons/text-rewrite/index.js";import"../../../icons/code-generation/index.js";import"../../../icons/essay-generation/index.js";import"../../../icons/spelling/index.js";import"../../../icons/text-generation/index.js";import"../../../icons/traffic-analisys/index.js";import"../../../icons/fav-profile/index.js";import"../../../icons/exclamation/index.js";import"../../../icons/article/index.js";import"../../../icons/setchel/index.js";import"../../../icons/assembly/index.js";import"../../../icons/data-visualisation/index.js";import"../../../icons/document-analisys/index.js";import"../../../icons/problem-solvment/index.js";import"../../../icons/setting-analisys/index.js";import"../../../icons/translation/index.js";import"../../../icons/stars/index.js";import"../../../icons/academy/index.js";import"../../../icons/articles/index.js";import"../../../icons/blog-post/index.js";import"../../../icons/book/index.js";import"../../../icons/bow-tie/index.js";import"../../../icons/case-study/index.js";import"../../../icons/comments/index.js";import"../../../icons/guide/index.js";import"../../../icons/marketing/index.js";import"../../../icons/post/index.js";import"../../../icons/report/index.js";import"../../../icons/review/index.js";import"../../../icons/scientific-article/index.js";import"../../../icons/selling-text/index.js";import"../../../icons/textbook/index.js";import"../../../icons/wind/index.js";import"../../../icons/grok/index.js";import"../../../icons/deepseek/index.js";import"../../../icons/grid-horizontal/index.js";import"../../../icons/grid-vertical/index.js";import"../../../icons/star-gradient/index.js";import"../../../icons/qwen/index.js";import"../../../icons/sidebar-toggle-left/index.js";import"../../../icons/sidebar-toggle-right/index.js";import"../../../icons/system/index.js";import"../../../icons/selector/index.js";import"../../../icons/video-camera/index.js";import"../../../icons/music-note/index.js";import"../../../icons/add-profile/index.js";import"../../../icons/token-counter/index.js";import"../../../icons/customer-support/index.js";import"../../../icons/sort-alphabet-top-bottom/index.js";import"../../../icons/sort-alphabet-bottom-top/index.js";import"../../../icons/pause/index.js";import"../../../icons/play/index.js";import"../../../icons/restore-2/index.js";import"../../../icons/video-generation/index.js";import"../../../icons/veo-model/index.js";import"../../../icons/runway/index.js";import"../../../icons/queue-select/index.js";import"../../../icons/apple/index.js";import"../../../icons/mail-colored/index.js";import{ShieldIcon as D}from"../../../icons/shield/index.js";import"../../../icons/stars-gradient/index.js";import"../../../icons/fire/index.js";import"../../../icons/brain/index.js";import"../../../icons/mj-purple/index.js";import"../../../icons/claude-black/index.js";import"../../../icons/vk-filled/index.js";import"../../../icons/tg/index.js";import"../../../icons/gift/index.js";import"../../../icons/exchange/index.js";import"../../../icons/time/index.js";import{useTheme as S}from"../../../theme/hook.js";const $=({id:$,disableModal:O,message:P,variant:U="user",skeleton:W,disableResend:A,disableEdit:B,disableDelete:G,disableUpdate:H,disableCopy:X,disableDownload:Y,disableEncryption:_,editOutOfMenu:F,editText:I,copyTgText:J,copyPlainText:K,resendText:N,deleteText:Q,onReportText:V,downloadTooltipLabel:Z,submitEditTooltipLabel:ii,discardEditTooltipLabel:oi,encryptionTooltipLabel:ni,updateTooltipLabel:si,copyTooltipLabel:ei,editing:ti,editedText:ri,messageRef:ci,isLastMessage:di=!1,onEditing:pi,onEditedText:mi,onEdit:li,onResend:xi,onDelete:ai,onUpdate:ji,onReport:ui,onPlainTextCopy:gi,onTgCopy:bi,onCopy:hi,onDownload:fi})=>{const wi=S(),[yi,vi]=s(!1),[ki,Ti]=s(),[Li,Ci]=s(!1),[zi,Ei]=s(!1),Mi=e(null),qi=e(null),Ri=M(),Di=t(()=>"custom"===wi.scheme?R(wi.colors.custom.icon,.75):"standard"===wi.scheme||"light"===wi.mode?wi.colors.grayScale.gray1:wi.colors.accent.primary,[wi]),Si=t(()=>{if(W)return!1;switch(U){case"assistant":return!B;case"user":return!O&&(!B||!G||!A)}},[B,G,A]),$i=()=>{var i,o,n,s,e,t,r,c,d,p,m;const l=null!==(n=null===(o=null===(i=null==Ri?void 0:Ri.current)||void 0===i?void 0:i.element)||void 0===o?void 0:o.scrollHeight)&&void 0!==n?n:0,x=null!==(e=null===(s=null==ci?void 0:ci.current)||void 0===s?void 0:s.scrollWidth)&&void 0!==e?e:0,a=null!==(r=null===(t=Mi.current)||void 0===t?void 0:t.offsetTop)&&void 0!==r?r:0,j=null!==(d=null===(c=Mi.current)||void 0===c?void 0:c.offsetLeft)&&void 0!==d?d:0,u=x-(j+(null!==(m=null===(p=Mi.current)||void 0===p?void 0:p.offsetWidth)&&void 0!==m?m:0));Ei(l-a<=300||di),Ci("assistant"===U&&x-j<=160||"user"===U&&u<=160)},Oi=r(()=>{ki&&window.clearTimeout(ki),$i(),vi(!0)},[ki]),Pi=r(()=>{Ti(window.setTimeout(()=>vi(!1),300))},[]),Ui=r(()=>{$i(),vi(i=>!i)},[]),Wi=r(i=>{const o={id:$,message:P};switch(i){case"edit":null==pi||pi(!0),null==mi||mi(null!=P?P:"");break;case"delete":null==ai||ai(o);break;case"resend":null==xi||xi(o)}vi(!1)},[$,P]),Ai=r(({id:i,message:o})=>{null==pi||pi(!1),null==li||li({id:i,message:o,variant:U})},[$,P]),Bi=r(()=>{null==pi||pi(!1),null==mi||mi(null!=P?P:"")},[P]),Gi=r(()=>{null==bi||bi(),vi(!1)},[]),Hi=r(()=>{null==gi||gi(),vi(!1)},[]),Xi=r(()=>{null==ui||ui({id:$,message:P}),vi(!1)},[$,P]),Yi=d(yi,{from:{opacity:0,y:5},enter:{opacity:1,y:0},leave:{opacity:0,y:0},config:{duration:250,easing:p.easeOutSine}});return c(()=>{const i=()=>{vi(!1)};return window.addEventListener("scroll",i,!0),()=>{window.removeEventListener("scroll",i,!0)}},[yi]),c(()=>{ki&&window.clearTimeout(ki)},[]),i(w,{$variant:U,ref:Mi,children:[ti?i(L,{children:[o(E,{id:$,message:ri,tooltipLabel:ii,onClick:Ai,children:o(g,{size:20,fill:wi.colors.accent.primary})}),o(E,{tooltipLabel:oi,onClick:Bi,children:o(b,{size:14,fill:wi.colors.grayScale.gray2})})]}):o(n,{children:i(q,{fill:Di,children:[Si&&i(y,{ref:qi,onBlur:()=>{vi(!1)},children:[o(E,{onMouseEnter:"ontouchstart"in window?void 0:Oi,onMouseLeave:"ontouchstart"in window?void 0:Pi,onClick:Ui,children:o(m,{size:18})}),Yi((n,s)=>s&&i(v,{style:n,onMouseEnter:Oi,onMouseLeave:Pi,$variant:U,$invertedX:Li,$invertedY:zi,children:[!X&&K&&gi&&o(C,{onClick:Hi,children:i(k,{children:[o(h,{}),o(T,{children:K})]})}),!X&&J&&bi&&o(C,{onClick:Gi,children:i(k,{children:[o(h,{}),o(T,{children:J})]})}),!A&&"user"===U&&N&&xi&&o(C,{onClick:()=>{Wi("resend")},children:i(k,{children:[o(x,{}),o(T,{children:N})]})}),!F&&!B&&I&&li&&o(C,{onClick:()=>{Wi("edit")},children:i(k,{children:[o(a,{}),o(T,{children:I})]})}),!G&&Q&&ai&&o(C,{onClick:()=>{Wi("delete")},children:i(k,{children:[o(j,{}),o(T,{children:Q})]})}),!G&&V&&ui&&"user"!==U&&o(C,{onClick:Xi,children:i(k,{children:[o(u,{size:18}),o(T,{children:V})]})})]},"message-actions-modal"))]}),!Si&&!G&&o(E,{id:$,message:P,onClick:ai,tooltipLabel:Q,children:o(j,{size:20})}),!H&&"user"!==U&&o(E,{id:$,message:P,onClick:ji,tooltipLabel:si,children:o(l,{size:18})}),F&&o(E,{id:$,message:P,onClick:()=>{Wi("edit")},tooltipLabel:I,children:o(a,{size:18})}),!X&&o(z,{onCopy:hi,tooltipLabel:ei}),!Si&&!G&&V&&ui&&"user"!==U&&o(E,{tooltipLabel:V,onClick:Xi,children:o(u,{size:18})})]})}),!Y&&o(E,{tooltipLabel:Z,onClick:fi,children:o(f,{size:18})}),!_&&o(E,{tooltipLabel:ni,children:o(D,{size:18})})]})};export{$ as MessageActions};
1
+ import{jsxs as i,jsx as o,Fragment as n}from"react/jsx-runtime";import{useState as s,useRef as e,useMemo as t,useCallback as r,useEffect as d}from"react";import{useTransition as c,easings as m}from"@react-spring/web";import{MenuDotIcon as p}from"../../../icons/menu-dot/index.js";import{UpdateIcon as l}from"../../../icons/update/index.js";import{ResendIcon as x}from"../../../icons/resend/index.js";import{EditIcon as a}from"../../../icons/edit/index.js";import{TrashIcon as j}from"../../../icons/trash/index.js";import{ThumbDownIcon as u}from"../../../icons/thumb-down/index.js";import{CheckSmallIcon as g}from"../../../icons/check-small/index.js";import{CloseIcon as h}from"../../../icons/close/index.js";import{CopyIcon as b}from"../../../icons/copy/index.js";import{DownloadImgIcon as f}from"../../../icons/download-img/index.js";import{MessageActionsStyled as v,MessageActionsMenuStyled as w,MessageActionsMenuModal as y,MessageActionsMenuModalOptionContent as k,MessageActionsButtonText as T,MessageEditButtonsStyled as L}from"./styled.js";import{MenuOption as C}from"./menu-option/index.js";import{CopyButton as z}from"./copy-button/index.js";import{ActionButton as E}from"./action-button/index.js";import"../list/styled.js";import{useScrollbarRef as M}from"../list/context.js";import"../scroll-button/styled.js";import"tslib";import{IconProvider as q}from"../../icon/context.js";import"../../icon/styled.js";import"react-markdown";import"react-dom";import"../../portal/styled.js";import"../../tooltip/styled.js";import"../../tooltip/arrow/styled.js";import"../../../theme/index.js";import"../../tooltip/context.js";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import{colorToRgba as R}from"../../../utils/colors/colorToRgba.js";import"../../../utils/colors/calculateGrayScale.js";import"../../../utils/colors/calculateAccentColors.js";import"../../../icons/arrow-down/index.js";import"../../../icons/arrow-narrow-left/index.js";import"../../../icons/arrow-narrow-right/index.js";import"../../../icons/arrow-up/index.js";import"../../../icons/bitcoin/index.js";import"../../../icons/bot-circle/index.js";import"../../../icons/bothub-agg/index.js";import"../../../icons/business-colored/index.js";import"../../../icons/check-circle/index.js";import"../../../icons/email-circle/index.js";import"../../../icons/language/index.js";import"../../../icons/lock-circle/index.js";import"../../../icons/menu/index.js";import"../../../icons/medium-circle/index.js";import"../../../icons/tg-circle/index.js";import"../../../icons/tg-colored/index.js";import"../../../icons/youcassa/index.js";import"../../../icons/dashboard/index.js";import"../../../icons/user-profile/index.js";import"../../../icons/logout/index.js";import"../../../icons/habr-2/index.js";import"../../../icons/arrow-2-down/index.js";import"../../../icons/links/index.js";import"../../../icons/free/index.js";import"../../../icons/hotness/index.js";import"../../../icons/checked/index.js";import"../../../icons/ai/index.js";import"../../../icons/bookmarks/index.js";import"../../../icons/bookmarks-big/index.js";import"../../../icons/chat/index.js";import"../../../icons/chats/index.js";import"../../../icons/coder/index.js";import"../../../icons/presets-big/index.js";import"../../../icons/referal/index.js";import"../../../icons/restore/index.js";import"../../../icons/tariff/index.js";import"../../../icons/plus-2/index.js";import"../../../icons/plus-1/index.js";import"../../../icons/send/index.js";import"../../../icons/settings/index.js";import"../../../icons/habr/index.js";import"../../../icons/stop/index.js";import"../../../icons/thumb-up/index.js";import"../../../icons/star/index.js";import"../../../icons/info-big/index.js";import"../../../icons/warning-big/index.js";import"../../../icons/error-big/index.js";import"../../../icons/success-big/index.js";import"../../../icons/mj/index.js";import"../../../icons/card/index.js";import"../../../icons/arrow-narrow-up/index.js";import"../../../icons/arrow-narrow-down/index.js";import"../../../icons/filters/index.js";import"../../../icons/info/index.js";import"../../../icons/search-circle/index.js";import"../../../icons/save/index.js";import"../../../icons/light/index.js";import"../../../icons/dark/index.js";import"../../../icons/email-colored/index.js";import"../../../icons/action-chat/index.js";import"../../../icons/attach/index.js";import"../../../icons/avatar-add/index.js";import"../../../icons/brush/index.js";import"../../../icons/calendar/index.js";import"../../../icons/claude/index.js";import"../../../icons/cookie/index.js";import"../../../icons/dalle/index.js";import"../../../icons/error/index.js";import"../../../icons/expand/index.js";import"../../../icons/eye/index.js";import"../../../icons/face/index.js";import"../../../icons/gear/index.js";import"../../../icons/gear-min/index.js";import"../../../icons/generation/index.js";import"../../../icons/gpt-3_5/index.js";import"../../../icons/gpt-4/index.js";import"../../../icons/imagine/index.js";import"../../../icons/imagine-2/index.js";import"../../../icons/loader/index.js";import"../../../icons/loader-circular/index.js";import"../../../icons/loader-circular-gradient/index.js";import"../../../icons/loader-circular-gradient-2/index.js";import"../../../icons/minus/index.js";import"../../../icons/mj-white/index.js";import"../../../icons/prompt/index.js";import"../../../icons/rabbit/index.js";import"../../../icons/ratio-1x1/index.js";import"../../../icons/ratio-2x3/index.js";import"../../../icons/ratio-3x2/index.js";import"../../../icons/ratio-4x5/index.js";import"../../../icons/ratio-4x7/index.js";import"../../../icons/ratio-5x4/index.js";import"../../../icons/ratio-7x4/index.js";import"../../../icons/ratio-16x9/index.js";import"../../../icons/ratio-9x16/index.js";import"../../../icons/ratio-21x9/index.js";import"../../../icons/ratio-9x21/index.js";import"../../../icons/refferal-min/index.js";import"../../../icons/search-data/index.js";import"../../../icons/square/index.js";import"../../../icons/turtle/index.js";import"../../../icons/upscale/index.js";import"../../../icons/withdraw/index.js";import"../../../icons/search-plus/index.js";import"../../../icons/lightning/index.js";import"../../../icons/blog-circle/index.js";import"../../../icons/stripe/index.js";import"../../../icons/corporate/index.js";import"../../../icons/public/index.js";import"../../../icons/private/index.js";import"../../../icons/mistral/index.js";import"../../../icons/gemini/index.js";import"../../../icons/search-simple/index.js";import"../../../icons/sad-robot/index.js";import"../../../icons/model/index.js";import"../../../icons/phone-colored/index.js";import"../../../icons/questions/index.js";import"../../../icons/pdf-big/index.js";import"../../../icons/xls-big/index.js";import"../../../icons/word-big/index.js";import"../../../icons/txt-big/index.js";import"../../../icons/pdf/index.js";import"../../../icons/xls/index.js";import"../../../icons/word/index.js";import"../../../icons/txt/index.js";import"../../../icons/bothub-logo-gradient/index.js";import"../../../icons/telegram-logo-gradient/index.js";import"../../../icons/decline-circle/index.js";import"../../../icons/simple-gear-bg/index.js";import"../../../icons/advanced-filter/index.js";import"../../../icons/big-corporate/index.js";import"../../../icons/big-mj/index.js";import"../../../icons/big-models/index.js";import"../../../icons/big-stats/index.js";import"../../../icons/big-success/index.js";import"../../../icons/big-users/index.js";import"../../../icons/optional-presets/index.js";import"../../../icons/wallet-withdraw/index.js";import"../../../icons/big-presets/index.js";import"../../../icons/big-favorite/index.js";import"../../../icons/big-referal/index.js";import"../../../icons/attach-file/index.js";import"../../../icons/attach-file-big/index.js";import"../../../icons/voice/index.js";import"../../../icons/play-button/index.js";import"../../../icons/pause-button/index.js";import"../../../icons/text-read/index.js";import"../../../icons/text-hide/index.js";import"../../../icons/best-chat-bots/index.js";import"../../../icons/upload/index.js";import"../../../icons/enter/index.js";import"../../../icons/discord/index.js";import"../../../icons/discord-circle/index.js";import"../../../icons/black-forest-labs/index.js";import"../../../icons/flux/index.js";import"../../../icons/stable-diffusion/index.js";import"../../../icons/stability-ai/index.js";import"../../../icons/article-generator/index.js";import"../../../icons/success/index.js";import"../../../icons/google/index.js";import"../../../icons/yandex/index.js";import"../../../icons/vk/index.js";import"../../../icons/big-article/index.js";import"../../../icons/add-chat/index.js";import"../../../icons/add-group/index.js";import"../../../icons/drag-dot/index.js";import"../../../icons/add-folder/index.js";import"../../../icons/temp-chat/index.js";import"../../../icons/delete-chat/index.js";import"../../../icons/sidebar-chat/index.js";import"../../../icons/organization/index.js";import"../../../icons/simple-gear/index.js";import"../../../icons/text-bold/index.js";import"../../../icons/text-italic/index.js";import"../../../icons/text-underline/index.js";import"../../../icons/text-strikethrough/index.js";import"../../../icons/refresh/index.js";import"../../../icons/copy-variants/index.js";import"../../../icons/sort-ascending/index.js";import"../../../icons/sort-descending/index.js";import"../../../icons/quote/index.js";import"../../../icons/url-circle/index.js";import"../../../icons/show-ui/index.js";import"../../../icons/hide-ui/index.js";import"../../../icons/sort-user/index.js";import"../../../icons/happy-robot/index.js";import"../../../icons/happy-robot-gradient/index.js";import"../../../icons/min-window/index.js";import"../../../icons/max-window/index.js";import"../../../icons/manage-chat/index.js";import"../../../icons/analyze-urls/index.js";import"../../../icons/web-search/index.js";import"../../../icons/include-context/index.js";import"../../../icons/queue/index.js";import"../../../icons/sort-alphabet-ascending/index.js";import"../../../icons/sort-alphabet-descending/index.js";import"../../../icons/sort-date-ascending/index.js";import"../../../icons/sort-date-descending/index.js";import"../../../icons/cot-r1/index.js";import"../../../icons/news/index.js";import"../../../icons/volume/index.js";import"../../../icons/flag-ru/index.js";import"../../../icons/flag-kz/index.js";import"../../../icons/print/index.js";import"../../../icons/pc-icon-1/index.js";import"../../../icons/pc-icon-2/index.js";import"../../../icons/pc-icon-3/index.js";import"../../../icons/star-unfilled/index.js";import"../../../icons/image-generation/index.js";import"../../../icons/speech-synthesys/index.js";import"../../../icons/transcription/index.js";import"../../../icons/text-rewrite/index.js";import"../../../icons/code-generation/index.js";import"../../../icons/essay-generation/index.js";import"../../../icons/spelling/index.js";import"../../../icons/text-generation/index.js";import"../../../icons/traffic-analisys/index.js";import"../../../icons/fav-profile/index.js";import"../../../icons/exclamation/index.js";import"../../../icons/article/index.js";import"../../../icons/setchel/index.js";import"../../../icons/assembly/index.js";import"../../../icons/data-visualisation/index.js";import"../../../icons/document-analisys/index.js";import"../../../icons/problem-solvment/index.js";import"../../../icons/setting-analisys/index.js";import"../../../icons/translation/index.js";import"../../../icons/stars/index.js";import"../../../icons/academy/index.js";import"../../../icons/articles/index.js";import"../../../icons/blog-post/index.js";import"../../../icons/book/index.js";import"../../../icons/bow-tie/index.js";import"../../../icons/case-study/index.js";import"../../../icons/comments/index.js";import"../../../icons/guide/index.js";import"../../../icons/marketing/index.js";import"../../../icons/post/index.js";import"../../../icons/report/index.js";import"../../../icons/review/index.js";import"../../../icons/scientific-article/index.js";import"../../../icons/selling-text/index.js";import"../../../icons/textbook/index.js";import"../../../icons/wind/index.js";import"../../../icons/grok/index.js";import"../../../icons/deepseek/index.js";import"../../../icons/grid-horizontal/index.js";import"../../../icons/grid-vertical/index.js";import"../../../icons/star-gradient/index.js";import"../../../icons/qwen/index.js";import"../../../icons/sidebar-toggle-left/index.js";import"../../../icons/sidebar-toggle-right/index.js";import"../../../icons/system/index.js";import"../../../icons/selector/index.js";import"../../../icons/video-camera/index.js";import"../../../icons/music-note/index.js";import"../../../icons/add-profile/index.js";import"../../../icons/token-counter/index.js";import"../../../icons/customer-support/index.js";import"../../../icons/sort-alphabet-top-bottom/index.js";import"../../../icons/sort-alphabet-bottom-top/index.js";import"../../../icons/pause/index.js";import"../../../icons/play/index.js";import"../../../icons/restore-2/index.js";import"../../../icons/video-generation/index.js";import"../../../icons/veo-model/index.js";import"../../../icons/runway/index.js";import"../../../icons/queue-select/index.js";import"../../../icons/apple/index.js";import"../../../icons/mail-colored/index.js";import{ShieldIcon as D}from"../../../icons/shield/index.js";import"../../../icons/stars-gradient/index.js";import"../../../icons/fire/index.js";import"../../../icons/brain/index.js";import"../../../icons/mj-purple/index.js";import"../../../icons/claude-black/index.js";import"../../../icons/vk-filled/index.js";import"../../../icons/tg/index.js";import"../../../icons/gift/index.js";import"../../../icons/exchange/index.js";import"../../../icons/time/index.js";import{useTheme as S}from"../../../theme/hook.js";const $=({id:$,disableModal:H,message:O,variant:P="user",skeleton:U,disableResend:W,disableEdit:A,disableDelete:B,disableUpdate:G,disableCopy:X,disableDownload:Y,disableEncryption:_,editOutOfMenu:F,editText:I,copyTgText:J,copyPlainText:K,resendText:N,deleteText:Q,onReportText:V,downloadTooltipLabel:Z,submitEditTooltipLabel:ii,discardEditTooltipLabel:oi,encryptionTooltipLabel:ni,updateTooltipLabel:si,copyTooltipLabel:ei,editing:ti,editedText:ri,messageRef:di,isLastMessage:ci=!1,onEditing:mi,onEditedText:pi,onEdit:li,onResend:xi,onDelete:ai,onUpdate:ji,onReport:ui,onPlainTextCopy:gi,onTgCopy:hi,onCopy:bi,onDownload:fi})=>{const vi=S(),[wi,yi]=s(!1),[ki,Ti]=s(),[Li,Ci]=s(!1),[zi,Ei]=s(!1),Mi=e(null),qi=e(null),Ri=M(),Di=t(()=>"custom"===vi.scheme?R(vi.colors.custom.icon,.75):"standard"===vi.scheme||"light"===vi.mode?vi.colors.grayScale.gray1:vi.colors.accent.primary,[vi]),Si=t(()=>{if(U)return!1;switch(P){case"assistant":return!A;case"user":return!H&&(!A||!B||!W)}},[A,B,W]),$i=()=>{var i,o,n,s,e,t,r,d,c,m,p,l,x,a,j,u;const g=null!==(n=null===(o=null===(i=null==Ri?void 0:Ri.current)||void 0===i?void 0:i.element)||void 0===o?void 0:o.scrollHeight)&&void 0!==n?n:0,h=null!==(t=null===(e=null===(s=null==Ri?void 0:Ri.current)||void 0===s?void 0:s.element)||void 0===e?void 0:e.clientHeight)&&void 0!==t?t:0,b=null!==(d=null===(r=null==di?void 0:di.current)||void 0===r?void 0:r.scrollWidth)&&void 0!==d?d:0,f=null!==(m=null===(c=Mi.current)||void 0===c?void 0:c.offsetTop)&&void 0!==m?m:0,v=null!==(l=null===(p=Mi.current)||void 0===p?void 0:p.offsetLeft)&&void 0!==l?l:0,w=null!==(a=null===(x=Mi.current)||void 0===x?void 0:x.offsetWidth)&&void 0!==a?a:0,y=null!==(u=null===(j=Mi.current)||void 0===j?void 0:j.offsetHeight)&&void 0!==u?u:0,k=b-(v+w);Ei(g-f-y-(g-h)<=300||ci),Ci("assistant"===P&&b-v<=160||"user"===P&&k<=160)},Hi=r(()=>{ki&&window.clearTimeout(ki),$i(),yi(!0)},[ki]),Oi=r(()=>{Ti(window.setTimeout(()=>yi(!1),300))},[]),Pi=r(()=>{$i(),yi(i=>!i)},[]),Ui=r(i=>{const o={id:$,message:O};switch(i){case"edit":null==mi||mi(!0),null==pi||pi(null!=O?O:"");break;case"delete":null==ai||ai(o);break;case"resend":null==xi||xi(o)}yi(!1)},[$,O]),Wi=r(({id:i,message:o})=>{null==mi||mi(!1),null==li||li({id:i,message:o,variant:P})},[$,O]),Ai=r(()=>{null==mi||mi(!1),null==pi||pi(null!=O?O:"")},[O]),Bi=r(()=>{null==hi||hi(),yi(!1)},[]),Gi=r(()=>{null==gi||gi(),yi(!1)},[]),Xi=r(()=>{null==ui||ui({id:$,message:O}),yi(!1)},[$,O]),Yi=c(wi,{from:{opacity:0,y:5},enter:{opacity:1,y:0},leave:{opacity:0,y:0},config:{duration:250,easing:m.easeOutSine}});return d(()=>{const i=()=>{yi(!1)};return window.addEventListener("scroll",i,!0),()=>{window.removeEventListener("scroll",i,!0)}},[wi]),d(()=>{ki&&window.clearTimeout(ki)},[]),i(v,{$variant:P,ref:Mi,children:[ti?i(L,{children:[o(E,{id:$,message:ri,tooltipLabel:ii,onClick:Wi,children:o(g,{size:20,fill:vi.colors.accent.primary})}),o(E,{tooltipLabel:oi,onClick:Ai,children:o(h,{size:14,fill:vi.colors.grayScale.gray2})})]}):o(n,{children:i(q,{fill:Di,children:[Si&&i(w,{ref:qi,onBlur:()=>{yi(!1)},children:[o(E,{onMouseEnter:"ontouchstart"in window?void 0:Hi,onMouseLeave:"ontouchstart"in window?void 0:Oi,onClick:Pi,children:o(p,{size:18})}),Yi((n,s)=>s&&i(y,{style:n,onMouseEnter:Hi,onMouseLeave:Oi,$variant:P,$invertedX:Li,$invertedY:zi,children:[!X&&K&&gi&&o(C,{onClick:Gi,children:i(k,{children:[o(b,{}),o(T,{children:K})]})}),!X&&J&&hi&&o(C,{onClick:Bi,children:i(k,{children:[o(b,{}),o(T,{children:J})]})}),!W&&"user"===P&&N&&xi&&o(C,{onClick:()=>{Ui("resend")},children:i(k,{children:[o(x,{}),o(T,{children:N})]})}),!F&&!A&&I&&li&&o(C,{onClick:()=>{Ui("edit")},children:i(k,{children:[o(a,{}),o(T,{children:I})]})}),!B&&Q&&ai&&o(C,{onClick:()=>{Ui("delete")},children:i(k,{children:[o(j,{}),o(T,{children:Q})]})}),!B&&V&&ui&&"user"!==P&&o(C,{onClick:Xi,children:i(k,{children:[o(u,{size:18}),o(T,{children:V})]})})]},"message-actions-modal"))]}),!Si&&!B&&o(E,{id:$,message:O,onClick:ai,tooltipLabel:Q,children:o(j,{size:20})}),!G&&"user"!==P&&o(E,{id:$,message:O,onClick:ji,tooltipLabel:si,children:o(l,{size:18})}),F&&o(E,{id:$,message:O,onClick:()=>{Ui("edit")},tooltipLabel:I,children:o(a,{size:18})}),!X&&o(z,{onCopy:bi,tooltipLabel:ei}),!Si&&!B&&V&&ui&&"user"!==P&&o(E,{tooltipLabel:V,onClick:Xi,children:o(u,{size:18})})]})}),!Y&&o(E,{tooltipLabel:Z,onClick:fi,children:o(f,{size:18})}),!_&&o(E,{tooltipLabel:ni,children:o(D,{size:18})})]})};export{$ as MessageActions};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bothub-chat/ui",
3
- "version": "2.48.1-fix-message-0254fe9d-a9ce-4e0c-a1bb-f4ac15f0340b",
3
+ "version": "2.48.1-fix-message-46d3ffe8-098e-471e-a52e-90c20a6c4855",
4
4
  "description": "Bothub UI Components",
5
5
  "keywords": [
6
6
  "bot",