@bothub-chat/ui 2.40.0 → 2.40.1-develop-22066e73-be5e-4f26-a589-182e4e652acd

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 (45) hide show
  1. package/README.md +23 -23
  2. package/dist/components/badge-select-dropdown/index.d.ts +11 -7
  3. package/dist/components/badge-select-dropdown/index.js +1 -1
  4. package/dist/components/badge-select-dropdown/styled.d.ts +6 -278
  5. package/dist/components/badge-select-dropdown/styled.js +1 -3
  6. package/dist/components/badge-select-dropdown/types.d.ts +1 -0
  7. package/dist/components/input-message/index.js +1 -1
  8. package/dist/components/input-message/utils.d.ts +1 -0
  9. package/dist/components/input-message/utils.js +1 -1
  10. package/dist/components/message/components/image/index.js +1 -1
  11. package/dist/components/message/components/image/lib/utils.d.ts +3 -0
  12. package/dist/components/message/components/image/lib/utils.js +1 -0
  13. package/dist/components/message/components/image/styled.js +3 -3
  14. package/dist/components/scrollable-tabs/index.d.ts +5 -4
  15. package/dist/components/scrollable-tabs/index.js +1 -1
  16. package/dist/components/select-field/context.d.ts +1 -1
  17. package/dist/components/select-field/context.js +1 -1
  18. package/dist/components/select-field/index.d.ts +8 -45
  19. package/dist/components/select-field/index.js +1 -1
  20. package/dist/components/select-field/option/collapse/index.d.ts +1 -1
  21. package/dist/components/select-field/option/collapse/index.js +1 -1
  22. package/dist/components/select-field/option/list/index.d.ts +1 -0
  23. package/dist/components/select-field/option/list/index.js +1 -1
  24. package/dist/components/select-field/option/select-field-option/index.d.ts +2 -1
  25. package/dist/components/select-field/option/select-field-option/index.js +1 -1
  26. package/dist/components/select-field/option/select-field-option/styled.d.ts +1 -0
  27. package/dist/components/select-field/option/select-field-option/styled.js +16 -23
  28. package/dist/components/select-field/select-field-group/styled.js +1 -1
  29. package/dist/components/select-field/select-modal/filterData.d.ts +2 -0
  30. package/dist/components/select-field/select-modal/filterData.js +1 -0
  31. package/dist/components/select-field/select-modal/index.d.ts +26 -0
  32. package/dist/components/select-field/select-modal/index.js +1 -0
  33. package/dist/components/select-field/select-modal/styled.d.ts +1956 -0
  34. package/dist/components/select-field/select-modal/styled.js +12 -0
  35. package/dist/components/select-field/styled.d.ts +7 -859
  36. package/dist/components/select-field/styled.js +15 -21
  37. package/dist/components/select-field/types.d.ts +5 -1
  38. package/dist/components/select-field/useSelectField.d.ts +40 -0
  39. package/dist/components/select-field/useSelectField.js +1 -0
  40. package/dist/index.js +1 -1
  41. package/package.json +1 -1
  42. package/dist/components/badge-select-dropdown/context.js +0 -1
  43. package/dist/components/badge-select-dropdown/item/index.js +0 -1
  44. package/dist/components/badge-select-dropdown/item/styled.js +0 -1
  45. package/dist/components/select-field/filterData.js +0 -1
package/README.md CHANGED
@@ -1,24 +1,24 @@
1
- <p align="center">
2
- <img src="https://bothub.chat/icon-144x144.png" />
3
- </p>
4
- <h1 align="center">Bothub Chat</h1>
5
- <p align="center">UI Components from Bothub.</p>
6
- <p align="center">
7
- <a href="https://bothub-docs.vercel.app/">Documentation</a>
8
- </p>
9
-
10
- <h2>Installing</h2>
11
- <p>Preliminary requirements:</p>
12
- <ul>
13
- <li><a href="https://nodejs.org/">Node.js</a> >= <code>18.12.1</code></li>
14
- <li><a href="https://www.npmjs.com/">npm</a> >= <code>9.1.2</code></li>
15
- <li><a href="https://yarnpkg.com/">yarn</a> >= <code>1.22.19</code></li>
16
- </ul>
17
- <p>Installing peer dependencies:</p>
18
- <pre>yarn add framer-motion@10.16.3 react@18.2.0 react-dom@18.2.0 styled-components@6.0.7 react-helmet@6.1.0 normalize.css@8.0.1 react-slider@2.0.6 react-markdown@8.0.5 highlight.js@11.9.0 react-highlight@0.15.0</pre>
19
- <p>Installing package:</p>
20
- <pre>yarn add @bothub-chat/ui</pre>
21
-
22
-
23
- <h2>License</h2>
1
+ <p align="center">
2
+ <img src="https://bothub.chat/icon-144x144.png" />
3
+ </p>
4
+ <h1 align="center">Bothub Chat</h1>
5
+ <p align="center">UI Components from Bothub.</p>
6
+ <p align="center">
7
+ <a href="https://bothub-docs.vercel.app/">Documentation</a>
8
+ </p>
9
+
10
+ <h2>Installing</h2>
11
+ <p>Preliminary requirements:</p>
12
+ <ul>
13
+ <li><a href="https://nodejs.org/">Node.js</a> >= <code>18.12.1</code></li>
14
+ <li><a href="https://www.npmjs.com/">npm</a> >= <code>9.1.2</code></li>
15
+ <li><a href="https://yarnpkg.com/">yarn</a> >= <code>1.22.19</code></li>
16
+ </ul>
17
+ <p>Installing peer dependencies:</p>
18
+ <pre>yarn add framer-motion@10.16.3 react@18.2.0 react-dom@18.2.0 styled-components@6.0.7 react-helmet@6.1.0 normalize.css@8.0.1 react-slider@2.0.6 react-markdown@8.0.5 highlight.js@11.9.0 react-highlight@0.15.0</pre>
19
+ <p>Installing package:</p>
20
+ <pre>yarn add @bothub-chat/ui</pre>
21
+
22
+
23
+ <h2>License</h2>
24
24
  <p><a href="https://github.com/matbea-dev/bothub/blob/main/LICENSE">MIT</a></p>
@@ -1,9 +1,13 @@
1
- import React from 'react';
2
- type IBadgeSelectDropdown = React.ComponentProps<'div'> & {
3
- activeDropDownItem: string;
1
+ import { SelectFieldChangeEventHandler, SelectFieldDataItem, UseSelectFieldProps } from '../select-field';
2
+ import { Variant } from './types';
3
+ export type BadgeSelectDropdownProps = {
4
+ options: SelectFieldDataItem[];
5
+ value?: SelectFieldDataItem | null;
6
+ variant?: Variant;
4
7
  colorButtonOpened?: string;
5
- } & React.PropsWithChildren;
6
- export declare const BadgeSelectDropdown: React.FC<IBadgeSelectDropdown>;
7
- export * from './item';
8
+ className?: string;
9
+ compactWidth?: boolean;
10
+ onChange?: SelectFieldChangeEventHandler;
11
+ } & Omit<UseSelectFieldProps, 'onChange' | 'multiple' | 'onValueChange' | 'value'>;
12
+ export declare const BadgeSelectDropdown: ({ options, value: initialValue, variant, colorButtonOpened, className, compactWidth, onChange, ...useSelectFieldProps }: BadgeSelectDropdownProps) => import("react/jsx-runtime").JSX.Element;
8
13
  export * from './styled';
