@para-ui/core 3.0.2 → 3.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/Breadcrumbs/index.d.ts +14 -0
  2. package/Breadcrumbs/index.js +209 -156
  3. package/Breadcrumbs/lang/en_US.d.ts +4 -0
  4. package/Breadcrumbs/lang/index.d.ts +9 -0
  5. package/Breadcrumbs/lang/zh_CN.d.ts +4 -0
  6. package/Button/index.js +9 -3
  7. package/ButtonGroup/index.js +1 -1
  8. package/Cascader/index.js +1 -1
  9. package/Checkbox/index.js +1 -1
  10. package/CollapseBox/index.js +1 -18
  11. package/CollapseLayout/index.d.ts +51 -0
  12. package/CollapseLayout/index.js +190 -0
  13. package/ComboSelect/index.js +16 -10
  14. package/DatePicker/generatePicker/index.d.ts +11 -2
  15. package/DatePicker/index.js +46 -34
  16. package/Desktop/index.js +1 -1
  17. package/Drawer/index.js +1 -1
  18. package/Empty/index.js +1 -1
  19. package/Form/index.js +3 -3
  20. package/FormItem/index.js +3 -3
  21. package/FunctionModal/index.js +3 -3
  22. package/Menu/index.js +1 -0
  23. package/Modal/index.js +1 -1
  24. package/OperateBtn/index.js +1 -1
  25. package/PageHeader/index.js +1 -1
  26. package/Pagination/index.js +5 -5
  27. package/PopConfirm/index.js +1 -1
  28. package/Popover/index.js +2 -16
  29. package/Querying/index.js +1 -1
  30. package/README.md +25 -0
  31. package/Search/index.js +1 -1
  32. package/Select/index.js +1 -1
  33. package/SelectInput/index.js +1 -1
  34. package/Selector/index.js +2 -1
  35. package/Selector/lang/index.d.ts +2 -0
  36. package/SelectorPicker/index.js +2 -1
  37. package/Table/index.js +11 -9
  38. package/Table/interface.d.ts +2 -0
  39. package/Tabs/index.js +1 -1
  40. package/TimePicker/index.js +1 -1
  41. package/Title/index.js +6 -6
  42. package/ToggleButton/index.js +1 -1
  43. package/Tooltip/index.js +12 -6
  44. package/Transfer/index.d.ts +19 -4
  45. package/Transfer/index.js +183 -102
  46. package/Transfer/lang/en_US.d.ts +2 -0
  47. package/Transfer/lang/index.d.ts +4 -0
  48. package/Transfer/lang/zh_CN.d.ts +2 -0
  49. package/Tree/index.js +3 -3
  50. package/Upload/index.js +1 -1
  51. package/_verture/{index-cc4c83b8.js → index-9d9fefc1.js} +0 -0
  52. package/_verture/{index-cf5bf211.js → index-e0508c99.js} +1 -1
  53. package/_verture/{modalContext-95c3fc87.js → modalContext-4bce2dae.js} +0 -0
  54. package/_verture/{useFormatMessage-ac9d6acf.js → useFormatMessage-f4452258.js} +6 -4
  55. package/_verture/util-a77b261e.js +19 -0
  56. package/index.d.ts +2 -0
  57. package/index.js +10 -7
  58. package/package.json +1 -1
