@baishuyun/ui-base 2.0.0 → 2.2.0
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/Card/{Card-DMXtN2pu.js → Card-CXULQNHa.js} +1 -1
- package/dist/Card/index.js +1 -1
- package/dist/CheckBox/CheckBox-Bu40TO29.js +84 -0
- package/dist/CheckBox/index.js +37 -0
- package/dist/ColorPicker/ColorPicker-CwFsihkL.js +207 -0
- package/dist/ColorPicker/index.js +1 -1
- package/dist/Icon/{Icon-C0bjP9U6.js → Icon-BlkVlKDd.js} +1 -1
- package/dist/Icon/index.js +1 -1
- package/dist/InputTag/index.js +2 -2
- package/dist/Modal/{Modal-C1LEJ6Y0.js → Modal-BZTEGGa0.js} +1 -1
- package/dist/Modal/index.js +1 -1
- package/dist/NotFoundContent/NotFoundContent-h0-oIXlk.js +6 -0
- package/dist/NotFoundContent/index.js +4 -0
- package/dist/Radio/index.js +105 -0
- package/dist/Segmented/Segmented-UgzW78Ey.js +75 -0
- package/dist/Segmented/index.js +4 -0
- package/dist/Select/Select-C3abXG27.js +855 -0
- package/dist/Select/index.js +6 -0
- package/dist/Tree/index.js +4 -0
- package/dist/Tree/utils/index.js +40 -0
- package/dist/components/CheckBox/CheckBox.d.ts +46 -0
- package/dist/components/CheckBox/CheckboxIcon.d.ts +6 -0
- package/dist/components/CheckBox/Group.d.ts +30 -0
- package/dist/components/CheckBox/constants.d.ts +11 -0
- package/dist/components/CheckBox/context/context.d.ts +8 -0
- package/dist/components/CheckBox/index.d.ts +9 -0
- package/dist/components/NotFoundContent/NotFoundContent.d.ts +9 -0
- package/dist/components/NotFoundContent/index.d.ts +1 -0
- package/dist/components/Radio/Group.d.ts +3 -0
- package/dist/components/Radio/Radio.d.ts +3 -0
- package/dist/components/Radio/constants.d.ts +6 -0
- package/dist/components/Radio/context/context.d.ts +9 -0
- package/dist/components/Radio/index.d.ts +7 -0
- package/dist/components/Radio/interface.d.ts +98 -0
- package/dist/components/Segmented/Segmented.d.ts +6 -0
- package/dist/components/Segmented/Segmented.type.d.ts +31 -0
- package/dist/components/Segmented/index.d.ts +2 -0
- package/dist/components/Select/HighlightText/HighlightText.d.ts +7 -0
- package/dist/components/Select/OptionList/MultOptionList/MultOptionList.d.ts +11 -0
- package/dist/components/Select/OptionList/OptionList.d.ts +6 -0
- package/dist/components/Select/OptionList/SingleOptionList/SingleOptionList.d.ts +11 -0
- package/dist/components/Select/OptionList/TreeOptionList/TreeOptionList.d.ts +21 -0
- package/dist/components/Select/OptionList/filter.d.ts +4 -0
- package/dist/components/Select/Select.d.ts +3 -0
- package/dist/components/Select/SelectInput/SelectInput.d.ts +10 -0
- package/dist/components/Select/SelectInput/SelectMultipleInput/OptionTag/OptionTag.d.ts +12 -0
- package/dist/components/Select/SelectInput/SelectMultipleInput/SelectMultipleInput.d.ts +8 -0
- package/dist/components/Select/SelectInput/SelectSingleInput/SelectSingleInput.d.ts +8 -0
- package/dist/components/Select/SelectInputSearch/SelectInputSearch.d.ts +6 -0
- package/dist/components/Select/SelectPanel/SelectPanel.d.ts +3 -0
- package/dist/components/Select/constants.d.ts +59 -0
- package/dist/components/Select/context/SelectContext.d.ts +52 -0
- package/dist/components/Select/index.d.ts +3 -0
- package/dist/components/Select/interface.d.ts +192 -0
- package/dist/components/Select/utils/fieldAccessor.d.ts +30 -0
- package/dist/components/Select/utils/tree.d.ts +2 -0
- package/dist/components/Tree/Tree.d.ts +6 -0
- package/dist/components/Tree/TreeNode/TreeNode.d.ts +21 -0
- package/dist/components/Tree/context/TreeContext.d.ts +15 -0
- package/dist/components/Tree/index.d.ts +3 -0
- package/dist/components/Tree/types/node.d.ts +12 -0
- package/dist/components/Tree/types/tree.d.ts +84 -0
- package/dist/components/Tree/utils/index.d.ts +11 -0
- package/dist/components/index.d.ts +5 -0
- package/dist/index.js +45 -35
- package/dist/style.css +1 -1
- package/dist/vendors/Tree-CCY2gtpG.js +225 -0
- package/dist/vendors/fuse.js-D1DCbUBb.js +1022 -0
- package/dist/vendors/index-ByQkttKA.js +59 -0
- package/dist/vendors/lodash-es-CZfJRWhO.js +305 -0
- package/dist/vendors/{simplebar-react-svBEsTVC.js → simplebar-react-Bf9Zq-21.js} +1 -1
- package/package.json +9 -7
- package/dist/ColorPicker/ColorPicker-CpPLwHR2.js +0 -253
- package/dist/vendors/fuse.js-l0sNRNKZ.js +0 -1
- package/dist/vendors/lodash-es-DP1ViCXF.js +0 -262
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { SelectType } from './constants';
|
|
2
|
+
export interface BaseOptionType {
|
|
3
|
+
/**
|
|
4
|
+
* @description 是否禁用 option
|
|
5
|
+
* @todo 预留,但并未实现该功能
|
|
6
|
+
*/
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
title?: string;
|
|
9
|
+
[name: string]: any;
|
|
10
|
+
}
|
|
11
|
+
export interface DefaultOptionType extends BaseOptionType {
|
|
12
|
+
label?: string;
|
|
13
|
+
value?: string | number;
|
|
14
|
+
children?: Omit<DefaultOptionType, 'children'>[];
|
|
15
|
+
/**
|
|
16
|
+
* @description 是否是 [其他] 选项
|
|
17
|
+
*/
|
|
18
|
+
isOther?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* @description 是否是系统字段
|
|
21
|
+
* @description 系统字段的颜色会比较突出,和其他字段仅文字样式的不同
|
|
22
|
+
*/
|
|
23
|
+
systemField?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface FieldNames {
|
|
26
|
+
label: string;
|
|
27
|
+
value: string;
|
|
28
|
+
children: string;
|
|
29
|
+
}
|
|
30
|
+
export interface BaseSelectProps {
|
|
31
|
+
/**
|
|
32
|
+
* @description 选择框的占位符
|
|
33
|
+
*/
|
|
34
|
+
placeholder?: string;
|
|
35
|
+
/**
|
|
36
|
+
* @description 下拉面板内的搜索框的占位符
|
|
37
|
+
*/
|
|
38
|
+
searchPlaceholder?: string;
|
|
39
|
+
/**
|
|
40
|
+
* @description 是否禁用 select
|
|
41
|
+
*/
|
|
42
|
+
disabled?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* @description 是否可清除
|
|
45
|
+
* @default true
|
|
46
|
+
*/
|
|
47
|
+
clearable?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* @description 自定义组件的类名
|
|
50
|
+
*/
|
|
51
|
+
className?: string;
|
|
52
|
+
/**
|
|
53
|
+
* @description 自定义组件的样式
|
|
54
|
+
*/
|
|
55
|
+
style?: React.CSSProperties;
|
|
56
|
+
}
|
|
57
|
+
export interface SelectProps<ValueType = any, OptionType extends DefaultOptionType = DefaultOptionType> extends BaseSelectProps {
|
|
58
|
+
/**
|
|
59
|
+
* @description 选项列表
|
|
60
|
+
*/
|
|
61
|
+
options?: OptionType[];
|
|
62
|
+
/**
|
|
63
|
+
* @description 选择值 (受控)
|
|
64
|
+
*/
|
|
65
|
+
value?: ValueType;
|
|
66
|
+
/**
|
|
67
|
+
* @description 默认选择值 (非受控)
|
|
68
|
+
*/
|
|
69
|
+
defaultValue?: ValueType;
|
|
70
|
+
/**
|
|
71
|
+
* @description 选择值变化时回调
|
|
72
|
+
*/
|
|
73
|
+
onChange?: (value: ValueType, option?: OptionType | OptionType[]) => void;
|
|
74
|
+
/**
|
|
75
|
+
* @description 【其他】选项文本框的值变化时的回调
|
|
76
|
+
*/
|
|
77
|
+
onOtherInputChange?: (value: string) => void;
|
|
78
|
+
/**
|
|
79
|
+
* @description 搜索框的值变化时回调
|
|
80
|
+
*/
|
|
81
|
+
onSearch?: (value: string) => void;
|
|
82
|
+
/**
|
|
83
|
+
* @description 清除已选时回调
|
|
84
|
+
*/
|
|
85
|
+
onClear?: () => void;
|
|
86
|
+
/**
|
|
87
|
+
* @description 展开下拉菜单的回调
|
|
88
|
+
*/
|
|
89
|
+
onOpenChange?: (open: boolean) => void;
|
|
90
|
+
/**
|
|
91
|
+
* @description 下拉列表滚动时的回调
|
|
92
|
+
*/
|
|
93
|
+
onPopupScroll?: (event: UIEvent) => void;
|
|
94
|
+
/**
|
|
95
|
+
* @description 是否显示搜索框
|
|
96
|
+
*/
|
|
97
|
+
showSearch?: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* @description 是否在展示浮层面板的时候,浮层背后显示遮罩层
|
|
100
|
+
*/
|
|
101
|
+
showMask?: boolean;
|
|
102
|
+
/**
|
|
103
|
+
* @description 自定义节点 title、key、children 的字段
|
|
104
|
+
*/
|
|
105
|
+
fieldNames?: FieldNames;
|
|
106
|
+
/**
|
|
107
|
+
* @description 是否正在远程搜索
|
|
108
|
+
*/
|
|
109
|
+
fetching?: boolean;
|
|
110
|
+
/**
|
|
111
|
+
* @description 是否开启过滤选项 (如果要远程搜索,设置为 false)
|
|
112
|
+
* @default true
|
|
113
|
+
*/
|
|
114
|
+
filterOption?: boolean;
|
|
115
|
+
/**
|
|
116
|
+
* @description 下拉组件的类型
|
|
117
|
+
*/
|
|
118
|
+
type?: SelectType;
|
|
119
|
+
/**
|
|
120
|
+
* @description 开启后,输入框没有边框
|
|
121
|
+
*/
|
|
122
|
+
ghost?: boolean;
|
|
123
|
+
/**
|
|
124
|
+
* @description 自定义组件的类名
|
|
125
|
+
*/
|
|
126
|
+
inputClassName?: string;
|
|
127
|
+
/**
|
|
128
|
+
* @description 自定义输入框的 prefix (仅单选回填支持)
|
|
129
|
+
*/
|
|
130
|
+
prefix?: React.ReactNode;
|
|
131
|
+
/**
|
|
132
|
+
* @description 自定义下拉的切换图标
|
|
133
|
+
*/
|
|
134
|
+
suffixIcon?: (isOpen: boolean, disabled: boolean) => React.ReactNode;
|
|
135
|
+
/**
|
|
136
|
+
* @description 自定义渲染回显到输入框的内容,默认是选中项的 label
|
|
137
|
+
* @description 支持单选和多选模式
|
|
138
|
+
* @description 第二个参数为关闭标签的回调,仅在多选模式下有效
|
|
139
|
+
*/
|
|
140
|
+
labelRender?: (option: OptionType, closeBtn?: (style?: React.CSSProperties) => React.ReactNode) => React.ReactNode;
|
|
141
|
+
/**
|
|
142
|
+
* @description 自定义渲染下拉选项
|
|
143
|
+
* @description 支持单选和多选模式
|
|
144
|
+
*/
|
|
145
|
+
optionRender?: (option: OptionType, info: {
|
|
146
|
+
index: number;
|
|
147
|
+
}, isSelected: boolean) => React.ReactNode;
|
|
148
|
+
/**
|
|
149
|
+
* @description 下拉选项的容器样式覆盖
|
|
150
|
+
*/
|
|
151
|
+
optionStyle?: React.CSSProperties;
|
|
152
|
+
/**
|
|
153
|
+
* @description 自定义输入框的值的样式覆盖
|
|
154
|
+
*/
|
|
155
|
+
inputValueStyle?: React.CSSProperties;
|
|
156
|
+
/**
|
|
157
|
+
* @description 自定义标签的样式覆盖
|
|
158
|
+
*/
|
|
159
|
+
tagStyle?: React.CSSProperties;
|
|
160
|
+
/**
|
|
161
|
+
* @description 下拉面板浮层的 z-index
|
|
162
|
+
*/
|
|
163
|
+
zIndex?: number;
|
|
164
|
+
/**
|
|
165
|
+
* @description 遮罩层的 z-index
|
|
166
|
+
*/
|
|
167
|
+
zIndexMask?: number;
|
|
168
|
+
/**
|
|
169
|
+
* @description 自定义【其他】选项的渲染
|
|
170
|
+
*/
|
|
171
|
+
otherOptionRender?: (value: string, options: OptionType[]) => React.ReactNode;
|
|
172
|
+
/**
|
|
173
|
+
* @description 【其他】选项输入框的展示位置
|
|
174
|
+
* @default 'bottom' - 展示在组件下方
|
|
175
|
+
* @description 'inline' - 展示在【其他】选项的右侧
|
|
176
|
+
*/
|
|
177
|
+
otherInputPosition?: 'bottom' | 'inline';
|
|
178
|
+
/**
|
|
179
|
+
* @description 自定义浮层的最小宽度
|
|
180
|
+
*/
|
|
181
|
+
popupMinWidth?: string;
|
|
182
|
+
}
|
|
183
|
+
export interface SelectRef {
|
|
184
|
+
/**
|
|
185
|
+
* @description 获取【其他】选项的输入值
|
|
186
|
+
*/
|
|
187
|
+
getOtherOptionValue: () => string;
|
|
188
|
+
/**
|
|
189
|
+
* @description 设置【其他】选项的输入值
|
|
190
|
+
*/
|
|
191
|
+
setOtherOptionValue: (value: string) => void;
|
|
192
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { DefaultOptionType, FieldNames } from '../interface';
|
|
2
|
+
/**
|
|
3
|
+
* 创建字段访问器,用于安全地访问选项的字段
|
|
4
|
+
*/
|
|
5
|
+
export declare function createFieldAccessor(fieldNames: FieldNames): {
|
|
6
|
+
/**
|
|
7
|
+
* 获取选项的标签文本
|
|
8
|
+
*/
|
|
9
|
+
getLabel: <T extends DefaultOptionType>(option: T) => string;
|
|
10
|
+
/**
|
|
11
|
+
* 获取选项的值
|
|
12
|
+
*/
|
|
13
|
+
getValue: <T extends DefaultOptionType>(option: T) => string | number;
|
|
14
|
+
/**
|
|
15
|
+
* 获取选项的子项
|
|
16
|
+
*/
|
|
17
|
+
getChildren: <T extends DefaultOptionType>(option: T) => T[] | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* 创建标准化的选项对象(用于向后兼容)
|
|
20
|
+
*/
|
|
21
|
+
normalizeOption: <T extends DefaultOptionType>(option: T) => T & {
|
|
22
|
+
label: T[keyof T];
|
|
23
|
+
value: T[keyof T];
|
|
24
|
+
children: T[keyof T] | undefined;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* 获取字段名映射
|
|
28
|
+
*/
|
|
29
|
+
getFieldNames: () => FieldNames;
|
|
30
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { TreeNodeDefine } from '../types/node';
|
|
2
|
+
type BsyTreeNodeProps = {
|
|
3
|
+
/**
|
|
4
|
+
* @description 节点
|
|
5
|
+
*/
|
|
6
|
+
node: TreeNodeDefine;
|
|
7
|
+
/**
|
|
8
|
+
* @description 节点层级
|
|
9
|
+
*/
|
|
10
|
+
level?: number;
|
|
11
|
+
/**
|
|
12
|
+
* @description 字段名映射
|
|
13
|
+
*/
|
|
14
|
+
fieldNames: {
|
|
15
|
+
title: string;
|
|
16
|
+
value: string;
|
|
17
|
+
children: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
declare const BsyTreeNode: ({ node, level, fieldNames }: BsyTreeNodeProps) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export default BsyTreeNode;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TreeNodeDefine } from '../types/node';
|
|
2
|
+
export type CheckType = 'radio' | 'checkbox' | 'default';
|
|
3
|
+
export declare const BsyTreeContext: import('react').Context<{
|
|
4
|
+
searchValue: string;
|
|
5
|
+
selectedKeys: (string | number)[];
|
|
6
|
+
expandedKeys: (string | number)[];
|
|
7
|
+
parentCheckable?: boolean;
|
|
8
|
+
onSelect?: (value: string | number, node: TreeNodeDefine) => void;
|
|
9
|
+
onDeSelect?: (value: string | number) => void;
|
|
10
|
+
onExpand?: (key: string | number, expanded: boolean) => void;
|
|
11
|
+
icon?: (node: TreeNodeDefine) => React.ReactNode;
|
|
12
|
+
switcherIcon?: (expanded: boolean) => React.ReactNode;
|
|
13
|
+
checkType: CheckType;
|
|
14
|
+
showSwitcher: boolean;
|
|
15
|
+
}>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
type TreeNodeDefine = {
|
|
2
|
+
[key: string]: any;
|
|
3
|
+
icon?: React.ReactNode | ((node: TreeNodeDefine) => React.ReactNode);
|
|
4
|
+
/**
|
|
5
|
+
* @description 节点是否可被选中
|
|
6
|
+
* @description 如果设置为 `false` 点击该节点不会有任何的交互和事件响应(但是如果节点有 children,会自动展开 children)
|
|
7
|
+
* @default true
|
|
8
|
+
*/
|
|
9
|
+
checkable?: boolean;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export type { TreeNodeDefine };
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { TreeNodeDefine } from './node';
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
export type CheckType = 'radio' | 'checkbox' | 'default';
|
|
5
|
+
|
|
6
|
+
export type TreeProps = {
|
|
7
|
+
data: TreeNodeDefine[];
|
|
8
|
+
/**
|
|
9
|
+
* @description 搜索值 (用于高亮显示)
|
|
10
|
+
*/
|
|
11
|
+
searchValue?: string;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @description 字段名
|
|
15
|
+
*/
|
|
16
|
+
fieldNames?: {
|
|
17
|
+
title: string;
|
|
18
|
+
value: string;
|
|
19
|
+
children: string;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @description 选中的节点 (受控)
|
|
24
|
+
*/
|
|
25
|
+
selectedKeys?: (string | number)[];
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @description 默认选中的节点 (非受控)
|
|
29
|
+
*/
|
|
30
|
+
defaultSelectedKeys?: (string | number)[];
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @description 展开的节点keys (受控)
|
|
34
|
+
*/
|
|
35
|
+
expandedKeys?: (string | number)[];
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @description 默认展开的节点keys (非受控)
|
|
39
|
+
*/
|
|
40
|
+
defaultExpandedKeys?: (string | number)[];
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* @description 展开/收起节点时的回调
|
|
44
|
+
*/
|
|
45
|
+
onExpand?: (expandedKeys: (string | number)[]) => void;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* @description 选中节点回调
|
|
49
|
+
*/
|
|
50
|
+
onSelect?: (value: string | number, node?: TreeNodeDefine) => void;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* @description 取消选中节点回调
|
|
54
|
+
*/
|
|
55
|
+
onDeSelect?: (value: string | number) => void;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* @description 全局节点图标渲染函数
|
|
59
|
+
*/
|
|
60
|
+
icon?: (node: TreeNodeDefine) => React.ReactNode;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* @description 全局下拉箭头图标渲染函数
|
|
64
|
+
*/
|
|
65
|
+
switcherIcon?: (expanded: boolean) => React.ReactNode;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* @description 父节点是否可以被选中(如果设置为 true, 则所有节点的展开/折叠必须点击箭头按钮才能正常操作)
|
|
69
|
+
*/
|
|
70
|
+
parentCheckable?: boolean;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* @description 树形节点的选择样式
|
|
74
|
+
* @description 如果设置为 `radio`,则只能单选,如果设置为 `checkbox`,则可以多选,如果设置为 `default`,则节点遵循默认行为
|
|
75
|
+
* @default default
|
|
76
|
+
*/
|
|
77
|
+
checkType?: CheckType;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* @description 是否显示展开/收起节点时的箭头按钮
|
|
81
|
+
* @default true
|
|
82
|
+
*/
|
|
83
|
+
showSwitcher?: boolean;
|
|
84
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TreeNodeDefine } from '../types/node';
|
|
2
|
+
declare const getNodePath: (nodes: TreeNodeDefine[], targetValue: string | number, fieldNames: {
|
|
3
|
+
value: string;
|
|
4
|
+
children: string;
|
|
5
|
+
}, path?: (string | number)[]) => (string | number)[] | null;
|
|
6
|
+
declare const getMatchingNodesPaths: (nodes: TreeNodeDefine[], searchValue: string, fieldNames: {
|
|
7
|
+
title: string;
|
|
8
|
+
value: string;
|
|
9
|
+
children: string;
|
|
10
|
+
}, path?: (string | number)[]) => (string | number)[][];
|
|
11
|
+
export { getNodePath, getMatchingNodesPaths };
|
|
@@ -3,3 +3,8 @@ export { LocaleProvider } from '../locale/LocaleProvider';
|
|
|
3
3
|
export { default as Card } from './Card';
|
|
4
4
|
export { default as Modal } from './Modal';
|
|
5
5
|
export { default as ColorPicker } from './ColorPicker';
|
|
6
|
+
export { default as Segmented } from './Segmented';
|
|
7
|
+
export { Select } from './Select';
|
|
8
|
+
export { Tree } from './Tree';
|
|
9
|
+
export { default as Checkbox } from './CheckBox';
|
|
10
|
+
export { default as Ratio } from './Radio';
|
package/dist/index.js
CHANGED
|
@@ -1,61 +1,71 @@
|
|
|
1
|
-
import { I as W } from "./Icon/Icon-
|
|
1
|
+
import { I as W } from "./Icon/Icon-BlkVlKDd.js";
|
|
2
2
|
import { jsx as p } from "react/jsx-runtime";
|
|
3
|
-
import { useMemo as
|
|
4
|
-
import { z as s, L as f } from "./
|
|
5
|
-
import { C as Y } from "./
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
3
|
+
import { useMemo as a, useCallback as u } from "react";
|
|
4
|
+
import { z as s, L as f } from "./vendors/index-ByQkttKA.js";
|
|
5
|
+
import { C as Y } from "./Card/Card-CXULQNHa.js";
|
|
6
|
+
import { M as _ } from "./Modal/Modal-BZTEGGa0.js";
|
|
7
|
+
import { C as te } from "./ColorPicker/ColorPicker-CwFsihkL.js";
|
|
8
|
+
import { S as ae } from "./Segmented/Segmented-UgzW78Ey.js";
|
|
9
|
+
import { S as re } from "./Select/Select-C3abXG27.js";
|
|
10
|
+
import { T as ie } from "./vendors/Tree-CCY2gtpG.js";
|
|
11
|
+
import { default as ce } from "./CheckBox/index.js";
|
|
12
|
+
import { default as de } from "./Radio/index.js";
|
|
13
|
+
const C = "Please select", U = "search", I = "No search data", S = "Select All", k = "Please enter the content", L = "No Data", h = "No Data Found", x = "Data Searching...", A = "Select All by Search", P = "Left Align", y = "Center Align", N = "Right Align", R = "Underline", F = "Link", v = "Hyper Link", z = "Show Content", b = "Link Address", w = "Open in New Tab", D = "Confirm", M = "Cancel", T = "Cancel Link", E = "preset color", O = { linkTip: "Support https://link or @form alias", bold: "Bold", italic: "Italic", fontSize: "Font Size", fontColor: "Font Color", fill: "fill", alignment: "Alignment", centerAlign: "Center Align", rightAlign: "Right Align", uploadImage: "Upload Image", imageUrl: "Image URL", imageUrlPlaceholder: "Please enter image URL", imageUrlRequired: "Please enter image URL", imageUrlInvalid: "Please enter a valid image URL", imageUrlNote: "Note: Enter image URL to insert image", inputImageUrl: "Enter Image URL", uploadImageNote: "Note: Single image size cannot exceed 1MB", uploadImageText: "Click or drag to upload image", previewImage: "Preview Image", underline: "Underline", imageFormatOnly: "Only image formats are supported", uploadImageFirst: "Please upload image first", imageAddSuccess: "Image added successfully", operationFailed: "Operation failed", onlyImageFormatsSupported: "Only image formats are supported", pleaseUploadImageFirst: "Please upload image first", imageSizeNote: "Image size cannot exceed 1MB", clickOrDragToUpload: "Click or drag to upload image", enterImageUrl: "Enter image URL", pleaseEnterImageUrl: "Please enter image URL", pleaseEnterValidImageUrl: "Please enter a valid image URL", linkAddressEmpty: "Link address cannot be empty" }, B = "Picture", V = "Custom Color", j = "Add Picture", q = {
|
|
9
14
|
select: C,
|
|
10
15
|
search: U,
|
|
11
16
|
noFindData: I,
|
|
12
|
-
allSelect:
|
|
17
|
+
allSelect: S,
|
|
13
18
|
context: k,
|
|
14
|
-
noData:
|
|
15
|
-
noDataFound:
|
|
16
|
-
dataSearching:
|
|
17
|
-
allSelectedBySearch:
|
|
18
|
-
leftAlign:
|
|
19
|
-
centerAlign:
|
|
20
|
-
rightAlign:
|
|
19
|
+
noData: L,
|
|
20
|
+
noDataFound: h,
|
|
21
|
+
dataSearching: x,
|
|
22
|
+
allSelectedBySearch: A,
|
|
23
|
+
leftAlign: P,
|
|
24
|
+
centerAlign: y,
|
|
25
|
+
rightAlign: N,
|
|
21
26
|
underline: R,
|
|
22
27
|
link: F,
|
|
23
28
|
hyperLink: v,
|
|
24
29
|
showContent: z,
|
|
25
|
-
linkAddress:
|
|
26
|
-
openInNewTab:
|
|
27
|
-
confirm:
|
|
28
|
-
cancel:
|
|
29
|
-
cancelLink:
|
|
30
|
-
presetColors:
|
|
31
|
-
editor:
|
|
30
|
+
linkAddress: b,
|
|
31
|
+
openInNewTab: w,
|
|
32
|
+
confirm: D,
|
|
33
|
+
cancel: M,
|
|
34
|
+
cancelLink: T,
|
|
35
|
+
presetColors: E,
|
|
36
|
+
editor: O,
|
|
32
37
|
picture: B,
|
|
33
38
|
customColor: V,
|
|
34
39
|
addPicture: j
|
|
35
|
-
}, J = ({ children: c, locale: t = "zh-CN", messages:
|
|
36
|
-
const r =
|
|
37
|
-
(
|
|
38
|
-
const
|
|
40
|
+
}, J = ({ children: c, locale: t = "zh-CN", messages: n = {} }) => {
|
|
41
|
+
const r = a(() => ({ "zh-CN": s, "en-US": q, ...n }), [n]), l = a(() => r[t] || s, [t, r]), i = u(
|
|
42
|
+
(o) => {
|
|
43
|
+
const d = o.split(".");
|
|
39
44
|
let e = l;
|
|
40
|
-
for (const
|
|
41
|
-
if (e = e[
|
|
42
|
-
return console.warn(`[LocaleProvider] Cannot find translation for key: ${
|
|
43
|
-
return typeof e == "string" ? e :
|
|
45
|
+
for (const g of d)
|
|
46
|
+
if (e = e[g], !e)
|
|
47
|
+
return console.warn(`[LocaleProvider] Cannot find translation for key: ${o}`), o;
|
|
48
|
+
return typeof e == "string" ? e : o;
|
|
44
49
|
},
|
|
45
50
|
[l]
|
|
46
|
-
),
|
|
51
|
+
), m = a(
|
|
47
52
|
() => ({
|
|
48
53
|
locale: t,
|
|
49
54
|
t: i
|
|
50
55
|
}),
|
|
51
56
|
[t, i]
|
|
52
57
|
);
|
|
53
|
-
return /* @__PURE__ */ p(f.Provider, { value:
|
|
58
|
+
return /* @__PURE__ */ p(f.Provider, { value: m, children: c });
|
|
54
59
|
};
|
|
55
60
|
export {
|
|
56
|
-
|
|
57
|
-
|
|
61
|
+
Y as Card,
|
|
62
|
+
ce as Checkbox,
|
|
63
|
+
te as ColorPicker,
|
|
58
64
|
W as Icon,
|
|
59
65
|
J as LocaleProvider,
|
|
60
|
-
|
|
66
|
+
_ as Modal,
|
|
67
|
+
de as Ratio,
|
|
68
|
+
ae as Segmented,
|
|
69
|
+
re as Select,
|
|
70
|
+
ie as Tree
|
|
61
71
|
};
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
._modal__title_klsxr_1{padding:16px 20px;font-weight:700;font-size:18px;display:flex;justify-content:space-between;max-height:60px;border-bottom:1px solid #e0e0e0}._modal__title-text_klsxr_10{font-size:18px;font-weight:700}._modal__actions_klsxr_14,._modal__button_groups_klsxr_18{display:flex;gap:10px}._modal__button_klsxr_18{cursor:pointer;transition:colors .2s ease;display:flex;align-items:center;justify-content:center;height:26px;width:26px;border-radius:4px}._modal__button_klsxr_18:hover{background-color:#f3f3f3}._modal__button--fullscreen_klsxr_35:hover{background-color:#fff}._modal__icon_klsxr_38{color:#666;font-size:18px;transition:color .2s ease}._modal__button_klsxr_18:hover ._modal__icon_klsxr_38{color:#121211}._bsy-color-picker__floating_1kfi6_1{z-index:10}._bsy-color-picker__content_1kfi6_4{background-color:#fff;border-radius:8px;padding:16px;box-shadow:0 25px 50px -12px #00000040;font-size:14px}._bsy-color-picker__grid_1kfi6_11{display:grid;gap:16px}._bsy-color-picker__preset-colors-title_1kfi6_15{color:#91a1b7;margin-bottom:12px}._bsy-color-picker__preset-colors-grid_1kfi6_19{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}._bsy-color-picker__preset-colors-item_1kfi6_24{position:relative;width:30px;aspect-ratio:1;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1}._bsy-color-picker__preset-colors-item_1kfi6_24:after{content:"";top:0;right:0;bottom:0;left:0;position:absolute;z-index:-1;transition:all .25s ease;border-radius:50%}._bsy-color-picker__preset-colors-item_1kfi6_24:hover:after{background:var(--hover-color);transform:scale(1.15)}._bsy-color-picker__custom-color-title_1kfi6_47{color:#91a1b7;margin-bottom:12px}._bsy-color-picker__custom-color-btn_1kfi6_51{display:inline-block;border-radius:50%;cursor:pointer;border:1px solid #e0e0e0;color:#666;padding:6px;font-size:0;transition:.25s ease}._bsy-color-picker__custom-color-btn_1kfi6_51:not(._preview_1kfi6_61):hover,._bsy-color-picker__custom-color-btn_1kfi6_51:not(._preview_1kfi6_61)._bsy-color-picker__custom-color-btn--active_1kfi6_61{border-color:#0265ff;color:#0265ff}._bsy-color-picker__custom-color-btn_1kfi6_51._bsy-color-picker__custom-color-btn--preview_1kfi6_65{border-color:transparent}._bsy-color-picker__custom-color-content_1kfi6_68{display:flex;gap:16px}._bsy-color-picker__check-icon_1kfi6_72{font-size:18px;color:#fff}._bsy-card_myftj_1{padding:10px 12px;background:#fff;border-radius:10px}._bsy-card__header_myftj_6{display:flex;align-items:center;justify-content:space-between;cursor:pointer;line-height:normal}._bsy-card__header_myftj_6:hover ._bsy-card__title_myftj_13{color:#0265ff}._bsy-card__title_myftj_13{color:#121211;font-size:14px;font-weight:700;margin:0;transition:color .2s ease;-webkit-user-select:none;user-select:none}._bsy-card__icon-container_myftj_24{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;cursor:pointer;color:#666}._bsy-card__icon-container_myftj_24:hover{background-color:#f0f6ff;color:#0265ff}._bsy-card__icon_myftj_24{font-size:16px;transition:transform .2s ease}._bsy-card__icon--expanded_myftj_43{transform:rotate(180deg)}._bsy-card__content_myftj_46{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1);overflow:hidden}._bsy-card__content--expanded_myftj_52{grid-template-rows:1fr}._bsy-card__content--expanded_myftj_52 ._bsy-card__content-inner_myftj_55{padding-top:12px}._bsy-card__content-inner_myftj_55{overflow:hidden;transition:padding-top .3s cubic-bezier(.4,0,.2,1)}@keyframes _scale-in_46spj_1{0%{transform:scale(.8);opacity:.5}to{transform:scale(1);opacity:1}}._bsy-inputTag_46spj_11{display:flex;background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:0 4px;font-size:14px;height:34px;color:#121211;transition:all .3s cubic-bezier(.4,0,.2,1)}._bsy-inputTag__container_46spj_22{height:32px;flex-grow:0;overflow:hidden}._bsy-inputTag__inputContainer_46spj_27{flex-shrink:0;min-width:80px;max-width:80px;height:32px;display:inline-flex;align-items:center;font-size:14px;margin-left:4px}._bsy-inputTag__inputContainer--zeroMargin_46spj_37{margin:0}._bsy-inputTag__input_46spj_27{width:100%;padding:0 6px;height:23px;outline:none;border-radius:4px;border:1px dashed #e0e0e0;background-color:transparent}
|
|
1
|
+
._checkbox_vheru_1{width:16px;height:16px;border-radius:2px;border:1px solid;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}._checkbox--checked_vheru_12{background-color:#0265ff;border-color:#0265ff}._checkbox--unchecked_vheru_16{background-color:#fff0;border-color:#9da2b2}._checkbox--unchecked_vheru_16:hover{border-color:#0265ff}._checkbox--indeterminate_vheru_23{background-color:#fff;border-color:#0265ff}._checkbox--disabled_vheru_27{background-color:#f5f5f5;border-color:#d9d9d9}._checkbox__inner_vheru_32{width:8px;height:8px;border-radius:1px;background-color:#0265ff}._checkbox__inner--disabled_vheru_38{background-color:#b8b8b8}._bsy-checkbox_1372g_1{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}._bsy-checkbox--full-width_1372g_8{width:100%}._bsy-checkbox__button_1372g_11{width:1rem;height:1rem;border-radius:2px;display:flex;align-items:center;justify-content:center;transition:all .2s ease-in-out;border:1px solid;flex-shrink:0}._bsy-checkbox__button--disabled_1372g_22{background-color:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed}._bsy-checkbox__button--enabled_1372g_27{cursor:pointer}._bsy-checkbox__button--indeterminate_1372g_30{background-color:#fff;border-color:#0265ff}._bsy-checkbox__button--checked_1372g_34{background-color:#0265ff;border-color:#0265ff}._bsy-checkbox__button--unchecked_1372g_38{background-color:transparent;border-color:#9da2b2}._bsy-checkbox__button--unchecked_1372g_38:hover{border-color:#0265ff}._bsy-checkbox__button--left-label_1372g_45{order:2}._bsy-radio_q02xg_1{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}._bsy-radio--disabled_q02xg_8{cursor:not-allowed}._bsy-radio--full-width_q02xg_11{width:100%}._bsy-radio__input_q02xg_14{position:relative;width:16px;height:16px;border-radius:50%;border:1px solid #9da2b2;background-color:#fff;flex-shrink:0;transition:all .25s;cursor:pointer;box-sizing:border-box}._bsy-radio__input_q02xg_14:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);width:6px;height:6px;border-radius:50%;background-color:#fff;transition:all .25s ease-out}._bsy-radio__input--checked_q02xg_38{background-color:#0265ff;border-color:#0265ff}._bsy-radio__input--checked_q02xg_38:after{transform:translate(-50%,-50%) scale(1)}._bsy-radio__input--disabled_q02xg_45{background-color:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed}._bsy-radio__input--disabled_q02xg_45:after{background-color:#f5f5f5}._bsy-radio__input--disabled_q02xg_45._bsy-radio__input--checked_q02xg_38{background-color:#00000040;border-color:#d9d9d9}._bsy-radio__input--disabled_q02xg_45._bsy-radio__input--checked_q02xg_38:after{background-color:#fff}._bsy-radio__label_q02xg_60{flex:1;font-size:14px;line-height:normal}._bsy-radio__label--left_q02xg_65{order:-1}._bsy-radio--disabled_q02xg_8 ._bsy-radio__label_q02xg_60{color:#00000040}._bsy-radio_q02xg_1:not(._bsy-radio--disabled_q02xg_8):hover ._bsy-radio__input_q02xg_14:not(._bsy-radio__input--disabled_q02xg_45){border-color:#0265ff}._bsy-radio-group_q02xg_75{display:inline-flex}._bsy-radio-group--none_q02xg_78{flex-direction:column}._bsy-radio-group--vertical_q02xg_81{flex-direction:column;gap:8px}._bsy-radio-group--horizontal_q02xg_85{flex-direction:row;flex-wrap:wrap;gap:8px 16px}._bsy-input-tag__container_18guu_1{display:flex;flex-wrap:nowrap;gap:4px;overflow:hidden}._bsy-input-tag__item_18guu_7{flex-grow:0;flex-shrink:0;display:inline-flex;align-items:center;padding:3px 6px;color:#121111;line-height:normal;background-color:#eee;border-radius:2px;max-height:26px;overflow:hidden}._bsy-input-tag__item--disabled_18guu_20{background-color:#e7e7e7;color:#adadad}._bsy-input-tag__item-icon_18guu_24{margin-left:4px;width:12px;aspect-ratio:1}._select_multiple_input__container_8pd2n_1{overflow:hidden;display:flex;align-items:center}._select_multiple_input__measurement_layer_8pd2n_6{position:fixed;top:0;left:0;opacity:0;pointer-events:none;z-index:-1}._select_multiple_input__close_btn_8pd2n_14{color:#666;cursor:pointer}._select_multiple_input__close_btn_8pd2n_14:hover{color:#0265ff}._select_multiple_input__close_btn--disabled_8pd2n_21{cursor:not-allowed}._select_multiple_input__tag_content_8pd2n_24{width:100%;display:inline-flex}.bsy-select-input-container{--border-color: #e0e0e0;--bg-color: #fff;--input-text-color: #121212;--input-placholder-color: #999;-webkit-user-select:none;user-select:none;max-height:34px;min-height:34px;border-radius:4px;line-height:1.4;border:1px solid var(--border-color);background:var(--bg-color);transition:border .25s ease}.bsy-select-input-container:not([class*=disabled]):hover,.bsy-select-input-container:not([class*=disabled])[class*=active]{border:1px solid #0265ff;cursor:pointer}.bsy-select-input-container[class*=disabled]{cursor:not-allowed;--bg-color: #f0f0f0;--border-color: transparent;--input-text-color: #c2c2c2;--input-placholder-color: #c2c2c2}.bsy-select-input-container-input{height:32px;display:flex}.bsy-select-input-container-input-prefix{padding:7px 6px 7px 10px}.bsy-select-input-container-input-prefix+div{padding-left:0}.bsy-select-input-container__input-value{display:flex;flex:1;line-height:normal;padding:7px 10px}.bsy-select-input-container__input-value[class*=multiple]{padding:3px}.bsy-select-input-container__input-value-text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;color:var(--input-text-color)}.bsy-select-input-container__icon{display:flex;align-items:center;justify-content:center;padding-right:10px}.bsy-select-input-container__icon .icon{font-size:16px;transition:transform .25s ease}.bsy-select-input-container__icon .icon[class*=active]{transform:rotate(180deg)}.bsy-select-input-container__input-value-placeholder{flex:1;padding:7px 10px;color:var(--input-placholder-color);font-size:14px}.bsy-select-input-container[class*=ghost-style]{border-color:transparent!important;background:transparent!important}.bsy-select-mask{position:fixed;top:0;right:0;bottom:0;left:0;background-color:transparent}.bsy-select-panel{padding:4px;background-color:#fff;border-radius:8px;color:#121211;font-size:14px;line-height:normal;box-shadow:0 6px 16px #0000000f}.bsy-select-input-search-input{display:flex;gap:8px;padding:6px 10px;border-radius:4px;border:1px solid #e0e0e0;color:#121212;line-height:normal;font-size:14px}.bsy-select-input-search-input__container{flex:1}.bsy-select-input-search-input__icon{color:#666;font-size:16px}.bsy-select-input-search-input__icon:hover{color:#0265ff}.bsy-select-input-search-input input{width:100%;max-height:20px;min-height:20px;border:none;outline:none}.bsy-select-input-search-input input::placeholder{color:#999}._bsy-segmented_ia83v_1{position:relative;display:inline-flex;gap:2px;height:34px;padding:2px;align-items:center;border-radius:4px;background-color:#f3f3f3}._bsy-segmented--block_ia83v_12{display:grid;width:100%}._bsy-segmented__item_ia83v_17{position:relative;display:flex;height:30px;padding:7px 10px;justify-content:center;align-items:center;cursor:pointer;transition:color .3s ease-in-out;font-size:14px;white-space:nowrap;border-radius:4px;border:1px solid transparent}._bsy-segmented__item--disabled_ia83v_31{color:#00000040!important;cursor:not-allowed}._bsy-segmented__item--block_ia83v_36{min-width:0;overflow:hidden;text-overflow:ellipsis;padding-left:0;padding-right:0}._bsy-segmented__item--active_ia83v_44{color:#0265ff}._bsy-segmented__item--inactive_ia83v_48:not(._bsy-segmented__item--disabled_ia83v_31):hover{background-color:#fff;border-color:#e0e0e0}._bsy-segmented__slider_ia83v_53{position:absolute;top:2px;height:30px;border-radius:4px;border:1px solid #e0e0e0;background-color:#fff}._modal__title_klsxr_1{padding:16px 20px;font-weight:700;font-size:18px;display:flex;justify-content:space-between;max-height:60px;border-bottom:1px solid #e0e0e0}._modal__title-text_klsxr_10{font-size:18px;font-weight:700}._modal__actions_klsxr_14,._modal__button_groups_klsxr_18{display:flex;gap:10px}._modal__button_klsxr_18{cursor:pointer;transition:colors .2s ease;display:flex;align-items:center;justify-content:center;height:26px;width:26px;border-radius:4px}._modal__button_klsxr_18:hover{background-color:#f3f3f3}._modal__button--fullscreen_klsxr_35:hover{background-color:#fff}._modal__icon_klsxr_38{color:#666;font-size:18px;transition:color .2s ease}._modal__button_klsxr_18:hover ._modal__icon_klsxr_38{color:#121211}._bsy-color-picker__floating_1kfi6_1{z-index:10}._bsy-color-picker__content_1kfi6_4{background-color:#fff;border-radius:8px;padding:16px;box-shadow:0 25px 50px -12px #00000040;font-size:14px}._bsy-color-picker__grid_1kfi6_11{display:grid;gap:16px}._bsy-color-picker__preset-colors-title_1kfi6_15{color:#91a1b7;margin-bottom:12px}._bsy-color-picker__preset-colors-grid_1kfi6_19{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}._bsy-color-picker__preset-colors-item_1kfi6_24{position:relative;width:30px;aspect-ratio:1;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1}._bsy-color-picker__preset-colors-item_1kfi6_24:after{content:"";top:0;right:0;bottom:0;left:0;position:absolute;z-index:-1;transition:all .25s ease;border-radius:50%}._bsy-color-picker__preset-colors-item_1kfi6_24:hover:after{background:var(--hover-color);transform:scale(1.15)}._bsy-color-picker__custom-color-title_1kfi6_47{color:#91a1b7;margin-bottom:12px}._bsy-color-picker__custom-color-btn_1kfi6_51{display:inline-block;border-radius:50%;cursor:pointer;border:1px solid #e0e0e0;color:#666;padding:6px;font-size:0;transition:.25s ease}._bsy-color-picker__custom-color-btn_1kfi6_51:not(._preview_1kfi6_61):hover,._bsy-color-picker__custom-color-btn_1kfi6_51:not(._preview_1kfi6_61)._bsy-color-picker__custom-color-btn--active_1kfi6_61{border-color:#0265ff;color:#0265ff}._bsy-color-picker__custom-color-btn_1kfi6_51._bsy-color-picker__custom-color-btn--preview_1kfi6_65{border-color:transparent}._bsy-color-picker__custom-color-content_1kfi6_68{display:flex;gap:16px}._bsy-color-picker__check-icon_1kfi6_72{font-size:18px;color:#fff}._bsy-card_myftj_1{padding:10px 12px;background:#fff;border-radius:10px}._bsy-card__header_myftj_6{display:flex;align-items:center;justify-content:space-between;cursor:pointer;line-height:normal}._bsy-card__header_myftj_6:hover ._bsy-card__title_myftj_13{color:#0265ff}._bsy-card__title_myftj_13{color:#121211;font-size:14px;font-weight:700;margin:0;transition:color .2s ease;-webkit-user-select:none;user-select:none}._bsy-card__icon-container_myftj_24{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;cursor:pointer;color:#666}._bsy-card__icon-container_myftj_24:hover{background-color:#f0f6ff;color:#0265ff}._bsy-card__icon_myftj_24{font-size:16px;transition:transform .2s ease}._bsy-card__icon--expanded_myftj_43{transform:rotate(180deg)}._bsy-card__content_myftj_46{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1);overflow:hidden}._bsy-card__content--expanded_myftj_52{grid-template-rows:1fr}._bsy-card__content--expanded_myftj_52 ._bsy-card__content-inner_myftj_55{padding-top:12px}._bsy-card__content-inner_myftj_55{overflow:hidden;transition:padding-top .3s cubic-bezier(.4,0,.2,1)}@keyframes _scale-in_46spj_1{0%{transform:scale(.8);opacity:.5}to{transform:scale(1);opacity:1}}._bsy-inputTag_46spj_11{display:flex;background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:0 4px;font-size:14px;height:34px;color:#121211;transition:all .3s cubic-bezier(.4,0,.2,1)}._bsy-inputTag__container_46spj_22{height:32px;flex-grow:0;overflow:hidden}._bsy-inputTag__inputContainer_46spj_27{flex-shrink:0;min-width:80px;max-width:80px;height:32px;display:inline-flex;align-items:center;font-size:14px;margin-left:4px}._bsy-inputTag__inputContainer--zeroMargin_46spj_37{margin:0}._bsy-inputTag__input_46spj_27{width:100%;padding:0 6px;height:23px;outline:none;border-radius:4px;border:1px dashed #e0e0e0;background-color:transparent}
|