9
- export * from './context';
@@ -1 +1 @@
1
- import{__rest as e}from"tslib";import{jsx as t,jsxs as o}from"react/jsx-runtime";import{useRef as r,useState as n,useCallback as c,useEffect as i}from"react";import{useTransition as s}from"@react-spring/web";import{BadgeSelectDropdownWrapper as l,BadgeSelectDropdownTrigger as m,BadgeSelectDropdownSpanStyled as a,BadgeSelectDropdownTogglerArrow as d,BadgeSelectDropdownList as p}from"./styled.js";import{BadgeSelectDropdownProvider as u}from"./context.js";export{BadgeSelectDropdownContext,useBadgeSelectDropdown}from"./context.js";import"./item/styled.js";const f=f=>{var{children:v,activeDropDownItem:w,colorButtonOpened:h}=f,y=e(f,["children","activeDropDownItem","colorButtonOpened"]);const b=r(null),[g,j]=n(!1),x=c((()=>{j(!g)}),[g]);i((()=>{const e=b.current;if(null!==e){const t=t=>{e.contains(t.target)||j(!1)},o=()=>j(!1);return document.addEventListener("click",t),window.addEventListener("blur",o),()=>{document.removeEventListener("click",t),window.removeEventListener("blur",o)}}}),[]);const D=s(g,{from:{opacity:0,transform:"scale(0)"},enter:{opacity:g?1:.5,transform:`scale(${g?1:.999})`},leave:{opacity:0,transform:"scale(0.999)"},config:{duration:150}});return t(u,{setIsOpen:j,children:o(l,Object.assign({ref:b},y,{children:[o(m,{$active:g,onClick:x,$colorButtonOpened:h,type:"button",children:[t(a,{children:w}),t(d,{$open:g})]}),D(((e,o)=>o&&t(p,{$open:g&&!!o,style:e,children:v})))]}))})};export{f as BadgeSelectDropdown,p as BadgeSelectDropdownList,u as BadgeSelectDropdownProvider,a as BadgeSelectDropdownSpanStyled,d as BadgeSelectDropdownTogglerArrow,m as BadgeSelectDropdownTrigger,l as BadgeSelectDropdownWrapper};
1
+ import{__rest as e}from"tslib";import{jsxs as t,Fragment as o,jsx as r}from"react/jsx-runtime";import{BadgeSelectDropdownTrigger as i,BadgeSelectDropdownSpanStyled as l,BadgeSelectDropdownTogglerArrow as s}from"./styled.js";import"react";import"../select-field/styled.js";import"../../theme/index.js";import"../skeleton/index.js";import"../icon/styled.js";import"@react-spring/web";import"react-dom";import"../portal/styled.js";import"../tooltip/styled.js";import"../tooltip/arrow/styled.js";import"../tooltip/context.js";import"../select-field/context.js";import{SelectModal as a}from"../select-field/select-modal/index.js";import{useSelectField as n}from"../select-field/useSelectField.js";import{useTheme as p}from"../../theme/hook.js";const c=c=>{var{options:m,value:d,variant:u="primary",colorButtonOpened:j,className:f,compactWidth:g,onChange:h}=c,y=e(c,["options","value","variant","colorButtonOpened","className","compactWidth","onChange"]);const v=p(),O=n(Object.assign(Object.assign({},y),{value:d,multiple:!1,onChange:h})),{isOpen:b,triggerRef:x,value:C,setValue:k,handleInputClick:$}=O,B=e(O,["isOpen","triggerRef","value","setValue","handleInputClick"]);let N="";return"string"==typeof C&&(N=C),C&&"string"!=typeof C&&!Array.isArray(C)&&C.label&&(N=C.label),t(o,{children:[t(i,{ref:x,$active:b,$variant:u,$colorButtonOpened:j,type:"button",onClick:e=>$(!1,e),className:f,children:[r(l,{children:N}),r(s,{$open:b})]}),r(a,Object.assign({data:m,isOpen:b,setValue:k,value:C,compactWidth:g,selectedColor:v.colors.grayScale.gray2},B))]})};export{c as BadgeSelectDropdown,l as BadgeSelectDropdownSpanStyled,s as BadgeSelectDropdownTogglerArrow,i as BadgeSelectDropdownTrigger};
@@ -1,4 +1,9 @@
1
- import { AnimatedProps } from '@react-spring/web';
1
+ import { Variant } from './types';
2
+ export declare const BadgeSelectDropdownTrigger: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {
3
+ $active: boolean;
4
+ $variant: Variant;
5
+ $colorButtonOpened?: string;
6
+ }>>;
2
7
  export declare const BadgeSelectDropdownSpanStyled: import("styled-components").IStyledComponent<"web", {
3
8
  children?: import("react").ReactNode;
4
9
  variant?: import("../typography").TypographyVariant | undefined;
@@ -275,283 +280,6 @@ export declare const BadgeSelectDropdownSpanStyled: import("styled-components").
275
280
  fullWidth?: boolean | undefined;
276
281
  ref?: ((instance: HTMLSpanElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLSpanElement> | null | undefined;
277
282
  }>;
278
- export declare const BadgeSelectDropdownTrigger: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {
279
- $active: boolean;
280
- $colorButtonOpened?: string;
281
- }>>;
282
- export declare const BadgeSelectDropdownList: React.FC<AnimatedProps<React.ComponentProps<'ul'>> & {
283
- $open: boolean;
284
- }>;
285
- export declare const BadgeSelectDropdownWrapper: import("styled-components").IStyledComponent<"web", {
286
- ref?: import("react").LegacyRef<HTMLDivElement> | undefined;
287
- key?: import("react").Key | null | undefined;
288
- defaultChecked?: boolean | undefined | undefined;
289
- defaultValue?: string | number | readonly string[] | undefined;
290
- suppressContentEditableWarning?: boolean | undefined | undefined;
291
- suppressHydrationWarning?: boolean | undefined | undefined;
292
- accessKey?: string | undefined | undefined;
293
- autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
294
- autoFocus?: boolean | undefined | undefined;
295
- className?: string | undefined | undefined;
296
- contentEditable?: "inherit" | (boolean | "false" | "true") | "plaintext-only" | undefined;
297
- contextMenu?: string | undefined | undefined;
298
- dir?: string | undefined | undefined;
299
- draggable?: (boolean | "false" | "true") | undefined;
300
- enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
301
- hidden?: boolean | undefined | undefined;
302
- id?: string | undefined | undefined;
303
- lang?: string | undefined | undefined;
304
- nonce?: string | undefined | undefined;
305
- slot?: string | undefined | undefined;
306
- spellCheck?: (boolean | "false" | "true") | undefined;
307
- style?: import("react").CSSProperties | undefined;
308
- tabIndex?: number | undefined | undefined;
309
- title?: string | undefined | undefined;
310
- translate?: "yes" | "no" | undefined | undefined;
311
- radioGroup?: string | undefined | undefined;
312
- role?: import("react").AriaRole | undefined;
313
- about?: string | undefined | undefined;
314
- content?: string | undefined | undefined;
315
- datatype?: string | undefined | undefined;
316
- inlist?: any;
317
- prefix?: string | undefined | undefined;
318
- property?: string | undefined | undefined;
319
- rel?: string | undefined | undefined;
320
- resource?: string | undefined | undefined;
321
- rev?: string | undefined | undefined;
322
- typeof?: string | undefined | undefined;
323
- vocab?: string | undefined | undefined;
324
- autoCorrect?: string | undefined | undefined;
325
- autoSave?: string | undefined | undefined;
326
- color?: string | undefined | undefined;
327
- itemProp?: string | undefined | undefined;
328
- itemScope?: boolean | undefined | undefined;
329
- itemType?: string | undefined | undefined;
330
- itemID?: string | undefined | undefined;
331
- itemRef?: string | undefined | undefined;
332
- results?: number | undefined | undefined;
333
- security?: string | undefined | undefined;
334
- unselectable?: "on" | "off" | undefined | undefined;
335
- inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
336
- is?: string | undefined | undefined;
337
- "aria-activedescendant"?: string | undefined | undefined;
338
- "aria-atomic"?: (boolean | "false" | "true") | undefined;
339
- "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined;
340
- "aria-braillelabel"?: string | undefined | undefined;
341
- "aria-brailleroledescription"?: string | undefined | undefined;
342
- "aria-busy"?: (boolean | "false" | "true") | undefined;
343
- "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
344
- "aria-colcount"?: number | undefined | undefined;
345
- "aria-colindex"?: number | undefined | undefined;
346
- "aria-colindextext"?: string | undefined | undefined;
347
- "aria-colspan"?: number | undefined | undefined;
348
- "aria-controls"?: string | undefined | undefined;
349
- "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
350
- "aria-describedby"?: string | undefined | undefined;
351
- "aria-description"?: string | undefined | undefined;
352
- "aria-details"?: string | undefined | undefined;
353
- "aria-disabled"?: (boolean | "false" | "true") | undefined;
354
- "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
355
- "aria-errormessage"?: string | undefined | undefined;
356
- "aria-expanded"?: (boolean | "false" | "true") | undefined;
357
- "aria-flowto"?: string | undefined | undefined;
358
- "aria-grabbed"?: (boolean | "false" | "true") | undefined;
359
- "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
360
- "aria-hidden"?: (boolean | "false" | "true") | undefined;
361
- "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
362
- "aria-keyshortcuts"?: string | undefined | undefined;
363
- "aria-label"?: string | undefined | undefined;
364
- "aria-labelledby"?: string | undefined | undefined;
365
- "aria-level"?: number | undefined | undefined;
366
- "aria-live"?: "off" | "assertive" | "polite" | undefined | undefined;
367
- "aria-modal"?: (boolean | "false" | "true") | undefined;
368
- "aria-multiline"?: (boolean | "false" | "true") | undefined;
369
- "aria-multiselectable"?: (boolean | "false" | "true") | undefined;
370
- "aria-orientation"?: "horizontal" | "vertical" | undefined | undefined;
371
- "aria-owns"?: string | undefined | undefined;
372
- "aria-placeholder"?: string | undefined | undefined;
373
- "aria-posinset"?: number | undefined | undefined;
374
- "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
375
- "aria-readonly"?: (boolean | "false" | "true") | undefined;
376
- "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
377
- "aria-required"?: (boolean | "false" | "true") | undefined;
378
- "aria-roledescription"?: string | undefined | undefined;
379
- "aria-rowcount"?: number | undefined | undefined;
380
- "aria-rowindex"?: number | undefined | undefined;
381
- "aria-rowindextext"?: string | undefined | undefined;
382
- "aria-rowspan"?: number | undefined | undefined;
383
- "aria-selected"?: (boolean | "false" | "true") | undefined;
384
- "aria-setsize"?: number | undefined | undefined;
385
- "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
386
- "aria-valuemax"?: number | undefined | undefined;
387
- "aria-valuemin"?: number | undefined | undefined;
388
- "aria-valuenow"?: number | undefined | undefined;
389
- "aria-valuetext"?: string | undefined | undefined;
390
- children?: import("react").ReactNode;
391
- dangerouslySetInnerHTML?: {
392
- __html: string | TrustedHTML;
393
- } | undefined | undefined;
394
- onCopy?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
395
- onCopyCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
396
- onCut?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
397
- onCutCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
398
- onPaste?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
399
- onPasteCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
400
- onCompositionEnd?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
401
- onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
402
- onCompositionStart?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
403
- onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
404
- onCompositionUpdate?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
405
- onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
406
- onFocus?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
407
- onFocusCapture?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
408
- onBlur?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
409
- onBlurCapture?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
410
- onChange?: import("react").FormEventHandler<HTMLDivElement> | undefined;
411
- onChangeCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
412
- onBeforeInput?: import("react").FormEventHandler<HTMLDivElement> | undefined;
413
- onBeforeInputCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
414
- onInput?: import("react").FormEventHandler<HTMLDivElement> | undefined;
415
- onInputCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
416
- onReset?: import("react").FormEventHandler<HTMLDivElement> | undefined;
417
- onResetCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
418
- onSubmit?: import("react").FormEventHandler<HTMLDivElement> | undefined;
419
- onSubmitCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
420
- onInvalid?: import("react").FormEventHandler<HTMLDivElement> | undefined;
421
- onInvalidCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
422
- onLoad?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
423
- onLoadCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
424
- onError?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
425
- onErrorCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
426
- onKeyDown?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
427
- onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
428
- onKeyPress?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
429
- onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
430
- onKeyUp?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
431
- onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
432
- onAbort?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
433
- onAbortCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
434
- onCanPlay?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
435
- onCanPlayCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
436
- onCanPlayThrough?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
437
- onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
438
- onDurationChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
439
- onDurationChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
440
- onEmptied?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
441
- onEmptiedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
442
- onEncrypted?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
443
- onEncryptedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
444
- onEnded?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
445
- onEndedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
446
- onLoadedData?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
447
- onLoadedDataCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
448
- onLoadedMetadata?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
449
- onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
450
- onLoadStart?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
451
- onLoadStartCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
452
- onPause?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
453
- onPauseCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
454
- onPlay?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
455
- onPlayCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
456
- onPlaying?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
457
- onPlayingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
458
- onProgress?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
459
- onProgressCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
460
- onRateChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
461
- onRateChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
462
- onResize?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
463
- onResizeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
464
- onSeeked?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
465
- onSeekedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
466
- onSeeking?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
467
- onSeekingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
468
- onStalled?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
469
- onStalledCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
470
- onSuspend?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
471
- onSuspendCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
472
- onTimeUpdate?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
473
- onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
474
- onVolumeChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
475
- onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
476
- onWaiting?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
477
- onWaitingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
478
- onAuxClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
479
- onAuxClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
480
- onClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
481
- onClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
482
- onContextMenu?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
483
- onContextMenuCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
484
- onDoubleClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
485
- onDoubleClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
486
- onDrag?: import("react").DragEventHandler<HTMLDivElement> | undefined;
487
- onDragCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
488
- onDragEnd?: import("react").DragEventHandler<HTMLDivElement> | undefined;
489
- onDragEndCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
490
- onDragEnter?: import("react").DragEventHandler<HTMLDivElement> | undefined;
491
- onDragEnterCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
492
- onDragExit?: import("react").DragEventHandler<HTMLDivElement> | undefined;
493
- onDragExitCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
494
- onDragLeave?: import("react").DragEventHandler<HTMLDivElement> | undefined;
495
- onDragLeaveCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
496
- onDragOver?: import("react").DragEventHandler<HTMLDivElement> | undefined;
497
- onDragOverCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
498
- onDragStart?: import("react").DragEventHandler<HTMLDivElement> | undefined;
499
- onDragStartCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
500
- onDrop?: import("react").DragEventHandler<HTMLDivElement> | undefined;
501
- onDropCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
502
- onMouseDown?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
503
- onMouseDownCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
504
- onMouseEnter?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
505
- onMouseLeave?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
506
- onMouseMove?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
507
- onMouseMoveCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
508
- onMouseOut?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
509
- onMouseOutCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
510
- onMouseOver?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
511
- onMouseOverCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
512
- onMouseUp?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
513
- onMouseUpCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
514
- onSelect?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
515
- onSelectCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
516
- onTouchCancel?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
517
- onTouchCancelCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
518
- onTouchEnd?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
519
- onTouchEndCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
520
- onTouchMove?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
521
- onTouchMoveCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
522
- onTouchStart?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
523
- onTouchStartCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
524
- onPointerDown?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
525
- onPointerDownCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
526
- onPointerMove?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
527
- onPointerMoveCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
528
- onPointerUp?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
529
- onPointerUpCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
530
- onPointerCancel?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
531
- onPointerCancelCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
532
- onPointerEnter?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
533
- onPointerLeave?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
534
- onPointerOver?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
535
- onPointerOverCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
536
- onPointerOut?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
537
- onPointerOutCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
538
- onGotPointerCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
539
- onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
540
- onLostPointerCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
541
- onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
542
- onScroll?: import("react").UIEventHandler<HTMLDivElement> | undefined;
543
- onScrollCapture?: import("react").UIEventHandler<HTMLDivElement> | undefined;
544
- onWheel?: import("react").WheelEventHandler<HTMLDivElement> | undefined;
545
- onWheelCapture?: import("react").WheelEventHandler<HTMLDivElement> | undefined;
546
- onAnimationStart?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
547
- onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
548
- onAnimationEnd?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
549
- onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
550
- onAnimationIteration?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
551
- onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
552
- onTransitionEnd?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
553
- onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
554
- }>;
555
283
  export declare const BadgeSelectDropdownTogglerArrow: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<{
556
284
  size?: number | undefined;
557
285
  fill?: string | undefined;
@@ -1,3 +1 @@
1
- import{animated as o}from"@react-spring/web";import{styled as e,css as r}from"styled-components";import{ArrowDownIcon as t}from"../../icons/arrow-down/index.js";import{colorToRgba as a}from"../../utils/colors/colorToRgba.js";import"../../utils/colors/calculateGrayScale.js";import"../../utils/colors/calculateAccentColors.js";import{Typography as i}from"../typography/index.js";const n=e(i).attrs({variant:"body-s-medium"}).withConfig({displayName:"styled__BadgeSelectDropdownSpanStyled",componentId:"sc-obte8v-0"})([""]),l=e.button.withConfig({displayName:"styled__BadgeSelectDropdownTrigger",componentId:"sc-obte8v-1"})(["border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;column-gap:8px;min-width:98px;padding:6px 12px;border-radius:14px;background:",";color:",";"],(({theme:o,$active:e,$colorButtonOpened:r})=>e?r||"light"===o.mode?o.colors.grayScale.gray2:a(o.colors.accent.primaryLight,.5):"light"===o.mode?o.colors.grayScale.gray4:o.colors.grayScale.gray3),(({theme:o})=>o.colors.base.white)),s=e(o.ul).withConfig({displayName:"styled__BadgeSelectDropdownList",componentId:"sc-obte8v-2"})(["padding:0;margin:0;display:none;color:white;position:absolute;top:38px;left:0;transform-origin:top center;z-index:2;padding:8px;border:1px solid;border-radius:8px;border-color:",";background:",";backdrop-filter:blur(16px);"," flex-direction:column;gap:1px;"],(({theme:o})=>o.colors.grayScale.gray2),(({theme:o})=>a(o.colors.grayScale.gray4,.75)),(({$open:o})=>o&&r`
2
- display: flex;
3
- `)),p=e.div.withConfig({displayName:"styled__BadgeSelectDropdownWrapper",componentId:"sc-obte8v-3"})(["position:relative;"]),c=e(t).attrs({size:16}).withConfig({displayName:"styled__BadgeSelectDropdownTogglerArrow",componentId:"sc-obte8v-4"})(["transform:",";pointer-events:none;transition:transform 0.2s ease-in-out;"],(({$open:o})=>!0===o?"rotateZ(-180deg)":"rotateZ(0)"));export{s as BadgeSelectDropdownList,n as BadgeSelectDropdownSpanStyled,c as BadgeSelectDropdownTogglerArrow,l as BadgeSelectDropdownTrigger,p as BadgeSelectDropdownWrapper};
1
+ import{styled as o}from"styled-components";import{ArrowDownIcon as e}from"../../icons/arrow-down/index.js";import{colorToRgba as t}from"../../utils/colors/colorToRgba.js";import"../../utils/colors/calculateGrayScale.js";import"../../utils/colors/calculateAccentColors.js";import{Typography as r}from"../typography/index.js";const a=o.button.withConfig({displayName:"styled__BadgeSelectDropdownTrigger",componentId:"sc-obte8v-0"})(["border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;column-gap:8px;padding:6px 12px;border-radius:14px;transition:background-color 0.2s;max-width:100%;background:",";color:",";"],(({theme:o,$active:e,$colorButtonOpened:r})=>e?r||"light"===o.mode?o.colors.grayScale.gray2:t(o.colors.accent.primaryLight,.5):"light"===o.mode?o.colors.grayScale.gray4:o.colors.grayScale.gray3),(({theme:o})=>o.colors.base.white)),n=o(r).attrs({variant:"body-s-medium"}).withConfig({displayName:"styled__BadgeSelectDropdownSpanStyled",componentId:"sc-obte8v-1"})(["white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"]),s=o(e).attrs({size:16}).withConfig({displayName:"styled__BadgeSelectDropdownTogglerArrow",componentId:"sc-obte8v-2"})(["pointer-events:none;transition:transform 0.2s ease-in-out;transform:",";"],(({$open:o})=>!0===o?"rotateZ(-180deg)":"rotateZ(0)"));export{n as BadgeSelectDropdownSpanStyled,s as BadgeSelectDropdownTogglerArrow,a as BadgeSelectDropdownTrigger};
@@ -0,0 +1 @@
1
+ export type Variant = 'primary' | 'secondary';
@@ -1 +1 @@
1
- import{__rest as e,__awaiter as t}from"tslib";import{jsx as n,jsxs as i,Fragment as l}from"react/jsx-runtime";import{useRef as r,useState as o,useCallback as a,useEffect as s}from"react";import{useTransition as c}from"@react-spring/web";import{useOnClickOutside as d}from"../../utils/useOnClickOutside.js";import{InputMessageStyled as u,InputMessageContent as p,InputMessageUploadFile as m,InputMessageUploadFileInput as v,InputMessageUploadFileButton as f,InputMessageMain as h,InputMessageVoiceRecord as g,InputMessageVoiceRecordDot as y,InputMessageVoiceRecordTimeText as b,InputMessageFiles as x,InputMessageFile as j,InputMessageTextArea as D,InputMessageToggleSendStyled as k,InputMessageToggleSendButton as F,InputMessageToggleSendModalStyled as $,InputMessageToggleSendModalOption as A,InputMessageSendButton as C,InputMessageSendIcon as E,InputMessageVoiceIcon as w}from"./styled.js";import{ChipImage as S}from"../chip/styled.js";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 T}from"../../icons/pdf/index.js";import{TxtIcon as K}from"../../icons/txt/index.js";import{WordIcon as L}from"../../icons/word/index.js";import{XlsIcon as O}from"../../icons/xls/index.js";import{IconProvider as P}from"../icon/context.js";import"../icon/styled.js";import{getPreviewUrlForFile as U,formatUploadFiles as V,formatSeconds as B}from"./utils.js";import{AttachFileIcon as N}from"../../icons/attach-file/index.js";import{getSupportedAudioMimeType as I}from"../../utils/getSupportedAudioMimeType.js";import{useTheme as M}from"../../theme/hook.js";const R=R=>{var{className:z,placeholder:H,message:G,files:W,disabled:_=!1,sendDisabled:q=!1,textAreaDisabled:J=!1,useAlternativeKeyDefaultValue:Q=!1,defaultKeySendText:X,alternativeKeySendText:Y,uploadFileLimit:Z=5,hideUploadFile:ee=!1,uploadFileDisabled:te=!1,uploadFileAccept:ne,autoFocus:ie=!0,voice:le=!1,onSetAlternativeKeyValue:re,onChange:oe,onFilesChange:ae,onTextAreaChange:se,onSend:ce,onFocus:de,onBlur:ue,onVoice:pe,emitError:me,rightActions:ve}=R,fe=e(R,["className","placeholder","message","files","disabled","sendDisabled","textAreaDisabled","useAlternativeKeyDefaultValue","defaultKeySendText","alternativeKeySendText","uploadFileLimit","hideUploadFile","uploadFileDisabled","uploadFileAccept","autoFocus","voice","onSetAlternativeKeyValue","onChange","onFilesChange","onTextAreaChange","onSend","onFocus","onBlur","onVoice","emitError","rightActions"]);const he=M(),ge=r(null),[ye,be]=o("calc(var(--bothub-scale, 1) * 22px)"),[xe,je]="string"==typeof G?[G,oe]:o(""),[De,ke]=Array.isArray(W)?[W,ae]:o([]),[Fe,$e]=o(!_&&ie),[Ae,Ce]=o(!1),[Ee,we]=o(!1),[Se,Te]=o(null),Ke=r(null),Le=r(null),Oe=r([]),Pe=r(null),Ue=r(!1),Ve=r(null),[Be,Ne]=o(Q),[Ie,Me]=o(!1),Re=a((()=>{Ne(!1),null==re||re(!1),Me(!1)}),[]),ze=a((()=>{Ne(!0),null==re||re(!0),Me(!1)}),[]),He=a((e=>{$e(!0),null==de||de(e)}),[de]),Ge=a((e=>{$e(!1),null==ue||ue(e)}),[ue]),We=a((e=>{null==je||je(e.target.value),null==se||se(e)}),[je,se]),_e=a((e=>t(void 0,void 0,void 0,(function*(){var t;if(!e.length)return;const n=[],i=[],l=yield Promise.all(null==e?void 0:e.map(U));for(const[r,o]of e.entries()){null===(t=null==ne?void 0:ne.includes(o.type))||void 0===t||t?n.push({previewUrl:l[r],name:o.name,native:o}):i.push(o)}i.length>0&&(null==me||me({name:"WRONG_FILES",payload:i})),(null==n?void 0:n.length)>0&&(null==ke||ke([...De,...n].slice(0,Z)))}))),[ne,me,Z,De]),qe=a((e=>t(void 0,void 0,void 0,(function*(){!te&&e.clipboardData.files.length>0&&(e.preventDefault(),yield _e([...e.clipboardData.files]))}))),[_e,te]),Je=a((e=>t(void 0,void 0,void 0,(function*(){if(!ke||!e.target.files)return;const t=yield V([...De.map((({native:e})=>e)),...e.target.files]);ke(t.slice(0,Z))}))),[De,ke,Z]),Qe=a((e=>{null==ke||ke(De.filter((({name:t})=>t!==e.name)))}),[ke,De]),Xe=a((e=>{e.stopPropagation(),null==ce||ce(xe,De),null==je||je(""),null==ke||ke([]),be("calc(var(--bothub-scale, 1) * 22px)")}),[xe,De,ce,je,ke]),Ye=a((e=>{e.stopPropagation();const t=Be?"enter":"ctrl/shift+enter";let n="";if("Enter"===e.key&&(e.shiftKey||e.ctrlKey))n="ctrl/shift+enter";else{if("Enter"!==e.key)return;n="enter"}if(Fe&&"Enter"===e.key){if(n===t&&e.ctrlKey){e.preventDefault();const t=ge.current;if(!t)return;const n=t.value,r=t.selectionStart,o=n.slice(0,r),a=n.slice(r);null==je||je(`${o}\n${a}`),i=t,l=r+1,setTimeout((()=>{i.selectionStart=l,i.selectionEnd=l}),1)}t!==n&&""!==n&&(e.preventDefault(),null==ce||ce(xe,De),be("calc(var(--bothub-scale, 1) * 22px)"))}var i,l}),[Fe,xe,De,ce,je,ke]),Ze=a((()=>{var e;_||null===(e=ge.current)||void 0===e||e.focus()}),[_,ie]),et=a((e=>{e.stopPropagation()}),[]),tt=a((e=>t(void 0,void 0,void 0,(function*(){if(Ee)return;Ue.current=!0,e.stopPropagation();const t=yield navigator.mediaDevices.getUserMedia({audio:!0}),n=new MediaRecorder(t,{mimeType:I()});Ue.current&&(n.start(1e3),Ke.current=n,Le.current=t,Pe.current=window.setInterval((()=>{Te((e=>(null!=e?e:0)+.1))}),100),we(!0),Te(0))}))),[Ue.current,Oe.current,Ee]),nt=a((()=>{const e=Ke.current,t=Le.current,n=Pe.current;if(Ee&&e&&t&&n){e.stop();for(const e of t.getTracks())e.stop();window.clearInterval(n)}}),[Ee,Ke.current,Le.current,Pe.current]),it=a((()=>t(void 0,void 0,void 0,(function*(){Ue.current=!1,Ee&&nt()}))),[Ee,nt]),lt=a((()=>{const e=ge.current;null!==e&&(e.style.height="calc(var(--bothub-scale, 1) * 22px)",e.style.height=`${e.scrollHeight}px`,be(`${e.scrollHeight}px`))}),[xe,ie]);s((()=>{lt()}),[lt]),s((()=>{const e=ge.current;if(!e||_)return;const t=!_&&ie;$e(t),t?e.focus():document.activeElement===e&&e.blur()}),[_,ie]),s((()=>{const e=ge.current;if(null!==e)return e.addEventListener("keydown",Ye),()=>{e.removeEventListener("keydown",Ye)}}),[Ye]),s((()=>{ke&&W&&ke(W)}),[W]),s((()=>{const e=Ke.current,n=e=>{e.data.size>0&&Oe.current.push(e.data)},i=()=>t(void 0,void 0,void 0,(function*(){const e=new Blob(Oe.current,{type:I()});yield null==pe?void 0:pe(e),Ke.current=null,Le.current=null,Oe.current=[],Pe.current=null,we(!1),Te(null)}));return e&&(e.addEventListener("dataavailable",n),e.addEventListener("stop",i)),()=>{e&&(e.removeEventListener("dataavailable",n),e.removeEventListener("stop",i)),nt()}}),[Ke.current]),d(Ve,(()=>{Me(!1)}));const rt=c(Ie,{from:{opacity:0,y:10},enter:{opacity:1,y:0},leave:{opacity:0,y:10},config:{duration:150,ease:"easeOut"}});return n(u,{$active:Fe,$dragActive:Ae,$disabled:_,$textAreaDisabled:J,$voiceRecording:Ee,className:z,onClick:Ze,onDragEnter:()=>Ce(!0),onDragLeave:()=>Ce(!1),onDragOver:e=>(e.stopPropagation(),e.preventDefault(),!1),onDrop:e=>t(void 0,void 0,void 0,(function*(){if(e.dataTransfer.files.length>0)return e.stopPropagation(),e.preventDefault(),yield _e([...e.dataTransfer.files]),Ce(!1),!1})),children:i(p,{children:[!ee&&!Ee&&i(m,{onClick:et,children:[n(v,{type:"file",accept:ne,multiple:!0,disabled:De.length>=Z||_||te,onChange:Je},De.length),n(f,{disabled:De.length>=Z||_||te})]}),i(h,{children:[Ee&&null!==Se&&i(g,{children:[n(y,{}),n(b,{children:B(Se)})]}),!Ee&&i(l,{children:[De.length>0&&n(x,{children:De.map((e=>{let t;return t=e.previewUrl&&(e.name.match(/.png$/i)||e.name.match(/.jpg$/i)||e.name.match(/.jpeg$/i))?n(S,{src:e.previewUrl}):e.name.match(/.txt$/i)?n(K,{}):e.name.match(/.docx$/i)?n(L,{}):e.name.match(/.xlsx$/i)?n(O,{}):e.name.match(/.pdf$/i)?n(T,{}):n(N,{}),t=n(P,{size:18,children:t}),n(j,{start:t,onDelete:Qe.bind(null,e),children:e.name.length>20?`...${e.name.slice(-20)}`:e.name},e.name)}))}),(!J||J&&H&&De.length!==Z||J&&xe)&&n(D,Object.assign({$disabled:_},fe,{ref:ge,value:xe,placeholder:H,disabled:_||J,style:Object.assign(Object.assign({},fe.style),{height:ye}),onFocus:He,onBlur:Ge,onChange:We,onPaste:qe}))]})]}),!!X&&!!Y&&i(k,{ref:Ve,children:[n(F,{onClick:e=>{e.stopPropagation(),Me(!Ie)},disabled:_}),rt(((e,t)=>t&&i($,{style:e,children:[n(A,{active:!Be,onClick:Re,children:X}),n(A,{active:Be,onClick:ze,children:Y})]},"alternative-key-modal")))]}),ve,n(C,!le||xe?Object.assign({disabled:_||q,onClick:Xe},he.bright&&{iconFill:he.default.colors.base.black},{"data-test":"submit-message",children:n(E,{})}):Object.assign({},Ee&&{color:he.colors.critic},he.bright&&{iconFill:he.default.colors.base.black},{disabled:_||q,onClick:Ee?it:tt,"data-test":"submit-message",children:n(Ee?E:w,{})}))]})})};export{R as InputMessage};
1
+ import{__rest as e,__awaiter as t}from"tslib";import{jsx as n,jsxs as i,Fragment as l}from"react/jsx-runtime";import{useRef as r,useState as o,useCallback as a,useEffect as s}from"react";import{useTransition as c}from"@react-spring/web";import{useOnClickOutside as d}from"../../utils/useOnClickOutside.js";import{InputMessageStyled as u,InputMessageContent as p,InputMessageUploadFile as m,InputMessageUploadFileInput as v,InputMessageUploadFileButton as f,InputMessageMain as h,InputMessageVoiceRecord as g,InputMessageVoiceRecordDot as y,InputMessageVoiceRecordTimeText as b,InputMessageFiles as x,InputMessageFile as j,InputMessageTextArea as D,InputMessageToggleSendStyled as k,InputMessageToggleSendButton as F,InputMessageToggleSendModalStyled as $,InputMessageToggleSendModalOption as A,InputMessageSendButton as C,InputMessageSendIcon as E,InputMessageVoiceIcon as w}from"./styled.js";import{ChipImage as S}from"../chip/styled.js";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 T}from"../../icons/pdf/index.js";import{TxtIcon as K}from"../../icons/txt/index.js";import{WordIcon as L}from"../../icons/word/index.js";import{XlsIcon as O}from"../../icons/xls/index.js";import{IconProvider as P}from"../icon/context.js";import"../icon/styled.js";import{getPreviewUrlForFile as U,isFileTypeAccepted as V,formatUploadFiles as B,formatSeconds as N}from"./utils.js";import{AttachFileIcon as I}from"../../icons/attach-file/index.js";import{getSupportedAudioMimeType as M}from"../../utils/getSupportedAudioMimeType.js";import{useTheme as R}from"../../theme/hook.js";const z=z=>{var{className:H,placeholder:G,message:W,files:_,disabled:q=!1,sendDisabled:J=!1,textAreaDisabled:Q=!1,useAlternativeKeyDefaultValue:X=!1,defaultKeySendText:Y,alternativeKeySendText:Z,uploadFileLimit:ee=5,hideUploadFile:te=!1,uploadFileDisabled:ne=!1,uploadFileAccept:ie,autoFocus:le=!0,voice:re=!1,onSetAlternativeKeyValue:oe,onChange:ae,onFilesChange:se,onTextAreaChange:ce,onSend:de,onFocus:ue,onBlur:pe,onVoice:me,emitError:ve,rightActions:fe}=z,he=e(z,["className","placeholder","message","files","disabled","sendDisabled","textAreaDisabled","useAlternativeKeyDefaultValue","defaultKeySendText","alternativeKeySendText","uploadFileLimit","hideUploadFile","uploadFileDisabled","uploadFileAccept","autoFocus","voice","onSetAlternativeKeyValue","onChange","onFilesChange","onTextAreaChange","onSend","onFocus","onBlur","onVoice","emitError","rightActions"]);const ge=R(),ye=r(null),[be,xe]=o("calc(var(--bothub-scale, 1) * 22px)"),[je,De]="string"==typeof W?[W,ae]:o(""),[ke,Fe]=Array.isArray(_)?[_,se]:o([]),[$e,Ae]=o(!q&&le),[Ce,Ee]=o(!1),[we,Se]=o(!1),[Te,Ke]=o(null),Le=r(null),Oe=r(null),Pe=r([]),Ue=r(null),Ve=r(!1),Be=r(null),[Ne,Ie]=o(X),[Me,Re]=o(!1),ze=a((()=>{Ie(!1),null==oe||oe(!1),Re(!1)}),[]),He=a((()=>{Ie(!0),null==oe||oe(!0),Re(!1)}),[]),Ge=a((e=>{Ae(!0),null==ue||ue(e)}),[ue]),We=a((e=>{Ae(!1),null==pe||pe(e)}),[pe]),_e=a((e=>{null==De||De(e.target.value),null==ce||ce(e)}),[De,ce]),qe=a((e=>t(void 0,void 0,void 0,(function*(){if(!e.length)return;const t=[],n=[],i=yield Promise.all(null==e?void 0:e.map(U));for(const[l,r]of e.entries()){V(r.type,ie)?t.push({previewUrl:i[l],name:r.name,native:r}):n.push(r)}n.length>0&&(null==ve||ve({name:"WRONG_FILES",payload:n})),(null==t?void 0:t.length)>0&&(null==Fe||Fe([...ke,...t].slice(0,ee)))}))),[ie,ve,ee,ke]),Je=a((e=>t(void 0,void 0,void 0,(function*(){!ne&&e.clipboardData.files.length>0&&(e.preventDefault(),yield qe([...e.clipboardData.files]))}))),[qe,ne]),Qe=a((e=>t(void 0,void 0,void 0,(function*(){if(!Fe||!e.target.files)return;const t=yield B([...ke.map((({native:e})=>e)),...e.target.files]);Fe(t.slice(0,ee))}))),[ke,Fe,ee]),Xe=a((e=>{null==Fe||Fe(ke.filter((({name:t})=>t!==e.name)))}),[Fe,ke]),Ye=a((e=>{e.stopPropagation(),null==de||de(je,ke),null==De||De(""),null==Fe||Fe([]),xe("calc(var(--bothub-scale, 1) * 22px)")}),[je,ke,de,De,Fe]),Ze=a((e=>{e.stopPropagation();const t=Ne?"enter":"ctrl/shift+enter";let n="";if("Enter"===e.key&&(e.shiftKey||e.ctrlKey))n="ctrl/shift+enter";else{if("Enter"!==e.key)return;n="enter"}if($e&&"Enter"===e.key){if(n===t&&e.ctrlKey){e.preventDefault();const t=ye.current;if(!t)return;const n=t.value,r=t.selectionStart,o=n.slice(0,r),a=n.slice(r);null==De||De(`${o}\n${a}`),i=t,l=r+1,setTimeout((()=>{i.selectionStart=l,i.selectionEnd=l}),1)}t!==n&&""!==n&&(e.preventDefault(),null==de||de(je,ke),xe("calc(var(--bothub-scale, 1) * 22px)"))}var i,l}),[$e,je,ke,de,De,Fe]),et=a((()=>{var e;q||null===(e=ye.current)||void 0===e||e.focus()}),[q,le]),tt=a((e=>{e.stopPropagation()}),[]),nt=a((e=>t(void 0,void 0,void 0,(function*(){if(we)return;Ve.current=!0,e.stopPropagation();const t=yield navigator.mediaDevices.getUserMedia({audio:!0}),n=new MediaRecorder(t,{mimeType:M()});Ve.current&&(n.start(1e3),Le.current=n,Oe.current=t,Ue.current=window.setInterval((()=>{Ke((e=>(null!=e?e:0)+.1))}),100),Se(!0),Ke(0))}))),[Ve.current,Pe.current,we]),it=a((()=>{const e=Le.current,t=Oe.current,n=Ue.current;if(we&&e&&t&&n){e.stop();for(const e of t.getTracks())e.stop();window.clearInterval(n)}}),[we,Le.current,Oe.current,Ue.current]),lt=a((()=>t(void 0,void 0,void 0,(function*(){Ve.current=!1,we&&it()}))),[we,it]),rt=a((()=>{const e=ye.current;null!==e&&(e.style.height="calc(var(--bothub-scale, 1) * 22px)",e.style.height=`${e.scrollHeight}px`,xe(`${e.scrollHeight}px`))}),[je,le]);s((()=>{rt()}),[rt]),s((()=>{const e=ye.current;if(!e||q)return;const t=!q&&le;Ae(t),t?e.focus():document.activeElement===e&&e.blur()}),[q,le]),s((()=>{const e=ye.current;if(null!==e)return e.addEventListener("keydown",Ze),()=>{e.removeEventListener("keydown",Ze)}}),[Ze]),s((()=>{Fe&&_&&Fe(_)}),[_]),s((()=>{const e=Le.current,n=e=>{e.data.size>0&&Pe.current.push(e.data)},i=()=>t(void 0,void 0,void 0,(function*(){const e=new Blob(Pe.current,{type:M()});yield null==me?void 0:me(e),Le.current=null,Oe.current=null,Pe.current=[],Ue.current=null,Se(!1),Ke(null)}));return e&&(e.addEventListener("dataavailable",n),e.addEventListener("stop",i)),()=>{e&&(e.removeEventListener("dataavailable",n),e.removeEventListener("stop",i)),it()}}),[Le.current]),d(Be,(()=>{Re(!1)}));const ot=c(Me,{from:{opacity:0,y:10},enter:{opacity:1,y:0},leave:{opacity:0,y:10},config:{duration:150,ease:"easeOut"}});return n(u,{$active:$e,$dragActive:Ce,$disabled:q,$textAreaDisabled:Q,$voiceRecording:we,className:H,onClick:et,onDragEnter:()=>Ee(!0),onDragLeave:()=>Ee(!1),onDragOver:e=>(e.stopPropagation(),e.preventDefault(),!1),onDrop:e=>t(void 0,void 0,void 0,(function*(){if(e.dataTransfer.files.length>0)return e.stopPropagation(),e.preventDefault(),yield qe([...e.dataTransfer.files]),Ee(!1),!1})),children:i(p,{children:[!te&&!we&&i(m,{onClick:tt,children:[n(v,{type:"file",accept:ie,multiple:!0,disabled:ke.length>=ee||q||ne,onChange:Qe},ke.length),n(f,{disabled:ke.length>=ee||q||ne})]}),i(h,{children:[we&&null!==Te&&i(g,{children:[n(y,{}),n(b,{children:N(Te)})]}),!we&&i(l,{children:[ke.length>0&&n(x,{children:ke.map((e=>{let t;return t=e.previewUrl&&(e.name.match(/.png$/i)||e.name.match(/.jpg$/i)||e.name.match(/.jpeg$/i))?n(S,{src:e.previewUrl}):e.name.match(/.txt$/i)?n(K,{}):e.name.match(/.docx$/i)?n(L,{}):e.name.match(/.xlsx$/i)?n(O,{}):e.name.match(/.pdf$/i)?n(T,{}):n(I,{}),t=n(P,{size:18,children:t}),n(j,{start:t,onDelete:Xe.bind(null,e),children:e.name.length>20?`...${e.name.slice(-20)}`:e.name},e.name)}))}),(!Q||Q&&G&&ke.length!==ee||Q&&je)&&n(D,Object.assign({$disabled:q},he,{ref:ye,value:je,placeholder:G,disabled:q||Q,style:Object.assign(Object.assign({},he.style),{height:be}),onFocus:Ge,onBlur:We,onChange:_e,onPaste:Je}))]})]}),!!Y&&!!Z&&i(k,{ref:Be,children:[n(F,{onClick:e=>{e.stopPropagation(),Re(!Me)},disabled:q}),ot(((e,t)=>t&&i($,{style:e,children:[n(A,{active:!Ne,onClick:ze,children:Y}),n(A,{active:Ne,onClick:He,children:Z})]},"alternative-key-modal")))]}),fe,n(C,!re||je?Object.assign({disabled:q||J,onClick:Ye},ge.bright&&{iconFill:ge.default.colors.base.black},{"data-test":"submit-message",children:n(E,{})}):Object.assign({},we&&{color:ge.colors.critic},ge.bright&&{iconFill:ge.default.colors.base.black},{disabled:q||J,onClick:we?lt:nt,"data-test":"submit-message",children:n(we?E:w,{})}))]})})};export{z as InputMessage};
@@ -2,3 +2,4 @@ import { IInputMessageFile } from '@/ui/components';
2
2
  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
+ export declare function isFileTypeAccepted(fileType: string, acceptStr?: string): boolean;
@@ -1 +1 @@
1
- import{__awaiter as n}from"tslib";const e=e=>n(void 0,void 0,void 0,(function*(){return e.name.match(/.png$/i)||e.name.match(/.jpg$/i)||e.name.match(/.jpeg$/i)?new Promise(((n,t)=>{const r=new FileReader;r.addEventListener("load",(()=>{var e,a;const o=null!==(a=null===(e=r.result)||void 0===e?void 0:e.toString())&&void 0!==a?a:null;if(null===o)return t(new Error("result not found"));n(o)})),r.readAsDataURL(e)})):null})),t=t=>n(void 0,void 0,void 0,(function*(){const n=yield Promise.all(t.map(e)),r=t.map(((e,t)=>({name:e.name,previewUrl:n[t],native:e})));return[...new Map([...r].map((n=>[n.name,n]))).values()]})),r=n=>{const e=Math.floor(n/60),t=n%60;return`${String(e).padStart(2,"0")}:${t.toFixed(1).padStart(2,"0").replace(".",",")}`};export{r as formatSeconds,t as formatUploadFiles,e as getPreviewUrlForFile};
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 +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 n}from"./styled.js";import{MessageImageProvider as i}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 g}from"../../../../theme/hook.js";const c=c=>{var{className:h,src:d,width:u,height:p,buttons:b,clickable:f=!1,progress:j=!1,fetchImage:x=!1,disableSkeleton:I=!1}=c,y=e(c,["className","src","width","height","buttons","clickable","progress","fetchImage","disableSkeleton"]);const M=g(),{variant:k}=m(),[w,B]=o(!0),[S,$]=o(null);return r((()=>{x&&fetch(d).then((e=>e.blob())).then((e=>$(URL.createObjectURL(e))))}),[d]),t(i,{width:u,height:p,children:s(a,{className:h,children:[w&&!I&&t(l,{$width:null!=u?u:300,$height:null!=p?p: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(n,Object.assign({$clickable:f,$progress:j,$loading:w&&!I},y,x&&S&&{src:S},!x&&{src:d},{width:null!=u?u:300,height:null!=p?p:300,onLoad:B.bind(null,!1)})),!j&&b]})})};export{c as MessageImage,n as MessageImageNative,i as MessageImageProvider,l as MessageImageSkeleton,a as MessageImageStyled};
1
+ import{__rest as e,__awaiter as t}from"tslib";import{jsx as o,jsxs as s}from"react/jsx-runtime";import{useState as r,useEffect as l}from"react";import{MessageImageStyled as a,MessageImageSkeleton as i,MessageImageNative as n}from"./styled.js";import{MessageImageProvider as m}from"./context.js";export{MessageImageConsumer,MessageImageContext,useMessageImage}from"./context.js";import"../../../../theme/index.js";import{useMessage as c}from"../../context.js";import{createCorrectedImage as g}from"./lib/utils.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 h}from"../../../../theme/hook.js";const d=d=>{var{className:u,src:b,width:p,height:f,buttons:j,clickable:x=!1,progress:I=!1,fetchImage:y=!1,disableSkeleton:M=!1}=d,k=e(d,["className","src","width","height","buttons","clickable","progress","fetchImage","disableSkeleton"]);const v=h(),{variant:w}=c(),[B,S]=r(!0),[$,C]=r(null);return l((()=>{y&&fetch(b).then((e=>e.blob())).then((e=>t(void 0,void 0,void 0,(function*(){const t=yield g(e);C(t)})))).catch((()=>{C(b)}))}),[b,y]),l((()=>()=>{$&&$.startsWith("blob:")&&URL.revokeObjectURL($)}),[$]),o(m,{width:p,height:f,children:s(a,{className:u,children:[B&&!M&&o(i,{$width:null!=p?p:300,$height:null!=f?f:300,opacity:["light"===v.mode?.1:.15,"light"===v.mode?.225:.35],colors:["user"===w?v.colors.base.white:"light"===v.mode?v.default.colors.base.black:v.colors.grayScale.gray6]}),o(n,Object.assign({$clickable:x,$progress:I,$loading:B&&!M},k,y&&$&&{src:$},!y&&{src:b},{width:null!=p?p:300,height:null!=f?f:300,onLoad:S.bind(null,!1)})),!I&&j]})})};export{d as MessageImage,n as MessageImageNative,m as MessageImageProvider,i as MessageImageSkeleton,a as MessageImageStyled};
@@ -0,0 +1,3 @@
1
+ export declare const getExifOrientation: (blob: Blob) => Promise<number>;
2
+ export declare const applyExifTransform: (canvas: HTMLCanvasElement, ctx: CanvasRenderingContext2D, img: HTMLImageElement, orientation: number) => void;
3
+ export declare const createCorrectedImage: (blob: Blob) => Promise<string>;
@@ -0,0 +1 @@
1
+ import{__awaiter as t}from"tslib";const e=t=>new Promise((e=>{const r=new FileReader;r.onload=t=>{var r;const i=null===(r=t.target)||void 0===r?void 0:r.result,n=new DataView(i);if(65496!==n.getUint16(0,!1))return void e(1);const o=n.byteLength;let a=2;for(;a<o;){const t=n.getUint16(a,!1);if(a+=2,65505===t){const t=a+n.getUint16(a,!1);if(a+=2,a+4>t)return void e(1);if(1165519206!==n.getUint32(a,!1))return void e(1);const r=a+6;if(r+8>t)return void e(1);const i=18761===n.getUint16(r,!1),o=r+n.getUint32(r+4,i);if(o+2>t)return void e(1);const c=n.getUint16(o,i);if(o+2+12*c>t)return void e(1);for(let r=0;r<c;r++){const a=o+2+12*r;if(274===n.getUint16(a,i)){if(a+10>t)return void e(1);const r=n.getUint16(a+8,i);return void e(r)}}a=t;continue}if(255!==Math.floor(t/256))break;if(a+2>o)break;a+=n.getUint16(a,!1)}e(1)},r.onerror=()=>e(1),r.readAsArrayBuffer(t)})),r=(t,e,r,i)=>{const{width:n,height:o}=r;switch(i){case 2:t.width=n,t.height=o,e.transform(-1,0,0,1,n,0);break;case 3:t.width=n,t.height=o,e.transform(-1,0,0,-1,n,o);break;case 4:t.width=n,t.height=o,e.transform(1,0,0,-1,0,o);break;case 5:t.width=o,t.height=n,e.transform(0,1,1,0,0,0);break;case 6:t.width=o,t.height=n,e.transform(0,1,-1,0,o,0);break;case 7:t.width=o,t.height=n,e.transform(0,-1,-1,0,o,n);break;case 8:t.width=o,t.height=n,e.transform(0,-1,1,0,0,n);break;default:t.width=n,t.height=o}},i=i=>t(void 0,void 0,void 0,(function*(){const t=yield e(i);return 1===t?URL.createObjectURL(i):new Promise((e=>{const n=new Image;n.onload=()=>{const o=document.createElement("canvas"),a=o.getContext("2d");a?(r(o,a,n,t),a.drawImage(n,0,0),o.toBlob((t=>{e(t?URL.createObjectURL(t):URL.createObjectURL(i))}),"image/jpeg",.92)):e(URL.createObjectURL(i))},n.onerror=()=>{e(URL.createObjectURL(i))},n.src=URL.createObjectURL(i)}))}));export{r as applyExifTransform,i as createCorrectedImage,e as getExifOrientation};
@@ -1,5 +1,5 @@
1
- import{styled as t,css as e}from"styled-components";import{Image as i}from"../../../image/index.js";import{adaptive as o}from"../../../../adaptive/index.js";import"tslib";import"react/jsx-runtime";import"./button/styled.js";import{MessageImageButtonsStyled as s}from"./button/list/styled.js";import"./context.js";import{Skeleton as p}from"../../../skeleton/index.js";const n=t.div.withConfig({displayName:"styled__MessageImageStyled",componentId:"sc-1pgqq28-0"})(["display:inline-flex;border-radius:10px;overflow:hidden;width:min-content;position:relative;","{transition:0.225s opacity;opacity:0;","}&:hover{","{opacity:1;}}"],s,o({touch:e`
1
+ import{styled as i,css as t}from"styled-components";import{Image as e}from"../../../image/index.js";import{adaptive as o}from"../../../../adaptive/index.js";import"tslib";import"react/jsx-runtime";import"./button/styled.js";import{MessageImageButtonsStyled as s}from"./button/list/styled.js";import"./context.js";import{Skeleton as n}from"../../../skeleton/index.js";const r=i.div.withConfig({displayName:"styled__MessageImageStyled",componentId:"sc-1pgqq28-0"})(["display:inline-flex;border-radius:10px;overflow:hidden;width:min-content;position:relative;","{transition:0.225s opacity;opacity:0;","}&:hover{","{opacity:1;}}"],s,o({touch:t`
2
2
  opacity: 1;
3
- `}),s),r=t(p).withConfig({displayName:"styled__MessageImageSkeleton",componentId:"sc-1pgqq28-1"})(["display:flex;width:","px;height:","px;border-radius:0px;"],(({$width:t})=>t),(({$height:t})=>t)),d=t(i).withConfig({displayName:"styled__MessageImageNative",componentId:"sc-1pgqq28-2"})([""," max-width:inherit;cursor:",";"],(({$loading:t})=>t&&e`
3
+ `}),s),p=i(n).withConfig({displayName:"styled__MessageImageSkeleton",componentId:"sc-1pgqq28-1"})(["display:flex;width:","px;height:","px;border-radius:0px;"],(({$width:i})=>i),(({$height:i})=>i)),a=i(e).withConfig({displayName:"styled__MessageImageNative",componentId:"sc-1pgqq28-2"})(["image-orientation:from-image;"," max-width:inherit;cursor:",";"],(({$loading:i})=>i&&t`
4
4
  display: none;
5
- `),(({$progress:t,$clickable:e})=>t?"progress":e?"pointer":"default"));export{d as MessageImageNative,r as MessageImageSkeleton,n as MessageImageStyled};
5
+ `),(({$progress:i,$clickable:t})=>i?"progress":t?"pointer":"default"));export{a as MessageImageNative,p as MessageImageSkeleton,r as MessageImageStyled};
@@ -1,10 +1,11 @@
1
1
  import { ITab, Variant } from './types';
2
- type ScrollableTabsProps = {
3
- variant?: Variant;
4
- component: 'a' | 'button';
2
+ export type ScrollableTabsProps = {
5
3
  tabs: ITab[];
4
+ variant?: Variant;
5
+ component?: 'a' | 'button';
6
+ selectedTab?: string;
6
7
  defaultTabId?: string;
7
8
  onClick?(id: string | null): void;
8
9
  };
9
- export declare const ScrollableTabs: ({ tabs, variant, component, defaultTabId, onClick }: ScrollableTabsProps) => import("react/jsx-runtime").JSX.Element;
10
+ export declare const ScrollableTabs: ({ tabs, variant, component, selectedTab, defaultTabId, onClick }: ScrollableTabsProps) => import("react/jsx-runtime").JSX.Element;
10
11
  export type { ITab } from './types';
@@ -1 +1 @@
1
- import{jsx as r,jsxs as a}from"react/jsx-runtime";import{useState as t}from"react";import{ScrollableTabsTab as i,ScrollableTabsTabLabel as e}from"./styled.js";import{Slider as n}from"../slider/index.js";const o=({tabs:o,variant:m="primary",component:l="a",defaultTabId:s,onClick:c})=>{const[d,p]=t(s||null);return r(n,{arrowsSize:"primary"===m?"md":"sm",gap:"primary"===m?20:8,children:o.map((({id:t,label:n,icon:o,href:s})=>a(i,{as:l,$variant:m,$selected:t===d,onClick:()=>(r=>{const a=r===d?null:r;p(a),c&&c(a)})(t),href:"a"===l?s:void 0,"data-test":n,children:[o,r(e,{$variant:m,children:n})]},t)))})};export{o as ScrollableTabs};
1
+ import{jsx as r,jsxs as a}from"react/jsx-runtime";import{useState as e,useEffect as t}from"react";import{ScrollableTabsTab as i,ScrollableTabsTabLabel as n}from"./styled.js";import{Slider as o}from"../slider/index.js";const l=({tabs:l,variant:m="primary",component:s="a",selectedTab:c,defaultTabId:d,onClick:p})=>{const[f,h]=e(c||d||null);t((()=>{c&&h(c)}),[c]);return r(o,{arrowsSize:"primary"===m?"md":"sm",gap:"primary"===m?20:8,children:l.map((({id:e,label:t,icon:o,href:l})=>a(i,{as:s,$variant:m,$selected:e===f,onClick:()=>(r=>{const a=r===f?null:r;h(a),p&&p(a)})(e),href:"a"===s?l:void 0,"data-test":t,children:[o,r(n,{$variant:m,children:t})]},e)))})};export{l as ScrollableTabs};
@@ -6,4 +6,4 @@ export interface SelectFieldContextValue {
6
6
  export declare const SelectFieldContext: React.Context<SelectFieldContextValue>;
7
7
  export declare const SelectFieldProvider: React.FC<SelectFieldContextValue & React.PropsWithChildren>;
8
8
  export declare const SelectFieldConsumer: React.Consumer<SelectFieldContextValue>;
9
- export declare const useSelectField: () => SelectFieldContextValue;
9
+ export declare const useSelectFieldContext: () => SelectFieldContextValue;
@@ -1 +1 @@
1
- import{__rest as e}from"tslib";import{jsx as r}from"react/jsx-runtime";import t,{useContext as c}from"react";const o=t.createContext({selectRef:t.createRef(),handleSelectClick:()=>{}}),i=t=>{var{children:c}=t,i=e(t,["children"]);return r(o.Provider,{value:i,children:c})},l=o.Consumer,n=()=>c(o);export{l as SelectFieldConsumer,o as SelectFieldContext,i as SelectFieldProvider,n as useSelectField};
1
+ import{__rest as e}from"tslib";import{jsx as r}from"react/jsx-runtime";import t,{useContext as c}from"react";const o=t.createContext({selectRef:t.createRef(),handleSelectClick:()=>{}}),i=t=>{var{children:c}=t,i=e(t,["children"]);return r(o.Provider,{value:i,children:c})},l=o.Consumer,n=()=>c(o);export{l as SelectFieldConsumer,o as SelectFieldContext,i as SelectFieldProvider,n as useSelectFieldContext};