@bothub-chat/ui 2.60.0 → 2.61.1-feat-generics-in-select-b6b6cf11-a2ed-403a-b1b1-247607966754
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.
- package/dist/components/badge-select-dropdown/index.d.ts +7 -7
- package/dist/components/file-field/index.d.ts +1 -0
- package/dist/components/file-field/index.js +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/lang-switcher/index.d.ts +4 -4
- package/dist/components/lang-switcher/styled.d.ts +1 -1
- package/dist/components/select-field/index.d.ts +4 -4
- package/dist/components/select-field/nodes/value/index.d.ts +4 -4
- package/dist/components/select-field/select-modal/filterData.d.ts +2 -2
- package/dist/components/select-field/select-modal/index.d.ts +8 -8
- package/dist/components/select-field/select-modal/index.js +1 -1
- package/dist/components/select-field/select-modal/option/checkbox-group/index.d.ts +9 -9
- package/dist/components/select-field/select-modal/option/collapse/index.d.ts +4 -4
- package/dist/components/select-field/select-modal/option/list/index.d.ts +2 -2
- package/dist/components/select-field/select-modal/option/select-field-option/index.d.ts +3 -3
- package/dist/components/select-field/select-modal/option/types.d.ts +8 -8
- package/dist/components/select-field/types.d.ts +15 -15
- package/dist/components/select-field/useSelectField.d.ts +32 -16
- package/dist/components/select-field/useSelectField.js +1 -1
- package/dist/components/sidebar/menu/item/index.d.ts +1 -0
- package/dist/components/sidebar/menu/item/index.js +1 -1
- package/dist/components/switcher-select/index.d.ts +9 -0
- package/dist/components/switcher-select/index.js +1 -0
- package/dist/components/switcher-select/styled.d.ts +578 -0
- package/dist/components/switcher-select/styled.js +1 -0
- package/dist/components/tariff/card/index.d.ts +1 -0
- package/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -1,27 +1,43 @@
|
|
|
1
1
|
import { SelectFieldChangeEventHandler, SelectFieldDataItem, SelectFieldMultiChangeEventHandler, SelectFieldMultiValueChangeEventHandler, SelectFieldPlacement, SelectFieldValueChangeEventHandler } from './types';
|
|
2
|
-
|
|
3
|
-
export interface UseSelectFieldDefaultProps {
|
|
2
|
+
export interface UseSelectFieldDefaultProps<DataItem extends SelectFieldDataItem<any>> {
|
|
4
3
|
multiple?: false;
|
|
5
|
-
value?:
|
|
6
|
-
onChange?: SelectFieldChangeEventHandler
|
|
7
|
-
onValueChange?: SelectFieldValueChangeEventHandler
|
|
4
|
+
value?: DataItem | null;
|
|
5
|
+
onChange?: SelectFieldChangeEventHandler<DataItem>;
|
|
6
|
+
onValueChange?: SelectFieldValueChangeEventHandler<DataItem>;
|
|
8
7
|
}
|
|
9
|
-
export interface UseSelectFieldMultiProps {
|
|
8
|
+
export interface UseSelectFieldMultiProps<DataItem extends SelectFieldDataItem<any>> {
|
|
10
9
|
multiple: true;
|
|
11
|
-
value?:
|
|
12
|
-
onChange?: SelectFieldMultiChangeEventHandler
|
|
13
|
-
onValueChange?: SelectFieldMultiValueChangeEventHandler
|
|
10
|
+
value?: DataItem[];
|
|
11
|
+
onChange?: SelectFieldMultiChangeEventHandler<DataItem>;
|
|
12
|
+
onValueChange?: SelectFieldMultiValueChangeEventHandler<DataItem>;
|
|
14
13
|
}
|
|
15
|
-
export type UseSelectFieldUnionProps = UseSelectFieldDefaultProps | UseSelectFieldMultiProps
|
|
16
|
-
export type UseSelectFieldProps = {
|
|
14
|
+
export type UseSelectFieldUnionProps<DataItem extends SelectFieldDataItem<any>> = UseSelectFieldDefaultProps<DataItem> | UseSelectFieldMultiProps<DataItem>;
|
|
15
|
+
export type UseSelectFieldProps<DataItem extends SelectFieldDataItem<any>> = {
|
|
17
16
|
disabled?: boolean;
|
|
18
17
|
placement?: SelectFieldPlacement;
|
|
19
18
|
contentHeight?: number | string;
|
|
20
19
|
onClose?: () => void;
|
|
21
20
|
onSelectClick?: () => void;
|
|
22
|
-
} & UseSelectFieldUnionProps
|
|
23
|
-
export type
|
|
24
|
-
|
|
21
|
+
} & UseSelectFieldUnionProps<DataItem>;
|
|
22
|
+
export type UseSelectFieldHook<DataItem extends SelectFieldDataItem<any>, TriggerType extends HTMLElement = HTMLDivElement> = (params: UseSelectFieldProps<DataItem>) => {
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
width: number;
|
|
26
|
+
isOpen: boolean;
|
|
27
|
+
triggerRef: React.RefObject<TriggerType | null>;
|
|
28
|
+
selectModalRef: React.RefObject<HTMLDivElement | null>;
|
|
29
|
+
placement: SelectFieldPlacement;
|
|
30
|
+
isKeyboardOpen: React.RefObject<boolean>;
|
|
31
|
+
value: DataItem | DataItem[] | null;
|
|
32
|
+
disabled: boolean;
|
|
33
|
+
multiple: boolean;
|
|
34
|
+
contentHeight?: number | string;
|
|
35
|
+
handleInputClick: (native: boolean, event: React.MouseEvent<HTMLElement>) => void;
|
|
36
|
+
handleClose: () => void;
|
|
37
|
+
setValue: (value: DataItem | DataItem[] | null) => void;
|
|
38
|
+
};
|
|
39
|
+
export type UseSelectFieldReturnType<DataItem extends SelectFieldDataItem<any>, TriggerType extends HTMLElement = HTMLDivElement> = ReturnType<UseSelectFieldHook<DataItem, TriggerType>>;
|
|
40
|
+
export declare const useSelectField: <DataItem extends SelectFieldDataItem<any>, TriggerType extends HTMLElement = HTMLDivElement>({ value: initialValue, multiple, disabled, placement: initialPlacement, contentHeight, onClose, onSelectClick, onChange, onValueChange, }: UseSelectFieldProps<DataItem>) => {
|
|
25
41
|
x: number;
|
|
26
42
|
y: number;
|
|
27
43
|
width: number;
|
|
@@ -30,11 +46,11 @@ export declare const useSelectField: <TriggerType extends HTMLElement = HTMLDivE
|
|
|
30
46
|
selectModalRef: import("react").RefObject<HTMLDivElement | null>;
|
|
31
47
|
placement: "top-left" | "top-right" | "bottom-left" | "bottom-center";
|
|
32
48
|
isKeyboardOpen: import("react").RefObject<boolean>;
|
|
33
|
-
value:
|
|
49
|
+
value: DataItem | DataItem[] | null;
|
|
34
50
|
disabled: boolean;
|
|
35
51
|
multiple: boolean;
|
|
36
52
|
contentHeight: string | number | undefined;
|
|
37
53
|
handleInputClick: (native: boolean, event: React.MouseEvent<HTMLElement>) => void;
|
|
38
54
|
handleClose: () => void;
|
|
39
|
-
setValue: (value:
|
|
55
|
+
setValue: (value: DataItem | DataItem[] | null) => void;
|
|
40
56
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useState as e,useCallback as t,useRef as n,useEffect as o}from"react";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import"../../utils/colors/calculateGrayScale.js";import"../../utils/colors/calculateAccentColors.js";import{findNearestScrollableParent as r}from"../../utils/findNearestScrollableParent.js";import"tslib";const i=({value:i,multiple:l=!1,disabled:s=!1,placement:c="bottom-left",contentHeight:u,onClose:a,onSelectClick:d,onChange:m,onValueChange:w})=>{const[p,f]=e(!1),[g,v]=e(0),[h,b]=e(0),[y,E]=e(0),[L,C]=e(u),[k,A]=e(c),H=t(e=>{if(l&&Array.isArray(e)){const t=
|
|
1
|
+
import{useState as e,useCallback as t,useRef as n,useEffect as o}from"react";import"unified";import"remark-parse";import"remark-gfm";import"mdast-util-to-markdown";import"../../utils/colors/calculateGrayScale.js";import"../../utils/colors/calculateAccentColors.js";import{findNearestScrollableParent as r}from"../../utils/findNearestScrollableParent.js";import"tslib";const i=({value:i,multiple:l=!1,disabled:s=!1,placement:c="bottom-left",contentHeight:u,onClose:a,onSelectClick:d,onChange:m,onValueChange:w})=>{const[p,f]=e(!1),[g,v]=e(0),[h,b]=e(0),[y,E]=e(0),[L,C]=e(u),[k,A]=e(c),H=t(e=>{if(l&&Array.isArray(e)){const t=m,n=w,o=e;null==t||t(e),null==n||n(o.map(e=>"string"==typeof e?e:"string"==typeof e.value?e.value:"").filter(e=>!!e))}if(!l&&!Array.isArray(e)){const t=m,n=w;null==t||t(e),e?"string"==typeof e?null==n||n(e):"string"==typeof e.value&&(null==n||n(e.value)):null==n||n(null)}},[l,m,w]);let[R,z]=e(l?[]:null);void 0!==i&&([R,z]=[i,H]);const X=n(!1),Y=n(null),j=n(null);o(()=>{const e=()=>{const e=Y.current;if(!e||!L||!u)return;let t=u;const{top:n,bottom:o}=e.getBoundingClientRect();t=k.includes("top")?n-20:window.innerHeight-o-20,"string"!=typeof u&&C(t<u?t:u)};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[Y.current,L,k,u,p]);const B=t(()=>{f(!1),null==a||a()},[]);o(()=>{if(!p||!Y.current)return;const e=r(Y.current);return e?(e.addEventListener("scroll",B),()=>e.removeEventListener("scroll",B)):void 0},[p]),o(()=>{if(!p)return;const e=e=>{if(!X.current||"orientationchange"===e.type){if("mousedown"===e.type){const t=Y.current,n=j.current;if(null===t||null===n)return;if(t.contains(e.target)||n.contains(e.target))return}B()}};return document.addEventListener("mousedown",e),document.addEventListener("scroll",e),window.addEventListener("resize",e),window.addEventListener("orientationchange",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("scroll",e),window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}},[p]);const S=t((e,t)=>{null==d||d();const n=Y.current,o=j.current;if(!n||!o||s)return;e&&t.stopPropagation();const r=window.innerHeight||document.documentElement.clientHeight,{width:i,height:l,top:a,bottom:m,left:w,right:g}=n.getBoundingClientRect(),{width:h}=o.getBoundingClientRect();let y=k;y=a-186<0||"number"==typeof u&&u>a&&r-m>a?"bottom-center"===y?"bottom-center":"bottom-left":m+186>r||"number"==typeof u&&u>r-m&&r-m<a?"top-right"===c?"top-right":"top-left":c;let L=0,C=0;switch(y){case"bottom-left":L=w+window.scrollX,C=a+window.scrollY+l;break;case"bottom-center":L=Math.floor((w+g)/2+window.scrollX-h/2),C=a+window.scrollY+l;break;case"top-left":L=w+window.scrollX,C=a+window.scrollY;break;case"top-right":L=w+window.scrollX+i,C=a+window.scrollY}v(L),b(C),E(i),A(y),f(!!e||!p)},[s,p,k,c,d]);return{x:g,y:h,width:y,isOpen:p,triggerRef:Y,selectModalRef:j,placement:k,isKeyboardOpen:X,value:R,disabled:s,multiple:l,contentHeight:L,handleInputClick:S,handleClose:B,setValue:e=>{z===H?z(e):(z(e),H(e))}}};export{i as useSelectField};
|
|
@@ -3,6 +3,7 @@ type SidebarMenuItemProps = {
|
|
|
3
3
|
icon: React.ReactNode;
|
|
4
4
|
active?: boolean;
|
|
5
5
|
to?: string;
|
|
6
|
+
href?: string;
|
|
6
7
|
as?: React.ElementType;
|
|
7
8
|
} & React.PropsWithChildren & React.HTMLAttributes<HTMLElement>;
|
|
8
9
|
export declare const SidebarMenuItem: React.FC<SidebarMenuItemProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__rest as
|
|
1
|
+
import{__rest as e}from"tslib";import{jsxs as t,jsx as o}from"react/jsx-runtime";import{useRef as r,useState as i}from"react";import{SidebarMenuListItem as n,SidebarMenuItemIconBox as s,SidebarMenuItemText as c}from"../styled.js";import{useSidebar as m}from"../../context.js";import{useSidebarMenu as a}from"../context.js";import{SidebarMenuItemTooltip as d}from"./tooltip.js";const h=h=>{var{icon:l,children:p,active:f,as:v,to:j,href:u}=h,x=e(h,["icon","children","active","as","to","href"]);const{isOpen:b}=m(),{isShowTooltips:O}=a(),$=r(null),[M,g]=i(!1);return t(n,Object.assign({},x,{as:v,to:j,href:u,ref:$,onMouseEnter:()=>{g(!0)},onMouseLeave:()=>{g(!1)},"data-test":"sidebar-menu-item",children:[o(s,{$active:!!f,children:l}),o(c,{$isOpen:b,$active:!!f,children:p}),o(d,{hovered:M,hidden:b||!O,children:p})]}))};export{h as SidebarMenuItem};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsxs as e,jsx as n}from"react/jsx-runtime";import{useState as t,useRef as r,useEffect as i}from"react";import{SwitcherContainer as o,SwitcherSlider as c,SwitcherOption as l}from"./styled.js";const s=({options:s,defaultOption:u=0,onChange:d,className:f})=>{const[m,a]=t(u),[p,h]=t(0),[w,g]=t(0),C=r(null),v=r(null),j=r(null);i(()=>{k()},[m]),i(()=>{const e=()=>{k()};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[m]);const k=()=>{const e=[v,j][m];if(e.current&&C.current){const n=C.current.getBoundingClientRect(),t=e.current.getBoundingClientRect(),r=t.left-n.left,{width:i}=t;h(r),g(i)}},x=()=>{a(e=>0===e?1:0),null==d||d(0===m?1:0)};return e(o,{ref:C,className:f,children:[n(c,{position:p,width:w}),n(l,{ref:v,onClick:x,children:s[0]}),n(l,{ref:j,onClick:x,children:s[1]})]})};export{s as SwitcherSelect};
|