@bothub-chat/ui 2.40.1 → 2.40.2-develop-5a8a1a40-adc7-43f9-9b5b-08c1fe133b93

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 (42) 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/message/components/image/index.js +1 -1
  8. package/dist/components/message/components/image/lib/utils.d.ts +3 -0
  9. package/dist/components/message/components/image/lib/utils.js +1 -0
  10. package/dist/components/message/components/image/styled.js +3 -3
  11. package/dist/components/scrollable-tabs/index.d.ts +5 -4
  12. package/dist/components/scrollable-tabs/index.js +1 -1
  13. package/dist/components/select-field/context.d.ts +1 -1
  14. package/dist/components/select-field/context.js +1 -1
  15. package/dist/components/select-field/index.d.ts +8 -45
  16. package/dist/components/select-field/index.js +1 -1
  17. package/dist/components/select-field/option/collapse/index.d.ts +1 -1
  18. package/dist/components/select-field/option/collapse/index.js +1 -1
  19. package/dist/components/select-field/option/list/index.d.ts +1 -0
  20. package/dist/components/select-field/option/list/index.js +1 -1
  21. package/dist/components/select-field/option/select-field-option/index.d.ts +2 -1
  22. package/dist/components/select-field/option/select-field-option/index.js +1 -1
  23. package/dist/components/select-field/option/select-field-option/styled.d.ts +1 -0
  24. package/dist/components/select-field/option/select-field-option/styled.js +16 -23
  25. package/dist/components/select-field/select-field-group/styled.js +1 -1
  26. package/dist/components/select-field/select-modal/filterData.d.ts +2 -0
  27. package/dist/components/select-field/select-modal/filterData.js +1 -0
  28. package/dist/components/select-field/select-modal/index.d.ts +26 -0
  29. package/dist/components/select-field/select-modal/index.js +1 -0
  30. package/dist/components/select-field/select-modal/styled.d.ts +1956 -0
  31. package/dist/components/select-field/select-modal/styled.js +12 -0
  32. package/dist/components/select-field/styled.d.ts +7 -859
  33. package/dist/components/select-field/styled.js +15 -21
  34. package/dist/components/select-field/types.d.ts +5 -1
  35. package/dist/components/select-field/useSelectField.d.ts +40 -0
  36. package/dist/components/select-field/useSelectField.js +1 -0
  37. package/dist/index.js +1 -1
  38. package/package.json +1 -1
  39. package/dist/components/badge-select-dropdown/context.js +0 -1
  40. package/dist/components/badge-select-dropdown/item/index.js +0 -1
  41. package/dist/components/badge-select-dropdown/item/styled.js +0 -1
  42. 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}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};
