@bothub-chat/ui 2.80.25 → 2.80.26

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.
Files changed (48) hide show
  1. package/dist/components/bookmark/index.d.ts +1 -0
  2. package/dist/components/bookmark/index.js +1 -1
  3. package/dist/components/bookmark/list/index.d.ts +1 -0
  4. package/dist/components/bookmark/list/index.js +1 -1
  5. package/dist/components/chip/index.d.ts +1 -0
  6. package/dist/components/chip/index.js +1 -1
  7. package/dist/components/color-picker/menu/styled.d.ts +4 -1
  8. package/dist/components/header/index.d.ts +1 -0
  9. package/dist/components/header/index.js +1 -1
  10. package/dist/components/header/menu/toggle-button/index.d.ts +1 -0
  11. package/dist/components/header/menu/toggle-button/index.js +1 -1
  12. package/dist/components/input-message/index.d.ts +11 -0
  13. package/dist/components/input-message/index.js +1 -1
  14. package/dist/components/input-message/input-files.d.ts +1 -0
  15. package/dist/components/input-message/input-files.js +1 -1
  16. package/dist/components/input-message/styled.d.ts +1 -0
  17. package/dist/components/input-message/use-input.d.ts +2 -1
  18. package/dist/components/input-message/use-input.js +1 -1
  19. package/dist/components/logo/index.d.ts +1 -0
  20. package/dist/components/logo/index.js +1 -1
  21. package/dist/components/menu/index.js +1 -1
  22. package/dist/components/message/actions/action-button/index.d.ts +2 -0
  23. package/dist/components/message/actions/action-button/index.js +1 -1
  24. package/dist/components/message/actions/index.d.ts +2 -1
  25. package/dist/components/message/actions/index.js +1 -1
  26. package/dist/components/message/components/image/index.js +1 -1
  27. package/dist/components/message/search-results/index.d.ts +1 -0
  28. package/dist/components/message/search-results/index.js +1 -1
  29. package/dist/components/message/search-results/styled.d.ts +3 -292
  30. package/dist/components/message/search-results/styled.js +1 -1
  31. package/dist/components/modal/modal-window/index.d.ts +4 -0
  32. package/dist/components/modal/modal-window/index.js +1 -1
  33. package/dist/components/notification/index.d.ts +1 -0
  34. package/dist/components/notification/index.js +1 -1
  35. package/dist/components/notification/list/index.d.ts +1 -0
  36. package/dist/components/notification/list/index.js +1 -1
  37. package/dist/components/select-field/select-modal/styled.d.ts +4 -1
  38. package/dist/components/select-field/styled.d.ts +1 -0
  39. package/dist/components/sidebar/chat/index.d.ts +2 -0
  40. package/dist/components/sidebar/chat/index.js +1 -1
  41. package/dist/components/sidebar/index.d.ts +1 -0
  42. package/dist/components/sidebar/index.js +1 -1
  43. package/dist/components/sidebar/toggle-button/index.d.ts +4 -1
  44. package/dist/components/sidebar/toggle-button/index.js +1 -1
  45. package/dist/components/text-field/index.d.ts +4 -0
  46. package/dist/components/text-field/index.js +1 -1
  47. package/dist/components/tooltip/index.js +1 -1
  48. package/package.json +1 -1
