@bothub-chat/ui 2.49.0 → 2.49.1-develop-c853eb6a-aff3-4f52-8342-214bb20620b1

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 (35) hide show
  1. package/dist/components/checkbox/index.d.ts +2 -0
  2. package/dist/components/checkbox/index.js +1 -1
  3. package/dist/components/checkbox/styled.d.ts +4 -9
  4. package/dist/components/checkbox/styled.js +5 -2
  5. package/dist/components/input-message/index.js +1 -1
  6. package/dist/components/input-message/utils.d.ts +1 -0
  7. package/dist/components/input-message/utils.js +1 -1
  8. package/dist/components/pagination/paginator.d.ts +1 -1
  9. package/dist/components/pagination/paginator.js +1 -1
  10. package/dist/components/pagination/styled.d.ts +972 -0
  11. package/dist/components/pagination/styled.js +5 -5
  12. package/dist/components/pagination/types.d.ts +1 -0
  13. package/dist/components/select-field/index.d.ts +2 -1
  14. package/dist/components/select-field/index.js +1 -1
  15. package/dist/components/select-field/select-modal/index.d.ts +3 -2
  16. package/dist/components/select-field/select-modal/index.js +1 -1
  17. package/dist/components/select-field/select-modal/option/checkbox-group/index.d.ts +14 -0
  18. package/dist/components/select-field/select-modal/option/checkbox-group/index.js +1 -0
  19. package/dist/components/select-field/select-modal/option/checkbox-group/styled.d.ts +2779 -0
  20. package/dist/components/select-field/select-modal/option/checkbox-group/styled.js +14 -0
  21. package/dist/components/select-field/select-modal/option/collapse/index.d.ts +1 -1
  22. package/dist/components/select-field/select-modal/option/list/index.d.ts +1 -10
  23. package/dist/components/select-field/select-modal/option/list/index.js +1 -1
  24. package/dist/components/select-field/select-modal/option/list/styled.d.ts +1432 -0
  25. package/dist/components/select-field/select-modal/option/list/styled.js +1 -1
  26. package/dist/components/select-field/select-modal/option/types.d.ts +13 -0
  27. package/dist/components/select-field/styled.d.ts +486 -0
  28. package/dist/components/select-field/styled.js +15 -15
  29. package/dist/components/select-field/types.d.ts +5 -1
  30. package/dist/components/sidebar/chat/styled.d.ts +2 -1
  31. package/dist/components/sidebar/group/styled.d.ts +2 -1
  32. package/dist/icons/check-small/index.js +1 -1
  33. package/dist/index.js +1 -1
  34. package/dist/theme/themes.js +1 -1
  35. package/package.json +1 -1
@@ -2,6 +2,8 @@ import React from 'react';
2
2
  export type CheckboxValueChangeEventHandler = (checked: boolean) => unknown;