@@ -1,63 +1,26 @@
1
- import React from 'react';
2
- import { SelectFieldChangeEventHandler, SelectFieldData, SelectFieldDataItem, SelectFieldInputChangeEventHandler, SelectFieldInputType, SelectFieldMultiChangeEventHandler, SelectFieldMultiValueChangeEventHandler, SelectFieldOptionClickEventHandler, SelectFieldPlacement, SelectFieldSize, SelectFieldValueChangeEventHandler } from './types';
3
- import { ITab } from '../scrollable-tabs/types';
4
- export interface SelectFieldDefaultProps {
5
- multiple?: false;
6
- value?: SelectFieldDataItem | null;
7
- onChange?: SelectFieldChangeEventHandler;
8
- onValueChange?: SelectFieldValueChangeEventHandler;
9
- }
10
- export interface SelectFieldMultiProps {
11
- multiple: true;
12
- value?: SelectFieldDataItem[];
13
- onChange?: SelectFieldMultiChangeEventHandler;
14
- onValueChange?: SelectFieldMultiValueChangeEventHandler;
15
- }
16
- export type ValueType = SelectFieldDataItem | SelectFieldDataItem[] | null;
17
- export type ValueSetter = (value: ValueType) => void;
18
- export type SelectFieldProps = (SelectFieldDefaultProps | SelectFieldMultiProps) & {
19
- openedModel?: string;
1
+ import { SelectFieldInputChangeEventHandler, SelectFieldInputType } from './types';
2
+ import { SelectModalGeneralProps } from './select-modal';
3
+ import { UseSelectFieldProps } from './useSelectField';
4
+ export type SelectFieldProps = {
20
5
  className?: string;
21
6
  label?: string | boolean | React.ReactNode;
22
7
  placeholder?: string;
23
- data?: SelectFieldData;
24
8
  fullWidth?: boolean;
25
- contentWidth?: number;
26
- fieldBlockPositionWrapper?: 'inherit';
27
9
  error?: string;
28
- disabled?: boolean;
29
10
  skeleton?: boolean;
30
- blur?: boolean;
31
- size?: SelectFieldSize;
32
- disableSelect?: boolean;
33
- placement?: SelectFieldPlacement;
34
- disableScrollbar?: boolean;
35
- before?: SelectFieldData;
36
- after?: SelectFieldData;
37
11
  enableInput?: boolean;
38
12
  inputType?: SelectFieldInputType;
39
13
  inputValue?: string;
40
14
  clearable?: boolean;
41
15
  loading?: boolean;
42
16
  padding?: [number, number];
43
- tabs?: {
44
- tabs: ITab[];
45
- onTabClick?: (id: string | null) => void;
46
- defaultTabId?: string;
47
- };
48
- search?: boolean;
49
- searchPlaceholder?: string;
50
- followContentHeight?: boolean;
51
- contentHeight?: number;
52
- resetStyleState?: boolean;
53
17
  dataTest?: string;
54
- onOptionClick?: SelectFieldOptionClickEventHandler;
55
18
  onInputChange?: SelectFieldInputChangeEventHandler;
56
- onSelectClick?: () => void;
57
- onClose?: () => void;
58
19
  onPointerLeave?: React.PointerEventHandler<HTMLDivElement>;
59
- } & React.PropsWithChildren;
60
- export declare const SelectField: React.FC<SelectFieldProps>;
20
+ } & SelectModalGeneralProps & UseSelectFieldProps & React.PropsWithChildren;
21
+ export declare const SelectField: ({ className, label, placeholder, data, fullWidth, contentWidth, error, skeleton, blur, size, disableSelect, disableScrollbar, before, after, loading, enableInput, inputType, inputValue: initialInputValue, clearable, tabs, search, searchPlaceholder, resetStyleState, children, modalWidth, dataTest, selectedColor, compactWidth, onOptionClick, onInputChange, onPointerLeave, ...useSelectFieldProps }: SelectFieldProps) => import("react/jsx-runtime").JSX.Element;
61
22
  export * from './types';
62
23
  export * from './styled';
63
24
  export * from './context';