@@ -1 +1 @@
1
- import{jsxs as C,jsx as t}from"react/jsx-runtime";import{useMemo as o}from"react";import{LogoStyled as e}from"./styled.js";import"../../theme/index.js";import{isBright as l}from"../../utils/colors/isBright.js";import"../../utils/colors/calculateGrayScale.js";import"../../utils/colors/calculateAccentColors.js";import{useTheme as r}from"../../theme/hook.js";const s=({size:s=29})=>{const a=r(),c=o(()=>"custom"===a.scheme&&l(a.colors.grayScale.gray4)?a.default.colors.base.black:"standard"===a.scheme&&"light"===a.mode?"#133985":"dark"===a.mode?a.default.colors.base.white:a.colors.accent.primary,[a]),i=o(()=>"custom"===a.scheme?a.bright?a.default.colors.base.black:a.default.colors.base.white:"light"===a.mode||"standard"===a.scheme?a.default.colors.base.white:a.colors.base.black,[a]);return C(e,{width:3.3448*s,height:s,viewBox:"0 0 97 29",fill:"none",children:[t("path",{d:"M0 22.2276V4.71848H7.08345C8.71183 4.71848 10.096 5.18652 11.2358 6.12262C12.3843 7.05058 12.9585 8.15761 12.9585 9.44373C12.9585 10.1926 12.7314 10.9049 12.2771 11.5805C11.8315 12.2479 11.2658 12.7119 10.5802 12.9724C11.5229 13.184 12.29 13.6765 12.8813 14.4498C13.4727 15.2231 13.7684 16.1307 13.7684 17.1726C13.7684 18.5971 13.1899 19.7978 12.0329 20.7746C10.8759 21.7432 9.49174 22.2276 7.8805 22.2276H0ZM4.47376 11.6049H6.87776C7.33199 11.6049 7.71338 11.4665 8.02191 11.1898C8.33045 10.913 8.48471 10.5752 8.48471 10.1763C8.48471 9.79375 8.32616 9.46408 8.00906 9.18732C7.70052 8.91056 7.32342 8.77218 6.87776 8.77218H4.47376V11.6049ZM4.47376 18.1738H7.48198C7.97906 18.1738 8.39901 18.011 8.74183 17.6854C9.09321 17.3598 9.26891 16.9651 9.26891 16.5011C9.26891 16.0371 9.0975 15.6423 8.75468 15.3167C8.42044 14.9911 8.01334 14.8283 7.5334 14.8283H4.47376V18.1738Z",fill:c}),t("path",{d:"M16.5231 11.495C17.8086 10.2659 19.407 9.6513 21.3182 9.6513C23.2294 9.6513 24.8321 10.2659 26.1262 11.495C27.4204 12.7241 28.0674 14.2585 28.0674 16.0982C28.0674 17.2947 27.7718 18.3814 27.1804 19.3582C26.589 20.335 25.7791 21.1002 24.7507 21.6537C23.7222 22.1991 22.5781 22.4718 21.3182 22.4718C19.407 22.4718 17.8086 21.8653 16.5231 20.6525C15.2461 19.4396 14.6076 17.9215 14.6076 16.0982C14.6076 14.2504 15.2461 12.716 16.5231 11.495ZM21.3182 13.4974C20.5812 13.4974 19.9684 13.7457 19.4799 14.2422C18.9914 14.7306 18.7471 15.3493 18.7471 16.0982C18.7471 16.8226 18.9914 17.425 19.4799 17.9052C19.9684 18.3855 20.5812 18.6256 21.3182 18.6256C22.0724 18.6256 22.6938 18.3855 23.1823 17.9052C23.6794 17.425 23.9279 16.8226 23.9279 16.0982C23.9279 15.3493 23.6794 14.7306 23.1823 14.2422C22.6938 13.7457 22.0724 13.4974 21.3182 13.4974Z",fill:c}),t("path",{d:"M38.0084 13.7538H34.9231V16.904C34.9231 17.4657 35.1202 17.893 35.5144 18.1861C35.9087 18.4791 36.4143 18.6256 37.0314 18.6256C37.4171 18.6256 37.7428 18.5931 38.0084 18.5279V22.2276C37.5199 22.3578 36.8686 22.4229 36.0544 22.4229C34.4517 22.4229 33.1619 21.9386 32.1848 20.9699C31.2078 19.9931 30.7193 18.6622 30.7193 16.9773V13.7538H28.341V9.8955H30.7193V6.74533H34.9231V9.8955H38.0084V13.7538Z",fill:c}),t("rect",{x:"42.8807",width:"54.1193",height:"29",rx:"4",fill:a.colors.accent.primary}),t("path",{d:"M56.6391 9.6513C58.2932 9.6513 59.5873 10.1519 60.5215 11.1531C61.4557 12.1543 61.9227 13.5381 61.9227 15.3045V22.2276H57.6932V15.8295C57.6932 15.1295 57.4961 14.5678 57.1019 14.1446C56.7076 13.7131 56.1848 13.4974 55.5335 13.4974C54.8907 13.4974 54.3679 13.7131 53.9651 14.1446C53.5709 14.5678 53.3738 15.1295 53.3738 15.8295V22.2276H49.1571V4.71848H53.3738V11.3241C54.1879 10.2089 55.2764 9.6513 56.6391 9.6513Z",fill:i}),t("path",{d:"M72.3908 9.8955H76.6203V22.2276H72.3908V20.8234C71.5681 21.9223 70.4882 22.4718 69.1512 22.4718C67.4971 22.4718 66.1987 21.9752 65.256 20.9821C64.3218 19.9809 63.8547 18.5971 63.8547 16.8308V9.8955H68.0713V16.3057C68.0713 17.0058 68.2685 17.5674 68.6627 17.9907C69.0655 18.414 69.5969 18.6256 70.2568 18.6256C70.8996 18.6256 71.4138 18.414 71.7995 17.9907C72.1937 17.5674 72.3908 17.0058 72.3908 16.3057V9.8955Z",fill:i}),t("path",{d:"M86.5613 9.6513C87.6412 9.6513 88.6311 9.94027 89.531 10.5182C90.4394 11.0961 91.1508 11.8776 91.665 12.8625C92.1878 13.8393 92.4492 14.9097 92.4492 16.0737C92.4492 17.8401 91.875 19.3501 90.7266 20.6036C89.5867 21.849 88.1983 22.4718 86.5613 22.4718C84.9415 22.4718 83.6774 21.8897 82.7689 20.7257V22.2276H78.5523V4.71848H82.7689V11.3973C83.6774 10.2333 84.9415 9.6513 86.5613 9.6513ZM85.5586 18.65C86.3214 18.65 86.9727 18.4018 87.5126 17.9052C88.0526 17.4005 88.3226 16.7901 88.3226 16.0737C88.3226 15.3493 88.0526 14.7388 87.5126 14.2422C86.9813 13.7457 86.3299 13.4974 85.5586 13.4974C84.7787 13.4974 84.1188 13.7457 83.5788 14.2422C83.0389 14.7388 82.7689 15.3493 82.7689 16.0737C82.7689 16.7901 83.0389 17.4005 83.5788 17.9052C84.1188 18.4018 84.7787 18.65 85.5586 18.65Z",fill:i})]})};export{s as Logo};
1
+ import{jsxs as C,jsx as l}from"react/jsx-runtime";import{useMemo as t}from"react";import{LogoStyled as e}from"./styled.js";import"../../theme/index.js";import{isBright as o}from"../../utils/colors/isBright.js";import"../../utils/colors/calculateGrayScale.js";import"../../utils/colors/calculateAccentColors.js";import{useTheme as r}from"../../theme/hook.js";const a=({size:a=29,"aria-label":s})=>{const i=r(),c=t(()=>"custom"===i.scheme&&o(i.colors.grayScale.gray4)?i.default.colors.base.black:"standard"===i.scheme&&"light"===i.mode?"#133985":"dark"===i.mode?i.default.colors.base.white:i.colors.accent.primary,[i]),h=t(()=>"custom"===i.scheme?i.bright?i.default.colors.base.black:i.default.colors.base.white:"light"===i.mode||"standard"===i.scheme?i.default.colors.base.white:i.colors.base.black,[i]);return C(e,{width:3.3448*a,height:a,viewBox:"0 0 97 29",fill:"none","aria-label":s,children:[l("path",{d:"M0 22.2276V4.71848H7.08345C8.71183 4.71848 10.096 5.18652 11.2358 6.12262C12.3843 7.05058 12.9585 8.15761 12.9585 9.44373C12.9585 10.1926 12.7314 10.9049 12.2771 11.5805C11.8315 12.2479 11.2658 12.7119 10.5802 12.9724C11.5229 13.184 12.29 13.6765 12.8813 14.4498C13.4727 15.2231 13.7684 16.1307 13.7684 17.1726C13.7684 18.5971 13.1899 19.7978 12.0329 20.7746C10.8759 21.7432 9.49174 22.2276 7.8805 22.2276H0ZM4.47376 11.6049H6.87776C7.33199 11.6049 7.71338 11.4665 8.02191 11.1898C8.33045 10.913 8.48471 10.5752 8.48471 10.1763C8.48471 9.79375 8.32616 9.46408 8.00906 9.18732C7.70052 8.91056 7.32342 8.77218 6.87776 8.77218H4.47376V11.6049ZM4.47376 18.1738H7.48198C7.97906 18.1738 8.39901 18.011 8.74183 17.6854C9.09321 17.3598 9.26891 16.9651 9.26891 16.5011C9.26891 16.0371 9.0975 15.6423 8.75468 15.3167C8.42044 14.9911 8.01334 14.8283 7.5334 14.8283H4.47376V18.1738Z",fill:c}),l("path",{d:"M16.5231 11.495C17.8086 10.2659 19.407 9.6513 21.3182 9.6513C23.2294 9.6513 24.8321 10.2659 26.1262 11.495C27.4204 12.7241 28.0674 14.2585 28.0674 16.0982C28.0674 17.2947 27.7718 18.3814 27.1804 19.3582C26.589 20.335 25.7791 21.1002 24.7507 21.6537C23.7222 22.1991 22.5781 22.4718 21.3182 22.4718C19.407 22.4718 17.8086 21.8653 16.5231 20.6525C15.2461 19.4396 14.6076 17.9215 14.6076 16.0982C14.6076 14.2504 15.2461 12.716 16.5231 11.495ZM21.3182 13.4974C20.5812 13.4974 19.9684 13.7457 19.4799 14.2422C18.9914 14.7306 18.7471 15.3493 18.7471 16.0982C18.7471 16.8226 18.9914 17.425 19.4799 17.9052C19.9684 18.3855 20.5812 18.6256 21.3182 18.6256C22.0724 18.6256 22.6938 18.3855 23.1823 17.9052C23.6794 17.425 23.9279 16.8226 23.9279 16.0982C23.9279 15.3493 23.6794 14.7306 23.1823 14.2422C22.6938 13.7457 22.0724 13.4974 21.3182 13.4974Z",fill:c}),l("path",{d:"M38.0084 13.7538H34.9231V16.904C34.9231 17.4657 35.1202 17.893 35.5144 18.1861C35.9087 18.4791 36.4143 18.6256 37.0314 18.6256C37.4171 18.6256 37.7428 18.5931 38.0084 18.5279V22.2276C37.5199 22.3578 36.8686 22.4229 36.0544 22.4229C34.4517 22.4229 33.1619 21.9386 32.1848 20.9699C31.2078 19.9931 30.7193 18.6622 30.7193 16.9773V13.7538H28.341V9.8955H30.7193V6.74533H34.9231V9.8955H38.0084V13.7538Z",fill:c}),l("rect",{x:"42.8807",width:"54.1193",height:"29",rx:"4",fill:i.colors.accent.primary}),l("path",{d:"M56.6391 9.6513C58.2932 9.6513 59.5873 10.1519 60.5215 11.1531C61.4557 12.1543 61.9227 13.5381 61.9227 15.3045V22.2276H57.6932V15.8295C57.6932 15.1295 57.4961 14.5678 57.1019 14.1446C56.7076 13.7131 56.1848 13.4974 55.5335 13.4974C54.8907 13.4974 54.3679 13.7131 53.9651 14.1446C53.5709 14.5678 53.3738 15.1295 53.3738 15.8295V22.2276H49.1571V4.71848H53.3738V11.3241C54.1879 10.2089 55.2764 9.6513 56.6391 9.6513Z",fill:h}),l("path",{d:"M72.3908 9.8955H76.6203V22.2276H72.3908V20.8234C71.5681 21.9223 70.4882 22.4718 69.1512 22.4718C67.4971 22.4718 66.1987 21.9752 65.256 20.9821C64.3218 19.9809 63.8547 18.5971 63.8547 16.8308V9.8955H68.0713V16.3057C68.0713 17.0058 68.2685 17.5674 68.6627 17.9907C69.0655 18.414 69.5969 18.6256 70.2568 18.6256C70.8996 18.6256 71.4138 18.414 71.7995 17.9907C72.1937 17.5674 72.3908 17.0058 72.3908 16.3057V9.8955Z",fill:h}),l("path",{d:"M86.5613 9.6513C87.6412 9.6513 88.6311 9.94027 89.531 10.5182C90.4394 11.0961 91.1508 11.8776 91.665 12.8625C92.1878 13.8393 92.4492 14.9097 92.4492 16.0737C92.4492 17.8401 91.875 19.3501 90.7266 20.6036C89.5867 21.849 88.1983 22.4718 86.5613 22.4718C84.9415 22.4718 83.6774 21.8897 82.7689 20.7257V22.2276H78.5523V4.71848H82.7689V11.3973C83.6774 10.2333 84.9415 9.6513 86.5613 9.6513ZM85.5586 18.65C86.3214 18.65 86.9727 18.4018 87.5126 17.9052C88.0526 17.4005 88.3226 16.7901 88.3226 16.0737C88.3226 15.3493 88.0526 14.7388 87.5126 14.2422C86.9813 13.7457 86.3299 13.4974 85.5586 13.4974C84.7787 13.4974 84.1188 13.7457 83.5788 14.2422C83.0389 14.7388 82.7689 15.3493 82.7689 16.0737C82.7689 16.7901 83.0389 17.4005 83.5788 17.9052C84.1188 18.4018 84.7787 18.65 85.5586 18.65Z",fill:h})]})};export{a as Logo};
@@ -1 +1 @@
1
- import{__rest as e}from"tslib";import{jsx as t,jsxs as r}from"react/jsx-runtime";import n,{useState as o,useRef as i,useId as l,useCallback as s,useLayoutEffect as c,useEffect as d,useMemo as a}from"react";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import"../../utils/colors/calculateGrayScale.js";import"../../utils/colors/calculateAccentColors.js";import{findNearestScrollableParent as u}from"../../utils/findNearestScrollableParent.js";import{Button as p}from"../button/index.js";import{Portal as m}from"../portal/index.js";import{MenuContent as f,MenuContentScrollbarWrapper as v,MenuContentInner as g,MenuRoot as h,MenuTriggerWrapper as b}from"./styled.js";import{getMenuCoords as w}from"./utils/getMenuCoords.js";const C={top:0,left:0},E=E=>{var{children:O,trigger:P,buttonLabel:j="Меню",buttonProps:k,open:L,defaultOpen:W=!1,onOpenChange:x,closeOnContentClick:y=!1,closeOnScroll:N=!0,position:R="left",offset:S=8,viewportPadding:z=8,flip:A=!0,matchTriggerWidth:F=!1,disablePortal:T=!1,className:$}=E,B=e(E,["children","trigger","buttonLabel","buttonProps","open","defaultOpen","onOpenChange","closeOnContentClick","closeOnScroll","position","offset","viewportPadding","flip","matchTriggerWidth","disablePortal","className"]);const H=void 0!==L,[q,G]=o(W),M=H?L:q,[V,D]=o(C),[I,J]=o(!1),K=i(null),Q=i(null),U=i(null),X=l(),Y=l(),Z=s(e=>{H||G(e),null==x||x(e)},[H,x]),_=s(()=>{Z(!M)},[M,Z]),ee=s(()=>{var e;const t=K.current,r=Q.current;if(!t||!r)return!1;const n=t.getBoundingClientRect(),o=r.offsetWidth,i=r.offsetHeight;if(o<=0||i<=0)return!1;const l=w({triggerRect:n,dropdownWidth:o,dropdownHeight:i,position:R,offset:S,viewportPadding:z,flip:A,matchTriggerWidth:F});if(T&&Q.current){const t=Q.current.offsetParent,r=null!==(e=null==t?void 0:t.getBoundingClientRect())&&void 0!==e?e:{top:0,left:0};D(Object.assign({top:l.top-r.top,left:l.left-r.left},void 0!==l.minWidth&&{minWidth:l.minWidth}))}else D(l);return!0},[T,A,F,S,R,z]);c(()=>{if(!M)return J(!1),void D(C);J(!1);let e=0,t=0;const r=()=>{t+=1;ee()?J(!0):t<5&&(e=requestAnimationFrame(r))};return r(),()=>{cancelAnimationFrame(e)}},[M,ee]),d(()=>{var e;if(!M||!Q.current)return;const t=new ResizeObserver(()=>{ee()}),r=null!==(e=U.current)&&void 0!==e?e:Q.current;t.observe(r),Q.current&&Q.current!==r&&t.observe(Q.current);const n=()=>{ee()};return window.addEventListener("resize",n),window.addEventListener("scroll",n,!0),()=>{t.disconnect(),window.removeEventListener("resize",n),window.removeEventListener("scroll",n,!0)}},[M,ee]),d(()=>{if(!M)return;const e=e=>{var t,r;const n=e.target;(null===(t=K.current)||void 0===t?void 0:t.contains(n))||(null===(r=Q.current)||void 0===r?void 0:r.contains(n))||Z(!1)};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[M,Z]),d(()=>{if(!M)return;const e=e=>{"Escape"===e.key&&(e.stopPropagation(),Z(!1))};return document.addEventListener("keyup",e,!0),()=>{document.removeEventListener("keyup",e,!0)}},[M,Z]),d(()=>{if(!M||!N||!K.current)return;const e=u(K.current);if(!e)return;const t=()=>{Z(!1)};return e.addEventListener("scroll",t),()=>{e.removeEventListener("scroll",t)}},[N,M,Z]);const te=s(e=>{e.stopPropagation(),_()},[_]),re=a(()=>{var e;if(!P)return null;if(!n.isValidElement(P))return P;const t=P,r=t.props.onClick;return n.cloneElement(t,{id:null!==(e=t.props.id)&&void 0!==e?e:X,"aria-expanded":M,"aria-haspopup":!0,"aria-controls":Y,onClick:e=>{null==r||r(e),e.defaultPrevented||_()}})},[Y,M,_,P,X]),ne=T?n.Fragment:m,oe=M?t(f,{ref:Q,id:Y,role:"menu",$position:R,$disablePortal:T,$visible:I,style:Object.assign({top:V.top,left:V.left},void 0!==V.minWidth&&{minWidth:V.minWidth}),onClick:()=>{y&&Z(!1)},children:t(v,{children:t(g,{ref:U,children:O})})}):null;return r(h,Object.assign({className:$},B,{children:[t(b,{ref:K,children:null!=re?re:t(p,Object.assign({},k,{id:X,"aria-expanded":M,"aria-haspopup":!0,"aria-controls":Y,onClick:te,children:j}))}),oe&&t(ne,{children:oe})]}))};export{E as Menu};
1
+ import{__rest as e}from"tslib";import{jsx as t,jsxs as r}from"react/jsx-runtime";import n,{useState as o,useRef as i,useId as l,useCallback as s,useLayoutEffect as c,useEffect as d,useMemo as a}from"react";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import"../../utils/colors/calculateGrayScale.js";import"../../utils/colors/calculateAccentColors.js";import{findNearestScrollableParent as u}from"../../utils/findNearestScrollableParent.js";import{Button as p}from"../button/index.js";import{Portal as m}from"../portal/index.js";import{MenuContent as f,MenuContentScrollbarWrapper as v,MenuContentInner as g,MenuRoot as h,MenuTriggerWrapper as b}from"./styled.js";import{getMenuCoords as w}from"./utils/getMenuCoords.js";const C={top:0,left:0},E=E=>{var{children:O,trigger:P,buttonLabel:j="Меню",buttonProps:k,open:L,defaultOpen:W=!1,onOpenChange:x,closeOnContentClick:y=!1,closeOnScroll:N=!0,position:R="left",offset:S=8,viewportPadding:z=8,flip:A=!0,matchTriggerWidth:F=!1,disablePortal:T=!1,className:$}=E,B=e(E,["children","trigger","buttonLabel","buttonProps","open","defaultOpen","onOpenChange","closeOnContentClick","closeOnScroll","position","offset","viewportPadding","flip","matchTriggerWidth","disablePortal","className"]);const H=void 0!==L,[q,G]=o(W),M=H?L:q,[V,D]=o(C),[I,J]=o(!1),K=i(null),Q=i(null),U=i(null),X=l(),Y=l(),Z=s(e=>{H||G(e),null==x||x(e)},[H,x]),_=s(()=>{Z(!M)},[M,Z]),ee=s(()=>{var e;const t=K.current,r=Q.current;if(!t||!r)return!1;const n=t.getBoundingClientRect(),o=r.offsetWidth,i=r.offsetHeight;if(o<=0||i<=0)return!1;const l=w({triggerRect:n,dropdownWidth:o,dropdownHeight:i,position:R,offset:S,viewportPadding:z,flip:A,matchTriggerWidth:F});if(T&&Q.current){const t=Q.current.offsetParent,r=null!==(e=null==t?void 0:t.getBoundingClientRect())&&void 0!==e?e:{top:0,left:0};D(Object.assign({top:l.top-r.top,left:l.left-r.left},void 0!==l.minWidth&&{minWidth:l.minWidth}))}else D(l);return!0},[T,A,F,S,R,z]);c(()=>{if(!M)return J(!1),void D(C);J(!1);let e=0,t=0;const r=()=>{t+=1;ee()?J(!0):t<5&&(e=requestAnimationFrame(r))};return r(),()=>{cancelAnimationFrame(e)}},[M,ee]),d(()=>{var e;if(!M||!Q.current)return;const t=new ResizeObserver(()=>{ee()}),r=null!==(e=U.current)&&void 0!==e?e:Q.current;t.observe(r),Q.current&&Q.current!==r&&t.observe(Q.current);const n=()=>{ee()};return window.addEventListener("resize",n),window.addEventListener("scroll",n,!0),()=>{t.disconnect(),window.removeEventListener("resize",n),window.removeEventListener("scroll",n,!0)}},[M,ee]),d(()=>{if(!M)return;const e=e=>{var t,r;const n=e.target;(null===(t=K.current)||void 0===t?void 0:t.contains(n))||(null===(r=Q.current)||void 0===r?void 0:r.contains(n))||Z(!1)};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[M,Z]),d(()=>{if(!M)return;const e=e=>{"Escape"===e.key&&(e.stopPropagation(),Z(!1))};return document.addEventListener("keyup",e,!0),()=>{document.removeEventListener("keyup",e,!0)}},[M,Z]),d(()=>{if(!M||!N||!K.current)return;const e=u(K.current);if(!e)return;const t=()=>{Z(!1)};return e.addEventListener("scroll",t),()=>{e.removeEventListener("scroll",t)}},[N,M,Z]);const te=s(e=>{e.stopPropagation(),_()},[_]),re=a(()=>{var e;if(!P)return null;if(!n.isValidElement(P))return P;const t=P,r=t.props.onClick;return n.cloneElement(t,{id:null!==(e=t.props.id)&&void 0!==e?e:X,"aria-expanded":M,"aria-haspopup":"menu","aria-controls":M?Y:void 0,onClick:e=>{null==r||r(e),e.defaultPrevented||_()}})},[Y,M,_,P,X]),ne=T?n.Fragment:m,oe=M?t(f,{ref:Q,id:Y,role:"menu",$position:R,$disablePortal:T,$visible:I,style:Object.assign({top:V.top,left:V.left},void 0!==V.minWidth&&{minWidth:V.minWidth}),onClick:()=>{y&&Z(!1)},children:t(v,{children:t(g,{ref:U,children:O})})}):null;return r(h,Object.assign({className:$},B,{children:[t(b,{ref:K,children:null!=re?re:t(p,Object.assign({},k,{id:X,"aria-expanded":M,"aria-haspopup":"menu","aria-controls":M?Y:void 0,onClick:te,children:j}))}),oe&&t(ne,{children:oe})]}))};export{E as Menu};
@@ -9,6 +9,8 @@ interface ActionButtonProps {
9
9
  onClick?: MessageActionEventHandler;
10
10
  onMouseEnter?: () => void;
11
11
  onMouseLeave?: () => void;
12
+ 'aria-expanded'?: boolean;
13
+ 'aria-haspopup'?: boolean | 'true' | 'false' | 'menu' | 'dialog' | 'listbox';
12
14
  }
13
15
  export declare const ActionButton: ({ id, ref, message, tooltipLabel, children, onClick, onMouseEnter, onMouseLeave, ...props }: ActionButtonProps) => import("react/jsx-runtime").JSX.Element;
14
16
  export {};
@@ -1 +1 @@
1
- import{__rest as e}from"tslib";import{jsx as o}from"react/jsx-runtime";import{MessageActionsButton as n}from"../styled.js";import{Tooltip as t}from"../../../tooltip/index.js";import{TooltipConsumer as l}from"../../../tooltip/context.js";const r=r=>{var{id:i,ref:s,message:a,tooltipLabel:m,children:c,onClick:p,onMouseEnter:u,onMouseLeave:d}=r,f=e(r,["id","ref","message","tooltipLabel","children","onClick","onMouseEnter","onMouseLeave"]);return o(t,{label:m,placement:"top",align:"center",children:o(l,{children:({handleTooltipMouseEnter:e,handleTooltipMouseLeave:t})=>o(n,Object.assign({ref:s,onClick:()=>{null==p||p({id:i,message:a})},onMouseEnter:o=>{e(o),null==u||u()},onMouseLeave:e=>{t(e),null==d||d()}},f,{children:c}))})})};export{r as ActionButton};
1
+ import{__rest as e}from"tslib";import{jsx as o}from"react/jsx-runtime";import{MessageActionsButton as l}from"../styled.js";import{Tooltip as n}from"../../../tooltip/index.js";import{TooltipConsumer as t}from"../../../tooltip/context.js";const r=r=>{var{id:i,ref:s,message:a,tooltipLabel:m,children:c,onClick:p,onMouseEnter:u,onMouseLeave:d}=r,f=e(r,["id","ref","message","tooltipLabel","children","onClick","onMouseEnter","onMouseLeave"]);return o(n,{label:m,placement:"top",align:"center",children:o(t,{children:({handleTooltipMouseEnter:e,handleTooltipMouseLeave:n})=>o(l,Object.assign({ref:s,"aria-label":null!=m?m:void 0,onClick:()=>{null==p||p({id:i,message:a})},onMouseEnter:o=>{e(o),null==u||u()},onMouseLeave:e=>{n(e),null==d||d()}},f,{children:c}))})})};export{r as ActionButton};
@@ -34,6 +34,7 @@ type MessageActionsProps = {
34
34
  onTgCopy?: MessageTgCopyEventHandler;
35
35
  onCopy?: MessageActionEventHandler;
36
36
  onDownload?: () => void;
37
+ menuAriaLabel?: string | null;
37
38
  };
38
- export declare const MessageActions: ({ id, disableModal, message, variant, skeleton, disableResend, disableEdit, disableDelete, disableUpdate, disableCopy, disableDownload, disableEncryption, hasCacheTokens, editOutOfMenu, editText, copyTgText, copyPlainText, resendText, deleteText, onReportText, downloadTooltipLabel, encryptionTooltipLabel, cacheTokenTooltipLabel, updateTooltipLabel, copyTooltipLabel, onEdit, onResend, onDelete, onUpdate, onReport, onPlainTextCopy, onTgCopy, onCopy, onDownload, }: MessageActionsProps) => import("react/jsx-runtime").JSX.Element;
39
+ export declare const MessageActions: ({ id, disableModal, message, variant, skeleton, disableResend, disableEdit, disableDelete, disableUpdate, disableCopy, disableDownload, disableEncryption, hasCacheTokens, editOutOfMenu, editText, copyTgText, copyPlainText, resendText, deleteText, onReportText, downloadTooltipLabel, encryptionTooltipLabel, cacheTokenTooltipLabel, updateTooltipLabel, copyTooltipLabel, onEdit, onResend, onDelete, onUpdate, onReport, onPlainTextCopy, onTgCopy, onCopy, onDownload, menuAriaLabel, }: MessageActionsProps) => import("react/jsx-runtime").JSX.Element;
39
40
  export {};
@@ -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,useLayoutEffect as c,useEffect as d}from"react";import{useTransition as m,easings as p}from"@react-spring/web";import{MenuDotIcon as x}from"../../../icons/menu-dot/index.js";import{UpdateIcon as a}from"../../../icons/update/index.js";import{ResendIcon as j}from"../../../icons/resend/index.js";import{EditIcon as l}from"../../../icons/edit/index.js";import{TrashIcon as u}from"../../../icons/trash/index.js";import{ThumbDownIcon as g}from"../../../icons/thumb-down/index.js";import{CopyIcon as b}from"../../../icons/copy/index.js";import{DownloadImgIcon as h}from"../../../icons/download-img/index.js";import{MessageActionsStyled as f,MessageActionsMenuStyled as w,MessageActionsMenuModal as y,MessageActionsMenuModalOptionContent as k,MessageActionsButtonText as v}from"./styled.js";import{MenuOption as C}from"./menu-option/index.js";import{CopyButton as T}from"./copy-button/index.js";import{ActionButton as L}from"./action-button/index.js";import"../list/styled.js";import{useScrollbarRef as z}from"../list/context.js";import"../scroll-button/styled.js";import"tslib";import{IconProvider as E}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 q}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/close/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/check-small/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 R}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"../../../icons/folder/index.js";import"../../../icons/history/index.js";import{MoneyPlusIcon as M}from"../../../icons/money-plus/index.js";import"../../../icons/money-stack/index.js";import"../../../icons/sort-numeric-bottom/index.js";import"../../../icons/sort-numeric-top/index.js";import"../../../icons/bulb/index.js";import"../../../icons/prompt-queue/index.js";import"../../../icons/image/index.js";import"../../../icons/text/index.js";import"../../../icons/code/index.js";import"../../../icons/blue-grok/index.js";import"../../../icons/double-image/index.js";import"../../../icons/pdf-black/index.js";import"../../../icons/csv/index.js";import"../../../icons/xls-black/index.js";import"../../../icons/word-black/index.js";import"../../../icons/brain-black/index.js";import"../../../icons/txt-black/index.js";import"../../../icons/workspace/index.js";import"../../../icons/chat-doc/index.js";import"../../../icons/money-spend/index.js";import"../../../icons/money-minus/index.js";import"../../../icons/max-logo-gradient/index.js";import"../../../icons/empty-word/index.js";import"../../../icons/music-file/index.js";import"../../../icons/sad-file/index.js";import"../../../icons/happy-file/index.js";import"../../../icons/volume-off/index.js";import"../../../icons/github/index.js";import"../../../icons/erase/index.js";import"../../../icons/arrow-narrow-stars-right/index.js";import"../../../icons/literature-list/index.js";import"../../../icons/bell-dot/index.js";import"../../../icons/bell/index.js";import"../../../icons/kwaivgi/index.js";import"../../../icons/dollar/index.js";import{useTheme as D}from"../../../theme/hook.js";const S=({id:S,disableModal:$,message:B,variant:O="user",skeleton:P,disableResend:U,disableEdit:A,disableDelete:G,disableUpdate:H,disableCopy:W,disableDownload:X,disableEncryption:Y,hasCacheTokens:_,editOutOfMenu:F,editText:I,copyTgText:J,copyPlainText:K,resendText:N,deleteText:Q,onReportText:V,downloadTooltipLabel:Z,encryptionTooltipLabel:ii,cacheTokenTooltipLabel:oi,updateTooltipLabel:ni,copyTooltipLabel:si,onEdit:ei,onResend:ti,onDelete:ri,onUpdate:ci,onReport:di,onPlainTextCopy:mi,onTgCopy:pi,onCopy:xi,onDownload:ai})=>{const ji=D(),[li,ui]=s(!1),[gi,bi]=s(!1),[hi,fi]=s(!1),wi=e(null),yi=e(null),ki=e(null),vi=e(null),Ci=z(),Ti=t(()=>"custom"===ji.scheme?q(ji.colors.custom.icon,.75):"standard"===ji.scheme||"light"===ji.mode?ji.colors.grayScale.gray1:ji.colors.accent.primary,[ji]),Li=t(()=>{if(P)return!1;switch(O){case"assistant":return!$;case"user":return!$&&(!A||!G||!U)}},[P,O,$,A,G,U]),zi=t(()=>{let i=0;return!W&&K&&mi&&(i+=1),!W&&J&&pi&&(i+=1),!U&&"user"===O&&N&&ti&&(i+=1),!F&&!A&&I&&ei&&(i+=1),!G&&Q&&ri&&(i+=1),!G&&V&&di&&"user"!==O&&(i+=1),i},[K,J,Q,W,G,A,U,F,I,ri,ei,mi,di,V,ti,pi,N,O]),Ei=r(()=>{var i,o,n,s;const e=null===(i=null==Ci?void 0:Ci.current)||void 0===i?void 0:i.element,t=null!==(o=ki.current)&&void 0!==o?o:yi.current,r=null==vi?void 0:vi.current;if(!e||!t)return;const c=e.getBoundingClientRect(),d=t.getBoundingClientRect(),m=null!==(n=null==r?void 0:r.offsetHeight)&&void 0!==n?n:48*zi+16,p=null!==(s=null==r?void 0:r.offsetWidth)&&void 0!==s?s:160,x=c.bottom-d.bottom,a=d.top-c.top,j=x<m+36+8&&a>8,l=d.left-c.left,u=c.right-d.right;let g=!1;g="assistant"===O?l<p+8:u<p+8,fi(j),bi(g)},[zi,Ci,O]);c(()=>{li&&Ei()},[li,Ei]);const qi=r(()=>{wi.current&&(window.clearTimeout(wi.current),wi.current=null),Ei(),ui(!0)},[Ei]),Ri=r(()=>{qi()},[qi]),Mi=r(()=>{wi.current=window.setTimeout(()=>{ui(!1),wi.current=null},300)},[]),Di=r(()=>{li?ui(!1):qi()},[qi,li]),Si=r(i=>{const o={id:S,message:B};switch(i){case"edit":null==ei||ei({id:S,message:B,variant:O});break;case"delete":null==ri||ri(o);break;case"update":null==ci||ci({id:S});break;case"resend":null==ti||ti(o)}ui(!1)},[S,B,ri,ti,ei,ci]),$i=r(()=>{null==pi||pi(),ui(!1)},[pi]),Bi=r(()=>{null==mi||mi(),ui(!1)},[mi]),Oi=r(()=>{null==di||di({id:S,message:B}),ui(!1)},[S,B,di]),Pi=m(li,{from:{opacity:0,y:5},enter:{opacity:1,y:0},leave:{opacity:0,y:0},config:{duration:250,easing:p.easeOutSine}});return d(()=>{if(!li)return;const i=()=>{ui(!1)};return window.addEventListener("scroll",i,!0),()=>{window.removeEventListener("scroll",i,!0)}},[li]),d(()=>{if(!li)return;const i=()=>{Ei()};return window.addEventListener("resize",i),()=>{window.removeEventListener("resize",i)}},[li,Ei]),d(()=>()=>{wi.current&&window.clearTimeout(wi.current)},[]),i(f,{$variant:O,ref:yi,children:[o(n,{children:i(E,{fill:Ti,children:[Li&&i(w,{ref:ki,onBlur:()=>{ui(!1)},children:[o(L,{onMouseEnter:"ontouchstart"in window?void 0:Ri,onMouseLeave:"ontouchstart"in window?void 0:Mi,onClick:Di,children:o(x,{size:18})}),Pi((n,s)=>s&&i(y,{style:n,ref:vi,onMouseEnter:qi,onMouseLeave:Mi,$variant:O,$invertedX:gi,$invertedY:hi,children:[!W&&K&&mi&&o(C,{onClick:Bi,children:i(k,{children:[o(b,{}),o(v,{children:K})]})}),!W&&J&&pi&&o(C,{onClick:$i,children:i(k,{children:[o(b,{}),o(v,{children:J})]})}),!U&&"user"===O&&N&&ti&&o(C,{onClick:()=>{Si("resend")},children:i(k,{children:[o(j,{}),o(v,{children:N})]})}),!F&&!A&&I&&ei&&o(C,{onClick:()=>{Si("edit")},children:i(k,{children:[o(l,{}),o(v,{children:I})]})}),!G&&Q&&ri&&o(C,{onClick:()=>{Si("delete")},children:i(k,{children:[o(u,{}),o(v,{children:Q})]})}),!G&&V&&di&&"user"!==O&&o(C,{onClick:Oi,children:i(k,{children:[o(g,{size:18}),o(v,{children:V})]})})]},"message-actions-modal"))]}),!Li&&!G&&o(L,{id:S,message:B,onClick:ri,tooltipLabel:Q,children:o(u,{size:20})}),!H&&"user"!==O&&o(L,{id:S,message:B,onClick:ci,tooltipLabel:ni,children:o(a,{size:18})}),F&&o(L,{id:S,message:B,onClick:()=>{Si("edit")},tooltipLabel:I,children:o(l,{size:18})}),!W&&o(T,{onCopy:xi,tooltipLabel:si}),!Li&&!G&&V&&di&&"user"!==O&&o(L,{tooltipLabel:V,onClick:Oi,children:o(g,{size:18})})]})}),!X&&o(L,{tooltipLabel:Z,onClick:ai,children:o(h,{size:18})}),!Y&&o(L,{tooltipLabel:ii,children:o(R,{size:18})}),_&&o(L,{tooltipLabel:oi,children:o(E,{size:18,stroke:ji.colors.grayScale.gray1,children:o(M,{})})})]})};export{S 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,useLayoutEffect as c,useEffect as d}from"react";import{useTransition as p,easings as m}from"@react-spring/web";import{MenuDotIcon as x}from"../../../icons/menu-dot/index.js";import{UpdateIcon as a}from"../../../icons/update/index.js";import{ResendIcon as j}from"../../../icons/resend/index.js";import{EditIcon as l}from"../../../icons/edit/index.js";import{TrashIcon as u}from"../../../icons/trash/index.js";import{ThumbDownIcon as g}from"../../../icons/thumb-down/index.js";import{CopyIcon as b}from"../../../icons/copy/index.js";import{DownloadImgIcon as h}from"../../../icons/download-img/index.js";import{MessageActionsStyled as f,MessageActionsMenuStyled as w,MessageActionsMenuModal as y,MessageActionsMenuModalOptionContent as k,MessageActionsButtonText as v}from"./styled.js";import{MenuOption as C}from"./menu-option/index.js";import{CopyButton as L}from"./copy-button/index.js";import{ActionButton as T}from"./action-button/index.js";import"../list/styled.js";import{useScrollbarRef as z}from"../list/context.js";import"../scroll-button/styled.js";import"tslib";import{IconProvider as E}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 q}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/close/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/check-small/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 R}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"../../../icons/folder/index.js";import"../../../icons/history/index.js";import{MoneyPlusIcon as M}from"../../../icons/money-plus/index.js";import"../../../icons/money-stack/index.js";import"../../../icons/sort-numeric-bottom/index.js";import"../../../icons/sort-numeric-top/index.js";import"../../../icons/bulb/index.js";import"../../../icons/prompt-queue/index.js";import"../../../icons/image/index.js";import"../../../icons/text/index.js";import"../../../icons/code/index.js";import"../../../icons/blue-grok/index.js";import"../../../icons/double-image/index.js";import"../../../icons/pdf-black/index.js";import"../../../icons/csv/index.js";import"../../../icons/xls-black/index.js";import"../../../icons/word-black/index.js";import"../../../icons/brain-black/index.js";import"../../../icons/txt-black/index.js";import"../../../icons/workspace/index.js";import"../../../icons/chat-doc/index.js";import"../../../icons/money-spend/index.js";import"../../../icons/money-minus/index.js";import"../../../icons/max-logo-gradient/index.js";import"../../../icons/empty-word/index.js";import"../../../icons/music-file/index.js";import"../../../icons/sad-file/index.js";import"../../../icons/happy-file/index.js";import"../../../icons/volume-off/index.js";import"../../../icons/github/index.js";import"../../../icons/erase/index.js";import"../../../icons/arrow-narrow-stars-right/index.js";import"../../../icons/literature-list/index.js";import"../../../icons/bell-dot/index.js";import"../../../icons/bell/index.js";import"../../../icons/kwaivgi/index.js";import"../../../icons/dollar/index.js";import{useTheme as D}from"../../../theme/hook.js";const S=({id:S,disableModal:$,message:B,variant:O="user",skeleton:A,disableResend:P,disableEdit:U,disableDelete:G,disableUpdate:H,disableCopy:W,disableDownload:X,disableEncryption:Y,hasCacheTokens:_,editOutOfMenu:F,editText:I,copyTgText:J,copyPlainText:K,resendText:N,deleteText:Q,onReportText:V,downloadTooltipLabel:Z,encryptionTooltipLabel:ii,cacheTokenTooltipLabel:oi,updateTooltipLabel:ni,copyTooltipLabel:si,onEdit:ei,onResend:ti,onDelete:ri,onUpdate:ci,onReport:di,onPlainTextCopy:pi,onTgCopy:mi,onCopy:xi,onDownload:ai,menuAriaLabel:ji})=>{const li=D(),[ui,gi]=s(!1),[bi,hi]=s(!1),[fi,wi]=s(!1),yi=e(null),ki=e(null),vi=e(null),Ci=e(null),Li=z(),Ti=t(()=>"custom"===li.scheme?q(li.colors.custom.icon,.75):"standard"===li.scheme||"light"===li.mode?li.colors.grayScale.gray1:li.colors.accent.primary,[li]),zi=t(()=>{if(A)return!1;switch(O){case"assistant":return!$;case"user":return!$&&(!U||!G||!P)}},[A,O,$,U,G,P]),Ei=t(()=>{let i=0;return!W&&K&&pi&&(i+=1),!W&&J&&mi&&(i+=1),!P&&"user"===O&&N&&ti&&(i+=1),!F&&!U&&I&&ei&&(i+=1),!G&&Q&&ri&&(i+=1),!G&&V&&di&&"user"!==O&&(i+=1),i},[K,J,Q,W,G,U,P,F,I,ri,ei,pi,di,V,ti,mi,N,O]),qi=r(()=>{var i,o,n,s;const e=null===(i=null==Li?void 0:Li.current)||void 0===i?void 0:i.element,t=null!==(o=vi.current)&&void 0!==o?o:ki.current,r=null==Ci?void 0:Ci.current;if(!e||!t)return;const c=e.getBoundingClientRect(),d=t.getBoundingClientRect(),p=null!==(n=null==r?void 0:r.offsetHeight)&&void 0!==n?n:48*Ei+16,m=null!==(s=null==r?void 0:r.offsetWidth)&&void 0!==s?s:160,x=c.bottom-d.bottom,a=d.top-c.top,j=x<p+36+8&&a>8,l=d.left-c.left,u=c.right-d.right;let g=!1;g="assistant"===O?l<m+8:u<m+8,wi(j),hi(g)},[Ei,Li,O]);c(()=>{ui&&qi()},[ui,qi]);const Ri=r(()=>{yi.current&&(window.clearTimeout(yi.current),yi.current=null),qi(),gi(!0)},[qi]),Mi=r(()=>{Ri()},[Ri]),Di=r(()=>{yi.current=window.setTimeout(()=>{gi(!1),yi.current=null},300)},[]),Si=r(()=>{ui?gi(!1):Ri()},[Ri,ui]),$i=r(i=>{const o={id:S,message:B};switch(i){case"edit":null==ei||ei({id:S,message:B,variant:O});break;case"delete":null==ri||ri(o);break;case"update":null==ci||ci({id:S});break;case"resend":null==ti||ti(o)}gi(!1)},[S,B,ri,ti,ei,ci]),Bi=r(()=>{null==mi||mi(),gi(!1)},[mi]),Oi=r(()=>{null==pi||pi(),gi(!1)},[pi]),Ai=r(()=>{null==di||di({id:S,message:B}),gi(!1)},[S,B,di]),Pi=p(ui,{from:{opacity:0,y:5},enter:{opacity:1,y:0},leave:{opacity:0,y:0},config:{duration:250,easing:m.easeOutSine}});return d(()=>{if(!ui)return;const i=()=>{gi(!1)};return window.addEventListener("scroll",i,!0),()=>{window.removeEventListener("scroll",i,!0)}},[ui]),d(()=>{if(!ui)return;const i=()=>{qi()};return window.addEventListener("resize",i),()=>{window.removeEventListener("resize",i)}},[ui,qi]),d(()=>()=>{yi.current&&window.clearTimeout(yi.current)},[]),i(f,{$variant:O,ref:ki,children:[o(n,{children:i(E,{fill:Ti,children:[zi&&i(w,{ref:vi,onBlur:()=>{gi(!1)},children:[o(T,{tooltipLabel:ji,"aria-expanded":ui,"aria-haspopup":"menu",onMouseEnter:"ontouchstart"in window?void 0:Mi,onMouseLeave:"ontouchstart"in window?void 0:Di,onClick:Si,children:o(x,{size:18})}),Pi((n,s)=>s&&i(y,{style:n,ref:Ci,onMouseEnter:Ri,onMouseLeave:Di,$variant:O,$invertedX:bi,$invertedY:fi,children:[!W&&K&&pi&&o(C,{onClick:Oi,children:i(k,{children:[o(b,{}),o(v,{children:K})]})}),!W&&J&&mi&&o(C,{onClick:Bi,children:i(k,{children:[o(b,{}),o(v,{children:J})]})}),!P&&"user"===O&&N&&ti&&o(C,{onClick:()=>{$i("resend")},children:i(k,{children:[o(j,{}),o(v,{children:N})]})}),!F&&!U&&I&&ei&&o(C,{onClick:()=>{$i("edit")},children:i(k,{children:[o(l,{}),o(v,{children:I})]})}),!G&&Q&&ri&&o(C,{onClick:()=>{$i("delete")},children:i(k,{children:[o(u,{}),o(v,{children:Q})]})}),!G&&V&&di&&"user"!==O&&o(C,{onClick:Ai,children:i(k,{children:[o(g,{size:18}),o(v,{children:V})]})})]},"message-actions-modal"))]}),!zi&&!G&&o(T,{id:S,message:B,onClick:ri,tooltipLabel:Q,children:o(u,{size:20})}),!H&&"user"!==O&&o(T,{id:S,message:B,onClick:ci,tooltipLabel:ni,children:o(a,{size:18})}),F&&o(T,{id:S,message:B,onClick:()=>{$i("edit")},tooltipLabel:I,children:o(l,{size:18})}),!W&&o(L,{onCopy:xi,tooltipLabel:si}),!zi&&!G&&V&&di&&"user"!==O&&o(T,{tooltipLabel:V,onClick:Ai,children:o(g,{size:18})})]})}),!X&&o(T,{tooltipLabel:Z,onClick:ai,children:o(h,{size:18})}),!Y&&o(T,{tooltipLabel:ii,children:o(R,{size:18})}),_&&o(T,{tooltipLabel:oi,children:o(E,{size:18,stroke:li.colors.grayScale.gray1,children:o(M,{})})})]})};export{S as MessageActions};
@@ -1 +1 @@
1
- import{__rest as e}from"tslib";import{jsx as t,jsxs as s}from"react/jsx-runtime";import{useState as o,useEffect as r}from"react";import{MessageImageStyled as a,MessageImageSkeleton as l,MessageImageNative as i}from"./styled.js";import{MessageImageProvider as n}from"./context.js";export{MessageImageConsumer,MessageImageContext,useMessageImage}from"./context.js";import"../../../../theme/index.js";import{useMessage as m}from"../../context.js";export{MessageImageGrid}from"./grid/styled.js";export{MessageImageButtonContent,MessageImageButtonStyled,MessageImageButtonZoneWrapper}from"./button/styled.js";export{MessageImageButtonsContent,MessageImageButtonsStyled}from"./button/list/styled.js";import{useTheme as c}from"../../../../theme/hook.js";const g=g=>{var{className:h,src:d,width:b,height:u,buttons:p,clickable:f=!1,progress:j=!1,fetchImage:x=!1,disableSkeleton:I=!1}=g,y=e(g,["className","src","width","height","buttons","clickable","progress","fetchImage","disableSkeleton"]);const M=c(),{variant:k}=m(),[w,B]=o(!0),[L,S]=o(null);return r(()=>{x&&fetch(d).then(e=>e.blob()).then(e=>S(URL.createObjectURL(e)))},[d,x]),r(()=>()=>{L&&L.startsWith("blob:")&&URL.revokeObjectURL(L)},[L]),t(n,{width:b,height:u,children:s(a,{className:h,children:[w&&!I&&t(l,{$width:null!=b?b:300,$height:null!=u?u:300,opacity:["light"===M.mode?.1:.15,"light"===M.mode?.225:.35],colors:["user"===k?M.colors.base.white:"light"===M.mode?M.default.colors.base.black:M.colors.grayScale.gray6]}),t(i,Object.assign({$clickable:f,$progress:j,$loading:w&&!I},y,x&&L&&{src:L},!x&&{src:d},{width:null!=b?b:300,height:null!=u?u:300,onLoad:B.bind(null,!1)})),!j&&p]})})};export{g as MessageImage,i as MessageImageNative,n as MessageImageProvider,l as MessageImageSkeleton,a as MessageImageStyled};
1
+ import{__rest as e}from"tslib";import{jsx as t,jsxs as s}from"react/jsx-runtime";import{useState as o,useEffect as r}from"react";import{MessageImageStyled as a,MessageImageSkeleton as l,MessageImageNative as i}from"./styled.js";import{MessageImageProvider as n}from"./context.js";export{MessageImageConsumer,MessageImageContext,useMessageImage}from"./context.js";import"../../../../theme/index.js";import{useMessage as m}from"../../context.js";export{MessageImageGrid}from"./grid/styled.js";export{MessageImageButtonContent,MessageImageButtonStyled,MessageImageButtonZoneWrapper}from"./button/styled.js";export{MessageImageButtonsContent,MessageImageButtonsStyled}from"./button/list/styled.js";import{useTheme as c}from"../../../../theme/hook.js";const g=g=>{var{className:h,src:d,width:b,height:u,buttons:p,clickable:f=!1,progress:j=!1,fetchImage:x=!1,disableSkeleton:I=!1,alt:y=""}=g,M=e(g,["className","src","width","height","buttons","clickable","progress","fetchImage","disableSkeleton","alt"]);const k=c(),{variant:w}=m(),[B,L]=o(!0),[S,$]=o(null);return r(()=>{x&&fetch(d).then(e=>e.blob()).then(e=>$(URL.createObjectURL(e)))},[d,x]),r(()=>()=>{S&&S.startsWith("blob:")&&URL.revokeObjectURL(S)},[S]),t(n,{width:b,height:u,children:s(a,{className:h,children:[B&&!I&&t(l,{$width:null!=b?b:300,$height:null!=u?u:300,opacity:["light"===k.mode?.1:.15,"light"===k.mode?.225:.35],colors:["user"===w?k.colors.base.white:"light"===k.mode?k.default.colors.base.black:k.colors.grayScale.gray6]}),t(i,Object.assign({$clickable:f,$progress:j,$loading:B&&!I,alt:y},M,x&&S&&{src:S},!x&&{src:d},{width:null!=b?b:300,height:null!=u?u:300,onLoad:L.bind(null,!1)})),!j&&p]})})};export{g as MessageImage,i as MessageImageNative,n as MessageImageProvider,l as MessageImageSkeleton,a as MessageImageStyled};
@@ -10,5 +10,6 @@ export type MessageSearchResultsProps = {
10
10
  downloadHandler?: (result: MessageSearchResultsItemType, index: number) => void;
11
11
  regexFilterDownloadHandler?: RegExp;
12
12
  downloadText?: string;
13
+ pendingMessage: boolean;
13
14
  };