3
3
  export interface CheckboxProps extends Omit<React.ComponentProps<'input'>, 'onPointerLeave'> {
4
4
  className?: string;
5
+ displayFlex?: boolean;
6
+ size?: number;
5
7
  label?: string | boolean | React.ReactNode;
6
8
  rowReverse?: boolean;
7
9
  skeleton?: boolean;
@@ -1 +1 @@
1
- import{__rest as e}from"tslib";import{jsxs as o,Fragment as t,jsx as r}from"react/jsx-runtime";import{useCallback as l}from"react";import{CheckboxStyled as n,CheckboxInput as a,CheckboxBlock as i,CheckboxCheckedIcon as s,CheckboxBlockSkeleton as c,CheckboxLabel as d}from"./styled.js";import"@react-spring/web";import"react-markdown";import"react-dom";import"../portal/styled.js";import"../tooltip/styled.js";import"../tooltip/arrow/styled.js";import"../../theme/index.js";import{useTooltip as m}from"../tooltip/context.js";import{Skeleton as h}from"../skeleton/index.js";const p=p=>{var u,{className:k,label:v,skeleton:f=!1,rowReverse:g,fullWidth:j=!1,checkedIcon:C,checkedColor:b,dataTest:w,onValueChange:y,onPointerLeave:x}=p,L=e(p,["className","label","skeleton","rowReverse","fullWidth","checkedIcon","checkedColor","dataTest","onValueChange","onPointerLeave"]);const{handleTooltipMouseEnter:$,handleTooltipMouseLeave:M}=m(),T=l(e=>{var o;null===(o=L.onChange)||void 0===o||o.call(L,e),null==y||y(e.target.checked)},[L.onChange,y]);return o(n,{$disabled:null!==(u=L.disabled)&&void 0!==u&&u,$fullWidth:j,$rowReverse:g,className:k,onMouseEnter:$,onMouseLeave:M,onPointerLeave:x,"data-test":w,children:[!f&&o(t,{children:[r(a,Object.assign({},L,{$checkedColor:b,type:"checkbox",onChange:T})),r(i,{$checkedColor:b,children:C||r(s,{})})]}),f&&r(c,{}),v&&f&&r(d,{children:r(h,{width:200})}),"string"==typeof v&&!f&&r(d,{children:v}),"string"!=typeof v&&!f&&v]})};export{p as Checkbox,i as CheckboxBlock,c as CheckboxBlockSkeleton,s as CheckboxCheckedIcon,a as CheckboxInput,d as CheckboxLabel,n as CheckboxStyled};
1
+ import{__rest as e}from"tslib";import{jsxs as o,Fragment as t,jsx as r}from"react/jsx-runtime";import{useCallback as l}from"react";import{CheckboxStyled as i,CheckboxInput as s,CheckboxBlock as n,CheckboxCheckedIcon as a,CheckboxBlockSkeleton as d,CheckboxLabel as c}from"./styled.js";import"@react-spring/web";import"react-markdown";import"react-dom";import"../portal/styled.js";import"../tooltip/styled.js";import"../tooltip/arrow/styled.js";import"../../theme/index.js";import{useTooltip as p}from"../tooltip/context.js";import{Skeleton as m}from"../skeleton/index.js";const h=h=>{var u,{className:k,label:v,size:f=20,displayFlex:g=!1,skeleton:y=!1,rowReverse:j,fullWidth:x=!1,checkedIcon:C,checkedColor:b,dataTest:w,onValueChange:$,onPointerLeave:L}=h,z=e(h,["className","label","size","displayFlex","skeleton","rowReverse","fullWidth","checkedIcon","checkedColor","dataTest","onValueChange","onPointerLeave"]);const{handleTooltipMouseEnter:M,handleTooltipMouseLeave:T}=p(),F=l(e=>{var o;null===(o=z.onChange)||void 0===o||o.call(z,e),null==$||$(e.target.checked)},[z.onChange,$]);return o(i,{$displayFlex:g,$disabled:null!==(u=z.disabled)&&void 0!==u&&u,$fullWidth:x,$rowReverse:j,className:k,onMouseEnter:M,onMouseLeave:T,onPointerLeave:L,"data-test":w,children:[!y&&o(t,{children:[r(s,Object.assign({},z,{$checkedColor:b,type:"checkbox",onChange:F})),r(n,{$checkedColor:b,children:C||r(a,{size:f})})]}),y&&r(d,{$size:f}),v&&y&&r(c,{children:r(m,{width:200})}),"string"==typeof v&&!y&&r(c,{children:v}),"string"!=typeof v&&!y&&v]})};export{h as Checkbox,n as CheckboxBlock,d as CheckboxBlockSkeleton,a as CheckboxCheckedIcon,s as CheckboxInput,c as CheckboxLabel,i as CheckboxStyled};
@@ -5,18 +5,13 @@ export interface CheckboxStyledProps {
5
5
  $disabled: boolean;
6
6
  $fullWidth: boolean;
7
7
  $rowReverse?: boolean;
8
+ $displayFlex?: boolean;
8
9
  }
9
10
  export declare const CheckboxStyled: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, CheckboxStyledProps>>;
10
11
  export declare const CheckboxBlock: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, CheckedColor>>;
11
- export declare const CheckboxBlockSkeleton: import("styled-components").IStyledComponent<"web", {
12
- className?: string | undefined;
13
- variant?: import("@/ui/components/skeleton").SkeletonVariant | undefined;
14
- width?: number | string | undefined;
15
- height?: number | string | undefined;
16
- fullWidth?: boolean | undefined;
17
- colors?: [string, string?] | undefined;
18
- opacity?: [number, number?] | undefined;
19
- }>;
12
+ export declare const CheckboxBlockSkeleton: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("@/ui/components/skeleton").SkeletonProps, {
13
+ $size: number;
14
+ }>>;
20
15
  export declare const CheckboxLabel: import("styled-components").IStyledComponent<"web", {
21
16
  variant?: import("@/ui/components/typography").TypographyVariant | undefined;
22
17
  component?: import("@/ui/components/typography").TypographyComponent | undefined;
@@ -1,4 +1,4 @@
1
- import{styled as e,css as o}from"styled-components";import{CheckSmallIcon as r}from"../../icons/check-small/index.js";import{Typography as i}from"../typography/index.js";import{Skeleton as c}from"../skeleton/index.js";const t=e.label.withConfig({displayName:"styled__CheckboxStyled",componentId:"sc-im2c17-0"})(["display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none;"," "," ",""],({$disabled:e})=>e?o`
1
+ import{styled as e,css as o}from"styled-components";import{CheckSmallIcon as r}from"../../icons/check-small/index.js";import{Typography as i}from"../typography/index.js";import{Skeleton as c}from"../skeleton/index.js";const t=e.label.withConfig({displayName:"styled__CheckboxStyled",componentId:"sc-im2c17-0"})(["display:",";align-items:center;gap:8px;cursor:pointer;user-select:none;"," "," ",""],({$displayFlex:e})=>e?"flex":"inline-flex",({$disabled:e})=>e?o`
2
2
  cursor: not-allowed;
3
3
  `:o`
4
4
  cursor: pointer;
@@ -6,7 +6,10 @@ import{styled as e,css as o}from"styled-components";import{CheckSmallIcon as r}f
6
6
  width: 100%;
7
7
  `,({$rowReverse:e})=>e&&o`
8
8
  flex-direction: row-reverse;
9
- `),s=e.span.withConfig({displayName:"styled__CheckboxBlock",componentId:"sc-im2c17-1"})(["display:inline-flex;width:20px;height:20px;justify-content:center;background:",";border:1px solid ",";border-radius:2px;overflow:hidden;cursor:pointer;flex-shrink:0;box-sizing:border-box;&:hover{border-color:",";}svg{visibility:hidden;}"],({theme:e})=>e.colors.grayScale.gray3,({theme:e})=>e.colors.grayScale.gray1,({theme:e,$checkedColor:o})=>o||e.colors.accent.primary),l=e(c).withConfig({displayName:"styled__CheckboxBlockSkeleton",componentId:"sc-im2c17-2"})(["width:20px;height:20px;border-radius:2px;"]),n=e(i).attrs({variant:"input-sm"}).withConfig({displayName:"styled__CheckboxLabel",componentId:"sc-im2c17-3"})(["display:inline-flex;width:100%;align-items:center;gap:8px;cursor:inherit;"]),d=e(r).attrs({size:20}).withConfig({displayName:"styled__CheckboxCheckedIcon",componentId:"sc-im2c17-4"})([""]),a=e.input.withConfig({displayName:"styled__CheckboxInput",componentId:"sc-im2c17-5"})(["width:0;height:0;opacity:0;cursor:pointer;position:absolute;&:checked + span{"," svg{visibility:visible;}}&:checked:not(:disabled) + ",":hover{","}&:disabled + ","{border-color:",";background:",";cursor:not-allowed;svg{path{fill:",";}}}&:focus-visible + ","{border-color:",";}"],({theme:e,$checkedColor:r})=>{const i=r||e.colors.accent.primary;return o`
9
+ `),s=e.span.withConfig({displayName:"styled__CheckboxBlock",componentId:"sc-im2c17-1"})(["display:inline-flex;align-items:center;justify-content:center;background:",";border:1px solid ",";border-radius:2px;overflow:hidden;cursor:pointer;flex-shrink:0;box-sizing:border-box;&:hover{border-color:",";}svg{visibility:hidden;}"],({theme:e})=>e.colors.grayScale.gray3,({theme:e})=>e.colors.grayScale.gray1,({theme:e,$checkedColor:o})=>o||e.colors.accent.primary),l=e(c).withConfig({displayName:"styled__CheckboxBlockSkeleton",componentId:"sc-im2c17-2"})([""," border-radius:2px;"],({$size:e})=>o`
10
+ width: ${`${e}px`};
11
+ height: ${`${e}px`};
12
+ `),n=e(i).attrs({variant:"input-sm"}).withConfig({displayName:"styled__CheckboxLabel",componentId:"sc-im2c17-3"})(["display:inline-flex;width:100%;align-items:center;gap:8px;cursor:inherit;"]),d=e(r).withConfig({displayName:"styled__CheckboxCheckedIcon",componentId:"sc-im2c17-4"})([""]),a=e.input.withConfig({displayName:"styled__CheckboxInput",componentId:"sc-im2c17-5"})(["width:0;height:0;opacity:0;cursor:pointer;position:absolute;&:checked + span{"," svg{visibility:visible;}}&:checked:not(:disabled) + ",":hover{","}&:disabled + ","{border-color:",";background:",";cursor:not-allowed;svg{path{fill:",";}}}&:focus-visible + ","{border-color:",";}"],({theme:e,$checkedColor:r})=>{const i=r||e.colors.accent.primary;return o`
10
13
  border-color: ${i};
11
14
  background: ${i};
12
15
  `},s,({theme:e,$checkedColor:r})=>{const i=r||e.colors.accent.strong;return o`
@@ -1 +1 @@
1
- import{__rest as i,__awaiter as e}from"tslib";import{jsx as o,jsxs as s,Fragment as n}from"react/jsx-runtime";import{useRef as t,useState as r,useCallback as c,useEffect as d}from"react";import{useTransition as m}from"@react-spring/web";import{useOnClickOutside as a}from"../../utils/useOnClickOutside.js";import{InputMessageStyled as p,InputMessageContent as l,InputMessageMain as j,InputMessageVoiceRecord as x,InputMessageVoiceRecordDot as u,InputMessageVoiceRecordTimeText as g,InputMessageFiles as h,InputMessageFile as b,InputMessageConcatenateWarning as y,InputMessageVoiceFiles as f,InputMessageVoiceTrack as v,InputMessageVoiceFileDelete as w,InputMessageTextArea as k,InputMessageBottom as D,InputMessageBottomGroup as C,InputMessageUploadFile as F,InputMessageUploadFileInput as $,InputMessageUploadFileButton as A,InputMessageToggleSendStyled as E,InputMessageToggleSendButton as T,InputMessageToggleSendModalStyled as S,InputMessageToggleSendModalOption as L,InputMessageVoicePlayButton as K,InputMessageVoicePauseButton as O,InputMessageVoiceButton as P,InputMessageSendButton as U,InputMessageSendIcon as q}from"./styled.js";import{ChipImage as z}from"../chip/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{PdfIcon as R}from"../../icons/pdf/index.js";import{TxtIcon as V}from"../../icons/txt/index.js";import{WordIcon as I}from"../../icons/word/index.js";import{XlsIcon as B}from"../../icons/xls/index.js";import{IconProvider as N}from"../icon/context.js";import"../icon/styled.js";import{getPreviewUrlForFile as M,isFileTypeAccepted as G,formatUploadFiles as H,formatSeconds as W}from"./utils.js";import{AttachFileIcon as _}from"../../icons/attach-file/index.js";import{getSupportedAudioMimeType as J}from"../../utils/getSupportedAudioMimeType.js";import"../message/styled.js";import"../skeleton/index.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"../message/context.js";import"styled-components";import"../message/components/code/inline/styled.js";import"../message/components/code/multiline/styled.js";import"../message/components/code/multiline/copy/styled.js";import"../../icons/check-small/index.js";import"../../icons/copy/index.js";import"../message/components/code/multiline/content/styled.js";import"../message/components/paragraph/styled.js";import"../message/components/bold/styled.js";import"../message/components/italic/styled.js";import"../message/components/pre/styled.js";import"../message/components/table/styled.js";import"../message/components/table/cell/styled.js";import"../message/components/list/styled.js";import"../message/components/list/context.js";import"../message/components/list/item/styled.js";import"../message/components/title/styled.js";import"../message/components/link/styled.js";import"../message/components/image/styled.js";import"../message/components/image/context.js";import"../message/components/image/grid/styled.js";import"../message/components/image/button/styled.js";import"../message/components/image/button/list/styled.js";import"../message/markdown/styled.js";import"../scrollbar/styled.js";import"../scrollbar/shadow/styled.js";import"../scrollbar/style/styled.js";import"../message/timestamp/styled.js";import"../../icons/menu-dot/index.js";import"../../icons/update/index.js";import"../../icons/resend/index.js";import"../../icons/edit/index.js";import"../../icons/trash/index.js";import"../../icons/thumb-down/index.js";import"../../icons/close/index.js";import"../../icons/download-img/index.js";import"../message/actions/styled.js";import"../message/actions/copy-button/styled.js";import"../message/list/styled.js";import"../message/scroll-button/styled.js";import"../../icons/arrow-down/index.js";import"../../icons/arrow-narrow-left/index.js";import"../../icons/arrow-narrow-right/index.js";import"../../icons/arrow-up/index.js";import"../../icons/bitcoin/index.js";import"../../icons/bot-circle/index.js";import"../../icons/bothub-agg/index.js";import"../../icons/business-colored/index.js";import"../../icons/check-circle/index.js";import"../../icons/email-circle/index.js";import"../../icons/language/index.js";import"../../icons/lock-circle/index.js";import"../../icons/menu/index.js";import"../../icons/medium-circle/index.js";import"../../icons/tg-circle/index.js";import"../../icons/tg-colored/index.js";import"../../icons/youcassa/index.js";import"../../icons/dashboard/index.js";import"../../icons/user-profile/index.js";import"../../icons/logout/index.js";import"../../icons/habr-2/index.js";import"../../icons/arrow-2-down/index.js";import"../../icons/links/index.js";import"../../icons/free/index.js";import"../../icons/hotness/index.js";import"../../icons/checked/index.js";import"../../icons/ai/index.js";import"../../icons/bookmarks/index.js";import"../../icons/bookmarks-big/index.js";import"../../icons/chat/index.js";import"../../icons/chats/index.js";import"../../icons/coder/index.js";import"../../icons/presets-big/index.js";import"../../icons/referal/index.js";import"../../icons/restore/index.js";import"../../icons/tariff/index.js";import"../../icons/plus-2/index.js";import"../../icons/plus-1/index.js";import"../../icons/send/index.js";import"../../icons/settings/index.js";import"../../icons/habr/index.js";import"../../icons/stop/index.js";import"../../icons/thumb-up/index.js";import"../../icons/star/index.js";import"../../icons/info-big/index.js";import"../../icons/warning-big/index.js";import"../../icons/error-big/index.js";import"../../icons/success-big/index.js";import"../../icons/mj/index.js";import"../../icons/card/index.js";import"../../icons/arrow-narrow-up/index.js";import"../../icons/arrow-narrow-down/index.js";import"../../icons/filters/index.js";import"../../icons/info/index.js";import"../../icons/search-circle/index.js";import"../../icons/save/index.js";import"../../icons/light/index.js";import"../../icons/dark/index.js";import"../../icons/email-colored/index.js";import"../../icons/action-chat/index.js";import"../../icons/attach/index.js";import"../../icons/avatar-add/index.js";import"../../icons/brush/index.js";import"../../icons/calendar/index.js";import"../../icons/claude/index.js";import"../../icons/cookie/index.js";import"../../icons/dalle/index.js";import"../../icons/error/index.js";import"../../icons/expand/index.js";import"../../icons/eye/index.js";import"../../icons/face/index.js";import"../../icons/gear/index.js";import"../../icons/gear-min/index.js";import"../../icons/generation/index.js";import"../../icons/gpt-3_5/index.js";import"../../icons/gpt-4/index.js";import"../../icons/imagine/index.js";import"../../icons/imagine-2/index.js";import"../../icons/loader/index.js";import"../../icons/loader-circular/index.js";import"../../icons/loader-circular-gradient/index.js";import"../../icons/loader-circular-gradient-2/index.js";import"../../icons/minus/index.js";import"../../icons/mj-white/index.js";import"../../icons/prompt/index.js";import"../../icons/rabbit/index.js";import"../../icons/ratio-1x1/index.js";import"../../icons/ratio-2x3/index.js";import"../../icons/ratio-3x2/index.js";import"../../icons/ratio-4x5/index.js";import"../../icons/ratio-4x7/index.js";import"../../icons/ratio-5x4/index.js";import"../../icons/ratio-7x4/index.js";import"../../icons/ratio-16x9/index.js";import"../../icons/ratio-9x16/index.js";import"../../icons/ratio-21x9/index.js";import"../../icons/ratio-9x21/index.js";import"../../icons/refferal-min/index.js";import"../../icons/search-data/index.js";import"../../icons/square/index.js";import"../../icons/turtle/index.js";import"../../icons/upscale/index.js";import"../../icons/withdraw/index.js";import"../../icons/search-plus/index.js";import"../../icons/lightning/index.js";import"../../icons/blog-circle/index.js";import"../../icons/stripe/index.js";import"../../icons/corporate/index.js";import"../../icons/public/index.js";import"../../icons/private/index.js";import"../../icons/mistral/index.js";import"../../icons/gemini/index.js";import"../../icons/search-simple/index.js";import"../../icons/sad-robot/index.js";import"../../icons/model/index.js";import"../../icons/phone-colored/index.js";import"../../icons/questions/index.js";import"../../icons/pdf-big/index.js";import"../../icons/xls-big/index.js";import"../../icons/word-big/index.js";import"../../icons/txt-big/index.js";import"../../icons/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-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"../../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"../message/versions/styled.js";import"../message/copy/styled.js";import"../message/badge-progress/styled.js";import"../message/button/styled.js";import"../message/button/list/styled.js";import"../message/file/styled.js";import{MessageVoice as Q}from"../message/voice/index.js";import"../message/reasoning-block/styled.js";import"../typography/styled.js";import"../message/search-results/styled.js";import"../message/video/styled.js";import{getWaveData as X}from"../../utils/audio/getWaveData.js";import{useTheme as Y}from"../../theme/hook.js";const Z=Z=>{var{className:ii,placeholder:ei,message:oi,files:si,disabled:ni=!1,sendDisabled:ti=!1,textAreaDisabled:ri=!1,useAlternativeKeyDefaultValue:ci=!1,defaultKeySendText:di,alternativeKeySendText:mi,concatenateText:ai,uploadFileLimit:pi=5,hideUploadFile:li=!1,uploadFileDisabled:ji=!1,uploadFileAccept:xi,autoFocus:ui=!0,voice:gi=!1,onSetAlternativeKeyValue:hi,onChange:bi,onFilesChange:yi,onVoiceFilesChange:fi,onTextAreaChange:vi,onSend:wi,onFocus:ki,onBlur:Di,emitError:Ci,rightActions:Fi}=Z,$i=i(Z,["className","placeholder","message","files","disabled","sendDisabled","textAreaDisabled","useAlternativeKeyDefaultValue","defaultKeySendText","alternativeKeySendText","concatenateText","uploadFileLimit","hideUploadFile","uploadFileDisabled","uploadFileAccept","autoFocus","voice","onSetAlternativeKeyValue","onChange","onFilesChange","onVoiceFilesChange","onTextAreaChange","onSend","onFocus","onBlur","emitError","rightActions"]);const Ai=Y(),Ei=t(null),[Ti,Si]=r("calc(var(--bothub-scale, 1) * 22px)"),[Li,Ki]="string"==typeof oi?[oi,bi]:r(""),[Oi,Pi]=Array.isArray(si)?[si,yi]:r([]),[Ui,qi]=r([]),[zi,Ri]=r(!1),[Vi,Ii]=r(!ni&&ui),[Bi,Ni]=r(!1),[Mi,Gi]=r(!1),[Hi,Wi]=r(null),_i=t(null),Ji=t(null),Qi=t([]),Xi=t(null),Yi=t(!1),Zi=t(null),[ie,ee]=r(ci),[oe,se]=r(!1),ne=c(()=>{ee(!1),null==hi||hi(!1),se(!1)},[]),te=c(()=>{ee(!0),null==hi||hi(!0),se(!1)},[]),re=c(i=>{Ii(!0),null==ki||ki(i)},[ki]),ce=c(i=>{Ii(!1),null==Di||Di(i)},[Di]),de=c(i=>{null==Ki||Ki(i.target.value),null==vi||vi(i)},[Ki,vi]),me=c(i=>e(void 0,void 0,void 0,function*(){if(!i.length)return;const e=[],o=[],s=yield Promise.all(null==i?void 0:i.map(M));for(const[n,t]of i.entries()){G(t.type,xi)?e.push({previewUrl:s[n],name:t.name,native:t}):o.push(t)}o.length>0&&(null==Ci||Ci({name:"WRONG_FILES",payload:o})),(null==e?void 0:e.length)>0&&(null==Pi||Pi([...Oi,...e].slice(0,pi)))}),[xi,Ci,pi,Oi]),ae=c(i=>e(void 0,void 0,void 0,function*(){!ji&&i.clipboardData.files.length>0&&(i.preventDefault(),yield me([...i.clipboardData.files]))}),[me,ji]),pe=c(i=>e(void 0,void 0,void 0,function*(){if(!Pi||!i.target.files)return;const e=yield H([...Oi.map(({native:i})=>i),...i.target.files]);Pi(e.slice(0,pi))}),[Oi,Pi,pi]),le=c(i=>{null==Pi||Pi(Oi.filter(({name:e})=>e!==i.name))},[Pi,Oi]),je=c(i=>{i.stopPropagation(),null==wi||wi(Li,Oi),null==Ki||Ki(""),null==Pi||Pi([]),null==qi||qi([]),Si("calc(var(--bothub-scale, 1) * 22px)")},[Li,Oi,wi,Ki,Pi,qi]),xe=c(i=>{i.stopPropagation();const e=ie?"enter":"ctrl/shift+enter";let o="";if("Enter"===i.key&&(i.shiftKey||i.ctrlKey))o="ctrl/shift+enter";else{if("Enter"!==i.key)return;o="enter"}if(Vi&&"Enter"===i.key){if(o===e&&i.ctrlKey){i.preventDefault();const e=Ei.current;if(!e)return;const o=e.value,t=e.selectionStart,r=o.slice(0,t),c=o.slice(t);null==Ki||Ki(`${r}\n${c}`),s=e,n=t+1,setTimeout(()=>{s.selectionStart=n,s.selectionEnd=n},1)}e!==o&&""!==o&&(i.preventDefault(),null==wi||wi(Li,Oi),Si("calc(var(--bothub-scale, 1) * 22px)"))}var s,n},[Vi,Li,Oi,wi,Ki,Pi]),ue=c(()=>{var i;ni||null===(i=Ei.current)||void 0===i||i.focus()},[ni,ui]),ge=c(i=>{i.stopPropagation()},[]),he=c(i=>e(void 0,void 0,void 0,function*(){if(Mi)return;Yi.current=!0,i.stopPropagation();const e=yield navigator.mediaDevices.getUserMedia({audio:!0}),o=new MediaRecorder(e,{mimeType:J()});Yi.current&&(o.start(1e3),_i.current=o,Ji.current=e,Xi.current=window.setInterval(()=>{Wi(i=>(null!=i?i:0)+.1)},100),Gi(!0),Wi(0),Ri(!1))}),[Yi.current,Qi.current,Mi]),be=c(()=>{const i=_i.current,e=Ji.current,o=Xi.current;if(Mi&&i&&e&&o){i.stop();for(const i of e.getTracks())i.stop();window.clearInterval(o)}},[Mi,_i.current,Ji.current,Xi.current]),ye=c(()=>e(void 0,void 0,void 0,function*(){Yi.current=!1,Mi&&be()}),[Mi,be]),fe=c(()=>{const i=_i.current,e=Xi.current;Mi&&i&&e&&(i.pause(),window.clearInterval(e),Ri(!0))},[Mi]),ve=c(()=>{const i=_i.current;Mi&&i&&(i.resume(),Xi.current=window.setInterval(()=>{Wi(i=>(null!=i?i:0)+.1)},100),Ri(!1))},[Mi,Wi]),we=c(i=>{qi(Ui.filter(e=>e.src!==i.src))},[Ui,qi]),ke=c(()=>{const i=Ei.current;null!==i&&(i.style.height="calc(var(--bothub-scale, 1) * 22px)",i.style.height=`${i.scrollHeight}px`,Si(`${i.scrollHeight}px`))},[Li,ui]);d(()=>{ke()},[ke]),d(()=>{const i=Ei.current;if(!i||ni)return;const e=!ni&&ui;Ii(e),e?i.focus():document.activeElement===i&&i.blur()},[ni,ui]),d(()=>{const i=Ei.current;if(null!==i)return i.addEventListener("keydown",xe),()=>{i.removeEventListener("keydown",xe)}},[xe]),d(()=>{Pi&&si&&Pi(si)},[si]),d(()=>{null==fi||fi(Ui)},[Ui]),d(()=>{const i=_i.current,o=i=>{i.data.size>0&&Qi.current.push(i.data)},s=()=>e(void 0,void 0,void 0,function*(){const i=new Blob(Qi.current,{type:J()}),{waveData:e,duration:o}=yield X(i),s={src:URL.createObjectURL(i),duration:o,blob:i,waveData:e};qi([...Ui,s]),_i.current=null,Ji.current=null,Qi.current=[],Xi.current=null,Gi(!1),Wi(null)});return i&&(i.addEventListener("dataavailable",o),i.addEventListener("stop",s)),()=>{i&&(i.removeEventListener("dataavailable",o),i.removeEventListener("stop",s)),be()}},[_i.current]),a(Zi,()=>{se(!1)});const De=m(oe,{from:{opacity:0,y:10},enter:{opacity:1,y:0},leave:{opacity:0,y:10},config:{duration:150,ease:"easeOut"}});return o(p,{$active:Vi,$dragActive:Bi,$disabled:ni,$textAreaDisabled:ri,$voiceRecording:Mi,className:ii,onClick:ue,onDragEnter:()=>Ni(!0),onDragLeave:()=>Ni(!1),onDragOver:i=>(i.stopPropagation(),i.preventDefault(),!1),onDrop:i=>e(void 0,void 0,void 0,function*(){if(i.dataTransfer.files.length>0)return i.stopPropagation(),i.preventDefault(),yield me([...i.dataTransfer.files]),Ni(!1),!1}),children:s(l,{children:[s(j,{children:[Mi&&null!==Hi&&s(x,{children:[o(u,{}),o(g,{children:W(Hi)})]}),Oi.length>0&&o(h,{children:Oi.map(i=>{let e;return e=i.previewUrl&&(i.name.match(/.png$/i)||i.name.match(/.jpg$/i)||i.name.match(/.jpeg$/i))?o(z,{src:i.previewUrl}):i.name.match(/.txt$/i)?o(V,{}):i.name.match(/.docx$/i)?o(I,{}):i.name.match(/.xlsx$/i)?o(B,{}):i.name.match(/.pdf$/i)?o(R,{}):o(_,{}),e=o(N,{size:18,children:e}),o(b,{start:e,onDelete:le.bind(null,i),children:i.name.length>20?`...${i.name.slice(-20)}`:i.name},i.name)})}),Ui.length>1&&o(y,{children:ai}),Ui.length>0&&o(f,{children:Ui.map(i=>s(v,{children:[o(Q,{variant:"input",height:24,src:i.src,duration:i.duration,waveData:i.waveData,disableTranscription:!0}),o(w,{onClick:we.bind(null,i)})]},i.src))}),(!ri||ri&&ei&&Oi.length!==pi||ri&&Li)&&o(k,Object.assign({$disabled:ni},$i,{ref:Ei,value:Li,placeholder:ei,disabled:ni||ri,style:Object.assign(Object.assign({},$i.style),{height:Ti}),onFocus:re,onBlur:ce,onChange:de,onPaste:ae}))]}),s(D,{children:[s(C,{children:[!li&&!Mi&&s(F,{onClick:ge,children:[o($,{type:"file",accept:xi,multiple:!0,disabled:Oi.length>=pi||ni||ji,onChange:pe},Oi.length),o(A,{disabled:Oi.length>=pi||ni||ji})]}),Fi]}),s(C,{children:[!!di&&!!mi&&s(E,{ref:Zi,children:[o(T,{onClick:i=>{i.stopPropagation(),se(!oe)},disabled:ni}),De((i,e)=>e&&s(S,{style:i,children:[o(L,{active:!ie,onClick:ne,children:di}),o(L,{active:ie,onClick:te,children:mi})]},"alternative-key-modal"))]}),Mi&&o(n,{children:zi?o(K,{onClick:ve}):o(O,{onClick:fe})}),gi&&o(P,{$isRecording:Mi,disabled:ni||ti,onClick:Mi?ye:he,"data-test":"submit-message"}),o(U,Object.assign({disabled:ni||ti||Mi,onClick:je},Ai.bright&&{iconFill:Ai.default.colors.base.black},{"data-test":"submit-message",children:o(q,{})}))]})]})]})})};export{Z as InputMessage};
1
+ import{__rest as i,__awaiter as e}from"tslib";import{jsx as o,jsxs as s,Fragment as n}from"react/jsx-runtime";import{useRef as t,useState as r,useCallback as c,useEffect as d}from"react";import{useTransition as m}from"@react-spring/web";import{useOnClickOutside as a}from"../../utils/useOnClickOutside.js";import{InputMessageStyled as p,InputMessageContent as l,InputMessageMain as j,InputMessageVoiceRecord as x,InputMessageVoiceRecordDot as u,InputMessageVoiceRecordTimeText as g,InputMessageFiles as h,InputMessageFile as b,InputMessageConcatenateWarning as y,InputMessageVoiceFiles as f,InputMessageVoiceTrack as v,InputMessageVoiceFileDelete as w,InputMessageTextArea as k,InputMessageBottom as D,InputMessageBottomGroup as C,InputMessageUploadFile as F,InputMessageUploadFileInput as $,InputMessageUploadFileButton as A,InputMessageToggleSendStyled as E,InputMessageToggleSendButton as T,InputMessageToggleSendModalStyled as S,InputMessageToggleSendModalOption as L,InputMessageVoicePlayButton as K,InputMessageVoicePauseButton as O,InputMessageVoiceButton as P,InputMessageSendButton as U,InputMessageSendIcon as q}from"./styled.js";import{ChipImage as z}from"../chip/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{PdfIcon as R}from"../../icons/pdf/index.js";import{TxtIcon as V}from"../../icons/txt/index.js";import{WordIcon as I}from"../../icons/word/index.js";import{XlsIcon as B}from"../../icons/xls/index.js";import{IconProvider as N}from"../icon/context.js";import"../icon/styled.js";import{getPreviewUrlForFile as M,isFileTypeAccepted as G,formatUploadFiles as H,formatSeconds as W,isMobileDevice as _}from"./utils.js";import{AttachFileIcon as J}from"../../icons/attach-file/index.js";import{getSupportedAudioMimeType as Q}from"../../utils/getSupportedAudioMimeType.js";import"../message/styled.js";import"../skeleton/index.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"../message/context.js";import"styled-components";import"../message/components/code/inline/styled.js";import"../message/components/code/multiline/styled.js";import"../message/components/code/multiline/copy/styled.js";import"../../icons/check-small/index.js";import"../../icons/copy/index.js";import"../message/components/code/multiline/content/styled.js";import"../message/components/paragraph/styled.js";import"../message/components/bold/styled.js";import"../message/components/italic/styled.js";import"../message/components/pre/styled.js";import"../message/components/table/styled.js";import"../message/components/table/cell/styled.js";import"../message/components/list/styled.js";import"../message/components/list/context.js";import"../message/components/list/item/styled.js";import"../message/components/title/styled.js";import"../message/components/link/styled.js";import"../message/components/image/styled.js";import"../message/components/image/context.js";import"../message/components/image/grid/styled.js";import"../message/components/image/button/styled.js";import"../message/components/image/button/list/styled.js";import"../message/markdown/styled.js";import"../scrollbar/styled.js";import"../scrollbar/shadow/styled.js";import"../scrollbar/style/styled.js";import"../message/timestamp/styled.js";import"../../icons/menu-dot/index.js";import"../../icons/update/index.js";import"../../icons/resend/index.js";import"../../icons/edit/index.js";import"../../icons/trash/index.js";import"../../icons/thumb-down/index.js";import"../../icons/close/index.js";import"../../icons/download-img/index.js";import"../message/actions/styled.js";import"../message/actions/copy-button/styled.js";import"../message/list/styled.js";import"../message/scroll-button/styled.js";import"../../icons/arrow-down/index.js";import"../../icons/arrow-narrow-left/index.js";import"../../icons/arrow-narrow-right/index.js";import"../../icons/arrow-up/index.js";import"../../icons/bitcoin/index.js";import"../../icons/bot-circle/index.js";import"../../icons/bothub-agg/index.js";import"../../icons/business-colored/index.js";import"../../icons/check-circle/index.js";import"../../icons/email-circle/index.js";import"../../icons/language/index.js";import"../../icons/lock-circle/index.js";import"../../icons/menu/index.js";import"../../icons/medium-circle/index.js";import"../../icons/tg-circle/index.js";import"../../icons/tg-colored/index.js";import"../../icons/youcassa/index.js";import"../../icons/dashboard/index.js";import"../../icons/user-profile/index.js";import"../../icons/logout/index.js";import"../../icons/habr-2/index.js";import"../../icons/arrow-2-down/index.js";import"../../icons/links/index.js";import"../../icons/free/index.js";import"../../icons/hotness/index.js";import"../../icons/checked/index.js";import"../../icons/ai/index.js";import"../../icons/bookmarks/index.js";import"../../icons/bookmarks-big/index.js";import"../../icons/chat/index.js";import"../../icons/chats/index.js";import"../../icons/coder/index.js";import"../../icons/presets-big/index.js";import"../../icons/referal/index.js";import"../../icons/restore/index.js";import"../../icons/tariff/index.js";import"../../icons/plus-2/index.js";import"../../icons/plus-1/index.js";import"../../icons/send/index.js";import"../../icons/settings/index.js";import"../../icons/habr/index.js";import"../../icons/stop/index.js";import"../../icons/thumb-up/index.js";import"../../icons/star/index.js";import"../../icons/info-big/index.js";import"../../icons/warning-big/index.js";import"../../icons/error-big/index.js";import"../../icons/success-big/index.js";import"../../icons/mj/index.js";import"../../icons/card/index.js";import"../../icons/arrow-narrow-up/index.js";import"../../icons/arrow-narrow-down/index.js";import"../../icons/filters/index.js";import"../../icons/info/index.js";import"../../icons/search-circle/index.js";import"../../icons/save/index.js";import"../../icons/light/index.js";import"../../icons/dark/index.js";import"../../icons/email-colored/index.js";import"../../icons/action-chat/index.js";import"../../icons/attach/index.js";import"../../icons/avatar-add/index.js";import"../../icons/brush/index.js";import"../../icons/calendar/index.js";import"../../icons/claude/index.js";import"../../icons/cookie/index.js";import"../../icons/dalle/index.js";import"../../icons/error/index.js";import"../../icons/expand/index.js";import"../../icons/eye/index.js";import"../../icons/face/index.js";import"../../icons/gear/index.js";import"../../icons/gear-min/index.js";import"../../icons/generation/index.js";import"../../icons/gpt-3_5/index.js";import"../../icons/gpt-4/index.js";import"../../icons/imagine/index.js";import"../../icons/imagine-2/index.js";import"../../icons/loader/index.js";import"../../icons/loader-circular/index.js";import"../../icons/loader-circular-gradient/index.js";import"../../icons/loader-circular-gradient-2/index.js";import"../../icons/minus/index.js";import"../../icons/mj-white/index.js";import"../../icons/prompt/index.js";import"../../icons/rabbit/index.js";import"../../icons/ratio-1x1/index.js";import"../../icons/ratio-2x3/index.js";import"../../icons/ratio-3x2/index.js";import"../../icons/ratio-4x5/index.js";import"../../icons/ratio-4x7/index.js";import"../../icons/ratio-5x4/index.js";import"../../icons/ratio-7x4/index.js";import"../../icons/ratio-16x9/index.js";import"../../icons/ratio-9x16/index.js";import"../../icons/ratio-21x9/index.js";import"../../icons/ratio-9x21/index.js";import"../../icons/refferal-min/index.js";import"../../icons/search-data/index.js";import"../../icons/square/index.js";import"../../icons/turtle/index.js";import"../../icons/upscale/index.js";import"../../icons/withdraw/index.js";import"../../icons/search-plus/index.js";import"../../icons/lightning/index.js";import"../../icons/blog-circle/index.js";import"../../icons/stripe/index.js";import"../../icons/corporate/index.js";import"../../icons/public/index.js";import"../../icons/private/index.js";import"../../icons/mistral/index.js";import"../../icons/gemini/index.js";import"../../icons/search-simple/index.js";import"../../icons/sad-robot/index.js";import"../../icons/model/index.js";import"../../icons/phone-colored/index.js";import"../../icons/questions/index.js";import"../../icons/pdf-big/index.js";import"../../icons/xls-big/index.js";import"../../icons/word-big/index.js";import"../../icons/txt-big/index.js";import"../../icons/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-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"../../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"../message/versions/styled.js";import"../message/copy/styled.js";import"../message/badge-progress/styled.js";import"../message/button/styled.js";import"../message/button/list/styled.js";import"../message/file/styled.js";import{MessageVoice as X}from"../message/voice/index.js";import"../message/reasoning-block/styled.js";import"../typography/styled.js";import"../message/search-results/styled.js";import"../message/video/styled.js";import{getWaveData as Y}from"../../utils/audio/getWaveData.js";import{useTheme as Z}from"../../theme/hook.js";const ii=ii=>{var{className:ei,placeholder:oi,message:si,files:ni,disabled:ti=!1,sendDisabled:ri=!1,textAreaDisabled:ci=!1,useAlternativeKeyDefaultValue:di=!1,defaultKeySendText:mi,alternativeKeySendText:ai,concatenateText:pi,uploadFileLimit:li=5,hideUploadFile:ji=!1,uploadFileDisabled:xi=!1,uploadFileAccept:ui,autoFocus:gi=!0,voice:hi=!1,onSetAlternativeKeyValue:bi,onChange:yi,onFilesChange:fi,onVoiceFilesChange:vi,onTextAreaChange:wi,onSend:ki,onFocus:Di,onBlur:Ci,emitError:Fi,rightActions:$i}=ii,Ai=i(ii,["className","placeholder","message","files","disabled","sendDisabled","textAreaDisabled","useAlternativeKeyDefaultValue","defaultKeySendText","alternativeKeySendText","concatenateText","uploadFileLimit","hideUploadFile","uploadFileDisabled","uploadFileAccept","autoFocus","voice","onSetAlternativeKeyValue","onChange","onFilesChange","onVoiceFilesChange","onTextAreaChange","onSend","onFocus","onBlur","emitError","rightActions"]);const Ei=Z(),Ti=t(null),[Si,Li]=r("calc(var(--bothub-scale, 1) * 22px)"),[Ki,Oi]="string"==typeof si?[si,yi]:r(""),[Pi,Ui]=Array.isArray(ni)?[ni,fi]:r([]),[qi,zi]=r([]),[Ri,Vi]=r(!1),[Ii,Bi]=r(!ti&&gi),[Ni,Mi]=r(!1),[Gi,Hi]=r(!1),[Wi,_i]=r(null),Ji=t(null),Qi=t(null),Xi=t([]),Yi=t(null),Zi=t(!1),ie=t(null),[ee,oe]=r(di),[se,ne]=r(!1),te=c(()=>{oe(!1),null==bi||bi(!1),ne(!1)},[]),re=c(()=>{oe(!0),null==bi||bi(!0),ne(!1)},[]),ce=c(i=>{Bi(!0),null==Di||Di(i)},[Di]),de=c(i=>{Bi(!1),null==Ci||Ci(i)},[Ci]),me=c(i=>{null==Oi||Oi(i.target.value),null==wi||wi(i)},[Oi,wi]),ae=c(i=>e(void 0,void 0,void 0,function*(){if(!i.length)return;const e=[],o=[],s=yield Promise.all(null==i?void 0:i.map(M));for(const[n,t]of i.entries()){G(t.type,ui)?e.push({previewUrl:s[n],name:t.name,native:t}):o.push(t)}o.length>0&&(null==Fi||Fi({name:"WRONG_FILES",payload:o})),(null==e?void 0:e.length)>0&&(null==Ui||Ui([...Pi,...e].slice(0,li)))}),[ui,Fi,li,Pi]),pe=c(i=>e(void 0,void 0,void 0,function*(){!xi&&i.clipboardData.files.length>0&&(i.preventDefault(),yield ae([...i.clipboardData.files]))}),[ae,xi]),le=c(i=>e(void 0,void 0,void 0,function*(){if(!Ui||!i.target.files)return;const e=yield H([...Pi.map(({native:i})=>i),...i.target.files]);Ui(e.slice(0,li))}),[Pi,Ui,li]),je=c(i=>{null==Ui||Ui(Pi.filter(({name:e})=>e!==i.name))},[Ui,Pi]),xe=c(i=>{i.stopPropagation(),null==ki||ki(Ki,Pi),null==Oi||Oi(""),null==Ui||Ui([]),null==zi||zi([]),Li("calc(var(--bothub-scale, 1) * 22px)")},[Ki,Pi,ki,Oi,Ui,zi]),ue=c(i=>{i.stopPropagation();if(_()&&"Enter"===i.key)return;const e=ee?"enter":"ctrl/shift+enter";let o="";if("Enter"===i.key&&(i.shiftKey||i.ctrlKey))o="ctrl/shift+enter";else{if("Enter"!==i.key)return;o="enter"}if(Ii&&"Enter"===i.key){if(o===e&&i.ctrlKey){i.preventDefault();const e=Ti.current;if(!e)return;const o=e.value,t=e.selectionStart,r=o.slice(0,t),c=o.slice(t);null==Oi||Oi(`${r}\n${c}`),s=e,n=t+1,setTimeout(()=>{s.selectionStart=n,s.selectionEnd=n},1)}e!==o&&""!==o&&(i.preventDefault(),null==ki||ki(Ki,Pi),Li("calc(var(--bothub-scale, 1) * 22px)"))}var s,n},[Ii,Ki,Pi,ki,Oi,Ui]),ge=c(()=>{var i;ti||null===(i=Ti.current)||void 0===i||i.focus()},[ti,gi]),he=c(i=>{i.stopPropagation()},[]),be=c(i=>e(void 0,void 0,void 0,function*(){if(Gi)return;Zi.current=!0,i.stopPropagation();const e=yield navigator.mediaDevices.getUserMedia({audio:!0}),o=new MediaRecorder(e,{mimeType:Q()});Zi.current&&(o.start(1e3),Ji.current=o,Qi.current=e,Yi.current=window.setInterval(()=>{_i(i=>(null!=i?i:0)+.1)},100),Hi(!0),_i(0),Vi(!1))}),[Zi.current,Xi.current,Gi]),ye=c(()=>{const i=Ji.current,e=Qi.current,o=Yi.current;if(Gi&&i&&e&&o){i.stop();for(const i of e.getTracks())i.stop();window.clearInterval(o)}},[Gi,Ji.current,Qi.current,Yi.current]),fe=c(()=>e(void 0,void 0,void 0,function*(){Zi.current=!1,Gi&&ye()}),[Gi,ye]),ve=c(()=>{const i=Ji.current,e=Yi.current;Gi&&i&&e&&(i.pause(),window.clearInterval(e),Vi(!0))},[Gi]),we=c(()=>{const i=Ji.current;Gi&&i&&(i.resume(),Yi.current=window.setInterval(()=>{_i(i=>(null!=i?i:0)+.1)},100),Vi(!1))},[Gi,_i]),ke=c(i=>{zi(qi.filter(e=>e.src!==i.src))},[qi,zi]),De=c(()=>{const i=Ti.current;null!==i&&(i.style.height="calc(var(--bothub-scale, 1) * 22px)",i.style.height=`${i.scrollHeight}px`,Li(`${i.scrollHeight}px`))},[Ki,gi]);d(()=>{De()},[De]),d(()=>{const i=Ti.current;if(!i||ti)return;const e=!ti&&gi;Bi(e),e?i.focus():document.activeElement===i&&i.blur()},[ti,gi]),d(()=>{const i=Ti.current;if(null!==i)return i.addEventListener("keydown",ue),()=>{i.removeEventListener("keydown",ue)}},[ue]),d(()=>{Ui&&ni&&Ui(ni)},[ni]),d(()=>{null==vi||vi(qi)},[qi]),d(()=>{const i=Ji.current,o=i=>{i.data.size>0&&Xi.current.push(i.data)},s=()=>e(void 0,void 0,void 0,function*(){const i=new Blob(Xi.current,{type:Q()}),{waveData:e,duration:o}=yield Y(i),s={src:URL.createObjectURL(i),duration:o,blob:i,waveData:e};zi([...qi,s]),Ji.current=null,Qi.current=null,Xi.current=[],Yi.current=null,Hi(!1),_i(null)});return i&&(i.addEventListener("dataavailable",o),i.addEventListener("stop",s)),()=>{i&&(i.removeEventListener("dataavailable",o),i.removeEventListener("stop",s)),ye()}},[Ji.current]),a(ie,()=>{ne(!1)});const Ce=m(se,{from:{opacity:0,y:10},enter:{opacity:1,y:0},leave:{opacity:0,y:10},config:{duration:150,ease:"easeOut"}});return o(p,{$active:Ii,$dragActive:Ni,$disabled:ti,$textAreaDisabled:ci,$voiceRecording:Gi,className:ei,onClick:ge,onDragEnter:()=>Mi(!0),onDragLeave:()=>Mi(!1),onDragOver:i=>(i.stopPropagation(),i.preventDefault(),!1),onDrop:i=>e(void 0,void 0,void 0,function*(){if(i.dataTransfer.files.length>0)return i.stopPropagation(),i.preventDefault(),yield ae([...i.dataTransfer.files]),Mi(!1),!1}),children:s(l,{children:[s(j,{children:[Gi&&null!==Wi&&s(x,{children:[o(u,{}),o(g,{children:W(Wi)})]}),Pi.length>0&&o(h,{children:Pi.map(i=>{let e;return e=i.previewUrl&&(i.name.match(/.png$/i)||i.name.match(/.jpg$/i)||i.name.match(/.jpeg$/i))?o(z,{src:i.previewUrl}):i.name.match(/.txt$/i)?o(V,{}):i.name.match(/.docx$/i)?o(I,{}):i.name.match(/.xlsx$/i)?o(B,{}):i.name.match(/.pdf$/i)?o(R,{}):o(J,{}),e=o(N,{size:18,children:e}),o(b,{start:e,onDelete:je.bind(null,i),children:i.name.length>20?`...${i.name.slice(-20)}`:i.name},i.name)})}),qi.length>1&&o(y,{children:pi}),qi.length>0&&o(f,{children:qi.map(i=>s(v,{children:[o(X,{variant:"input",height:24,src:i.src,duration:i.duration,waveData:i.waveData,disableTranscription:!0}),o(w,{onClick:ke.bind(null,i)})]},i.src))}),(!ci||ci&&oi&&Pi.length!==li||ci&&Ki)&&o(k,Object.assign({$disabled:ti},Ai,{ref:Ti,value:Ki,placeholder:oi,disabled:ti||ci,style:Object.assign(Object.assign({},Ai.style),{height:Si}),onFocus:ce,onBlur:de,onChange:me,onPaste:pe}))]}),s(D,{children:[s(C,{children:[!ji&&!Gi&&s(F,{onClick:he,children:[o($,{type:"file",accept:ui,multiple:!0,disabled:Pi.length>=li||ti||xi,onChange:le},Pi.length),o(A,{disabled:Pi.length>=li||ti||xi})]}),$i]}),s(C,{children:[!!mi&&!!ai&&s(E,{ref:ie,children:[o(T,{onClick:i=>{i.stopPropagation(),ne(!se)},disabled:ti}),Ce((i,e)=>e&&s(S,{style:i,children:[o(L,{active:!ee,onClick:te,children:mi}),o(L,{active:ee,onClick:re,children:ai})]},"alternative-key-modal"))]}),Gi&&o(n,{children:Ri?o(K,{onClick:we}):o(O,{onClick:ve})}),hi&&o(P,{$isRecording:Gi,disabled:ti||ri,onClick:Gi?fe:be,"data-test":"submit-message"}),o(U,Object.assign({disabled:ti||ri||Gi,onClick:xe},Ei.bright&&{iconFill:Ei.default.colors.base.black},{"data-test":"submit-message",children:o(q,{})}))]})]})]})})};export{ii as InputMessage};
@@ -3,3 +3,4 @@ export declare const getPreviewUrlForFile: (file: File) => Promise<string | null
3
3
  export declare const formatUploadFiles: (files: File[]) => Promise<IInputMessageFile[]>;
4
4
  export declare const formatSeconds: (seconds: number) => string;
5
5
  export declare function isFileTypeAccepted(fileType: string, acceptStr?: string): boolean;
6
+ export declare const isMobileDevice: () => boolean;
@@ -1 +1 @@
1
- import{__awaiter as t}from"tslib";const n=n=>t(void 0,void 0,void 0,function*(){return n.name.match(/.png$/i)||n.name.match(/.jpg$/i)||n.name.match(/.jpeg$/i)?new Promise((t,e)=>{const r=new FileReader;r.addEventListener("load",()=>{var n,i;const o=null!==(i=null===(n=r.result)||void 0===n?void 0:n.toString())&&void 0!==i?i:null;if(null===o)return e(new Error("result not found"));t(o)}),r.readAsDataURL(n)}):null}),e=e=>t(void 0,void 0,void 0,function*(){const t=yield Promise.all(e.map(n)),r=e.map((n,e)=>({name:n.name,previewUrl:t[e],native:n}));return[...new Map([...r].map(t=>[t.name,t])).values()]}),r=t=>{const n=Math.floor(t/60),e=t%60;return`${String(n).padStart(2,"0")}:${e.toFixed(1).padStart(2,"0").replace(".",",")}`};function i(t,n){if(!n||""===n.trim())return!0;return n.split(",").map(t=>t.trim()).filter(Boolean).some(n=>{if(n.endsWith("/*")){const e=n.slice(0,n.length-1);return t.startsWith(e)}return n===t})}export{r as formatSeconds,e as formatUploadFiles,n as getPreviewUrlForFile,i as isFileTypeAccepted};
1
+ import{__awaiter as n}from"tslib";const t=t=>n(void 0,void 0,void 0,function*(){return t.name.match(/.png$/i)||t.name.match(/.jpg$/i)||t.name.match(/.jpeg$/i)?new Promise((n,e)=>{const i=new FileReader;i.addEventListener("load",()=>{var t,r;const o=null!==(r=null===(t=i.result)||void 0===t?void 0:t.toString())&&void 0!==r?r:null;if(null===o)return e(new Error("result not found"));n(o)}),i.readAsDataURL(t)}):null}),e=e=>n(void 0,void 0,void 0,function*(){const n=yield Promise.all(e.map(t)),i=e.map((t,e)=>({name:t.name,previewUrl:n[e],native:t}));return[...new Map([...i].map(n=>[n.name,n])).values()]}),i=n=>{const t=Math.floor(n/60),e=n%60;return`${String(t).padStart(2,"0")}:${e.toFixed(1).padStart(2,"0").replace(".",",")}`};function r(n,t){if(!t||""===t.trim())return!0;return t.split(",").map(n=>n.trim()).filter(Boolean).some(t=>{if(t.endsWith("/*")){const e=t.slice(0,t.length-1);return n.startsWith(e)}return t===n})}const o=()=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||"ontouchstart"in window&&window.innerWidth<=768;export{i as formatSeconds,e as formatUploadFiles,t as getPreviewUrlForFile,r as isFileTypeAccepted,o as isMobileDevice};
@@ -1,2 +1,2 @@
1
1
  import { PaginatorProps } from './types';
2
- export declare const Paginator: ({ current, onChange, lastPage }: PaginatorProps) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const Paginator: ({ current, onChange, lastPage, arrowStyles, }: PaginatorProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- import{jsxs as e,jsx as l}from"react/jsx-runtime";import{Container as i,ControlButton as n,ArrowIcon as r,PaginatorItem as a,ArrowNextIcon as t}from"./styled.js";import{usePaginatorPages as o,emptySpace as d}from"./utils.js";const u=({current:u,onChange:c,lastPage:s})=>{const m=o(null!=u?u:1,s),v=e=>{c(e)};return e(i,{children:[l(n,{$disabled:1===s,onClick:()=>{c(!u||u<=1?s:u-1)},children:l(r,{})}),m.map(e=>l(a,{$active:e.value===u,$disabled:e.value===d||e.value===u,onClick:"number"==typeof e.value?v.bind(null,e.value):()=>{},children:e.value},e.id)),l(n,{$disabled:1===s,onClick:()=>{c(!u||u>=s?1:u+1)},children:l(t,{})})]})};export{u as Paginator};
1
+ import{jsxs as e,jsx as l}from"react/jsx-runtime";import{Container as r,ControlButton as a,ArrowCaretIcon as t,ArrowIcon as i,PaginatorItem as n,ArrowCaretNextIcon as o,ArrowNextIcon as c}from"./styled.js";import{usePaginatorPages as d,emptySpace as u}from"./utils.js";const s=({current:s,onChange:m,lastPage:v,arrowStyles:p="default"})=>{const b=d(null!=s?s:1,v),f=e=>{m(e)};return e(r,{children:[l(a,{$disabled:1===v,onClick:()=>{m(!s||s<=1?v:s-1)},children:l("caret"===p?t:i,{})}),b.map(e=>l(n,{$active:e.value===s,$disabled:e.value===u||e.value===s,onClick:"number"==typeof e.value?f.bind(null,e.value):()=>{},children:e.value},e.id)),l(a,{$disabled:1===v,onClick:()=>{m(!s||s>=v?1:s+1)},children:l("caret"===p?o:c,{})})]})};export{s as Paginator};