@para-ui/core 3.0.55 → 3.0.57
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/AutoBox/index.d.ts +34 -0
- package/AutoBox/index.js +277 -0
- package/AutoBox/protal.d.ts +17 -0
- package/AutoTips/autoTipsMultiline/index.d.ts +18 -0
- package/AutoTips/index.d.ts +35 -0
- package/AutoTips/index.js +271 -0
- package/Breadcrumbs/index.d.ts +53 -0
- package/Breadcrumbs/index.js +266 -0
- package/Breadcrumbs/lang/en_US.d.ts +4 -0
- package/Breadcrumbs/lang/index.d.ts +9 -0
- package/Breadcrumbs/lang/zh_CN.d.ts +4 -0
- package/Button/SplitButton.d.ts +64 -0
- package/Button/index.d.ts +79 -0
- package/Button/index.js +376 -0
- package/Button/lang/en_US.d.ts +4 -0
- package/Button/lang/index.d.ts +9 -0
- package/Button/lang/zh_CN.d.ts +4 -0
- package/ButtonGroup/index.d.ts +33 -0
- package/ButtonGroup/index.js +124 -0
- package/Carousel/index.d.ts +38 -0
- package/Carousel/index.js +78 -0
- package/Cascader/index.d.ts +54 -0
- package/Cascader/index.js +159 -0
- package/Cascader/lang/en_US.d.ts +4 -0
- package/Cascader/lang/index.d.ts +9 -0
- package/Cascader/lang/zh_CN.d.ts +4 -0
- package/Checkbox/index.d.ts +40 -0
- package/Checkbox/index.js +109 -0
- package/CheckboxGroup/index.d.ts +45 -0
- package/CheckboxGroup/index.js +142 -0
- package/Collapse/collapsePanel.d.ts +30 -0
- package/Collapse/index.d.ts +57 -0
- package/Collapse/index.js +152 -0
- package/Collapse/motion.d.ts +5 -0
- package/Collapse/util.d.ts +11 -0
- package/CollapseBox/index.d.ts +27 -0
- package/CollapseBox/index.js +148 -0
- package/CollapseBox/util.d.ts +5 -0
- package/CollapseLayout/index.d.ts +53 -0
- package/CollapseLayout/index.js +176 -0
- package/ColorPicker/index.d.ts +4 -0
- package/ColorPicker/index.js +4 -0
- package/ComboSelect/index.d.ts +6 -0
- package/ComboSelect/index.js +1049 -0
- package/ComboSelect/interface.d.ts +146 -0
- package/ComboSelect/lang/en_US.d.ts +9 -0
- package/ComboSelect/lang/index.d.ts +19 -0
- package/ComboSelect/lang/zh_CN.d.ts +9 -0
- package/ComboSelect/utils.d.ts +9 -0
- package/Container/index.d.ts +77 -0
- package/Container/index.js +232 -0
- package/DatePicker/PickerButton.d.ts +3 -0
- package/DatePicker/PickerTag.d.ts +3 -0
- package/DatePicker/generatePicker/generateRangePicker.d.ts +4 -0
- package/DatePicker/generatePicker/generateSinglePicker.d.ts +11 -0
- package/DatePicker/generatePicker/index.d.ts +95 -0
- package/DatePicker/index.d.ts +18 -0
- package/DatePicker/index.js +633 -0
- package/DatePicker/lang/en_US.d.ts +3 -0
- package/DatePicker/lang/index.d.ts +7 -0
- package/DatePicker/lang/zh_CN.d.ts +3 -0
- package/DatePicker/util.d.ts +22 -0
- package/Desktop/index.d.ts +57 -0
- package/Desktop/index.js +746 -0
- package/DragVerify/index.d.ts +36 -0
- package/DragVerify/index.js +385 -0
- package/DragVerify/lang/en_US.d.ts +5 -0
- package/DragVerify/lang/index.d.ts +11 -0
- package/DragVerify/lang/zh_CN.d.ts +5 -0
- package/Drawer/index.d.ts +11 -0
- package/Drawer/index.js +235 -0
- package/Drawer/interface.d.ts +92 -0
- package/Drawer/lang/en_US.d.ts +5 -0
- package/Drawer/lang/index.d.ts +11 -0
- package/Drawer/lang/zh_CN.d.ts +5 -0
- package/Dropdown/index.d.ts +40 -0
- package/Dropdown/index.js +10 -0
- package/DynamicMultiBox/formItem.d.ts +14 -0
- package/DynamicMultiBox/index.d.ts +5 -0
- package/DynamicMultiBox/index.js +1341 -0
- package/DynamicMultiBox/interface.d.ts +165 -0
- package/DynamicMultiBox/rowForm.d.ts +24 -0
- package/Empty/images/index.d.ts +3 -0
- package/Empty/index.d.ts +30 -0
- package/Empty/index.js +642 -0
- package/Empty/lang/en_US.d.ts +6 -0
- package/Empty/lang/index.d.ts +13 -0
- package/Empty/lang/zh_CN.d.ts +6 -0
- package/Form/index.d.ts +187 -0
- package/Form/index.js +355 -0
- package/FormItem/compoments/defaultCompoments/index.d.ts +19 -0
- package/FormItem/compoments/formCheckboxGroup/index.d.ts +8 -0
- package/FormItem/compoments/formFile/index.d.ts +38 -0
- package/FormItem/compoments/formRadioGroup/index.d.ts +8 -0
- package/FormItem/compoments/formSelect/index.d.ts +18 -0
- package/FormItem/errorTips.d.ts +12 -0
- package/FormItem/index.d.ts +152 -0
- package/FormItem/index.js +78 -0
- package/FormItem/itemType.d.ts +42 -0
- package/FormItem/validateFunction.d.ts +15 -0
- package/FunctionModal/dialog.d.ts +58 -0
- package/FunctionModal/index.d.ts +8 -0
- package/FunctionModal/index.js +43 -0
- package/FunctionModal/modalContext.d.ts +15 -0
- package/GlobalContext/componentsProps.d.ts +21 -0
- package/GlobalContext/confirmLocale.d.ts +7 -0
- package/GlobalContext/constant.d.ts +8 -0
- package/GlobalContext/index.d.ts +28 -0
- package/GlobalContext/index.js +41 -0
- package/GlobalContext/intl.d.ts +34 -0
- package/GlobalContext/useFormatMessage.d.ts +3 -0
- package/GlobalContext/usePopupContainer.d.ts +4 -0
- package/Help/index.d.ts +24 -0
- package/Help/index.js +41 -0
- package/HelperText/index.d.ts +27 -0
- package/HelperText/index.js +34 -0
- package/Hooks/useGlobalProps.d.ts +1 -0
- package/InputLang/index.d.ts +57 -0
- package/InputLang/index.js +361 -0
- package/InputNumber/index.d.ts +71 -0
- package/InputNumber/index.js +277 -0
- package/Label/index.d.ts +37 -0
- package/Label/index.js +85 -0
- package/Loading/index.d.ts +17 -0
- package/Loading/index.js +47 -0
- package/Menu/footerExpansion.d.ts +9 -0
- package/Menu/index.d.ts +10 -0
- package/Menu/index.js +1105 -0
- package/Menu/interface.d.ts +141 -0
- package/Menu/logo.d.ts +9 -0
- package/Menu/verticalMenuList.d.ts +14 -0
- package/Message/index.d.ts +99 -0
- package/Message/index.js +246 -0
- package/Modal/Confirm/index.d.ts +65 -0
- package/Modal/index.d.ts +99 -0
- package/Modal/index.js +421 -0
- package/Modal/lang/en_US.d.ts +5 -0
- package/Modal/lang/index.d.ts +11 -0
- package/Modal/lang/zh_CN.d.ts +5 -0
- package/MultiBox/index.d.ts +60 -0
- package/MultiBox/index.js +277 -0
- package/MultiBox/lang/en_US.d.ts +4 -0
- package/MultiBox/lang/index.d.ts +9 -0
- package/MultiBox/lang/zh_CN.d.ts +4 -0
- package/Notification/index.d.ts +74 -0
- package/Notification/index.js +252 -0
- package/OperateBtn/index.d.ts +59 -0
- package/OperateBtn/index.js +237 -0
- package/OperateBtn/lang/en_US.d.ts +4 -0
- package/OperateBtn/lang/index.d.ts +9 -0
- package/OperateBtn/lang/zh_CN.d.ts +4 -0
- package/PageHeader/horizontalMeun.d.ts +9 -0
- package/PageHeader/horizontalMeunRight.d.ts +9 -0
- package/PageHeader/index.d.ts +10 -0
- package/PageHeader/index.js +1050 -0
- package/PageHeader/interface.d.ts +169 -0
- package/Pagination/index.d.ts +46 -0
- package/Pagination/index.js +461 -0
- package/Pagination/lang/en_US.d.ts +8 -0
- package/Pagination/lang/index.d.ts +17 -0
- package/Pagination/lang/zh_CN.d.ts +8 -0
- package/ParauiProvider/index.d.ts +8 -0
- package/ParauiProvider/index.js +52 -0
- package/PasswordRules/index.d.ts +55 -0
- package/PasswordRules/index.js +144 -0
- package/PopConfirm/index.d.ts +61 -0
- package/PopConfirm/index.js +194 -0
- package/PopConfirm/lang/en_US.d.ts +5 -0
- package/PopConfirm/lang/index.d.ts +11 -0
- package/PopConfirm/lang/zh_CN.d.ts +5 -0
- package/Popover/index.d.ts +16 -0
- package/Popover/index.js +59 -0
- package/Progress/Line.d.ts +47 -0
- package/Progress/Steps.d.ts +17 -0
- package/Progress/index.d.ts +83 -0
- package/Progress/index.js +323 -0
- package/Progress/utils.d.ts +6 -0
- package/Querying/images/index.d.ts +3 -0
- package/Querying/index.d.ts +26 -0
- package/Querying/index.js +760 -0
- package/Querying/lang/en_US.d.ts +4 -0
- package/Querying/lang/index.d.ts +9 -0
- package/Querying/lang/zh_CN.d.ts +4 -0
- package/README.md +12 -0
- package/Radio/index.d.ts +38 -0
- package/Radio/index.js +97 -0
- package/RadioGroup/index.d.ts +46 -0
- package/RadioGroup/index.js +134 -0
- package/Search/index.d.ts +57 -0
- package/Search/index.js +208 -0
- package/Select/index.d.ts +93 -0
- package/Select/index.js +1146 -0
- package/Select/lang/en_US.d.ts +5 -0
- package/Select/lang/index.d.ts +11 -0
- package/Select/lang/zh_CN.d.ts +5 -0
- package/SelectInput/index.d.ts +12 -0
- package/SelectInput/index.js +55 -0
- package/Selector/index.d.ts +11 -0
- package/Selector/index.js +2175 -0
- package/Selector/interface.d.ts +432 -0
- package/Selector/lang/en_US.d.ts +11 -0
- package/Selector/lang/index.d.ts +23 -0
- package/Selector/lang/zh_CN.d.ts +11 -0
- package/Selector/selectorData/index.d.ts +10 -0
- package/Selector/selectorMain/index.d.ts +10 -0
- package/Selector/selectorNode/index.d.ts +10 -0
- package/Selector/util.d.ts +15 -0
- package/SelectorPicker/index.d.ts +53 -0
- package/SelectorPicker/index.js +444 -0
- package/SelectorPicker/lang/en_US.d.ts +5 -0
- package/SelectorPicker/lang/index.d.ts +11 -0
- package/SelectorPicker/lang/zh_CN.d.ts +5 -0
- package/SingleBox/index.d.ts +44 -0
- package/SingleBox/index.js +224 -0
- package/SingleBox/lang/en_US.d.ts +4 -0
- package/SingleBox/lang/index.d.ts +9 -0
- package/SingleBox/lang/zh_CN.d.ts +4 -0
- package/Slider/index.d.ts +14 -0
- package/Slider/index.js +119 -0
- package/Slider/interface.d.ts +102 -0
- package/Split/index.d.ts +7 -0
- package/Split/index.js +123 -0
- package/Status/index.d.ts +21 -0
- package/Status/index.js +37 -0
- package/Stepper/icons.d.ts +5 -0
- package/Stepper/index.d.ts +59 -0
- package/Stepper/index.js +97 -0
- package/Switch/index.d.ts +78 -0
- package/Switch/index.js +71 -0
- package/Table/index.d.ts +10 -0
- package/Table/index.js +3001 -0
- package/Table/interface.d.ts +346 -0
- package/Table/lang/en_US.d.ts +8 -0
- package/Table/lang/index.d.ts +17 -0
- package/Table/lang/zh_CN.d.ts +8 -0
- package/Table/tableBody.d.ts +9 -0
- package/Table/tableBodyElement/index.d.ts +15 -0
- package/Table/tableBodyInterface.d.ts +73 -0
- package/Table/tableContainer/index.d.ts +16 -0
- package/Table/tableElement/index.d.ts +17 -0
- package/Table/tableHead.d.ts +9 -0
- package/Table/tableHeadElement/index.d.ts +15 -0
- package/Table/tableHeadInterface.d.ts +37 -0
- package/Table/tablePagination.d.ts +9 -0
- package/Table/tablePaginationInterface.d.ts +27 -0
- package/Table/tdElement/index.d.ts +15 -0
- package/Table/thElement/index.d.ts +28 -0
- package/Table/trElement/index.d.ts +15 -0
- package/Table/util.d.ts +34 -0
- package/Tabs/index.d.ts +69 -0
- package/Tabs/index.js +205 -0
- package/Tabs/lang/en_US.d.ts +4 -0
- package/Tabs/lang/index.d.ts +9 -0
- package/Tabs/lang/zh_CN.d.ts +4 -0
- package/Tag/TagGroup.d.ts +66 -0
- package/Tag/index.d.ts +34 -0
- package/Tag/index.js +259 -0
- package/TextEditor/common.d.ts +11 -0
- package/TextEditor/index.d.ts +127 -0
- package/TextEditor/index.js +286 -0
- package/TextField/index.d.ts +90 -0
- package/TextField/index.js +611 -0
- package/TimePicker/index.d.ts +22 -0
- package/TimePicker/index.js +80 -0
- package/TimePicker/locale/en_US.d.ts +3 -0
- package/TimePicker/locale/zh_CN.d.ts +3 -0
- package/TimePicker/style/index.d.ts +1 -0
- package/Timeline/TimelineItem.d.ts +30 -0
- package/Timeline/index.d.ts +32 -0
- package/Timeline/index.js +148 -0
- package/Title/index.d.ts +30 -0
- package/Title/index.js +50 -0
- package/ToggleButton/ToggleButtonGroup.d.ts +49 -0
- package/ToggleButton/index.d.ts +49 -0
- package/ToggleButton/index.js +193 -0
- package/Tooltip/index.d.ts +11 -0
- package/Tooltip/index.js +368 -0
- package/Tooltip/interface.d.ts +35 -0
- package/Tooltip/utils.d.ts +18 -0
- package/Transfer/box.d.ts +38 -0
- package/Transfer/index.d.ts +32 -0
- package/Transfer/index.js +611 -0
- package/Transfer/lang/en_US.d.ts +10 -0
- package/Transfer/lang/index.d.ts +21 -0
- package/Transfer/lang/zh_CN.d.ts +10 -0
- package/Transfer/useClick.d.ts +3 -0
- package/Tree/OperateBar/index.d.ts +13 -0
- package/Tree/Tree.d.ts +4 -0
- package/Tree/index.d.ts +5 -0
- package/Tree/index.js +38 -0
- package/Tree/interface.d.ts +210 -0
- package/Tree/lang/en_US.d.ts +8 -0
- package/Tree/lang/index.d.ts +17 -0
- package/Tree/lang/zh_CN.d.ts +8 -0
- package/Tree/utils/closestPolyfill.d.ts +0 -0
- package/Tree/utils/tools.d.ts +25 -0
- package/Tree/utils/treeUtil.d.ts +15 -0
- package/Upload/Dragger/index.d.ts +10 -0
- package/Upload/ErroTip/index.d.ts +13 -0
- package/Upload/ImageUpload/index.d.ts +16 -0
- package/Upload/ImgCrop/EasyCrop.d.ts +17 -0
- package/Upload/ImgCrop/constants.d.ts +7 -0
- package/Upload/ImgCrop/index.d.ts +6 -0
- package/Upload/ImgCrop/interface.d.ts +48 -0
- package/Upload/UploadList/index.d.ts +5 -0
- package/Upload/index.d.ts +15 -0
- package/Upload/index.js +1446 -0
- package/Upload/interface.d.ts +136 -0
- package/Upload/lang/en_US.d.ts +12 -0
- package/Upload/lang/index.d.ts +25 -0
- package/Upload/lang/zh_CN.d.ts +12 -0
- package/_verture/constant-66aa48a1.js +10 -0
- package/_verture/defineProperty-62acccfc.js +34 -0
- package/_verture/index-74f820ba.js +1355 -0
- package/_verture/index-77f9e0fb.js +236 -0
- package/_verture/index-a369ca3f.js +4 -0
- package/_verture/index-beef914f.js +340 -0
- package/_verture/index-d03136d4.js +711 -0
- package/_verture/index-e2881a53.js +16 -0
- package/_verture/intl-5cbb940c.js +57 -0
- package/_verture/modalContext-92bb0e16.js +201 -0
- package/_verture/slicedToArray-76060636.js +43 -0
- package/_verture/sortable.esm-49896035.js +3791 -0
- package/_verture/style-inject.es-300983ab.js +28 -0
- package/_verture/toConsumableArray-81040c9e.js +19 -0
- package/_verture/tslib.es6-55ed4bd2.js +38 -0
- package/_verture/typeof-498dd2b1.js +11 -0
- package/_verture/unsupportedIterableToArray-cb478f24.js +16 -0
- package/_verture/useFormatMessage-703f8b20.js +20 -0
- package/_verture/useGlobalProps-1b846a65.js +11 -0
- package/_verture/usePopupContainer-87febeb9.js +68 -0
- package/_verture/util-7e1fb1e2.js +18 -0
- package/index.d.ts +144 -0
- package/index.js +180 -0
- package/package.json +1 -1
- package/umd/AutoBox.js +43 -0
- package/umd/AutoTips.js +15 -0
- package/umd/Breadcrumbs.js +42 -0
- package/umd/Button.js +43 -0
- package/umd/ButtonGroup.js +43 -0
- package/umd/Carousel.js +6 -0
- package/umd/Cascader.js +43 -0
- package/umd/Checkbox.js +42 -0
- package/umd/CheckboxGroup.js +42 -0
- package/umd/Collapse.js +43 -0
- package/umd/CollapseBox.js +1 -0
- package/umd/CollapseLayout.js +29 -0
- package/umd/ColorPicker.js +1 -0
- package/umd/ComboSelect.js +42 -0
- package/umd/Container.js +1 -0
- package/umd/DatePicker.js +42 -0
- package/umd/Desktop.js +42 -0
- package/umd/DragVerify.js +28 -0
- package/umd/Drawer.js +43 -0
- package/umd/Dropdown.js +15 -0
- package/umd/DynamicMultiBox.js +54 -0
- package/umd/Empty.js +15 -0
- package/umd/Form.js +42 -0
- package/umd/FormItem.js +42 -0
- package/umd/FunctionModal.js +42 -0
- package/umd/GlobalContext.js +1 -0
- package/umd/Help.js +42 -0
- package/umd/HelperText.js +1 -0
- package/umd/InputLang.js +42 -0
- package/umd/InputNumber.js +42 -0
- package/umd/Label.js +42 -0
- package/umd/Loading.js +29 -0
- package/umd/Menu.js +29 -0
- package/umd/Message.js +30 -0
- package/umd/Modal.js +42 -0
- package/umd/MultiBox.js +42 -0
- package/umd/Notification.js +43 -0
- package/umd/OperateBtn.js +42 -0
- package/umd/PageHeader.js +42 -0
- package/umd/Pagination.js +42 -0
- package/umd/ParauiProvider.js +15 -0
- package/umd/PasswordRules.js +29 -0
- package/umd/PopConfirm.js +42 -0
- package/umd/Popover.js +15 -0
- package/umd/Progress.js +35 -0
- package/umd/Querying.js +15 -0
- package/umd/Radio.js +42 -0
- package/umd/RadioGroup.js +42 -0
- package/umd/Search.js +42 -0
- package/umd/Select.js +42 -0
- package/umd/SelectInput.js +42 -0
- package/umd/Selector.js +42 -0
- package/umd/SelectorPicker.js +42 -0
- package/umd/SingleBox.js +42 -0
- package/umd/Slider.js +15 -0
- package/umd/Split.js +1 -0
- package/umd/Status.js +1 -0
- package/umd/Stepper.js +42 -0
- package/umd/Switch.js +42 -0
- package/umd/Table.js +42 -0
- package/umd/Tabs.js +42 -0
- package/umd/Tag.js +43 -0
- package/umd/TextEditor.js +205 -0
- package/umd/TextField.js +42 -0
- package/umd/TimePicker.js +42 -0
- package/umd/Timeline.js +1 -0
- package/umd/Title.js +1 -0
- package/umd/ToggleButton.js +43 -0
- package/umd/Tooltip.js +15 -0
- package/umd/Transfer.js +49 -0
- package/umd/Tree.js +42 -0
- package/umd/Upload.js +56 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author linhd
|
|
3
|
+
* @date 2021/8/9 16:16
|
|
4
|
+
* @description 超出自适应盒子
|
|
5
|
+
*/
|
|
6
|
+
import React, { FunctionComponent, ReactNode } from 'react';
|
|
7
|
+
import './index.scss';
|
|
8
|
+
export interface AutoBoxProps {
|
|
9
|
+
/** 样式class */
|
|
10
|
+
className?: string;
|
|
11
|
+
/** style */
|
|
12
|
+
style?: React.CSSProperties;
|
|
13
|
+
/** list选项 */
|
|
14
|
+
list?: any[];
|
|
15
|
+
/** 指定渲染几项,存在这个参数,则不自适应 */
|
|
16
|
+
showNum?: number;
|
|
17
|
+
/** 下拉框样式 */
|
|
18
|
+
popoverClassName?: string;
|
|
19
|
+
/** 自定义更多内容 */
|
|
20
|
+
moreCustomize?: ReactNode;
|
|
21
|
+
/** 隐藏更多按钮 */
|
|
22
|
+
hideMore?: boolean;
|
|
23
|
+
/** 打开下拉框 */
|
|
24
|
+
openMore?: boolean;
|
|
25
|
+
/** 定位元素 */
|
|
26
|
+
anchorEl?: any;
|
|
27
|
+
/** 关闭弹窗 */
|
|
28
|
+
onCloseMore?: () => void;
|
|
29
|
+
/** 显示更多 */
|
|
30
|
+
onShowMore?: (bol: boolean) => void;
|
|
31
|
+
[name: string]: any;
|
|
32
|
+
}
|
|
33
|
+
export declare const AutoBox: FunctionComponent<AutoBoxProps>;
|
|
34
|
+
export default AutoBox;
|
package/AutoBox/index.js
ADDED
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
import { _ as _slicedToArray } from '../_verture/slicedToArray-76060636.js';
|
|
2
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { useState, useRef, useEffect, Fragment as Fragment$1 } from 'react';
|
|
4
|
+
import { Popover } from '../Popover/index.js';
|
|
5
|
+
import { createPortal } from 'react-dom';
|
|
6
|
+
import { UUID } from '@paraview/lib';
|
|
7
|
+
import { $ as $prefixCls } from '../_verture/constant-66aa48a1.js';
|
|
8
|
+
import More from '@para-ui/icons/More';
|
|
9
|
+
import { s as styleInject } from '../_verture/style-inject.es-300983ab.js';
|
|
10
|
+
import '../_verture/unsupportedIterableToArray-cb478f24.js';
|
|
11
|
+
import '../_verture/tslib.es6-55ed4bd2.js';
|
|
12
|
+
import '../Tooltip/index.js';
|
|
13
|
+
import 'rc-tooltip';
|
|
14
|
+
import 'rc-tooltip/lib/placements';
|
|
15
|
+
import 'clsx';
|
|
16
|
+
import '../_verture/usePopupContainer-87febeb9.js';
|
|
17
|
+
|
|
18
|
+
var Protal = function Protal(props) {
|
|
19
|
+
var children = props.children,
|
|
20
|
+
className = props.className,
|
|
21
|
+
anchorEl = props.anchorEl,
|
|
22
|
+
onClose = props.onClose;
|
|
23
|
+
var _useState = useState({}),
|
|
24
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
25
|
+
styleCom = _useState2[0],
|
|
26
|
+
setStyleCom = _useState2[1];
|
|
27
|
+
var constData = useRef({
|
|
28
|
+
uuid: $prefixCls + '-protal-box-content-' + UUID()
|
|
29
|
+
});
|
|
30
|
+
var domRef = useRef();
|
|
31
|
+
var contentRef = useRef();
|
|
32
|
+
useEffect(function () {
|
|
33
|
+
handStyle();
|
|
34
|
+
window.addEventListener('click', clickFunc);
|
|
35
|
+
return function () {
|
|
36
|
+
domRef && domRef.current && domRef.current.remove();
|
|
37
|
+
window.removeEventListener('click', clickFunc);
|
|
38
|
+
};
|
|
39
|
+
}, []);
|
|
40
|
+
/**
|
|
41
|
+
* 查找元素
|
|
42
|
+
* @param el 当前元素
|
|
43
|
+
* @param selector 查找元素class
|
|
44
|
+
*/
|
|
45
|
+
var closest = function closest(el, selector) {
|
|
46
|
+
var matchesSelector = el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector;
|
|
47
|
+
while (el) {
|
|
48
|
+
if (matchesSelector.call(el, selector)) {
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
el = el.parentElement;
|
|
52
|
+
}
|
|
53
|
+
return el;
|
|
54
|
+
};
|
|
55
|
+
/** 全局监听点击事件 */
|
|
56
|
+
var clickFunc = function clickFunc(e) {
|
|
57
|
+
if (!constData.current) return;
|
|
58
|
+
var bol = closest(e.target, '.' + constData.current.uuid); // 是否存在下拉当中
|
|
59
|
+
if (!bol) onClose && onClose();
|
|
60
|
+
};
|
|
61
|
+
/** 处理内容的定位样式 */
|
|
62
|
+
var handStyle = function handStyle() {
|
|
63
|
+
if (!anchorEl || !contentRef.current) return;
|
|
64
|
+
var posDomRect = anchorEl.getBoundingClientRect();
|
|
65
|
+
var contentDomRect = contentRef.current.getBoundingClientRect();
|
|
66
|
+
var json = {
|
|
67
|
+
opacity: 1,
|
|
68
|
+
left: posDomRect.left,
|
|
69
|
+
top: posDomRect.top + posDomRect.height
|
|
70
|
+
};
|
|
71
|
+
var winHeight = window.innerHeight;
|
|
72
|
+
var winWidth = window.innerWidth;
|
|
73
|
+
if (json.left + contentDomRect.width > winWidth) {
|
|
74
|
+
json.left = winWidth - contentDomRect.width - 8;
|
|
75
|
+
if (json.left < 0) json.left = 0;
|
|
76
|
+
}
|
|
77
|
+
if (json.top + contentDomRect.height > winHeight) {
|
|
78
|
+
json.top = winHeight - contentDomRect.height - 8;
|
|
79
|
+
if (json.top < 0) json.top = 0;
|
|
80
|
+
}
|
|
81
|
+
setStyleCom(json);
|
|
82
|
+
};
|
|
83
|
+
/** 处理className */
|
|
84
|
+
var handClass = function handClass() {
|
|
85
|
+
var str = $prefixCls + '-protal-box';
|
|
86
|
+
if (className) str += ' ' + className;
|
|
87
|
+
return str;
|
|
88
|
+
};
|
|
89
|
+
var handContent = function handContent() {
|
|
90
|
+
return jsxs("div", Object.assign({
|
|
91
|
+
className: handClass(),
|
|
92
|
+
ref: domRef
|
|
93
|
+
}, {
|
|
94
|
+
children: [jsx("div", {
|
|
95
|
+
className: "protal-mask"
|
|
96
|
+
}), jsx("div", Object.assign({
|
|
97
|
+
className: 'protal-content ' + constData.current.uuid,
|
|
98
|
+
style: styleCom,
|
|
99
|
+
ref: contentRef
|
|
100
|
+
}, {
|
|
101
|
+
children: children
|
|
102
|
+
}))]
|
|
103
|
+
}));
|
|
104
|
+
};
|
|
105
|
+
return jsx(Fragment, {
|
|
106
|
+
children: /*#__PURE__*/createPortal(handContent(), document.getElementsByTagName('body')[0])
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
var css_248z = "@charset \"UTF-8\";\n/**\n* @author Hanz\n* @date 2021/10/20 下午2:08\n* @description color\n*/\n.paraui-v3-auto-box {\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n}\n.paraui-v3-auto-box > .auto-box-more {\n display: inline-block;\n height: 100%;\n cursor: pointer;\n}\n\n.paraui-v3-auto-box-popover .auto-box-popover-content {\n display: flex;\n flex-direction: column;\n}\n\n.paraui-v3-protal-box {\n position: fixed;\n z-index: 1500;\n inset: 0px;\n}\n.paraui-v3-protal-box .protal-mask {\n z-index: -1;\n position: fixed;\n inset: 0px;\n background-color: transparent;\n}\n.paraui-v3-protal-box .protal-content {\n border-radius: 4px;\n box-shadow: 0px 2px 8px 0px rgba(171, 176, 185, 0.4);\n background-color: white;\n outline: 0;\n position: absolute;\n max-width: calc(100% - 32px);\n min-width: 16px;\n max-height: calc(100% - 32px);\n min-height: 16px;\n overflow-x: hidden;\n overflow-y: auto;\n opacity: 0;\n transform: none;\n transition: opacity 243ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, transform 162ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n}";
|
|
111
|
+
styleInject(css_248z);
|
|
112
|
+
|
|
113
|
+
var AutoBox = function AutoBox(props) {
|
|
114
|
+
var className = props.className,
|
|
115
|
+
_props$list = props.list,
|
|
116
|
+
list = _props$list === void 0 ? [] : _props$list,
|
|
117
|
+
popoverClassName = props.popoverClassName,
|
|
118
|
+
moreCustomize = props.moreCustomize,
|
|
119
|
+
anchorEl = props.anchorEl,
|
|
120
|
+
_props$hideMore = props.hideMore,
|
|
121
|
+
hideMore = _props$hideMore === void 0 ? false : _props$hideMore,
|
|
122
|
+
showNum = props.showNum,
|
|
123
|
+
onCloseMore = props.onCloseMore,
|
|
124
|
+
onShowMore = props.onShowMore,
|
|
125
|
+
style = props.style;
|
|
126
|
+
var _useState = useState('auto-box-' + UUID()),
|
|
127
|
+
_useState2 = _slicedToArray(_useState, 1),
|
|
128
|
+
classOne = _useState2[0]; // 唯一class
|
|
129
|
+
var _useState3 = useState(null),
|
|
130
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
131
|
+
morePos = _useState4[0],
|
|
132
|
+
setMorePos = _useState4[1]; // 超出在原始位置
|
|
133
|
+
var _useState5 = useState(false),
|
|
134
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
135
|
+
openMoreCom = _useState6[0],
|
|
136
|
+
setOpenMoreCom = _useState6[1]; // 显示更多
|
|
137
|
+
var _useState7 = useState({}),
|
|
138
|
+
_useState8 = _slicedToArray(_useState7, 1),
|
|
139
|
+
timer = _useState8[0];
|
|
140
|
+
var posDom = useRef();
|
|
141
|
+
// 监听打开更多
|
|
142
|
+
useEffect(function () {
|
|
143
|
+
if (props.openMore !== undefined) {
|
|
144
|
+
setOpenMoreCom(props.openMore);
|
|
145
|
+
}
|
|
146
|
+
}, [props.openMore]);
|
|
147
|
+
useEffect(function () {
|
|
148
|
+
if (props.showNum !== undefined) return;
|
|
149
|
+
changeSize();
|
|
150
|
+
window.addEventListener("resize", changeSize);
|
|
151
|
+
return function () {
|
|
152
|
+
window.removeEventListener("resize", changeSize);
|
|
153
|
+
clearTimeout(timer.timer);
|
|
154
|
+
};
|
|
155
|
+
}, [list]);
|
|
156
|
+
useEffect(function () {
|
|
157
|
+
if (showNum !== undefined) {
|
|
158
|
+
setMorePos(showNum);
|
|
159
|
+
window.removeEventListener("resize", changeSize);
|
|
160
|
+
}
|
|
161
|
+
}, [showNum]);
|
|
162
|
+
useEffect(function () {
|
|
163
|
+
if (morePos !== null && list.length > morePos) {
|
|
164
|
+
onShowMore && onShowMore(true);
|
|
165
|
+
} else {
|
|
166
|
+
onShowMore && onShowMore(false);
|
|
167
|
+
}
|
|
168
|
+
}, [list, morePos, onShowMore]);
|
|
169
|
+
var onVisibleChange = function onVisibleChange(bol) {
|
|
170
|
+
if (bol) return setOpenMoreCom(true);
|
|
171
|
+
closeMore();
|
|
172
|
+
};
|
|
173
|
+
// 关闭显示更多
|
|
174
|
+
var closeMore = function closeMore() {
|
|
175
|
+
setOpenMoreCom(false);
|
|
176
|
+
onCloseMore && onCloseMore();
|
|
177
|
+
};
|
|
178
|
+
// 关闭显示更多
|
|
179
|
+
var handleCloseMore = function handleCloseMore() {
|
|
180
|
+
closeMore();
|
|
181
|
+
};
|
|
182
|
+
// 不换行 计算
|
|
183
|
+
var handMultiline = function handMultiline(index) {
|
|
184
|
+
if (index === null || index === 0) return;
|
|
185
|
+
if (index === undefined) index = list.length;
|
|
186
|
+
var boxDom = document.querySelector('.' + classOne);
|
|
187
|
+
if (!boxDom) return;
|
|
188
|
+
if (boxDom.scrollWidth > boxDom.clientWidth) {
|
|
189
|
+
var num = Number(index) - 1;
|
|
190
|
+
// 超出
|
|
191
|
+
setMorePos(num);
|
|
192
|
+
handMultiline(num);
|
|
193
|
+
} else {
|
|
194
|
+
// 一个
|
|
195
|
+
if (list.length <= index) handleCloseMore();
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
// 多选 不换行
|
|
199
|
+
var changeSize = function changeSize() {
|
|
200
|
+
clearTimeout(timer.timer);
|
|
201
|
+
closeMore();
|
|
202
|
+
timer.timer = setTimeout(function () {
|
|
203
|
+
setMorePos(list.length);
|
|
204
|
+
handMultiline();
|
|
205
|
+
}, 100);
|
|
206
|
+
};
|
|
207
|
+
// 处理class
|
|
208
|
+
var handClass = function handClass() {
|
|
209
|
+
var str = $prefixCls + '-auto-box';
|
|
210
|
+
if (classOne) str += ' ' + classOne;
|
|
211
|
+
if (className) str += ' ' + className;
|
|
212
|
+
return str;
|
|
213
|
+
};
|
|
214
|
+
// 处理handClassPopover
|
|
215
|
+
var handClassPopover = function handClassPopover() {
|
|
216
|
+
var str = $prefixCls + '-auto-box-popover';
|
|
217
|
+
if (popoverClassName) str += ' ' + popoverClassName;
|
|
218
|
+
return str;
|
|
219
|
+
};
|
|
220
|
+
// 处理更多内容
|
|
221
|
+
var handMoreDom = function handMoreDom() {
|
|
222
|
+
return jsx("div", Object.assign({
|
|
223
|
+
className: "auto-box-popover-content"
|
|
224
|
+
}, {
|
|
225
|
+
children: list && list.map(function (item, index) {
|
|
226
|
+
if (morePos !== null && morePos > index) return null;
|
|
227
|
+
return jsx(Fragment$1, {
|
|
228
|
+
children: item
|
|
229
|
+
}, index);
|
|
230
|
+
})
|
|
231
|
+
}));
|
|
232
|
+
};
|
|
233
|
+
/** 处理更多按钮 */
|
|
234
|
+
var handMoreBtn = function handMoreBtn() {
|
|
235
|
+
if (morePos !== null && list.length > morePos && !hideMore) {
|
|
236
|
+
return jsx(Popover, Object.assign({
|
|
237
|
+
open: openMoreCom,
|
|
238
|
+
content: handMoreDom(),
|
|
239
|
+
overlayClassName: handClassPopover(),
|
|
240
|
+
placement: "bottomLeft",
|
|
241
|
+
onVisibleChange: onVisibleChange
|
|
242
|
+
}, {
|
|
243
|
+
children: jsx("div", Object.assign({
|
|
244
|
+
className: "auto-box-more",
|
|
245
|
+
ref: posDom
|
|
246
|
+
}, {
|
|
247
|
+
children: moreCustomize ? moreCustomize : jsx(More, {})
|
|
248
|
+
}))
|
|
249
|
+
}));
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
/** 自定义更多按钮 */
|
|
253
|
+
var handCustomDialog = function handCustomDialog() {
|
|
254
|
+
if (anchorEl && openMoreCom) {
|
|
255
|
+
return jsx(Protal, Object.assign({
|
|
256
|
+
className: handClassPopover(),
|
|
257
|
+
anchorEl: anchorEl,
|
|
258
|
+
onClose: closeMore
|
|
259
|
+
}, {
|
|
260
|
+
children: handMoreDom()
|
|
261
|
+
}));
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
return jsxs("div", Object.assign({
|
|
265
|
+
className: handClass(),
|
|
266
|
+
style: style
|
|
267
|
+
}, {
|
|
268
|
+
children: [list.map(function (item, index) {
|
|
269
|
+
if (morePos !== null && morePos <= index) return null;
|
|
270
|
+
return jsx(Fragment$1, {
|
|
271
|
+
children: item
|
|
272
|
+
}, index);
|
|
273
|
+
}), handMoreBtn(), handCustomDialog()]
|
|
274
|
+
}));
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
export { AutoBox, AutoBox as default };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author linhd
|
|
3
|
+
* @date 2022/8/10 10:32 AM
|
|
4
|
+
* @description 全局弹窗-自定义用的
|
|
5
|
+
*/
|
|
6
|
+
import { FunctionComponent, ReactNode } from 'react';
|
|
7
|
+
export interface ProtalBoxProps {
|
|
8
|
+
className?: string;
|
|
9
|
+
/** 定位元素 */
|
|
10
|
+
anchorEl?: any;
|
|
11
|
+
/** 关闭事件 */
|
|
12
|
+
onClose?: () => void;
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
[name: string]: any;
|
|
15
|
+
}
|
|
16
|
+
export declare const Protal: FunctionComponent<ProtalBoxProps>;
|
|
17
|
+
export default Protal;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author linhd
|
|
3
|
+
* @date 2023/3/29 14:18
|
|
4
|
+
* @description 超出多行显示
|
|
5
|
+
*/
|
|
6
|
+
import { FunctionComponent } from 'react';
|
|
7
|
+
import { AutoTipsProps } from "../index";
|
|
8
|
+
import './index.scss';
|
|
9
|
+
export interface AutoTipsMultilineProps extends Omit<AutoTipsProps, 'children'> {
|
|
10
|
+
/** 内容 */
|
|
11
|
+
children: string;
|
|
12
|
+
/** 行数 */
|
|
13
|
+
line?: number;
|
|
14
|
+
/** 刷新 */
|
|
15
|
+
refresh?: any;
|
|
16
|
+
}
|
|
17
|
+
declare const AutoTipsMultiline: FunctionComponent<AutoTipsMultilineProps>;
|
|
18
|
+
export default AutoTipsMultiline;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author linhd
|
|
3
|
+
* @date 2021/8/9 15:15
|
|
4
|
+
* @description 超出...
|
|
5
|
+
*/
|
|
6
|
+
import React, { FunctionComponent, ReactNode } from 'react';
|
|
7
|
+
import AutoTipsMultiline from "./autoTipsMultiline";
|
|
8
|
+
import './index.scss';
|
|
9
|
+
export interface AutoTipsProps {
|
|
10
|
+
/** 样式class */
|
|
11
|
+
className?: string;
|
|
12
|
+
/** style */
|
|
13
|
+
style?: React.CSSProperties;
|
|
14
|
+
/** 超出显示的内容 */
|
|
15
|
+
tips?: React.ReactNode;
|
|
16
|
+
/** 文字下拉提示箭头 */
|
|
17
|
+
arrow?: boolean;
|
|
18
|
+
/** 显示文字还是元素 */
|
|
19
|
+
beyondText?: boolean;
|
|
20
|
+
/** 定位方向 */
|
|
21
|
+
placement?: "top-start" | "bottom-end" | "bottom-start" | "bottom" | "left-end" | "left-start" | "left" | "right-end" | "right-start" | "right" | "top-end" | "top" | undefined;
|
|
22
|
+
/** 提示最大宽度 */
|
|
23
|
+
tipMaxWidth?: number | string;
|
|
24
|
+
/** interactive */
|
|
25
|
+
interactive?: boolean;
|
|
26
|
+
/** 内容
|
|
27
|
+
* 单行不限制类型
|
|
28
|
+
* 多行限制为string
|
|
29
|
+
* */
|
|
30
|
+
children?: ReactNode;
|
|
31
|
+
[name: string]: any;
|
|
32
|
+
}
|
|
33
|
+
declare const AutoTips: FunctionComponent<AutoTipsProps>;
|
|
34
|
+
export { AutoTipsMultiline };
|
|
35
|
+
export default AutoTips;
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import { _ as _slicedToArray } from '../_verture/slicedToArray-76060636.js';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { useRef, useState, useEffect, useMemo } from 'react';
|
|
4
|
+
import { Tooltip } from '../Tooltip/index.js';
|
|
5
|
+
import { $ as $prefixCls } from '../_verture/constant-66aa48a1.js';
|
|
6
|
+
import { isIE } from '@paraview/lib';
|
|
7
|
+
import { s as styleInject } from '../_verture/style-inject.es-300983ab.js';
|
|
8
|
+
import '../_verture/unsupportedIterableToArray-cb478f24.js';
|
|
9
|
+
import '../_verture/tslib.es6-55ed4bd2.js';
|
|
10
|
+
import 'rc-tooltip';
|
|
11
|
+
import 'rc-tooltip/lib/placements';
|
|
12
|
+
import 'clsx';
|
|
13
|
+
|
|
14
|
+
var css_248z$1 = "@charset \"UTF-8\";\n/**\n* @author linhd\n* @date 2021/11/1 20:28\n* @description 文字隐藏...\n*/\n/**\n* @author Hanz\n* @date 2021/10/20 下午2:08\n* @description color\n*/\n.paraui-v3-auto-tips-multiline {\n max-width: 100%;\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.paraui-v3-auto-tips-multiline > .auto-tips-multiline-content-box {\n position: relative;\n}\n.paraui-v3-auto-tips-multiline > .auto-tips-multiline-content-box > .auto-tips-multiline-content > .last-line {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.paraui-v3-auto-tips-multiline > .auto-tips-multiline-content-box > .hidden {\n opacity: 0;\n visibility: hidden;\n position: absolute;\n bottom: 0;\n left: 0;\n z-index: -100000;\n}\n.paraui-v3-auto-tips-multiline.paraui-v3-auto-tips-multiline-safari > .auto-tips-multiline-content-box > .auto-tips-multiline-content > .last-line::before {\n content: \"\";\n display: block;\n}\n\n.paraui-v3-auto-tips-multiline-tooltip .component-tooltip-inner {\n max-height: calc(100vh - 25px);\n overflow: auto;\n}";
|
|
15
|
+
styleInject(css_248z$1);
|
|
16
|
+
|
|
17
|
+
var AutoTipsMultiline = function AutoTipsMultiline(props) {
|
|
18
|
+
var children = props.children,
|
|
19
|
+
_props$arrow = props.arrow,
|
|
20
|
+
arrow = _props$arrow === void 0 ? false : _props$arrow,
|
|
21
|
+
_props$placement = props.placement,
|
|
22
|
+
placement = _props$placement === void 0 ? "bottom-start" : _props$placement,
|
|
23
|
+
_props$tips = props.tips,
|
|
24
|
+
tips = _props$tips === void 0 ? '' : _props$tips,
|
|
25
|
+
_props$className = props.className,
|
|
26
|
+
className = _props$className === void 0 ? '' : _props$className,
|
|
27
|
+
_props$interactive = props.interactive,
|
|
28
|
+
interactive = _props$interactive === void 0 ? true : _props$interactive,
|
|
29
|
+
tipMaxWidth = props.tipMaxWidth,
|
|
30
|
+
_props$line = props.line,
|
|
31
|
+
line = _props$line === void 0 ? 2 : _props$line,
|
|
32
|
+
refresh = props.refresh,
|
|
33
|
+
style = props.style;
|
|
34
|
+
var boxRef = useRef(null);
|
|
35
|
+
var singleWordRefs = useRef([]);
|
|
36
|
+
var _useState = useState(),
|
|
37
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
38
|
+
lineClamp = _useState2[0],
|
|
39
|
+
setLineClamp = _useState2[1];
|
|
40
|
+
var constData = useRef({
|
|
41
|
+
line: line,
|
|
42
|
+
tips: tips
|
|
43
|
+
});
|
|
44
|
+
constData.current.line = line;
|
|
45
|
+
constData.current.tips = tips;
|
|
46
|
+
var _useState3 = useState(''),
|
|
47
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
48
|
+
tTips = _useState4[0],
|
|
49
|
+
setTTips = _useState4[1];
|
|
50
|
+
useEffect(function () {
|
|
51
|
+
window.addEventListener('resize', calcLine);
|
|
52
|
+
return function () {
|
|
53
|
+
window.removeEventListener('resize', calcLine);
|
|
54
|
+
};
|
|
55
|
+
}, []);
|
|
56
|
+
useEffect(function () {
|
|
57
|
+
calcLine();
|
|
58
|
+
}, [children, refresh]);
|
|
59
|
+
// 计算行数
|
|
60
|
+
var calcLine = function calcLine() {
|
|
61
|
+
var _a;
|
|
62
|
+
if (!children) return;
|
|
63
|
+
var lineArr = [];
|
|
64
|
+
var showTooltip = false;
|
|
65
|
+
var boxRefWidth = ((_a = boxRef === null || boxRef === void 0 ? void 0 : boxRef.current) === null || _a === void 0 ? void 0 : _a.clientWidth) || 0;
|
|
66
|
+
var addWidth = 0;
|
|
67
|
+
var linePos = 0;
|
|
68
|
+
for (var i = 0; i < singleWordRefs.current.length; i++) {
|
|
69
|
+
var dom = singleWordRefs.current[i];
|
|
70
|
+
var offsetWidth = dom.offsetWidth;
|
|
71
|
+
addWidth += offsetWidth;
|
|
72
|
+
// 累计宽度超出了一行宽度
|
|
73
|
+
if (addWidth > boxRefWidth) {
|
|
74
|
+
if (lineArr.length < constData.current.line - 1) {
|
|
75
|
+
lineArr.push(children.slice(linePos, i));
|
|
76
|
+
linePos = i;
|
|
77
|
+
addWidth = offsetWidth; // 重置宽度
|
|
78
|
+
} else {
|
|
79
|
+
// 超出
|
|
80
|
+
showTooltip = true;
|
|
81
|
+
setTTips(constData.current.tips || children);
|
|
82
|
+
lineArr.push(children.slice(linePos, children.length));
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
} else {
|
|
86
|
+
// 未超过且是最后一个字符
|
|
87
|
+
if (i === singleWordRefs.current.length - 1) {
|
|
88
|
+
lineArr.push(children.slice(linePos, children.length));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
setLineClamp({
|
|
93
|
+
lineArr: lineArr,
|
|
94
|
+
showTooltip: showTooltip
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* 描述文字span包裹
|
|
99
|
+
*/
|
|
100
|
+
var descriptionRender = useMemo(function () {
|
|
101
|
+
singleWordRefs.current = [];
|
|
102
|
+
return jsx("div", Object.assign({
|
|
103
|
+
className: 'hidden'
|
|
104
|
+
}, {
|
|
105
|
+
children: children === null || children === void 0 ? void 0 : children.split('').map(function (word, wIdx) {
|
|
106
|
+
return jsx("span", Object.assign({
|
|
107
|
+
ref: function ref(dom) {
|
|
108
|
+
return dom && singleWordRefs.current.push(dom);
|
|
109
|
+
}
|
|
110
|
+
}, {
|
|
111
|
+
children: word
|
|
112
|
+
}), wIdx);
|
|
113
|
+
})
|
|
114
|
+
}));
|
|
115
|
+
}, [children]);
|
|
116
|
+
// 判断浏览器是否是safari
|
|
117
|
+
var isSafari = function isSafari() {
|
|
118
|
+
var userAgent = navigator.userAgent;
|
|
119
|
+
if (userAgent.indexOf("Safari") > -1) {
|
|
120
|
+
return true;
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
// 处理最大宽度
|
|
124
|
+
var handMaxWidth = function handMaxWidth() {
|
|
125
|
+
if (tipMaxWidth) return tipMaxWidth;
|
|
126
|
+
return boxRef && boxRef.current ? boxRef.current.offsetWidth : 0;
|
|
127
|
+
};
|
|
128
|
+
// 处理class
|
|
129
|
+
var handClass = function handClass() {
|
|
130
|
+
var str = $prefixCls + '-auto-tips-multiline';
|
|
131
|
+
if (isSafari()) str += ' ' + $prefixCls + '-auto-tips-multiline-safari';
|
|
132
|
+
if (className) str += ' ' + className;
|
|
133
|
+
return str;
|
|
134
|
+
};
|
|
135
|
+
return jsx("div", Object.assign({
|
|
136
|
+
ref: boxRef,
|
|
137
|
+
className: handClass(),
|
|
138
|
+
style: style
|
|
139
|
+
}, {
|
|
140
|
+
children: jsx(Tooltip, Object.assign({
|
|
141
|
+
arrow: arrow,
|
|
142
|
+
title: tTips,
|
|
143
|
+
placement: placement,
|
|
144
|
+
interactive: interactive,
|
|
145
|
+
boundariesElement: 'viewport',
|
|
146
|
+
overlayClassName: $prefixCls + '-auto-tips-multiline-tooltip',
|
|
147
|
+
maxWidth: handMaxWidth()
|
|
148
|
+
}, {
|
|
149
|
+
children: jsxs("div", Object.assign({
|
|
150
|
+
className: "auto-tips-multiline-content-box"
|
|
151
|
+
}, {
|
|
152
|
+
children: [jsx("div", Object.assign({
|
|
153
|
+
className: 'auto-tips-multiline-content'
|
|
154
|
+
}, {
|
|
155
|
+
children: lineClamp === null || lineClamp === void 0 ? void 0 : lineClamp.lineArr.map(function (line, lIdx) {
|
|
156
|
+
var str = 'line-text';
|
|
157
|
+
if (lIdx === lineClamp.lineArr.length - 1) str += ' last-line';
|
|
158
|
+
return jsx("div", Object.assign({
|
|
159
|
+
className: str
|
|
160
|
+
}, {
|
|
161
|
+
children: line
|
|
162
|
+
}), lIdx);
|
|
163
|
+
})
|
|
164
|
+
})), descriptionRender]
|
|
165
|
+
}))
|
|
166
|
+
}))
|
|
167
|
+
}));
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
var css_248z = "@charset \"UTF-8\";\n/**\n* @author linhd\n* @date 2021/11/1 20:28\n* @description 文字隐藏...\n*/\n/**\n* @author Hanz\n* @date 2021/10/20 下午2:08\n* @description color\n*/\n.paraui-v3-auto-tips {\n max-width: 100%;\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.paraui-v3-auto-tips > .auto-tips-content {\n display: inline;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.paraui-v3-auto-tips.paraui-v3-auto-tips-safari > .auto-tips-content::before {\n content: \"\";\n display: block;\n}\n\n.paraui-v3-auto-tips-tooltip .component-tooltip-inner {\n max-height: calc(100vh - 25px);\n overflow: auto;\n}";
|
|
171
|
+
styleInject(css_248z);
|
|
172
|
+
|
|
173
|
+
var AutoTips = function AutoTips(props) {
|
|
174
|
+
var children = props.children,
|
|
175
|
+
_props$arrow = props.arrow,
|
|
176
|
+
arrow = _props$arrow === void 0 ? false : _props$arrow,
|
|
177
|
+
_props$placement = props.placement,
|
|
178
|
+
placement = _props$placement === void 0 ? "bottom-start" : _props$placement,
|
|
179
|
+
_props$tips = props.tips,
|
|
180
|
+
tips = _props$tips === void 0 ? '' : _props$tips,
|
|
181
|
+
_props$className = props.className,
|
|
182
|
+
className = _props$className === void 0 ? '' : _props$className,
|
|
183
|
+
_props$beyondText = props.beyondText,
|
|
184
|
+
beyondText = _props$beyondText === void 0 ? true : _props$beyondText,
|
|
185
|
+
_props$interactive = props.interactive,
|
|
186
|
+
interactive = _props$interactive === void 0 ? true : _props$interactive,
|
|
187
|
+
tipMaxWidth = props.tipMaxWidth,
|
|
188
|
+
style = props.style;
|
|
189
|
+
var tipsElm = useRef();
|
|
190
|
+
var textElm = useRef();
|
|
191
|
+
var _useState = useState(''),
|
|
192
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
193
|
+
tTips = _useState2[0],
|
|
194
|
+
setTTips = _useState2[1];
|
|
195
|
+
useEffect(function () {
|
|
196
|
+
setTTips(tips);
|
|
197
|
+
}, [tips]);
|
|
198
|
+
// 鼠标移入事件
|
|
199
|
+
var mouseHover = function mouseHover() {
|
|
200
|
+
var val = '';
|
|
201
|
+
var tipsEle = tipsElm.current;
|
|
202
|
+
var tipsEleRect = tipsEle.getBoundingClientRect();
|
|
203
|
+
var textEleRect = textElm.current.getBoundingClientRect();
|
|
204
|
+
if (tipsElm.current) {
|
|
205
|
+
if (isIE()) {
|
|
206
|
+
if (tipsEleRect.width > textEleRect.width) {
|
|
207
|
+
if (tips) {
|
|
208
|
+
val = tips;
|
|
209
|
+
} else {
|
|
210
|
+
val = beyondText ? tipsEle.innerText : children;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
} else {
|
|
214
|
+
// mac:safari,firefox,chrome
|
|
215
|
+
// windows: firefox,chrome
|
|
216
|
+
if (textEleRect.width > tipsEleRect.width) {
|
|
217
|
+
if (tips) {
|
|
218
|
+
val = tips;
|
|
219
|
+
} else {
|
|
220
|
+
val = beyondText ? tipsEle.innerText : children;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
setTTips(val);
|
|
226
|
+
};
|
|
227
|
+
// 处理最大宽度
|
|
228
|
+
var handMaxWidth = function handMaxWidth() {
|
|
229
|
+
if (tipMaxWidth) return tipMaxWidth;
|
|
230
|
+
return tipsElm && tipsElm.current ? tipsElm.current.offsetWidth : 0;
|
|
231
|
+
};
|
|
232
|
+
// 判断浏览器是否是safari
|
|
233
|
+
var isSafari = function isSafari() {
|
|
234
|
+
var userAgent = navigator.userAgent;
|
|
235
|
+
if (userAgent.indexOf("Safari") > -1) {
|
|
236
|
+
return true;
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
// 处理class
|
|
240
|
+
var handClass = function handClass() {
|
|
241
|
+
var str = $prefixCls + '-auto-tips';
|
|
242
|
+
if (isSafari()) str += ' ' + $prefixCls + '-auto-tips-safari';
|
|
243
|
+
if (className) str += ' ' + className;
|
|
244
|
+
return str;
|
|
245
|
+
};
|
|
246
|
+
return jsx("div", Object.assign({
|
|
247
|
+
ref: tipsElm,
|
|
248
|
+
className: handClass(),
|
|
249
|
+
onMouseOver: mouseHover,
|
|
250
|
+
style: style
|
|
251
|
+
}, {
|
|
252
|
+
children: jsx(Tooltip, Object.assign({
|
|
253
|
+
arrow: arrow,
|
|
254
|
+
title: tTips,
|
|
255
|
+
placement: placement,
|
|
256
|
+
interactive: interactive,
|
|
257
|
+
boundariesElement: 'viewport',
|
|
258
|
+
overlayClassName: $prefixCls + '-auto-tips-tooltip',
|
|
259
|
+
maxWidth: handMaxWidth()
|
|
260
|
+
}, {
|
|
261
|
+
children: jsx("div", Object.assign({
|
|
262
|
+
className: "auto-tips-content",
|
|
263
|
+
ref: textElm
|
|
264
|
+
}, {
|
|
265
|
+
children: children
|
|
266
|
+
}))
|
|
267
|
+
}))
|
|
268
|
+
}));
|
|
269
|
+
};
|
|
270
|
+
|
|
271
|
+
export { AutoTipsMultiline, AutoTips as default };
|