14
15
  export declare const MessageSearchResults: React.FC<MessageSearchResultsProps>;
@@ -1 +1 @@
1
- import{__rest as i}from"tslib";import{jsx as o,jsxs as n}from"react/jsx-runtime";import{memo as s}from"react";import{AnalyzeUrlsIcon as e}from"../../../icons/analyze-urls/index.js";import{Typography as r}from"../../typography/index.js";import{SearchResultsList as t,SearchResultsItemStyled as d,SearchResultsItemLink as c,SearchResultsItemHeader as m,SearchResultsItemName as p,SearchResultsItemNumber as x,SearchResultsItemDownload as j,SearchResultsItemTitle as a,SearchResultsItemContent as l}from"./styled.js";import{MessageMarkdown as g}from"../markdown/index.js";import{useMeasure as u}from"../../../utils/useMeasure.js";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";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/close/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/copy/index.js";import"../../../icons/edit/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/trash/index.js";import"../../../icons/update/index.js";import"../../../icons/menu-dot/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/check-small/index.js";import"../../../icons/stop/index.js";import"../../../icons/thumb-up/index.js";import"../../../icons/thumb-down/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{DownloadImgIcon as b}from"../../../icons/download-img/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/resend/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/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"../../../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"../../../icons/folder/index.js";import"../../../icons/history/index.js";import"../../../icons/money-plus/index.js";import"../../../icons/money-stack/index.js";import"../../../icons/sort-numeric-bottom/index.js";import"../../../icons/sort-numeric-top/index.js";import"../../../icons/bulb/index.js";import"../../../icons/prompt-queue/index.js";import"../../../icons/image/index.js";import"../../../icons/text/index.js";import"../../../icons/code/index.js";import"../../../icons/blue-grok/index.js";import"../../../icons/double-image/index.js";import"../../../icons/pdf-black/index.js";import"../../../icons/csv/index.js";import"../../../icons/xls-black/index.js";import"../../../icons/word-black/index.js";import"../../../icons/brain-black/index.js";import"../../../icons/txt-black/index.js";import"../../../icons/workspace/index.js";import"../../../icons/chat-doc/index.js";import"../../../icons/money-spend/index.js";import"../../../icons/money-minus/index.js";import"../../../icons/max-logo-gradient/index.js";import"../../../icons/empty-word/index.js";import"../../../icons/music-file/index.js";import"../../../icons/sad-file/index.js";import"../../../icons/happy-file/index.js";import"../../../icons/volume-off/index.js";import"../../../icons/github/index.js";import"../../../icons/erase/index.js";import"../../../icons/arrow-narrow-stars-right/index.js";import"../../../icons/literature-list/index.js";import"../../../icons/bell-dot/index.js";import"../../../icons/bell/index.js";import"../../../icons/kwaivgi/index.js";import"../../../icons/dollar/index.js";import{Tooltip as h}from"../../tooltip/index.js";import{reasoningComponentsOverride as f}from"../reasoning-block/markdown-components.js";import{TooltipConsumer as w}from"../../tooltip/context.js";const k=n=>{var{downloadHandler:s,downloadText:e,regexFilterDownloadHandler:r}=n,d=i(n,["downloadHandler","downloadText","regexFilterDownloadHandler"]);return o(t,{children:d.results.map((i,n)=>o(y,Object.assign({result:i,index:n,downloadText:e},(null==r?void 0:r.test(i.url))&&{downloadHandler:()=>null==s?void 0:s(i,n)}),n))})},y=s(({result:i,index:s,downloadHandler:t,downloadText:k})=>{var y;const[T,q]=u(),[H,M]=u(),z=M.height>q.height&&0!==M.height&&0!==q.height;return n(d,{children:[o(c,{target:"_blank",href:i.url,rel:"noreferrer"}),n(m,{children:[o(e,{size:18}),o(p,{component:"span",variant:"body-m-medium","data-source-name":!0,children:i.name}),o(v,{date:i.date}),o(x,{children:o(r,{"data-source-number":s+1,variant:"body-m-medium",children:s+1})}),t&&o(h,{label:k,children:o(w,{children:({handleTooltipMouseEnter:i,handleTooltipMouseLeave:n})=>o(j,{onClick:t,onMouseEnter:i,onMouseLeave:n,children:o(b,{})})})})]}),o(a,{"data-source-title":!0,component:"p",variant:"body-l-semibold",children:i.title}),o(l,{"data-source-content":!0,ref:T,"data-has-overflow":z,children:o(g,{componentsOverride:f,disableTyping:!0,ref:H,children:null!==(y=i.content)&&void 0!==y?y:""})})]})}),v=s(({date:i})=>{const s=new Date(i),e=s.getUTCDate(),t=s.getUTCMonth()+1,d=s.getUTCFullYear();return n(r,{variant:"body-s-regular",children:[o("span",{children:e.toString().padStart(2,"0")}),"/",o("span",{children:t.toString().padStart(2,"0")}),"/",o("span",{children:d})]})});export{k as MessageSearchResults};
1
+ import{__rest as i}from"tslib";import{jsx as o,jsxs as s}from"react/jsx-runtime";import{memo as n}from"react";import{AnalyzeUrlsIcon as e}from"../../../icons/analyze-urls/index.js";import{Typography as r}from"../../typography/index.js";import{SearchResultsList as t,SearchResultsItemStyled as d,SearchResultsItemLink as c,SearchResultsItemHeader as m,SearchResultsItemName as p,SearchResultsItemNumber as x,SearchResultsItemDownload as j,SearchResultsItemTitle as a,SearchResultsItemContent as l}from"./styled.js";import{MessageMarkdown as g}from"../markdown/index.js";import{useMeasure as u}from"../../../utils/useMeasure.js";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";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/close/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/copy/index.js";import"../../../icons/edit/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/trash/index.js";import"../../../icons/update/index.js";import"../../../icons/menu-dot/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/check-small/index.js";import"../../../icons/stop/index.js";import"../../../icons/thumb-up/index.js";import"../../../icons/thumb-down/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{DownloadImgIcon as b}from"../../../icons/download-img/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/resend/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/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"../../../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"../../../icons/folder/index.js";import"../../../icons/history/index.js";import"../../../icons/money-plus/index.js";import"../../../icons/money-stack/index.js";import"../../../icons/sort-numeric-bottom/index.js";import"../../../icons/sort-numeric-top/index.js";import"../../../icons/bulb/index.js";import"../../../icons/prompt-queue/index.js";import"../../../icons/image/index.js";import"../../../icons/text/index.js";import"../../../icons/code/index.js";import"../../../icons/blue-grok/index.js";import"../../../icons/double-image/index.js";import"../../../icons/pdf-black/index.js";import"../../../icons/csv/index.js";import"../../../icons/xls-black/index.js";import"../../../icons/word-black/index.js";import"../../../icons/brain-black/index.js";import"../../../icons/txt-black/index.js";import"../../../icons/workspace/index.js";import"../../../icons/chat-doc/index.js";import"../../../icons/money-spend/index.js";import"../../../icons/money-minus/index.js";import"../../../icons/max-logo-gradient/index.js";import"../../../icons/empty-word/index.js";import"../../../icons/music-file/index.js";import"../../../icons/sad-file/index.js";import"../../../icons/happy-file/index.js";import"../../../icons/volume-off/index.js";import"../../../icons/github/index.js";import"../../../icons/erase/index.js";import"../../../icons/arrow-narrow-stars-right/index.js";import"../../../icons/literature-list/index.js";import"../../../icons/bell-dot/index.js";import"../../../icons/bell/index.js";import"../../../icons/kwaivgi/index.js";import"../../../icons/dollar/index.js";import{Tooltip as h}from"../../tooltip/index.js";import{reasoningComponentsOverride as f}from"../reasoning-block/markdown-components.js";import{TooltipConsumer as w}from"../../tooltip/context.js";const k=s=>{var{downloadHandler:n,downloadText:e,regexFilterDownloadHandler:r,pendingMessage:d}=s,c=i(s,["downloadHandler","downloadText","regexFilterDownloadHandler","pendingMessage"]);return o(t,{children:c.results.map((i,s)=>o(y,Object.assign({result:i,index:s,pendingMessage:d,downloadText:e},(null==r?void 0:r.test(i.url))&&{downloadHandler:()=>null==n?void 0:n(i,s)}),s))})},y=n(({result:i,index:n,pendingMessage:t,downloadHandler:k,downloadText:y})=>{var v;const[M,q]=u(),[T,H]=u(),z=H.height>q.height&&0!==H.height&&0!==q.height;return s(d,{children:[o(c,{$pendingMessage:t,target:"_blank",href:i.url,rel:"noreferrer"}),s(m,{children:[o(e,{size:18}),o(p,{component:"span",variant:"body-m-medium","data-source-name":!0,children:i.name}),o(x,{children:o(r,{"data-source-number":n+1,variant:"body-m-medium",children:n+1})}),k&&o(h,{label:y,children:o(w,{children:({handleTooltipMouseEnter:i,handleTooltipMouseLeave:s})=>o(j,{onClick:k,onMouseEnter:i,onMouseLeave:s,children:o(b,{})})})})]}),o(a,{"data-source-title":!0,component:"p",variant:"body-l-semibold",children:i.title}),o(l,{"data-source-content":!0,ref:M,"data-has-overflow":z,children:o(g,{componentsOverride:f,disableTyping:!0,ref:T,children:null!==(v=i.content)&&void 0!==v?v:""})})]})});export{k as MessageSearchResults};