@@ -0,0 +1,51 @@
1
+ import React, { FC } from 'react';
2
+ import './index.scss';
3
+ export interface CollapseLayoutProps {
4
+ className?: string;
5
+ style?: React.CSSProperties;
6
+ /**
7
+ * 收起出现的位置
8
+ * 默认 left
9
+ */
10
+ type?: 'left' | 'right' | 'top' | 'bottom';
11
+ /**
12
+ * 普通展示数据
13
+ */
14
+ defaultContent?: React.ReactNode;
15
+ /**
16
+ * 显示隐藏的数据
17
+ */
18
+ displayContent?: React.ReactNode;
19
+ /**
20
+ * 展开还是收起
21
+ */
22
+ open?: boolean;
23
+ /**
24
+ * 允许缩放的长度
25
+ * */
26
+ zoomLength?: number;
27
+ /**
28
+ * 单位
29
+ * 默认px
30
+ */
31
+ unit?: string;
32
+ /**
33
+ * 展开按钮显示文字
34
+ */
35
+ showLabel?: string;
36
+ /**
37
+ * 收起按钮展示文字
38
+ */
39
+ hideLabel?: string;
40
+ /**
41
+ * 间距
42
+ * 默认20
43
+ */
44
+ spacing?: number;
45
+ }
46
+ /**
47
+ * @author zhanzl
48
+ * @date 2022/08/09
49
+ */
50
+ declare const CollapseLayout: FC<CollapseLayoutProps>;
51
+ export default CollapseLayout;
@@ -0,0 +1,190 @@
1
+ import { _ as _defineProperty } from '../_verture/defineProperty-0590dc61.js';
2
+ import { _ as _slicedToArray } from '../_verture/slicedToArray-d7722f4b.js';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
+ import { useRef, useState, useEffect } from 'react';
5
+ import DoubleLeft from '@para-ui/icons/DoubleLeft';
6
+ import DoubleRight from '@para-ui/icons/DoubleRight';
7
+ import { $ as $prefixCls } from '../_verture/constant-bf34e6fa.js';
8
+ import clsx from 'clsx';
9
+ import { a as getAutoHeightDuration } from '../_verture/util-a77b261e.js';
10
+ import { s as styleInject } from '../_verture/style-inject.es-300983ab.js';
11
+
12
+ var css_248z = "@charset \"UTF-8\";\n/**\n* @author Hanz\n* @date 2021/10/20 下午2:08\n* @description color\n*/\n/**\n* @author linhd\n* @date 2022/8/12 5:28 PM\n* @description 全局css前缀\n*/\n.paraui-v3-collapse-layout {\n height: 100%;\n width: 100%;\n position: relative;\n overflow: hidden;\n}\n.paraui-v3-collapse-layout .collapse-layout-icon-transform-top {\n transform: rotate(90deg);\n}\n.paraui-v3-collapse-layout .collapse-layout-icon-transform-bottom {\n transform: rotate(-90deg);\n}\n.paraui-v3-collapse-layout .collapse-layout-icon-transform-right {\n transform: rotate(180deg);\n}\n.paraui-v3-collapse-layout .collapse-layout-display {\n overflow: hidden;\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-left .collapse-layout-click span, .paraui-v3-collapse-layout.paraui-v3-collapse-layout-right .collapse-layout-click span, .paraui-v3-collapse-layout.paraui-v3-collapse-layout-top .collapse-layout-click span, .paraui-v3-collapse-layout.paraui-v3-collapse-layout-bottom .collapse-layout-click span {\n font-size: 12px;\n font-weight: 400;\n text-align: center;\n color: rgb(54, 102, 214);\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-right .collapse-layout-click {\n position: absolute;\n top: 50%;\n left: \"\";\n width: 20px;\n height: 72px;\n background: rgba(171, 176, 185, 0.12);\n text-align: center;\n cursor: pointer;\n line-height: 23px;\n margin-top: -36px;\n z-index: 1;\n display: grid;\n transition-property: right;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-delay: 0ms;\n right: 0px;\n border-radius: 4px 0 0 4px;\n border-right: 1px solid rgb(54, 102, 214);\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-right .collapse-layout-click > svg {\n align-self: center;\n justify-self: center;\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-right .collapse-layout-display-shadow {\n transition-property: margin-right;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-delay: 0ms;\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-left .collapse-layout-click {\n position: absolute;\n top: 50%;\n left: 0;\n width: 20px;\n height: 72px;\n background: rgba(171, 176, 185, 0.12);\n text-align: center;\n cursor: pointer;\n line-height: 23px;\n margin-top: -36px;\n z-index: 1;\n display: grid;\n transition-property: left;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-delay: 0ms;\n border-left: 1px solid rgb(54, 102, 214);\n border-radius: 0 4px 4px 0;\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-left .collapse-layout-click > svg {\n align-self: center;\n justify-self: center;\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-left .collapse-layout-display-shadow {\n transition-property: margin-left;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-delay: 0ms;\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-left > div, .paraui-v3-collapse-layout.paraui-v3-collapse-layout-right > div {\n display: inline-block;\n vertical-align: middle;\n height: 100%;\n position: relative;\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-left .collapse-layout-display-shadow, .paraui-v3-collapse-layout.paraui-v3-collapse-layout-right .collapse-layout-display-shadow {\n height: 100%;\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-left .collapse-layout-display,\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-left .collapse-layout-default, .paraui-v3-collapse-layout.paraui-v3-collapse-layout-right .collapse-layout-display,\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-right .collapse-layout-default {\n transition: width;\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-top .collapse-layout-click {\n position: absolute;\n top: 0;\n left: 50%;\n width: 72px;\n height: 20px;\n background: rgba(171, 176, 185, 0.12);\n text-align: center;\n cursor: pointer;\n line-height: 23px;\n margin-top: 0;\n z-index: 1;\n display: grid;\n transition-property: top;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-delay: 0ms;\n margin-left: -36px;\n border-top: 1px solid rgb(54, 102, 214);\n border-radius: 0 0 4px 4px;\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-top .collapse-layout-click > svg {\n align-self: center;\n justify-self: center;\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-top .collapse-layout-display-shadow {\n transition-property: margin-top;\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-bottom .collapse-layout-click {\n position: absolute;\n top: \"\";\n left: 50%;\n width: 72px;\n height: 20px;\n background: rgba(171, 176, 185, 0.12);\n text-align: center;\n cursor: pointer;\n line-height: 23px;\n margin-top: 0;\n z-index: 1;\n display: grid;\n transition-property: bottom;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-delay: 0ms;\n margin-left: -36px;\n bottom: 0px;\n border-bottom: 1px solid rgb(54, 102, 214);\n border-radius: 4px 4px 0 0;\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-bottom .collapse-layout-click > svg {\n align-self: center;\n justify-self: center;\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-bottom .collapse-layout-display-shadow {\n transition-property: margin-bottom;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-delay: 0ms;\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-top .collapse-layout-display,\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-top .collapse-layout-default, .paraui-v3-collapse-layout.paraui-v3-collapse-layout-bottom .collapse-layout-display,\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-bottom .collapse-layout-default {\n transition-property: height;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-delay: 0ms;\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-top .collapse-layout-display-shadow, .paraui-v3-collapse-layout.paraui-v3-collapse-layout-bottom .collapse-layout-display-shadow {\n width: 100%;\n}\n.paraui-v3-collapse-layout.paraui-v3-collapse-layout-top > div, .paraui-v3-collapse-layout.paraui-v3-collapse-layout-bottom > div {\n display: block;\n width: 100%;\n position: relative;\n}";
13
+ styleInject(css_248z);
14
+
15
+ /**
16
+ * @author zhanzl
17
+ * @date 2022/08/09
18
+ */
19
+
20
+ var CollapseLayout = function CollapseLayout(props) {
21
+ var _props$type = props.type,
22
+ type = _props$type === void 0 ? 'left' : _props$type,
23
+ showLabel = props.showLabel,
24
+ _props$open = props.open,
25
+ open = _props$open === void 0 ? false : _props$open,
26
+ hideLabel = props.hideLabel,
27
+ _props$spacing = props.spacing,
28
+ spacing = _props$spacing === void 0 ? 20 : _props$spacing,
29
+ _props$zoomLength = props.zoomLength,
30
+ zoomLength = _props$zoomLength === void 0 ? 0 : _props$zoomLength,
31
+ _props$unit = props.unit,
32
+ unit = _props$unit === void 0 ? 'px' : _props$unit,
33
+ style = props.style,
34
+ _props$className = props.className,
35
+ className = _props$className === void 0 ? '' : _props$className;
36
+ var displayRef = useRef(null);
37
+ /**
38
+ * 处理动画时间
39
+ * */
40
+
41
+ var handTime = function handTime() {
42
+ var dom = displayRef.current;
43
+ if (!dom) return 0;
44
+ var rect = dom.getBoundingClientRect();
45
+ var durationHand = getAutoHeightDuration(rect.width);
46
+ return durationHand;
47
+ };
48
+
49
+ var duration = handTime(); // 动画时间
50
+
51
+ /**
52
+ * 当前为收起还是展开
53
+ */
54
+
55
+ var _useState = useState(),
56
+ _useState2 = _slicedToArray(_useState, 2),
57
+ showBox = _useState2[0],
58
+ setShowBox = _useState2[1]; // 渲染配置
59
+
60
+
61
+ var typeConfig = {
62
+ layout: {
63
+ left: ['display', 'default'],
64
+ right: ['default', 'display'],
65
+ top: ['display', 'default'],
66
+ bottom: ['default', 'display']
67
+ }
68
+ }; // 首字母大写
69
+
70
+ var formatterType = function formatterType(str) {
71
+ var newStr = str.slice(0, 1).toUpperCase() + str.slice(1);
72
+ return newStr;
73
+ }; // 计算方位
74
+
75
+
76
+ var hangWH = function hangWH() {
77
+ var wH = 'width';
78
+
79
+ if (type === "top" || type === "bottom") {
80
+ wH = 'height';
81
+ }
82
+
83
+ return wH;
84
+ }; // 收缩容器的样式
85
+
86
+
87
+ var handDisplayStyle = function handDisplayStyle() {
88
+ var json = {};
89
+ var collapseL = (showBox ? zoomLength : 0) + unit; // 收缩长度
90
+
91
+ var wH = hangWH();
92
+ json[wH] = collapseL;
93
+ json['transitionDuration'] = duration + 'ms';
94
+ return json;
95
+ }; // 收缩容器的样式,里面的样式
96
+
97
+
98
+ var handDisplayShowStyle = function handDisplayShowStyle() {
99
+ var json = {};
100
+ var direction = "margin".concat(formatterType(type));
101
+ var wH = hangWH();
102
+ json[wH] = zoomLength + unit;
103
+ json[direction] = (showBox ? 0 : zoomLength) + unit;
104
+ json['transitionDuration'] = duration + 'ms';
105
+ return json;
106
+ }; // 自适应容器的样式
107
+
108
+
109
+ var handDefaultStyle = function handDefaultStyle() {
110
+ var json = {};
111
+ var wH = hangWH();
112
+ var collapseL = showBox ? zoomLength : 0; // 收缩长度
113
+
114
+ json[wH] = "calc(100% - ".concat(collapseL + spacing).concat(unit);
115
+ var direction = "margin".concat(formatterType(type));
116
+ json[direction] = spacing + unit;
117
+ json['transitionDuration'] = duration + 'ms';
118
+ return json;
119
+ }; // 布局
120
+
121
+
122
+ var Layout = function Layout() {
123
+ return typeConfig.layout[type].map(function (key, idx) {
124
+ switch (key) {
125
+ case "display":
126
+ // 可收缩的
127
+ return jsx("div", Object.assign({
128
+ className: "collapse-layout-display",
129
+ style: handDisplayStyle()
130
+ }, {
131
+ children: jsx("div", Object.assign({
132
+ className: "collapse-layout-display-shadow",
133
+ style: handDisplayShowStyle(),
134
+ ref: displayRef
135
+ }, {
136
+ children: props.displayContent
137
+ }))
138
+ }), idx);
139
+
140
+ default:
141
+ return jsx("div", Object.assign({
142
+ className: "collapse-layout-default",
143
+ style: handDefaultStyle()
144
+ }, {
145
+ children: props.defaultContent
146
+ }), idx);
147
+ }
148
+ });
149
+ };
150
+ /**
151
+ * 展开收起按钮
152
+ * */
153
+
154
+
155
+ var handBtn = function handBtn() {
156
+ var _style;
157
+
158
+ /**
159
+ * 计算后的展示文字
160
+ */
161
+ var computeLabel = showBox ? showLabel : hideLabel;
162
+ return jsxs("div", Object.assign({
163
+ className: "collapse-layout-click collapse-layout-click-label-".concat(!!computeLabel),
164
+ style: (_style = {}, _defineProperty(_style, type, "".concat(showBox ? zoomLength : 0).concat(unit)), _defineProperty(_style, "transitionDuration", duration + 'ms'), _style),
165
+ onClick: function onClick() {
166
+ return setShowBox(!showBox);
167
+ }
168
+ }, {
169
+ children: [computeLabel && jsx("span", {
170
+ children: computeLabel
171
+ }), showBox ? jsx(DoubleLeft, {
172
+ className: "collapse-layout-icon-transform-".concat(type)
173
+ }) : jsx(DoubleRight, {
174
+ className: "collapse-layout-icon-transform-".concat(type)
175
+ })]
176
+ }));
177
+ };
178
+
179
+ useEffect(function () {
180
+ setShowBox(open);
181
+ }, [open]);
182
+ return jsxs("div", Object.assign({
183
+ className: clsx("".concat($prefixCls, "-collapse-layout"), "".concat($prefixCls, "-collapse-layout-").concat(showBox), "".concat($prefixCls, "-collapse-layout-").concat(type), "".concat($prefixCls, "-collapse-layout-").concat(type, "-").concat(showBox), className),
184
+ style: style
185
+ }, {
186
+ children: [handBtn(), Layout()]
187
+ }));
188
+ };
189
+
190
+ export { CollapseLayout as default };
@@ -8,7 +8,7 @@ import SearchIcon from '@para-ui/icons/Search';
8
8
  import CloseIcon from '@para-ui/icons/Close';
