@para-ui/core 3.0.83 → 3.0.84

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.
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
- import './style/index.scss';
1
+ import React from "react";
2
+ import "./style/index.scss";
3
3
  /**
4
4
  * @description: 级联选择器
5
5
  * @param value{ string }: 选中的值
@@ -35,7 +35,7 @@ interface Option {
35
35
  */
36
36
  interface Props {
37
37
  data: Option[];
38
- expandTrigger?: 'click' | 'hover';
38
+ expandTrigger?: "click" | "hover";
39
39
  value?: string[];
40
40
  onChange?: (value: string[], selectedOptions: Option[]) => void;
41
41
  onDropdownVisibleChange?: (visible: boolean) => void;
@@ -45,10 +45,15 @@ interface Props {
45
45
  fieldNames?: object;
46
46
  disabled?: boolean;
47
47
  placeholder?: string;
48
- size?: 'small' | 'medium' | 'large';
48
+ size?: "small" | "medium" | "large";
49
49
  loadData?: (selectedOptions: Option[], setState?: React.Dispatch<React.SetStateAction<Option[]>>) => void;
50
50
  loadingIcon?: React.ReactNode;
51
51
  children?: React.ReactNode;
52
+ className?: string;
53
+ dropdownClassName?: string;
52
54
  }
53
- export declare const Cascader: ({ data, expandTrigger, value, onChange, onDropdownVisibleChange, changeOnSelect, expandIcon, expandJoin, fieldNames, disabled, placeholder, loadData, loadingIcon, children, }: Props) => JSX.Element;
55
+ export interface CascaderRefProps {
56
+ clearValue: () => void;
57
+ }
58
+ export declare const Cascader: React.ForwardRefExoticComponent<Props & React.RefAttributes<unknown>>;
54
59
  export default Cascader;
package/Cascader/index.js CHANGED
@@ -3,12 +3,13 @@ import { _ as _slicedToArray } from '../_verture/slicedToArray-76060636.js';
3
3
  import { r as regenerator } from '../_verture/index-beef914f.js';
4
4
  import { a as __awaiter } from '../_verture/tslib.es6-55ed4bd2.js';
5
5
  import { jsx } from 'react/jsx-runtime';
6
- import { useState, useCallback } from 'react';
6
+ import { forwardRef, useState, useCallback, useImperativeHandle } from 'react';
7
7
  import RcCascader from 'rc-cascader';
8
8
  import Right from '@para-ui/icons/Right';
9
9
  import LoadingIcon from '@para-ui/icons/Loading';
10
10
  import { u as useFormatMessage } from '../_verture/useFormatMessage-703f8b20.js';
11
- import { $ as $prefixCls, a as $rcPrefixCls } from '../_verture/constant-66aa48a1.js';
11
+ import { a as $rcPrefixCls, $ as $prefixCls } from '../_verture/constant-66aa48a1.js';
12
+ import clsx from 'clsx';
12
13
  import { s as styleInject } from '../_verture/style-inject.es-300983ab.js';
13
14
  import '../_verture/unsupportedIterableToArray-cb478f24.js';
14
15
  import '@para-ui/core/GlobalContext';
@@ -29,31 +30,31 @@ var localeJson = {
29
30
  var css_248z = "@charset \"UTF-8\";\n/**\n* @author Hanz\n* @date 2021/10/20 下午2:08\n* @description color\n*/\n.paraui-v3-cascader input {\n color: #333;\n width: 560px;\n padding: 6px 12px;\n overflow: hidden;\n box-sizing: border-box;\n white-space: nowrap;\n text-overflow: ellipsis;\n border-radius: 4px;\n border: 1px solid #d9d9d9;\n}\n.paraui-v3-cascader button {\n background: transparent;\n border: none;\n}\n.paraui-v3-cascader.component-cascader-dropdown-hidden {\n display: none;\n}\n.paraui-v3-cascader .component-cascader-menus {\n font-size: 12px;\n overflow: hidden;\n background: #fff;\n border: 1px solid #d9d9d9;\n border-radius: 4px;\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.17);\n white-space: nowrap;\n}\n.paraui-v3-cascader .component-cascader-menus.slide-up-enter, .paraui-v3-cascader .component-cascader-menus.slide-up-appear {\n animation-duration: 0.3s;\n animation-fill-mode: both;\n transform-origin: 0 0;\n opacity: 0;\n animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);\n animation-play-state: paused;\n}\n.paraui-v3-cascader .component-cascader-menus.slide-up-leave {\n animation-duration: 0.3s;\n animation-fill-mode: both;\n transform-origin: 0 0;\n opacity: 1;\n animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);\n animation-play-state: paused;\n}\n.paraui-v3-cascader .component-cascader-menus.slide-up-enter.slide-up-enter-active, .paraui-v3-cascader .component-cascader-menus-placement-bottomLeft, .paraui-v3-cascader .component-cascader-menus.slide-up-appear.slide-up-appear-active, .paraui-v3-cascader .component-cascader-menus-placement-bottomLeft {\n animation-name: SlideUpIn;\n animation-play-state: running;\n}\n.paraui-v3-cascader .component-cascader-menus.slide-up-enter.slide-up-enter-active, .paraui-v3-cascader .component-cascader-menus-placement-topLeft, .paraui-v3-cascader .component-cascader-menus.slide-up-appear.slide-up-appear-active, .paraui-v3-cascader .component-cascader-menus-placement-topLeft {\n animation-name: SlideDownIn;\n animation-play-state: running;\n}\n.paraui-v3-cascader .component-cascader-menus.slide-up-leave.slide-up-leave-active, .paraui-v3-cascader .component-cascader-menus-placement-bottomLeft {\n animation-name: SlideUpOut;\n animation-play-state: running;\n}\n.paraui-v3-cascader .component-cascader-menus.slide-up-leave.slide-up-leave-active, .paraui-v3-cascader .component-cascader-menus-placement-topLeft {\n animation-name: SlideDownOut;\n animation-play-state: running;\n}\n.paraui-v3-cascader .component-cascader-menu {\n display: inline-block;\n min-width: 100px;\n height: 192px;\n list-style: none;\n margin: 0;\n padding: 0;\n border-right: 1px solid #e9e9e9;\n overflow: auto;\n}\n.paraui-v3-cascader .component-cascader-menu:last-child {\n border-right: 0;\n}\n.paraui-v3-cascader .component-cascader-menu-item {\n height: 32px;\n line-height: 32px;\n padding: 0 16px;\n cursor: pointer;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n transition: all 0.3s ease;\n position: relative;\n}\n.paraui-v3-cascader .component-cascader-menu-item:hover {\n background: rgba(171, 176, 185, 0.231372549);\n}\n.paraui-v3-cascader .component-cascader-menu-item-disabled {\n cursor: not-allowed;\n color: #ccc;\n}\n.paraui-v3-cascader .component-cascader-menu-item-disabled:hover {\n background: transparent;\n}\n.paraui-v3-cascader .component-cascader-menu-item-active {\n color: #3666d6;\n}\n.paraui-v3-cascader .component-cascader-menu-item-loading-icon {\n display: flex;\n align-items: center;\n margin-left: 10px;\n}\n.paraui-v3-cascader .component-cascader-menu-item-expand {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.paraui-v3-cascader .component-cascader-menu-item-expand-icon {\n font-size: 12px;\n margin-left: 10px;\n}\n.paraui-v3-cascader .component-cascader-menu-item-expand-icon SVG {\n display: flex;\n align-items: center;\n}\n.paraui-v3-cascader .component-cascader-menu-item-expand-icon SVG path {\n fill: #999;\n}\n\n.component-cascader-dropdown {\n position: absolute;\n}\n\n@keyframes SlideUpIn {\n 0% {\n opacity: 0;\n transform-origin: 0% 0%;\n transform: scaleY(0.8);\n }\n 100% {\n opacity: 1;\n transform-origin: 0% 0%;\n transform: scaleY(1);\n }\n}\n@keyframes SlideUpOut {\n 0% {\n opacity: 1;\n transform-origin: 0% 0%;\n transform: scaleY(1);\n }\n 100% {\n opacity: 0;\n transform-origin: 0% 0%;\n transform: scaleY(0.8);\n }\n}\n@keyframes SlideDownIn {\n 0% {\n opacity: 0;\n transform-origin: 0% 100%;\n transform: scaleY(0.8);\n }\n 100% {\n opacity: 1;\n transform-origin: 0% 100%;\n transform: scaleY(1);\n }\n}\n@keyframes SlideDownOut {\n 0% {\n opacity: 1;\n transform-origin: 0% 100%;\n transform: scaleY(1);\n }\n 100% {\n opacity: 0;\n transform-origin: 0% 100%;\n transform: scaleY(0.8);\n }\n}";
30
31
  styleInject(css_248z);
31
32
 
32
- var Cascader = function Cascader(_ref) {
33
- var data = _ref.data,
34
- _ref$expandTrigger = _ref.expandTrigger,
35
- expandTrigger = _ref$expandTrigger === void 0 ? 'click' : _ref$expandTrigger,
36
- _ref$value = _ref.value,
37
- value = _ref$value === void 0 ? [] : _ref$value,
38
- onChange = _ref.onChange,
39
- onDropdownVisibleChange = _ref.onDropdownVisibleChange,
40
- _ref$changeOnSelect = _ref.changeOnSelect,
41
- changeOnSelect = _ref$changeOnSelect === void 0 ? false : _ref$changeOnSelect,
42
- _ref$expandIcon = _ref.expandIcon,
43
- expandIcon = _ref$expandIcon === void 0 ? jsx(Right, {}) : _ref$expandIcon,
44
- _ref$expandJoin = _ref.expandJoin,
45
- expandJoin = _ref$expandJoin === void 0 ? ' , ' : _ref$expandJoin,
46
- _ref$fieldNames = _ref.fieldNames,
47
- fieldNames = _ref$fieldNames === void 0 ? {
48
- label: 'label',
49
- value: 'value',
50
- children: 'children'
51
- } : _ref$fieldNames,
52
- _ref$disabled = _ref.disabled,
53
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
54
- placeholder = _ref.placeholder,
55
- _ref$loadData = _ref.loadData,
56
- loadData = _ref$loadData === void 0 ? function () {
33
+ var Cascader = /*#__PURE__*/forwardRef(function (props, ref) {
34
+ var data = props.data,
35
+ _props$expandTrigger = props.expandTrigger,
36
+ expandTrigger = _props$expandTrigger === void 0 ? "click" : _props$expandTrigger,
37
+ _props$value = props.value,
38
+ value = _props$value === void 0 ? [] : _props$value,
39
+ onChange = props.onChange,
40
+ onDropdownVisibleChange = props.onDropdownVisibleChange,
41
+ _props$changeOnSelect = props.changeOnSelect,
42
+ changeOnSelect = _props$changeOnSelect === void 0 ? false : _props$changeOnSelect,
43
+ _props$expandIcon = props.expandIcon,
44
+ expandIcon = _props$expandIcon === void 0 ? jsx(Right, {}) : _props$expandIcon,
45
+ _props$expandJoin = props.expandJoin,
46
+ expandJoin = _props$expandJoin === void 0 ? " , " : _props$expandJoin,
47
+ _props$fieldNames = props.fieldNames,
48
+ fieldNames = _props$fieldNames === void 0 ? {
49
+ label: "label",
50
+ value: "value",
51
+ children: "children"
52
+ } : _props$fieldNames,
53
+ _props$disabled = props.disabled,
54
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
55
+ placeholder = props.placeholder,
56
+ _props$loadData = props.loadData,
57
+ loadData = _props$loadData === void 0 ? function () {
57
58
  return __awaiter(void 0, void 0, void 0, /*#__PURE__*/regenerator.mark(function _callee() {
58
59
  return regenerator.wrap(function _callee$(_context) {
59
60
  while (1) switch (_context.prev = _context.next) {
@@ -63,11 +64,13 @@ var Cascader = function Cascader(_ref) {
63
64
  }
64
65
  }, _callee);
65
66
  }));
66
- } : _ref$loadData,
67
- _ref$loadingIcon = _ref.loadingIcon,
68
- loadingIcon = _ref$loadingIcon === void 0 ? jsx(LoadingIcon, {}) : _ref$loadingIcon,
69
- children = _ref.children;
70
- var intl = useFormatMessage('Cascader', localeJson);
67
+ } : _props$loadData,
68
+ _props$loadingIcon = props.loadingIcon,
69
+ loadingIcon = _props$loadingIcon === void 0 ? jsx(LoadingIcon, {}) : _props$loadingIcon,
70
+ children = props.children,
71
+ dropdownClassName = props.dropdownClassName,
72
+ className = props.className;
73
+ var intl = useFormatMessage("Cascader", localeJson);
71
74
  var _useState = useState(data),
72
75
  _useState2 = _slicedToArray(_useState, 2),
73
76
  option = _useState2[0],
@@ -103,8 +106,24 @@ var Cascader = function Cascader(_ref) {
103
106
  }, _callee2);
104
107
  }));
105
108
  };
109
+ var casCls = function casCls() {
110
+ var cls = clsx($prefixCls + "-cascader", className);
111
+ return cls;
112
+ };
113
+ var dropdownCls = function dropdownCls() {
114
+ var cls = clsx($prefixCls + "-cascader", dropdownClassName);
115
+ return cls;
116
+ };
117
+ useImperativeHandle(ref, function () {
118
+ return {
119
+ clearValue: function clearValue() {
120
+ setValue([]);
121
+ setLabel("");
122
+ }
123
+ };
124
+ });
106
125
  return jsx("div", Object.assign({
107
- className: $prefixCls + '-cascader'
126
+ className: casCls()
108
127
  }, {
109
128
  children: jsx(RcCascader, Object.assign({
110
129
  options: option,
@@ -117,8 +136,8 @@ var Cascader = function Cascader(_ref) {
117
136
  loadingIcon: loadingIcon,
118
137
  onDropdownVisibleChange: onDropdownVisibleChange,
119
138
  value: inputValue,
120
- prefixCls: $rcPrefixCls + '-cascader',
121
- dropdownClassName: $prefixCls + '-cascader'
139
+ prefixCls: $rcPrefixCls + "-cascader",
140
+ dropdownClassName: dropdownCls()
122
141
  }, {
123
142
  children: children ? jsx("button", Object.assign({
124
143
  disabled: disabled
@@ -129,12 +148,12 @@ var Cascader = function Cascader(_ref) {
129
148
  readOnly: true,
130
149
  disabled: disabled,
131
150
  placeholder: placeholder || intl({
132
- id: 'placeholder'
151
+ id: "placeholder"
133
152
  })
134
153
  })
135
154
  }))
136
155
  }));
137
- };
156
+ });
138
157
  function valueToLabel(opt, value, expandJoin) {
139
158
  var label = [];
140
159
  var count = 0;
package/Form/index.js CHANGED
@@ -3,7 +3,7 @@ import { _ as _slicedToArray } from '../_verture/slicedToArray-76060636.js';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
  import { DeepClone } from '@paraview/lib';
5
5
  import React__default from 'react';
6
- import { F as FormItem, v as validate } from '../_verture/index-04c6e510.js';
6
+ import { F as FormItem, v as validate } from '../_verture/index-ebbda859.js';
7
7
  import { $ as $prefixCls } from '../_verture/constant-66aa48a1.js';
8
8
  import '../_verture/unsupportedIterableToArray-cb478f24.js';
9
9
  import '../TextField/index.js';
package/FormItem/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import 'react/jsx-runtime';
2
2
  import 'react';
3
- export { F as default } from '../_verture/index-04c6e510.js';
3
+ export { F as default } from '../_verture/index-ebbda859.js';
4
4
  import 'clsx';
5
5
  import '../Label/index.js';
6
6
  import '../_verture/constant-66aa48a1.js';
package/README.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## 版本: 3.0.84
2
+
3
+ para-ui/core@3.0.84 发布
4
+ 【下拉框-Select】去除searchModel为inside,自动得到焦点,防止页面上下抖动
5
+ 【下拉框-Select】修复下拉框闪烁渲染
6
+ 【级联选择器-Cascader】级联选择器增加dropdownClassName,className字段,修改组件样式,组件暴露clearValue函数清空组件值
7
+
1
8
  ## 版本: 3.0.83
2
9
 
3
10
  para-ui/core@3.0.83 发布
@@ -45,7 +52,7 @@
45
52
  para-ui/core@3.0.77 发布
46
53
  【文档】更新表格,多值框,单值框文档
47
54
  【国际化】国际化文档更新
48
- 【para-ui/icons】添加 @para-ui/icons 依赖到 peerDependencies
55
+ 【para-ui/icons】添加 @para-ui/icons 依赖到 peerDependencies
49
56
 
50
57
  ## 版本: 3.0.76
51
58
 
package/Select/index.js CHANGED
@@ -200,6 +200,7 @@ var Select = function Select(props) {
200
200
  locale = _React$useContext.locale;
201
201
  var intl = useFormatMessage('Select', localeJson);
202
202
  constData.listCom = listCom;
203
+ constData.searchModel = searchModel;
203
204
  useEffect(function () {
204
205
  if (props.defaultValue !== undefined) {
205
206
  if (props.multiple) {
@@ -214,7 +215,6 @@ var Select = function Select(props) {
214
215
  clearTimeout(constData.searchTimer);
215
216
  clearTimeout(constData.timer);
216
217
  clearTimeout(constData.scrollTimer);
217
- clearTimeout(constData.inputFocusTimer);
218
218
  };
219
219
  }, []);
220
220
  // 赋值value
@@ -392,20 +392,10 @@ var Select = function Select(props) {
392
392
  // 输入框的到焦点
393
393
  var inputFocus = function inputFocus() {
394
394
  var inputDom = textDom && textDom.current;
395
- var userAgent = navigator.userAgent;
396
- if (/Safari/.test(userAgent) && !/Chrome/.test(userAgent) && constData.listCom.length > 0) {
397
- // 延迟为了解决safari浏览器,页面滚动问题
398
- clearTimeout(constData.inputFocusTimer);
399
- constData.inputFocusTimer = setTimeout(function () {
400
- inputDom && inputDom.focus({
401
- preventScroll: true
402
- });
403
- }, 800);
404
- } else {
405
- inputDom && inputDom.focus({
406
- preventScroll: true
407
- });
408
- }
395
+ if (constData.searchModel === "inside") return;
396
+ inputDom && inputDom.focus({
397
+ preventScroll: true
398
+ });
409
399
  };
410
400
  /**
411
401
  * 查找元素
@@ -1025,7 +1015,10 @@ var Select = function Select(props) {
1025
1015
  });
1026
1016
  };
1027
1017
  return jsxs("div", Object.assign({
1028
- className: handClass()
1018
+ className: handClass(),
1019
+ style: {
1020
+ outline: '1px solid transparent'
1021
+ }
1029
1022
  }, {
1030
1023
  children: [listCom && listCom.length > 0 ? jsx(Fragment, {
1031
1024
  children: listCom.map(function (item, index) {
package/index.js CHANGED
@@ -22,7 +22,7 @@ export { D as Dropdown } from './_verture/index-77f9e0fb.js';
22
22
  export { default as DynamicMultiBox } from './DynamicMultiBox/index.js';
23
23
  export { default as Empty } from './Empty/index.js';
24
24
  export { default as Form } from './Form/index.js';
25
- export { F as FormItem } from './_verture/index-04c6e510.js';
25
+ export { F as FormItem } from './_verture/index-ebbda859.js';
26
26
  export { u as FunctionModal, F as FunctionModalProvider, a as useClose } from './_verture/modalContext-20780c9a.js';
27
27
  export { default as GlobalContext, changeConfirmLocale, getConfirmLocale } from './GlobalContext/index.js';
28
28
  export { default as Help } from './Help/index.js';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@para-ui/core",
3
3
  "private": false,
4
- "version": "3.0.83",
4
+ "version": "3.0.84",
5
5
  "main": "./index.js",
6
6
  "typings": "./index.d.ts",
7
7
  "description": "Powered by Para FED",