@flatbiz/antd 5.0.11 → 5.0.13
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/button-operate/index.js +1 -1
- package/dist/{button-operate-BRkW26Up.js → button-operate-C7NGikli.js} +13 -9
- package/dist/button-operate-C7NGikli.js.map +1 -0
- package/dist/cascader-wrapper/index.d.ts +22 -8
- package/dist/cascader-wrapper/index.js +1 -1
- package/dist/{cascader-wrapper-CG3ah945.js → cascader-wrapper-CTqFW2ON.js} +25 -16
- package/dist/cascader-wrapper-CTqFW2ON.js.map +1 -0
- package/dist/{cell-render-iOsnjpak.js → cell-render-D4e6I9eI.js} +2 -2
- package/dist/{cell-render-iOsnjpak.js.map → cell-render-D4e6I9eI.js.map} +1 -1
- package/dist/{drag-COCvgEoI.js → drag-CYnGqWKf.js} +2 -2
- package/dist/{drag-COCvgEoI.js.map → drag-CYnGqWKf.js.map} +1 -1
- package/dist/drag-editable-table/index.js +4 -4
- package/dist/easy-table/index.d.ts +1 -1
- package/dist/easy-table/index.js +2 -2
- package/dist/easy-table/index.js.map +1 -1
- package/dist/editable-table/index.js +3 -3
- package/dist/{editable-table-DEpIgXwl.js → editable-table-Ccuxddfl.js} +2 -2
- package/dist/{editable-table-DEpIgXwl.js.map → editable-table-Ccuxddfl.js.map} +1 -1
- package/dist/index.d.ts +52 -26
- package/dist/index.js +10 -8
- package/dist/index.js.map +1 -1
- package/dist/radio-group-wrapper/index.d.ts +2 -0
- package/dist/radio-group-wrapper/index.js +1 -1
- package/dist/{radio-group-wrapper-DkbBQw9P.js → radio-group-wrapper-Dip9OsdR.js} +2 -1
- package/dist/radio-group-wrapper-Dip9OsdR.js.map +1 -0
- package/dist/{selector-HbymPXNd.js → selector-CxZacuxg.js} +26 -9
- package/dist/selector-CxZacuxg.js.map +1 -0
- package/dist/styles/index.css +1 -1
- package/dist/table-cell-render/index.js +2 -2
- package/dist/tabs-D2IfpmxW.js +116 -0
- package/dist/tabs-D2IfpmxW.js.map +1 -0
- package/dist/tabs-sticky/index.css +1 -0
- package/dist/tabs-sticky/index.d.ts +20 -0
- package/dist/tabs-sticky/index.js +11 -0
- package/dist/tabs-sticky/index.js.map +1 -0
- package/dist/tree-modal/index.d.ts +11 -16
- package/dist/tree-modal/index.js +404 -17
- package/dist/tree-modal/index.js.map +1 -1
- package/dist/tree-modal-selector/index.d.ts +8 -8
- package/dist/tree-modal-selector/index.js +4 -4
- package/dist/tree-wrapper/index.js +2 -2
- package/dist/tree-wrapper/index.js.map +1 -1
- package/package.json +5 -1
- package/dist/button-operate-BRkW26Up.js.map +0 -1
- package/dist/cascader-wrapper-CG3ah945.js.map +0 -1
- package/dist/radio-group-wrapper-DkbBQw9P.js.map +0 -1
- package/dist/select-modal-Dt4YHH8a.js +0 -370
- package/dist/select-modal-Dt4YHH8a.js.map +0 -1
- package/dist/selector-HbymPXNd.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -107,6 +107,7 @@ import './switch-wrapper/index.css';
|
|
|
107
107
|
import './table-cell-render/index.css';
|
|
108
108
|
import './table-scrollbar/index.css';
|
|
109
109
|
import './table-title-tooltip/index.css';
|
|
110
|
+
import './tabs-sticky/index.css';
|
|
110
111
|
import './tabs-wrapper/index.css';
|
|
111
112
|
import './tag-group/index.css';
|
|
112
113
|
import './tag-list-render/index.css';
|
|
@@ -141,11 +142,11 @@ export { A as AnchorSteps } from './anchor-steps-BQK32Pbd.js';
|
|
|
141
142
|
export { B as BlockLayout } from './layout-OPf8eBBY.js';
|
|
142
143
|
export { B as Bootstrap } from './bootstrap-BPinDEWu.js';
|
|
143
144
|
export { BoxGrid, useBoxBreakpoint } from './box-grid/index.js';
|
|
144
|
-
export { a as ButtonOperate, B as ButtonOperateItemContent } from './button-operate-
|
|
145
|
+
export { a as ButtonOperate, B as ButtonOperateItemContent } from './button-operate-C7NGikli.js';
|
|
145
146
|
export { B as ButtonWrapper } from './button-wrapper-l9FUsrWl.js';
|
|
146
147
|
export { C as CardLayout } from './card-layout-BNs6jF2K.js';
|
|
147
148
|
export { C as CardWrapper } from './card-wrapper-w-JbDJNk.js';
|
|
148
|
-
export { C as CascaderWrapper } from './cascader-wrapper-
|
|
149
|
+
export { C as CascaderWrapper } from './cascader-wrapper-CTqFW2ON.js';
|
|
149
150
|
export { CheckList } from './check-list/index.js';
|
|
150
151
|
export { C as CheckboxWrapper } from './checkbox-wrapper-vfPLUiSn.js';
|
|
151
152
|
export { C as ColorPickerWrapper } from './color-picker-BKm2UF_1.js';
|
|
@@ -165,7 +166,7 @@ export { d as dialogModal } from './dialog-modal-xt2uoEa-.js';
|
|
|
165
166
|
export { D as DragCollapse } from './drag-collapse-wL7wIgVO.js';
|
|
166
167
|
export { D as DragCollapseFormList } from './drag-collapse-DU_JhQTz.js';
|
|
167
168
|
export { D as DragEditableCard } from './editable-card-Dc_9h_Qf.js';
|
|
168
|
-
export { D as DragEditableTable } from './drag-
|
|
169
|
+
export { D as DragEditableTable } from './drag-CYnGqWKf.js';
|
|
169
170
|
export { D as DragEditableTablePro } from './drag-CBosXqSQ.js';
|
|
170
171
|
export { D as DragFormList } from './drag-form-list-BGqbBKJM.js';
|
|
171
172
|
export { D as DragTable } from './drag-table-By85hEGF.js';
|
|
@@ -176,7 +177,7 @@ export { EasyTable } from './easy-table/index.js';
|
|
|
176
177
|
export { E as EditableCard } from './editable-card-D-JIgLVg.js';
|
|
177
178
|
export { E as EditableField } from './editable-field-XVZ1Rqdm.js';
|
|
178
179
|
export { E as EditableFieldProvider } from './editable-field-provider-DqKcZQYP.js';
|
|
179
|
-
export { E as EditableTable } from './editable-table-
|
|
180
|
+
export { E as EditableTable } from './editable-table-Ccuxddfl.js';
|
|
180
181
|
export { E as EditableTablePro } from './editable-table-pro-D8Vt535W.js';
|
|
181
182
|
export { E as ErrorBoundaryWrapper } from './error-boundary-DtShAEtQ.js';
|
|
182
183
|
export { FbaApp } from './fba-app/index.js';
|
|
@@ -214,7 +215,7 @@ export { P as PdfPreview } from './preview-ChAgzijh.js';
|
|
|
214
215
|
export { P as PdfPreview2 } from './preview-Blwn4lHG.js';
|
|
215
216
|
export { P as Permission } from './permission-BXFgP5jk.js';
|
|
216
217
|
export { preDefinedClassName } from './pre-defined-class-name/index.js';
|
|
217
|
-
export { R as RadioGroupWrapper } from './radio-group-wrapper-
|
|
218
|
+
export { R as RadioGroupWrapper } from './radio-group-wrapper-Dip9OsdR.js';
|
|
218
219
|
export { R as RelationTree } from './relation-tree-DC2_zwoC.js';
|
|
219
220
|
export { R as RequestStatus } from './request-status-DQsSHUSx.js';
|
|
220
221
|
export { R as RichTextEditor } from './rich-text-editor-CNUydd_0.js';
|
|
@@ -234,9 +235,10 @@ export { styles } from './styles/index.js';
|
|
|
234
235
|
export { S as SvgHttpView } from './svg-DXIM5sfc.js';
|
|
235
236
|
export { S as SwitchConfirmWrapper } from './switch-confirm-wrapper-BW9G4u03.js';
|
|
236
237
|
export { S as SwitchWrapper } from './switch-wrapper-CfxaLAKg.js';
|
|
237
|
-
export { t as tableCellRender } from './cell-render-
|
|
238
|
+
export { t as tableCellRender } from './cell-render-D4e6I9eI.js';
|
|
238
239
|
export { T as TableScrollbar } from './table-scrollbar-CBqQ4pYQ.js';
|
|
239
240
|
export { T as TableTitleTooltip } from './title-render-DGYUo6yV.js';
|
|
241
|
+
export { T as TabsSticky } from './tabs-D2IfpmxW.js';
|
|
240
242
|
export { T as TabsWrapper } from './tabs-wrapper-CAj9ErGH.js';
|
|
241
243
|
export { T as TagGroup } from './tag-group-BInmv_6s.js';
|
|
242
244
|
export { _ as TagListRender } from './tag-list-C9_bM06E.js';
|
|
@@ -249,8 +251,8 @@ export { T as TimeRangePickerWrapper } from './time-range-picker-wrapper-BpQQjbc
|
|
|
249
251
|
export { T as TimeRangePickerWrapperFormItem } from './time-range-picker-wrapper-form-item-C-4lPRGY.js';
|
|
250
252
|
export { T as TipsTitle } from './tips-title-DWwc8kJv.js';
|
|
251
253
|
export { T as TipsWrapper } from './tips-wrapper-Bf9nfZq3.js';
|
|
252
|
-
export {
|
|
253
|
-
export { T as TreeModalSelector } from './selector-
|
|
254
|
+
export { TreeModal } from './tree-modal/index.js';
|
|
255
|
+
export { T as TreeModalSelector } from './selector-CxZacuxg.js';
|
|
254
256
|
export { T as TreeSelectorWrapper } from './selector-D4LbM5wD.js';
|
|
255
257
|
export { TreeWrapper } from './tree-wrapper/index.js';
|
|
256
258
|
export { types } from './types/index.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import './index.css';
|
|
3
3
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
4
4
|
|
|
5
|
-
export { R as RadioGroupWrapper } from '../radio-group-wrapper-
|
|
5
|
+
export { R as RadioGroupWrapper } from '../radio-group-wrapper-Dip9OsdR.js';
|
|
6
6
|
import 'antd';
|
|
7
7
|
import '@flatbiz/utils';
|
|
8
8
|
import 'react/jsx-runtime';
|
|
@@ -41,6 +41,7 @@ var RadioGroupWrapper = function RadioGroupWrapper(props) {
|
|
|
41
41
|
return /*#__PURE__*/jsx(Space, {
|
|
42
42
|
size: 5,
|
|
43
43
|
wrap: true,
|
|
44
|
+
direction: props.direction,
|
|
44
45
|
children: props.options.map(function (item) {
|
|
45
46
|
return /*#__PURE__*/jsx(Radio, {
|
|
46
47
|
value: item.value,
|
|
@@ -55,4 +56,4 @@ var RadioGroupWrapper = function RadioGroupWrapper(props) {
|
|
|
55
56
|
};
|
|
56
57
|
|
|
57
58
|
export { RadioGroupWrapper as R };
|
|
58
|
-
//# sourceMappingURL=radio-group-wrapper-
|
|
59
|
+
//# sourceMappingURL=radio-group-wrapper-Dip9OsdR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio-group-wrapper-Dip9OsdR.js","sources":["@flatbiz/antd/src/radio-group-wrapper/radio-group-wrapper.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { Radio, Space } from 'antd';\nimport { valueIsEqual } from '@flatbiz/utils';\n\nexport type RadioGroupWrapperValue = string | number | boolean;\n\nexport type RadioGroupWrapperOptionItem = {\n label: string | ReactElement;\n value: RadioGroupWrapperValue;\n disabled?: boolean;\n};\n\nexport type CustomRadioGroupProps = {\n value?: RadioGroupWrapperValue;\n onChange?: (value?: RadioGroupWrapperValue) => void;\n onPreChange?: (value?: RadioGroupWrapperValue) => Promise<void>;\n options: RadioGroupWrapperOptionItem[];\n /** 是否可取消选中,默认:false */\n isCancel?: boolean;\n disabled?: boolean;\n /**方向,默认值 horizontal */\n direction?: 'horizontal' | 'vertical';\n};\n\n/**\n * RadioGroupWrapper 为了解决 RadioGroup 组件不能取消选中问题\n * @param props\n * @returns\n */\nexport const RadioGroupWrapper = (props: CustomRadioGroupProps) => {\n const onChange = async (event) => {\n const value = event.target.value;\n if (props.onPreChange) {\n await props.onPreChange(value);\n }\n props.onChange?.(value);\n };\n const onClick = (event) => {\n if (!props.isCancel) return;\n const value = event.target.value;\n if (valueIsEqual(props.value, value)) {\n props.onChange?.(undefined);\n }\n };\n return (\n <Space size={5} wrap={true} direction={props.direction}>\n {props.options.map((item) => {\n return (\n <Radio\n value={item.value}\n onClick={onClick}\n checked={props.value === item.value}\n key={String(item.value)}\n onChange={onChange}\n disabled={props.disabled || item.disabled}\n >\n {item.label}\n </Radio>\n );\n })}\n </Space>\n );\n};\n"],"names":["RadioGroupWrapper","props","onChange","event","Promise","$return","$error","_props$onChange","value","target","onPreChange","resolve","then","$await_2","$If_1","call","$boundEx","bind","onClick","isCancel","valueIsEqual","_props$onChange2","undefined","_jsx","Space","size","wrap","direction","children","options","map","item","Radio","checked","disabled","label","String"],"mappings":";;;;;;AAwBA;AACA;AACA;AACA;AACA;IACaA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,KAA4B,EAAK;AACjE,EAAA,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAUC,KAAK,EAAA;AAAZ,IAAA,OAAA,IAAAC,OAAA,CAAA,UAAAC,OAAA,EAAAC,MAAA,EAAA;MAAA,IAAAC,eAAA,EACTC,KAA0B;AAA1BA,MAAAA,KAAK,GAAGL,KAAK,CAACM,MAAM,CAACD,KAAK;MAChC,IAAIP,KAAK,CAACS,WAAW,EAAE;AACrB,QAAA,OAAAN,OAAA,CAAAO,OAAA,CAAMV,KAAK,CAACS,WAAW,CAACF,KAAK,CAAC,CAAA,CAA9BI,IAA8B,CAjCpC,UAAAC,QAAA,EAAA;UAAA,IAAI;AAAA,YAAA,OAAJC,KAAA,CAAGC,IAAI,CAAA,IAAG,CAAC;WAAF,CAAC,OAAAC,QAAA,EAAU;YAAC,OAAOV,MAAA,CAAAU,QAAK,CAAC;AAAA;AAAC,SAAA,CAAhCC,IAAI,CAAC,IAAI,CAAC,EAAAX,MAAA,CAAA;AAkCT;AAAC,MAAA,SAAAQ,KAAA,GAAA;AACD,QAAA,CAAAP,eAAA,GAAAN,KAAK,CAACC,QAAQ,MAAAK,IAAAA,IAAAA,eAAA,KAAdA,KAAAA,CAAAA,IAAAA,eAAA,CAAAQ,IAAA,CAAAd,KAAK,EAAYO,KAAK,CAAC;AAAC,QAAA,OAAAH,OAAA,EAAA;AAAA;AAAA,MAAA,OAnC5BS,KAAA,CAAGC,IAAI,CAAA,IAAG,CAAC;AAAA,KAAA,CAAA;AAoCR,GAAA;AACD,EAAA,IAAMG,OAAO,GAAG,SAAVA,OAAOA,CAAIf,KAAK,EAAK;AACzB,IAAA,IAAI,CAACF,KAAK,CAACkB,QAAQ,EAAE;AACrB,IAAA,IAAMX,KAAK,GAAGL,KAAK,CAACM,MAAM,CAACD,KAAK;IAChC,IAAIY,YAAY,CAACnB,KAAK,CAACO,KAAK,EAAEA,KAAK,CAAC,EAAE;AAAA,MAAA,IAAAa,gBAAA;AACpC,MAAA,CAAAA,gBAAA,GAAApB,KAAK,CAACC,QAAQ,MAAAmB,IAAAA,IAAAA,gBAAA,KAAdA,KAAAA,CAAAA,IAAAA,gBAAA,CAAAN,IAAA,CAAAd,KAAK,EAAYqB,SAAS,CAAC;AAC7B;GACD;EACD,oBACEC,GAAA,CAACC,KAAK,EAAA;AAACC,IAAAA,IAAI,EAAE,CAAE;AAACC,IAAAA,IAAI,EAAE,IAAK;IAACC,SAAS,EAAE1B,KAAK,CAAC0B,SAAU;IAAAC,QAAA,EACpD3B,KAAK,CAAC4B,OAAO,CAACC,GAAG,CAAC,UAACC,IAAI,EAAK;MAC3B,oBACER,GAAA,CAACS,KAAK,EAAA;QACJxB,KAAK,EAAEuB,IAAI,CAACvB,KAAM;AAClBU,QAAAA,OAAO,EAAEA,OAAQ;AACjBe,QAAAA,OAAO,EAAEhC,KAAK,CAACO,KAAK,KAAKuB,IAAI,CAACvB,KAAM;AAEpCN,QAAAA,QAAQ,EAAEA,QAAS;AACnBgC,QAAAA,QAAQ,EAAEjC,KAAK,CAACiC,QAAQ,IAAIH,IAAI,CAACG,QAAS;QAAAN,QAAA,EAEzCG,IAAI,CAACI;AAAK,OAAA,EAJNC,MAAM,CAACL,IAAI,CAACvB,KAAK,CAKjB,CAAC;KAEX;AAAC,GACG,CAAC;AAEZ;;;;"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
2
|
|
|
3
3
|
import { _ as _objectWithoutProperties, a as _slicedToArray, b as _objectSpread2 } from './_rollupPluginBabelHelpers-BYm17lo8.js';
|
|
4
|
+
import { hooks } from '@wove/react/hooks';
|
|
4
5
|
import { isObject } from '@dimjs/lang/is-object';
|
|
5
|
-
import { useState } from 'react';
|
|
6
|
+
import { useRef, useState } from 'react';
|
|
6
7
|
import { Select } from 'antd';
|
|
7
8
|
import { isUndefinedOrNull, toArray } from '@flatbiz/utils';
|
|
8
|
-
import {
|
|
9
|
+
import { TreeModal } from './tree-modal/index.js';
|
|
9
10
|
import { jsx } from 'react/jsx-runtime';
|
|
10
11
|
|
|
11
12
|
var _excluded = ["placeholder", "maxTagCount", "labelInValue"];
|
|
@@ -17,18 +18,27 @@ var _excluded = ["placeholder", "maxTagCount", "labelInValue"];
|
|
|
17
18
|
* ```
|
|
18
19
|
*/
|
|
19
20
|
var TreeModalSelector = function TreeModalSelector(props) {
|
|
21
|
+
var _otherProps$fieldName, _otherProps$fieldName2;
|
|
20
22
|
var placeholder = props.placeholder,
|
|
21
23
|
maxTagCount = props.maxTagCount,
|
|
22
24
|
labelInValue = props.labelInValue,
|
|
23
25
|
otherProps = _objectWithoutProperties(props, _excluded);
|
|
24
26
|
var placeholderFt = isUndefinedOrNull(placeholder) ? '请选择' : placeholder;
|
|
27
|
+
var dataSourceMapRef = useRef({});
|
|
28
|
+
var labelKey = ((_otherProps$fieldName = otherProps.fieldNames) === null || _otherProps$fieldName === void 0 ? void 0 : _otherProps$fieldName.label) || 'label';
|
|
29
|
+
var valueKey = ((_otherProps$fieldName2 = otherProps.fieldNames) === null || _otherProps$fieldName2 === void 0 ? void 0 : _otherProps$fieldName2.value) || 'value';
|
|
25
30
|
var _useState = useState(function () {
|
|
26
31
|
var _toArray;
|
|
27
32
|
return ((_toArray = toArray(props.value)) === null || _toArray === void 0 ? void 0 : _toArray.map(function (item) {
|
|
28
|
-
|
|
33
|
+
var _dataSourceMapRef$cur;
|
|
34
|
+
var objItems = isObject(item) ? item : {
|
|
29
35
|
label: item,
|
|
30
36
|
value: item
|
|
31
37
|
};
|
|
38
|
+
return {
|
|
39
|
+
value: objItems.value,
|
|
40
|
+
label: ((_dataSourceMapRef$cur = dataSourceMapRef.current[objItems.value]) === null || _dataSourceMapRef$cur === void 0 ? void 0 : _dataSourceMapRef$cur[labelKey]) || objItems.value
|
|
41
|
+
};
|
|
32
42
|
})) || [];
|
|
33
43
|
}),
|
|
34
44
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -62,14 +72,21 @@ var TreeModalSelector = function TreeModalSelector(props) {
|
|
|
62
72
|
return item.value;
|
|
63
73
|
}));
|
|
64
74
|
};
|
|
75
|
+
var onDataSourceChange = hooks.useCallbackRef(function (_treeDataList, mapData) {
|
|
76
|
+
dataSourceMapRef.current = mapData;
|
|
77
|
+
var result = showValues === null || showValues === void 0 ? void 0 : showValues.map(function (item) {
|
|
78
|
+
var target = mapData[item.value];
|
|
79
|
+
return target ? {
|
|
80
|
+
label: target[labelKey],
|
|
81
|
+
value: target[valueKey]
|
|
82
|
+
} : undefined;
|
|
83
|
+
}).filter(Boolean);
|
|
84
|
+
setShowValues(result);
|
|
85
|
+
});
|
|
65
86
|
return /*#__PURE__*/jsx(TreeModal, _objectSpread2(_objectSpread2({}, otherProps), {}, {
|
|
66
87
|
forceRender: true,
|
|
67
88
|
onChange: treeModalChange,
|
|
68
|
-
|
|
69
|
-
var _props$onSelectChange;
|
|
70
|
-
setShowValues(values || []);
|
|
71
|
-
(_props$onSelectChange = props.onSelectChange) === null || _props$onSelectChange === void 0 || _props$onSelectChange.call(props, values || []);
|
|
72
|
-
},
|
|
89
|
+
onDataSourceChange: onDataSourceChange,
|
|
73
90
|
children: /*#__PURE__*/jsx(Select, {
|
|
74
91
|
labelInValue: true,
|
|
75
92
|
style: {
|
|
@@ -86,4 +103,4 @@ var TreeModalSelector = function TreeModalSelector(props) {
|
|
|
86
103
|
};
|
|
87
104
|
|
|
88
105
|
export { TreeModalSelector as T };
|
|
89
|
-
//# sourceMappingURL=selector-
|
|
106
|
+
//# sourceMappingURL=selector-CxZacuxg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selector-CxZacuxg.js","sources":["@flatbiz/antd/src/tree-modal-selector/selector.tsx"],"sourcesContent":["import { useRef, useState } from 'react';\nimport { Select } from 'antd';\nimport { isObject } from '@dimjs/lang';\nimport { isUndefinedOrNull, toArray, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { TreeModal } from '../tree-modal/index.js';\nimport type {\n TreeModalProps,\n TreeModelSelectItem,\n} from '../tree-modal/types.js';\nexport type TreeModalSelectorProps = Omit<\n TreeModalProps,\n 'children' | 'forceRender' | 'onChange'\n> & {\n placeholder?: string;\n /**\n * 1. 可指定数量\n * 2. 可设置 responsive,一行自适应显示\n */\n maxTagCount?: number | 'responsive';\n /** 是否返回label+value模式 */\n labelInValue?: boolean;\n onChange?: (values?: TreeModelSelectItem[] | TreeModelSelectItem) => void;\n};\n\n/**\n * 树弹框选择器\n * ```\n * 1. 可通过 treeProps.checkableType 配置多选节点模式(包括返回所有节点、只返回叶子节点、叶子节点&父节点全选只返回父节点),默认只返回叶子节点\n * 2. demo: https://fex.qa.tcshuke.com/docs/admin/main/selector/tree\n * ```\n */\nexport const TreeModalSelector = (props: TreeModalSelectorProps) => {\n const { placeholder, maxTagCount, labelInValue, ...otherProps } = props;\n const placeholderFt = isUndefinedOrNull(placeholder) ? '请选择' : placeholder;\n\n const dataSourceMapRef = useRef<TPlainObject>({});\n\n const labelKey = otherProps.fieldNames?.label || 'label';\n const valueKey = otherProps.fieldNames?.value || 'value';\n\n const [showValues, setShowValues] = useState<TreeModelSelectItem[]>(() => {\n return (\n toArray(props.value)?.map((item) => {\n const objItems = (\n isObject(item) ? item : { label: item, value: item }\n ) as TreeModelSelectItem;\n return {\n value: objItems.value,\n label:\n dataSourceMapRef.current[objItems.value]?.[labelKey] ||\n objItems.value,\n } as TreeModelSelectItem;\n }) || []\n );\n });\n\n const onInnerChange = (value: TreeModelSelectItem[]) => {\n const valueFt = toArray(value).length ? value : undefined;\n if (otherProps.isMultiple == false) {\n props.onChange?.(valueFt?.[0]);\n } else {\n props.onChange?.(valueFt);\n }\n };\n\n const onSelectChange = (value) => {\n if (labelInValue) {\n onInnerChange(value);\n return;\n }\n\n onInnerChange(value?.map((item) => item.value));\n };\n const treeModalChange = (value) => {\n if (labelInValue) {\n onInnerChange(value);\n return;\n }\n\n onInnerChange(value?.map((item) => item.value));\n };\n\n const onDataSourceChange = hooks.useCallbackRef(\n (_treeDataList: TPlainObject[], mapData: TPlainObject) => {\n dataSourceMapRef.current = mapData;\n const result = showValues\n ?.map((item) => {\n const target = mapData[item.value];\n return target\n ? { label: target[labelKey], value: target[valueKey] }\n : undefined;\n })\n .filter(Boolean) as TreeModelSelectItem[];\n setShowValues(result);\n }\n );\n\n return (\n <TreeModal\n {...otherProps}\n forceRender={true}\n onChange={treeModalChange}\n onDataSourceChange={onDataSourceChange}\n >\n <Select\n labelInValue\n style={{ width: '100%' }}\n placeholder={placeholderFt}\n maxTagCount={maxTagCount}\n mode=\"multiple\"\n open={false}\n value={showValues}\n onChange={onSelectChange}\n />\n </TreeModal>\n );\n};\n"],"names":["TreeModalSelector","props","_otherProps$fieldName","_otherProps$fieldName2","placeholder","maxTagCount","labelInValue","otherProps","_objectWithoutProperties","_excluded","placeholderFt","isUndefinedOrNull","dataSourceMapRef","useRef","labelKey","fieldNames","label","valueKey","value","_useState","useState","_toArray","toArray","map","item","_dataSourceMapRef$cur","objItems","_isObject","current","_useState2","_slicedToArray","showValues","setShowValues","onInnerChange","valueFt","length","undefined","isMultiple","_props$onChange","onChange","call","_props$onChange2","onSelectChange","treeModalChange","onDataSourceChange","_hooks","useCallbackRef","_treeDataList","mapData","result","target","filter","Boolean","_jsx","TreeModal","_objectSpread","forceRender","children","Select","style","width","mode","open"],"mappings":"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"}
|
package/dist/styles/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.num-ff{font-family:var(--v-font-family-number)}p,ul{margin:0;padding:0}.hide{display:none}.clear-fix:after{clear:both;content:" ";display:block;font-size:0;height:0;visibility:hidden}.ant-btn-variant-dashed:disabled,.ant-btn-variant-link:disabled,.ant-btn-variant-solid:disabled,.ant-checkbox-disabled+span,.ant-input-number-outlined.ant-input-number-disabled,.ant-input-outlined.ant-input-disabled,.ant-radio-wrapper-disabled,.ant-select-multiple.ant-select-disabled .ant-select-selection-item,.ant-select-outlined.ant-select-disabled:not(.ant-select-customize-input) .ant-select-selector{color:rgba(0,0,0,.
|
|
1
|
+
.num-ff{font-family:var(--v-font-family-number)}p,ul{margin:0;padding:0}.hide{display:none}.clear-fix:after{clear:both;content:" ";display:block;font-size:0;height:0;visibility:hidden}.ant-btn-variant-dashed:disabled,.ant-btn-variant-link:disabled,.ant-btn-variant-solid:disabled,.ant-checkbox-disabled+span,.ant-input-number-outlined.ant-input-number-disabled,.ant-input-outlined.ant-input-disabled,.ant-radio-wrapper-disabled,.ant-select-multiple.ant-select-disabled .ant-select-selection-item,.ant-select-outlined.ant-select-disabled:not(.ant-select-customize-input) .ant-select-selector{color:rgba(0,0,0,.8)!important}.ant-radio-disabled .ant-radio-inner:after{background-color:rgba(0,0,0,.5)!important}.ant-checkbox-disabled .ant-checkbox-inner:after{border-color:rgba(0,0,0,.6)!important}
|
|
@@ -7,7 +7,7 @@ import './../tag-list-render/index.css';
|
|
|
7
7
|
import './index.css';
|
|
8
8
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
9
9
|
|
|
10
|
-
export { t as tableCellRender } from '../cell-render-
|
|
10
|
+
export { t as tableCellRender } from '../cell-render-D4e6I9eI.js';
|
|
11
11
|
import '@dimjs/lang/is-string';
|
|
12
12
|
import '@dimjs/lang/is-object';
|
|
13
13
|
import '@dimjs/utils/get/get';
|
|
@@ -17,7 +17,7 @@ import '@dimjs/lang/is-empty';
|
|
|
17
17
|
import 'react';
|
|
18
18
|
import 'antd';
|
|
19
19
|
import '@flatbiz/utils';
|
|
20
|
-
import '../button-operate-
|
|
20
|
+
import '../button-operate-C7NGikli.js';
|
|
21
21
|
import '@ant-design/icons/es/icons/MoreOutlined.js';
|
|
22
22
|
import '@dimjs/lang/is-undefined';
|
|
23
23
|
import '@dimjs/utils/class-names/class-names';
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
+
|
|
3
|
+
import { a as _slicedToArray, b as _objectSpread2 } from './_rollupPluginBabelHelpers-BYm17lo8.js';
|
|
4
|
+
import { useState, useRef, useEffect, useMemo } from 'react';
|
|
5
|
+
import { useSize } from 'ahooks';
|
|
6
|
+
import { Affix, Tabs } from 'antd';
|
|
7
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Tabs吸顶组件
|
|
11
|
+
* ```
|
|
12
|
+
* 1. 组件根节点设置了 height: 100%、overflow: auto;所以外部包裹元素必须要有高度
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
var TabsSticky = function TabsSticky(props) {
|
|
16
|
+
var tabsProps = props.tabsProps;
|
|
17
|
+
var _useState = useState(tabsProps.defaultActiveKey),
|
|
18
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
19
|
+
activeKey = _useState2[0],
|
|
20
|
+
setActiveKey = _useState2[1];
|
|
21
|
+
var headerRef = useRef(null);
|
|
22
|
+
var affixRef = useRef(null);
|
|
23
|
+
var affixedFlagRef = useRef();
|
|
24
|
+
var headerSize = useSize(headerRef);
|
|
25
|
+
var scollNodeRef = useRef(null);
|
|
26
|
+
var scollNodeSize = useSize(scollNodeRef);
|
|
27
|
+
var affixRefSize = useSize(affixRef);
|
|
28
|
+
useEffect(function () {
|
|
29
|
+
if (tabsProps.activeKey) {
|
|
30
|
+
setActiveKey(tabsProps.activeKey);
|
|
31
|
+
}
|
|
32
|
+
}, [tabsProps.activeKey]);
|
|
33
|
+
var onChange = function onChange(activeKey) {
|
|
34
|
+
var _tabsProps$onChange;
|
|
35
|
+
if (!tabsProps.activeKey) {
|
|
36
|
+
setActiveKey(activeKey);
|
|
37
|
+
}
|
|
38
|
+
(_tabsProps$onChange = tabsProps.onChange) === null || _tabsProps$onChange === void 0 || _tabsProps$onChange.call(tabsProps, activeKey);
|
|
39
|
+
var top = (headerSize === null || headerSize === void 0 ? void 0 : headerSize.height) || 0;
|
|
40
|
+
if (affixedFlagRef.current) {
|
|
41
|
+
var _scollNodeRef$current;
|
|
42
|
+
(_scollNodeRef$current = scollNodeRef.current) === null || _scollNodeRef$current === void 0 || _scollNodeRef$current.scrollTo({
|
|
43
|
+
top: top
|
|
44
|
+
});
|
|
45
|
+
} else {
|
|
46
|
+
if (props.clickTabToTop !== false) {
|
|
47
|
+
var _scollNodeRef$current2;
|
|
48
|
+
(_scollNodeRef$current2 = scollNodeRef.current) === null || _scollNodeRef$current2 === void 0 || _scollNodeRef$current2.scrollTo({
|
|
49
|
+
top: top
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
var minHeight = ((scollNodeSize === null || scollNodeSize === void 0 ? void 0 : scollNodeSize.height) || 0) - ((affixRefSize === null || affixRefSize === void 0 ? void 0 : affixRefSize.height) || 0);
|
|
55
|
+
var stickyTabItems = useMemo(function () {
|
|
56
|
+
var _tabsProps$items;
|
|
57
|
+
return (_tabsProps$items = tabsProps.items) === null || _tabsProps$items === void 0 ? void 0 : _tabsProps$items.map(function (item) {
|
|
58
|
+
return _objectSpread2(_objectSpread2({}, item), {}, {
|
|
59
|
+
children: null
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
}, [tabsProps.items]);
|
|
63
|
+
var contentTabItems = useMemo(function () {
|
|
64
|
+
var _tabsProps$items2;
|
|
65
|
+
return (_tabsProps$items2 = tabsProps.items) === null || _tabsProps$items2 === void 0 ? void 0 : _tabsProps$items2.map(function (item) {
|
|
66
|
+
return _objectSpread2(_objectSpread2({}, item), {}, {
|
|
67
|
+
children: /*#__PURE__*/jsx("div", {
|
|
68
|
+
style: {
|
|
69
|
+
minHeight: minHeight
|
|
70
|
+
},
|
|
71
|
+
children: item.children
|
|
72
|
+
})
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
}, [tabsProps.items, minHeight]);
|
|
76
|
+
return /*#__PURE__*/jsxs("div", {
|
|
77
|
+
ref: scollNodeRef,
|
|
78
|
+
style: {
|
|
79
|
+
height: '100%',
|
|
80
|
+
overflowY: 'auto'
|
|
81
|
+
},
|
|
82
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
83
|
+
ref: headerRef,
|
|
84
|
+
children: props.headerRender
|
|
85
|
+
}), /*#__PURE__*/jsx(Affix, {
|
|
86
|
+
offsetTop: 0,
|
|
87
|
+
target: function target() {
|
|
88
|
+
return scollNodeRef.current;
|
|
89
|
+
},
|
|
90
|
+
onChange: function onChange(affixed) {
|
|
91
|
+
affixedFlagRef.current = affixed;
|
|
92
|
+
},
|
|
93
|
+
children: /*#__PURE__*/jsx("div", {
|
|
94
|
+
ref: affixRef,
|
|
95
|
+
children: /*#__PURE__*/jsx(Tabs, _objectSpread2(_objectSpread2({}, tabsProps), {}, {
|
|
96
|
+
activeKey: activeKey,
|
|
97
|
+
items: stickyTabItems,
|
|
98
|
+
tabBarStyle: _objectSpread2(_objectSpread2({}, tabsProps.tabBarStyle), {}, {
|
|
99
|
+
margin: 0
|
|
100
|
+
}),
|
|
101
|
+
style: _objectSpread2({
|
|
102
|
+
backgroundColor: 'var(--block-bg-color)'
|
|
103
|
+
}, tabsProps.style),
|
|
104
|
+
onChange: onChange
|
|
105
|
+
}))
|
|
106
|
+
})
|
|
107
|
+
}), /*#__PURE__*/jsx(Tabs, {
|
|
108
|
+
activeKey: activeKey,
|
|
109
|
+
className: "tabs-sticky-contents",
|
|
110
|
+
items: contentTabItems
|
|
111
|
+
})]
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
export { TabsSticky as T };
|
|
116
|
+
//# sourceMappingURL=tabs-D2IfpmxW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs-D2IfpmxW.js","sources":["@flatbiz/antd/src/tabs-sticky/tabs.tsx"],"sourcesContent":["import { type ReactElement, useEffect, useMemo, useRef, useState } from 'react';\nimport { useSize } from 'ahooks';\nimport { Affix, type GetProps, Tabs } from 'antd';\nimport './style.less';\n\ntype TabsType = GetProps<typeof Tabs>;\n\nexport type TabsStickyProps = {\n tabsProps: TabsType;\n /** tabs头部布局 */\n headerRender?: ReactElement;\n /** 点击tabItem后,tab跳到顶部吸顶效果;默认值true */\n clickTabToTop?: boolean;\n};\n\n/**\n * Tabs吸顶组件\n * ```\n * 1. 组件根节点设置了 height: 100%、overflow: auto;所以外部包裹元素必须要有高度\n * ```\n */\nexport const TabsSticky = (props: TabsStickyProps) => {\n const tabsProps = props.tabsProps;\n\n const [activeKey, setActiveKey] = useState(tabsProps.defaultActiveKey);\n const headerRef = useRef<HTMLDivElement>(null);\n const affixRef = useRef<any>(null);\n const affixedFlagRef = useRef<boolean>();\n\n const headerSize = useSize(headerRef);\n\n const scollNodeRef = useRef<any>(null);\n\n const scollNodeSize = useSize(scollNodeRef);\n const affixRefSize = useSize(affixRef);\n\n useEffect(() => {\n if (tabsProps.activeKey) {\n setActiveKey(tabsProps.activeKey);\n }\n }, [tabsProps.activeKey]);\n\n const onChange = (activeKey) => {\n if (!tabsProps.activeKey) {\n setActiveKey(activeKey);\n }\n tabsProps.onChange?.(activeKey);\n const top = headerSize?.height || 0;\n if (affixedFlagRef.current) {\n scollNodeRef.current?.scrollTo({\n top,\n });\n } else {\n if (props.clickTabToTop !== false) {\n scollNodeRef.current?.scrollTo({\n top,\n });\n }\n }\n };\n\n const minHeight = (scollNodeSize?.height || 0) - (affixRefSize?.height || 0);\n\n const stickyTabItems = useMemo(() => {\n return tabsProps.items?.map((item) => {\n return {\n ...item,\n children: null,\n };\n });\n }, [tabsProps.items]);\n\n const contentTabItems = useMemo(() => {\n return tabsProps.items?.map((item) => {\n return {\n ...item,\n children: <div style={{ minHeight }}>{item.children}</div>,\n };\n });\n }, [tabsProps.items, minHeight]);\n\n return (\n <div ref={scollNodeRef} style={{ height: '100%', overflowY: 'auto' }}>\n <div ref={headerRef}>{props.headerRender}</div>\n <Affix\n offsetTop={0}\n target={() => scollNodeRef.current as HTMLElement}\n onChange={(affixed) => {\n affixedFlagRef.current = affixed;\n }}\n >\n <div ref={affixRef}>\n <Tabs\n {...tabsProps}\n activeKey={activeKey}\n items={stickyTabItems}\n tabBarStyle={{ ...tabsProps.tabBarStyle, margin: 0 }}\n style={{\n backgroundColor: 'var(--block-bg-color)',\n ...tabsProps.style,\n }}\n onChange={onChange}\n />\n </div>\n </Affix>\n <Tabs\n activeKey={activeKey}\n className=\"tabs-sticky-contents\"\n items={contentTabItems}\n />\n </div>\n );\n};\n"],"names":["TabsSticky","props","tabsProps","_useState","useState","defaultActiveKey","_useState2","_slicedToArray","activeKey","setActiveKey","headerRef","useRef","affixRef","affixedFlagRef","headerSize","useSize","scollNodeRef","scollNodeSize","affixRefSize","useEffect","onChange","_tabsProps$onChange","call","top","height","current","_scollNodeRef$current","scrollTo","clickTabToTop","_scollNodeRef$current2","minHeight","stickyTabItems","useMemo","_tabsProps$items","items","map","item","_objectSpread","children","contentTabItems","_tabsProps$items2","_jsx","style","_jsxs","ref","overflowY","headerRender","Affix","offsetTop","target","affixed","Tabs","tabBarStyle","margin","backgroundColor","className"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.tabs-sticky-contents>.ant-tabs-nav{display:none}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { GetProps, Tabs } from 'antd';
|
|
2
|
+
import { ReactElement } from 'react';
|
|
3
|
+
|
|
4
|
+
export type TabsType = GetProps<typeof Tabs>;
|
|
5
|
+
export type TabsStickyProps = {
|
|
6
|
+
tabsProps: TabsType;
|
|
7
|
+
/** tabs头部布局 */
|
|
8
|
+
headerRender?: ReactElement;
|
|
9
|
+
/** 点击tabItem后,tab跳到顶部吸顶效果;默认值true */
|
|
10
|
+
clickTabToTop?: boolean;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Tabs吸顶组件
|
|
14
|
+
* ```
|
|
15
|
+
* 1. 组件根节点设置了 height: 100%、overflow: auto;所以外部包裹元素必须要有高度
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare const TabsSticky: (props: TabsStickyProps) => import("react").JSX.Element;
|
|
19
|
+
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import './index.css';
|
|
3
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
4
|
+
|
|
5
|
+
export { T as TabsSticky } from '../tabs-D2IfpmxW.js';
|
|
6
|
+
import '../_rollupPluginBabelHelpers-BYm17lo8.js';
|
|
7
|
+
import 'react';
|
|
8
|
+
import 'ahooks';
|
|
9
|
+
import 'antd';
|
|
10
|
+
import 'react/jsx-runtime';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -367,13 +367,10 @@ export type TreeModelSelectItem = {
|
|
|
367
367
|
value: string | number;
|
|
368
368
|
};
|
|
369
369
|
export type TreeModelSelectValue = TreeModelSelectItem[] | Array<TreeModelSelectItem["value"]> | TreeModelSelectItem["value"];
|
|
370
|
-
export type
|
|
370
|
+
export type TreeModalContentProps = {
|
|
371
371
|
/** 是否多选,默认值:true */
|
|
372
372
|
isMultiple?: boolean;
|
|
373
373
|
forceRender?: boolean;
|
|
374
|
-
children: ReactElement & {
|
|
375
|
-
onClick?: (e: any) => void | Promise<void>;
|
|
376
|
-
};
|
|
377
374
|
/**
|
|
378
375
|
* 内置尺寸,根据比例固定高度、宽度,默认:large
|
|
379
376
|
*/
|
|
@@ -395,21 +392,19 @@ export type TreeModalProps = {
|
|
|
395
392
|
/** 选择数量提示,例如:已选择{total}位用户 */
|
|
396
393
|
selectQuantityPrompt?: string;
|
|
397
394
|
};
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
395
|
+
onDataSourceChange?: (treeDataList: TPlainObject[], mapData: TPlainObject) => void;
|
|
396
|
+
treeProps?: Pick<TreeWrapperProps, "showSearch" | "searchResultType" | "searchPlaceholder" | "searchValue" | "loadDataFlag" | "loadDataServiceConfig" | "icon" | "disabledCanUse" | "treeItemDataAdapter" | "searchExtraElement" | "initRootExpand" | "searchResultType" | "labelRender" | "customSearchRule" | "checkableType" | "checkStrictly" | "defaultExpandAll">;
|
|
397
|
+
};
|
|
398
|
+
export type TreeModalProps = TreeModalContentProps & {
|
|
399
|
+
children: ReactElement & {
|
|
400
|
+
onClick?: (e: any) => void | Promise<void>;
|
|
401
|
+
};
|
|
401
402
|
modalClassName?: string;
|
|
402
403
|
modalWidth?: number;
|
|
403
404
|
modalBodyHeight?: number;
|
|
404
|
-
treeProps?: Pick<TreeWrapperProps, "showSearch" | "searchResultType" | "searchPlaceholder" | "searchValue" | "loadDataFlag" | "loadDataServiceConfig" | "icon" | "disabledCanUse" | "treeItemDataAdapter" | "searchExtraElement" | "initRootExpand" | "searchResultType" | "labelRender" | "customSearchRule" | "checkableType">;
|
|
405
405
|
};
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
* 1. 可通过 treeProps.checkableType 配置多选节点模式(包括返回所有节点、只返回叶子节点、叶子节点&父节点全选只返回父节点),默认只返回叶子节点
|
|
410
|
-
* 2. demo: https://fex.qa.tcshuke.com/docs/admin/main/selector/tree
|
|
411
|
-
* ```
|
|
412
|
-
*/
|
|
413
|
-
export declare const TreeModal: (props: TreeModalProps) => import("react").JSX.Element;
|
|
406
|
+
export declare const TreeModal: ((props: TreeModalProps) => import("react").JSX.Element) & {
|
|
407
|
+
Content: (props: TreeModalContentProps) => import("react").JSX.Element;
|
|
408
|
+
};
|
|
414
409
|
|
|
415
410
|
export {};
|