9
9
  import CloseCircle from '@para-ui/icons/CloseCircle';
10
10
  import Table from '../Table/index.js';
11
- import { T as Tree } from '../_verture/index-cf5bf211.js';
11
+ import { T as Tree } from '../_verture/index-e0508c99.js';
12
12
  import { Button } from '../Button/index.js';
13
13
  import { Dropdown } from '../Dropdown/index.js';
14
14
  import { Popover } from '../Popover/index.js';
@@ -17,7 +17,7 @@ import { Tooltip } from '../Tooltip/index.js';
17
17
  import clsx from 'clsx';
18
18
  import { DeepClone, ArrayToObject } from '@paraview/lib';
19
19
  import GlobalContext from '@para-ui/core/GlobalContext';
20
- import { u as useFormatMessage } from '../_verture/useFormatMessage-ac9d6acf.js';
20
+ import { u as useFormatMessage } from '../_verture/useFormatMessage-f4452258.js';
21
21
  import Label from '../Label/index.js';
22
22
  import HelperText from '../HelperText/index.js';
23
23
  import { $ as $prefixCls } from '../_verture/constant-bf34e6fa.js';
@@ -538,18 +538,24 @@ var ComboSelect = function ComboSelect(props) {
538
538
 
539
539
 
540
540
  var renderSearch = function renderSearch() {
541
- var _setPopoverWH = setPopoverWH(),
542
- width = _setPopoverWH.width,
543
- minWidth = _setPopoverWH.minWidth,
544
- maxWidth = _setPopoverWH.maxWidth;
541
+ var styObj = {};
545
542
 
546
- return jsxs("div", Object.assign({
547
- className: 'comboselect-search',
548
- style: {
543
+ if (!disablePopup) {
544
+ var _setPopoverWH = setPopoverWH(),
545
+ width = _setPopoverWH.width,
546
+ minWidth = _setPopoverWH.minWidth,
547
+ maxWidth = _setPopoverWH.maxWidth;
548
+
549
+ styObj = {
549
550
  width: width,
550
551
  minWidth: minWidth,
551
552
  maxWidth: maxWidth
552
- }
553
+ };
554
+ }
555
+
556
+ return jsxs("div", Object.assign({
557
+ className: 'comboselect-search',
558
+ style: styObj
553
559
  }, {
554
560
  children: [jsx("span", Object.assign({
555
561
  className: 'comboselect-search-icon',
@@ -7,6 +7,10 @@ import PickerButton from '../PickerButton';
7
7
  import PickerTag from '../PickerTag';
8
8
  import { Dayjs } from 'dayjs';
9
9
  import { LabelTooltipProps } from "../../Label";
10
+ export declare type ShortcutType = {
11
+ text: string;
12
+ value: Dayjs[] | (() => Dayjs[]);
13
+ };
10
14
  declare type SizeType = 'small' | 'medium' | 'large' | undefined;
11
15
  export interface TimePickerLocale {
12
16
  placeholder?: string;
@@ -29,7 +33,7 @@ declare type InjectDefaultProps<Props, Type> = Omit<Props, 'locale' | 'generateC
29
33
  /** 显示错误 */
30
34
  error?: boolean;
31
35
  /** 帮助文本 */
32
- helperText?: React.ReactNode;
36
+ helperText?: ReactNode;
33
37
  /** value */
34
38
  value?: Type extends 'range' ? RangeValue<Dayjs> : NullableDateType<Dayjs>;
35
39
  /** 默认值 */
@@ -72,7 +76,12 @@ export declare type PickerProps<DateType> = PickerBaseProps<DateType> | PickerDa
72
76
  export declare type RangePickerBaseProps<DateType> = InjectDefaultProps<RCRangePickerBaseProps<DateType>, 'range'>;
73
77
  export declare type RangePickerDateProps<DateType> = InjectDefaultProps<RCRangePickerDateProps<DateType>, 'range'>;
74
78
  export declare type RangePickerTimeProps<DateType> = InjectDefaultProps<RCRangePickerTimeProps<DateType>, 'range'>;
75
- export declare type RangePickerProps<DateType> = RangePickerBaseProps<DateType> | RangePickerDateProps<DateType> | RangePickerTimeProps<DateType>;
79
+ export declare type RangePickerProps<DateType> = (RangePickerBaseProps<DateType> | RangePickerDateProps<DateType> | RangePickerTimeProps<DateType>) & {
80
+ /** 预设时间范围快捷选择 */
81
+ shortcuts?: ShortcutType[];
82
+ /** 预设范围选择面板位置 */
83
+ shortcutsPlacement?: 'left' | 'right' | 'bottom';
84
+ };
76
85
  declare function generatePicker<DateType>(generateConfig: GenerateConfig<DateType>): React.ComponentClass<PickerProps<DateType>, any> & {
77
86
  WeekPicker: React.ComponentClass<Omit<PickerDateProps<DateType>, "picker">, any>;
78
87
  MonthPicker: React.ComponentClass<Omit<PickerDateProps<DateType>, "picker">, any>;