25
+ export * from './select-modal';
26
+ export * from './useSelectField';
@@ -1 +1 @@
1
- import{__rest as e}from"tslib";import{jsx as l,jsxs as t,Fragment as n}from"react/jsx-runtime";import{useCallback as o,useState as i,useRef as r,useEffect as a}from"react";import{useTransition as c}from"@react-spring/web";import{SelectFieldStyled as s,SelectFieldLabel as d,SelectFieldInput as u,SelectFieldInputLeftSide as p,SelectFieldSearchIcon as h,SelectFieldInputNative as b,SelectFieldPlaceholder as f,SelectFieldValue as m,SelectFieldValueText as g,SelectFieldValueColor as v,SelectFieldColorValueText as y,SelectFieldValues as w,SelectFieldValueList as C,SelectFieldValueListItem as $,SelectFieldInputSide as j,SelectFieldClearButton as k,SelectFieldLoader as S,SelectFieldArrow as x,SelectFieldSkeleton as T,AnimatedSelectFieldBlock as O,SelectFieldBlockPositionWrapper as L,SelectFieldBlockContent as A,SelectFieldGroups as E,SelectFieldTabsContainer as z,SelectFieldTabs as H,SelectFieldSearch as P,SelectFieldErrorText as W}from"./styled.js";export{SelectFieldBlock}from"./styled.js";import"../../theme/index.js";import{Skeleton as B}from"../skeleton/index.js";import{Portal as I}from"../portal/index.js";import{IconProvider as V}from"../icon/context.js";import"../icon/styled.js";import{Tooltip as M}from"../tooltip/index.js";import{SelectFieldProvider as F}from"./context.js";export{SelectFieldConsumer,SelectFieldContext,useSelectField}from"./context.js";import{SelectFieldOptions as D}from"./option/list/index.js";import"./option/collapse/styled.js";import{filterData as N}from"./filterData.js";import{SelectFieldGroup as R}from"./select-field-group/index.js";import{useTheme as X}from"../../theme/hook.js";import{TooltipConsumer as Y}from"../tooltip/context.js";const Z=Z=>{var{openedModel:q,className:G,label:J,value:K,placeholder:Q,data:U=[],fullWidth:_=!1,fieldBlockPositionWrapper:ee,contentWidth:le,error:te,disabled:ne=!1,skeleton:oe=!1,blur:ie=!1,size:re="small",disableSelect:ae=!1,placement:ce="bottom-left",disableScrollbar:se=!1,before:de,after:ue,loading:pe=!1,enableInput:he=!1,inputType:be="text",inputValue:fe,clearable:me=!1,tabs:ge,search:ve,searchPlaceholder:ye,followContentHeight:we=!1,contentHeight:Ce,resetStyleState:$e,dataTest:je,onOptionClick:ke,onInputChange:Se,onSelectClick:xe,onClose:Te,onPointerLeave:Oe,children:Le}=Z,Ae=e(Z,["openedModel","className","label","value","placeholder","data","fullWidth","fieldBlockPositionWrapper","contentWidth","error","disabled","skeleton","blur","size","disableSelect","placement","disableScrollbar","before","after","loading","enableInput","inputType","inputValue","clearable","tabs","search","searchPlaceholder","followContentHeight","contentHeight","resetStyleState","dataTest","onOptionClick","onInputChange","onSelectClick","onClose","onPointerLeave","children"]);const Ee=X(),{multiple:ze=!1}=Ae,He=o((e=>{var l,t,n,o,i,r;if(Ae.multiple&&Array.isArray(e)){const n=e;null===(l=Ae.onChange)||void 0===l||l.call(Ae,n),null===(t=Ae.onValueChange)||void 0===t||t.call(Ae,n.map((e=>"string"==typeof e?e:"string"==typeof e.value?e.value:"")).filter((e=>!!e)))}else Ae.multiple||Array.isArray(e)||(null===(n=Ae.onChange)||void 0===n||n.call(Ae,e),e?"string"==typeof e?null===(o=Ae.onValueChange)||void 0===o||o.call(Ae,e):"string"==typeof e.value&&(null===(i=Ae.onValueChange)||void 0===i||i.call(Ae,e.value)):null===(r=Ae.onValueChange)||void 0===r||r.call(Ae,null))}),[Ae.multiple,Ae.onChange,Ae.onValueChange]),Pe=o((e=>{null==Se||Se(e)}),[Se]);let[We,Be]=i(ze?[]:null);void 0!==K&&([We,Be]=[K,He]);let[Ie,Ve]=i("");void 0!==fe&&([Ie,Ve]=[fe,Pe]);const[Me,Fe]=i(!1),[De,Ne]=i(!1),[Re,Xe]=i(0),[Ye,Ze]=i(0),[qe,Ge]=i(0),[Je,Ke]=i(ce),[Qe,Ue]=i([]),[_e,el]=i([0,0,0]),[ll,tl]=i(""),nl=c(De,{from:{opacity:0},enter:{opacity:1},leave:{opacity:0},config:{tension:250,friction:20}}),ol=(e,l)=>{el((t=>t.map(((t,n)=>n===l?e:t))))},il=o((e=>{tl(e.currentTarget.value.trim())}),[tl]),rl=o((()=>{Ne(!1),null==Te||Te()}),[]),al=o((e=>{var l;"object"==typeof e&&e.disabled||("object"==typeof e&&e.noSelect?null===(l=null==e?void 0:e.onClick)||void 0===l||l.call(e,e):(null==ke||ke(e),ae||(ze&&Array.isArray(We)?Be([...new Set([...We,e])]):Be(e)),rl()))}),[We,Be,ze,ke,ae]),cl=o(((e,l)=>{l.stopPropagation(),Array.isArray(We)&&Be("string"==typeof e?We.filter((l=>"string"==typeof l?l!==e:l.value!==e)):We.filter((l=>"string"==typeof l?l!==e.value:l.value!==e.value))),rl()}),[We]),sl=o(((e,l)=>{null==xe||xe();const t=pl.current;if(!t||ne)return;e&&l.stopPropagation();const n=window.innerHeight||document.documentElement.clientHeight,o=t.getBoundingClientRect(),{width:i,height:r}=o;let a=Je;a=o.top-186<0?"bottom-left":o.bottom+186>n?"top-right"===ce?"top-right":"top-left":ce;let c=0,s=0;switch(a){case"bottom-left":c=o.left+window.scrollX,s=o.top+window.scrollY+r;break;case"top-left":c=o.left+window.scrollX,s=o.top+window.scrollY;break;case"top-right":c=o.left+window.scrollX+i,s=o.top+window.scrollY}Xe(c),Ze(s),Ge(i),Ke(a),Ne(!!e||!De)}),[ne,De,Je,ce,xe]),dl=o((e=>{Ve(e.currentTarget.value)}),[Ve]),ul=o((()=>{Be(null),Ve("")}),[Be,Ve]),pl=r(null),hl=r(null),bl=r(!1),[fl,ml]=i(Ce||null);if(we&&hl.current&&!fl){const{height:e}=getComputedStyle(hl.current.children[0]);ml(parseInt(e))}a((()=>{Ue(q?[q]:[]),el([0,0,0]),tl("")}),[$e,q]);const[gl,vl]=i(null),yl=o((()=>{if(pl.current&&"bottom-left"!==Je&&De){const{top:e}=pl.current.getBoundingClientRect();vl(e-20)}else setTimeout((()=>{vl(null)}),175)}),[pl.current,Je,De]);a((()=>(yl(),window.addEventListener("resize",yl),()=>window.removeEventListener("resize",yl))),[yl]),a((()=>{if(De){const e=e=>{const l=pl.current,t=hl.current;null!==l&&null!==t&&(l.contains(e.target)||t.contains(e.target)||rl())};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}}}),[De]),a((()=>{if(!De)return;const e=e=>{const l=hl.current,t=e.target;l&&l.contains(t)||rl()};return window.addEventListener("scroll",e,!0),()=>{window.removeEventListener("scroll",e,!0)}}),[De,rl]),a((()=>{if(De){const e=e=>{bl.current&&"orientationchange"!==e.type||rl()};return document.addEventListener("scroll",e),window.addEventListener("resize",e),window.addEventListener("orientationchange",e),()=>{document.removeEventListener("scroll",e),window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}}}),[De]);const wl=o((e=>Ue((l=>l.includes(e)?l.filter((l=>l!==e)):[...l,e]))),[Qe]);U=U.map((l=>{if("object"==typeof l&&"collapse"===l.type&&l.id&&!l.disabled){const{onClick:t}=l,n=e(l,["onClick"]),o=()=>{t&&t(l),l.id&&wl(l.id)};return Object.assign(Object.assign({},n),{open:Qe.includes(l.id)||l.open,onClick:o})}return l}));const Cl=o((e=>{el([0,0,0]),Ue([]),ge&&ge.onTabClick&&ge.onTabClick(e)}),[ge,el]);return l(F,{selectRef:pl,handleSelectClick:sl.bind(null,!1),children:t(s,{$fullWidth:_,$disabled:ne,className:G,onPointerLeave:Oe,children:[J&&oe&&l(d,{children:l(B,{width:100})}),"string"==typeof J&&!oe&&l(d,{children:J}),"string"!=typeof J&&!oe&&J,Le&&Le,!Le&&t(n,{children:[!oe&&t(u,{$open:De,$error:!!te,$disabled:ne,$skeleton:!1,$blur:ie,$loading:pe,$multiple:ze&&Array.isArray(We)&&We.length>0,ref:pl,onClick:sl.bind(null,!1),"data-test":je,children:[t(p,{children:[(!We||Array.isArray(We)&&0===We.length)&&t(n,{children:[he&&"search"===be&&l(h,{$focus:Me}),he&&l(b,{type:be,value:Ie,placeholder:Q,disabled:ne,onClick:sl.bind(null,!0),onChange:dl,onFocus:Fe.bind(null,!0),onBlur:Fe.bind(null,!1)}),!he&&l(f,{$open:De,children:Q})]}),"string"==typeof We&&""!==We&&l(m,{children:l(g,{children:We})}),We&&"object"==typeof We&&!Array.isArray(We)&&t(m,{children:[We.icon&&l(V,{fill:Ee.colors.base.white,size:18,children:We.icon}),We.color&&l(v,{$color:We.color}),We.label&&l(M,{label:We.label,placement:"top-left",disabled:We.label.length<=128,children:l(Y,{children:({handleTooltipMouseEnter:e,handleTooltipMouseLeave:t})=>l(y,{onMouseEnter:e,onMouseLeave:t,children:We.label})})}),!We.label&&We.value&&l(y,{children:We.value})]}),Array.isArray(We)&&We.length>0&&l(w,{children:l(C,{children:We.map(((e,t)=>{var n,o,i;return"string"==typeof e?l($,{onDelete:cl.bind(null,e),children:e},e):l($,{onDelete:cl.bind(null,e),children:null!==(n=e.label)&&void 0!==n?n:e.value},null!==(i=null!==(o=e.id)&&void 0!==o?o:e.value)&&void 0!==i?i:t)}))})})]}),t(j,{children:[(me&&We||he&&"search"===be&&!pe&&Ie||he&&We)&&l(k,{onClick:ul}),pe&&l(S,{}),l(x,{style:{transform:De?"rotateZ(180deg)":"rotateZ(0deg)"}})]})]}),oe&&l(u,{$open:!1,$error:!1,$disabled:!1,$skeleton:!0,$loading:!1,$blur:ie,$multiple:!1,ref:pl,children:l(T,{})})]}),nl(((e,n)=>n?l(I,{children:l(O,{$contentWidth:le,ref:hl,style:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},0!==Re&&Object.assign(Object.assign({},"top-right"!==Je&&{left:`${Re}px`}),"top-right"===Je&&Object.assign(Object.assign({},void 0===le&&{left:`calc(${Re}px - ${qe})`}),"number"==typeof le&&{left:`calc(${Re}px - ${le>qe?`calc(var(--bothub-scale, 1) * ${le}px)`:`${qe}px`})`}))),0!==Ye&&{top:`${Ye}px`}),void 0===le&&{width:`${qe}px`}),"number"==typeof le&&{width:""+(le>qe?`calc(var(--bothub-scale, 1) * ${le}px)`:`${qe}px`)}),e),children:l(L,{$blur:ie,$width:ee,$placement:Je,style:Object.assign(Object.assign({},we&&fl&&{height:fl}),gl&&{maxHeight:gl}),children:l(A,{children:t(E,{$size:re,children:[!!ge&&l(z,{children:l(H,{tabs:ge.tabs,component:"button",onClick:Cl,defaultTabId:ge.defaultTabId})}),ve&&l(P,{placeholder:ye,value:ll,onChange:il,onClick:()=>{bl.current=!0},onBlur:()=>setTimeout((()=>{bl.current=!1}),500)}),de&&l(R,{scrollTop:_e[0],onScrollTopChange:e=>ol(e,0),$size:re,$disableScrollbar:se,$followContentHeight:!!fl,children:l(D,{value:We,data:N(de,ll),size:re,disableSelect:ae,onOptionClick:al})}),l(R,{scrollTop:_e[1],onScrollTopChange:e=>ol(e,1),$size:re,$disableScrollbar:se,$followContentHeight:!!fl,children:l(D,{value:We,data:N(U,ll),size:re,disableSelect:ae,onOptionClick:al})}),ue&&l(R,{scrollTop:_e[2],onScrollTopChange:e=>ol(e,2),$size:re,$disableScrollbar:se,$followContentHeight:!!fl,children:l(D,{value:We,data:N(ue,ll),size:re,disableSelect:ae,onOptionClick:al})})]})})})})}):null)),te&&l(W,{children:te})]})})};export{O as AnimatedSelectFieldBlock,Z as SelectField,x as SelectFieldArrow,A as SelectFieldBlockContent,L as SelectFieldBlockPositionWrapper,k as SelectFieldClearButton,y as SelectFieldColorValueText,W as SelectFieldErrorText,E as SelectFieldGroups,u as SelectFieldInput,p as SelectFieldInputLeftSide,b as SelectFieldInputNative,j as SelectFieldInputSide,d as SelectFieldLabel,S as SelectFieldLoader,f as SelectFieldPlaceholder,F as SelectFieldProvider,P as SelectFieldSearch,h as SelectFieldSearchIcon,T as SelectFieldSkeleton,s as SelectFieldStyled,H as SelectFieldTabs,z as SelectFieldTabsContainer,m as SelectFieldValue,v as SelectFieldValueColor,C as SelectFieldValueList,$ as SelectFieldValueListItem,g as SelectFieldValueText,w as SelectFieldValues};
1
+ import{__rest as e}from"tslib";import{jsx as l,jsxs as t,Fragment as r}from"react/jsx-runtime";import{useCallback as o,useState as n}from"react";import{SelectFieldStyled as i,SelectFieldLabel as a,SelectFieldInput as d,SelectFieldInputLeftSide as s,SelectFieldSearchIcon as c,SelectFieldInputNative as h,SelectFieldPlaceholder as u,SelectFieldValue as p,SelectFieldValueText as b,SelectFieldValueColor as m,SelectFieldColorValueText as f,SelectFieldValues as g,SelectFieldValueList as y,SelectFieldValueListItem as v,SelectFieldInputSide as C,SelectFieldClearButton as $,SelectFieldLoader as S,SelectFieldArrow as j,SelectFieldSkeleton as k,SelectFieldErrorText as x}from"./styled.js";import"../../theme/index.js";import{Skeleton as W}from"../skeleton/index.js";import{IconProvider as A}from"../icon/context.js";import"../icon/styled.js";import{Tooltip as O}from"../tooltip/index.js";import{SelectFieldProvider as P}from"./context.js";export{SelectFieldConsumer,SelectFieldContext,useSelectFieldContext}from"./context.js";import{SelectModal as T}from"./select-modal/index.js";import{useSelectField as I}from"./useSelectField.js";import{useTheme as F}from"../../theme/hook.js";import{TooltipConsumer as L}from"../tooltip/context.js";const V=V=>{var{className:z,label:M,placeholder:N,data:R,fullWidth:w=!1,contentWidth:D,error:E,skeleton:Z=!1,blur:B=!1,size:q="small",disableSelect:G=!1,disableScrollbar:H=!1,before:J,after:K,loading:Q=!1,enableInput:U=!1,inputType:X="text",inputValue:Y,clearable:_=!1,tabs:ee,search:le,searchPlaceholder:te,resetStyleState:re,children:oe,modalWidth:ne,dataTest:ie,selectedColor:ae,compactWidth:de,onOptionClick:se,onInputChange:ce,onPointerLeave:he}=V,ue=e(V,["className","label","placeholder","data","fullWidth","contentWidth","error","skeleton","blur","size","disableSelect","disableScrollbar","before","after","loading","enableInput","inputType","inputValue","clearable","tabs","search","searchPlaceholder","resetStyleState","children","modalWidth","dataTest","selectedColor","compactWidth","onOptionClick","onInputChange","onPointerLeave"]);const pe=I(ue),{isOpen:be,triggerRef:me,value:fe,disabled:ge,multiple:ye,handleClose:ve,handleInputClick:Ce,setValue:$e}=pe,Se=e(pe,["isOpen","triggerRef","value","disabled","multiple","handleClose","handleInputClick","setValue"]),je=F(),ke=o((e=>{null==ce||ce(e)}),[ce]);let[xe,We]=n("");void 0!==Y&&([xe,We]=[Y,ke]);const[Ae,Oe]=n(!1),Pe=o(((e,l)=>{l.stopPropagation(),Array.isArray(fe)&&$e("string"==typeof e?fe.filter((l=>"string"==typeof l?l!==e:l.value!==e)):fe.filter((l=>"string"==typeof l?l!==e.value:l.value!==e.value))),ve()}),[fe]),Te=o((e=>{We(e.currentTarget.value)}),[We]),Ie=o((()=>{$e(null),We("")}),[$e,We]);return l(P,{selectRef:me,handleSelectClick:Ce.bind(null,!1),children:t(i,{$fullWidth:w,$disabled:ge,className:z,onPointerLeave:he,children:[M&&Z&&l(a,{children:l(W,{width:100})}),"string"==typeof M&&!Z&&l(a,{children:M}),"string"!=typeof M&&!Z&&M,oe&&oe,!oe&&t(r,{children:[!Z&&t(d,{$open:be,$error:!!E,$disabled:ge,$skeleton:!1,$blur:B,$loading:Q,$multiple:ye&&Array.isArray(fe)&&fe.length>0,ref:me,onClick:Ce.bind(null,!1),"data-test":ie,children:[t(s,{children:[(!fe||Array.isArray(fe)&&0===fe.length)&&t(r,{children:[U&&"search"===X&&l(c,{$focus:Ae}),U&&l(h,{type:X,value:xe,placeholder:N,disabled:ge,onClick:Ce.bind(null,!0),onChange:Te,onFocus:Oe.bind(null,!0),onBlur:Oe.bind(null,!1)}),!U&&l(u,{$open:be,children:N})]}),"string"==typeof fe&&""!==fe&&l(p,{children:l(b,{children:fe})}),fe&&"object"==typeof fe&&!Array.isArray(fe)&&t(p,{children:[fe.icon&&l(A,{fill:je.colors.base.white,size:18,children:fe.icon}),fe.color&&l(m,{$color:fe.color}),fe.label&&l(O,{label:fe.label,placement:"top-left",disabled:fe.label.length<=128,children:l(L,{children:({handleTooltipMouseEnter:e,handleTooltipMouseLeave:t})=>l(f,{onMouseEnter:e,onMouseLeave:t,children:fe.label})})}),!fe.label&&fe.value&&l(f,{children:fe.value})]}),Array.isArray(fe)&&fe.length>0&&l(g,{children:l(y,{children:fe.map(((e,t)=>{var r,o,n;return"string"==typeof e?l(v,{onDelete:Pe.bind(null,e),children:e},e):l(v,{onDelete:Pe.bind(null,e),children:null!==(r=e.label)&&void 0!==r?r:e.value},null!==(n=null!==(o=e.id)&&void 0!==o?o:e.value)&&void 0!==n?n:t)}))})})]}),t(C,{children:[(_&&fe||U&&"search"===X&&!Q&&xe||U&&fe)&&l($,{onClick:Ie}),Q&&l(S,{}),l(j,{style:{transform:be?"rotateZ(180deg)":"rotateZ(0deg)"}})]})]}),Z&&l(d,{$open:!1,$error:!1,$disabled:!1,$skeleton:!0,$loading:!1,$blur:B,$multiple:!1,ref:me,children:l(k,{})})]}),l(T,Object.assign({},Se,{isOpen:be,data:R,contentWidth:D,size:q,disableSelect:G,disableScrollbar:H,before:J,after:K,tabs:ee,search:le,searchPlaceholder:te,resetStyleState:re,blur:B,value:fe,multiple:ye,onOptionClick:se,handleClose:ve,setValue:$e,modalWidth:ne,selectedColor:ae,compactWidth:de})),E&&l(x,{children:E})]})})};export{V as SelectField,j as SelectFieldArrow,$ as SelectFieldClearButton,f as SelectFieldColorValueText,x as SelectFieldErrorText,d as SelectFieldInput,s as SelectFieldInputLeftSide,h as SelectFieldInputNative,C as SelectFieldInputSide,a as SelectFieldLabel,S as SelectFieldLoader,u as SelectFieldPlaceholder,P as SelectFieldProvider,c as SelectFieldSearchIcon,k as SelectFieldSkeleton,i as SelectFieldStyled,p as SelectFieldValue,m as SelectFieldValueColor,y as SelectFieldValueList,v as SelectFieldValueListItem,b as SelectFieldValueText,g as SelectFieldValues,T as SelectModal,I as useSelectField};