@chaoswise/ui 2.2.9 → 2.3.1

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 (78) hide show
  1. package/lib/AbreastLayout/index.js +5 -1
  2. package/lib/BasicLayout/Sider.js +8 -3
  3. package/lib/BasicLayout/index.js +10 -2
  4. package/lib/Button/index.js +0 -8
  5. package/lib/CWCascader/Cascader/index.js +207 -0
  6. package/lib/CWCascader/index.js +60 -0
  7. package/lib/CWCascader/index.less +31 -0
  8. package/lib/CWCascader/rc-cascader/Cascader.js +353 -0
  9. package/lib/CWCascader/rc-cascader/OptionList/Checkbox.js +22 -0
  10. package/lib/CWCascader/rc-cascader/OptionList/Column.js +276 -0
  11. package/lib/CWCascader/rc-cascader/OptionList/index.js +221 -0
  12. package/lib/CWCascader/rc-cascader/OptionList/useActive.js +33 -0
  13. package/lib/CWCascader/rc-cascader/OptionList/useKeyboard.js +173 -0
  14. package/lib/CWCascader/rc-cascader/context.js +3 -0
  15. package/lib/CWCascader/rc-cascader/hooks/useDisplayValues.js +85 -0
  16. package/lib/CWCascader/rc-cascader/hooks/useEntities.js +40 -0
  17. package/lib/CWCascader/rc-cascader/hooks/useMissingValues.js +19 -0
  18. package/lib/CWCascader/rc-cascader/hooks/useRefFunc.js +13 -0
  19. package/lib/CWCascader/rc-cascader/hooks/useSearchConfig.js +30 -0
  20. package/lib/CWCascader/rc-cascader/hooks/useSearchOptions.js +74 -0
  21. package/lib/CWCascader/rc-cascader/index.js +2 -0
  22. package/lib/CWCascader/rc-cascader/utils/commonUtil.js +54 -0
  23. package/lib/CWCascader/rc-cascader/utils/treeUtil.js +81 -0
  24. package/lib/CWCascader/rc-cascader/utils/warningPropsUtil.js +30 -0
  25. package/lib/CWRangePicker/DropdownMenu/index.js +1 -1
  26. package/lib/CWRangePicker/DropdownMenu/index.less +11 -7
  27. package/lib/CWRangePicker/index.js +30 -29
  28. package/lib/CWSelect/index.js +9 -1
  29. package/lib/CWSelect/index.less +11 -1
  30. package/lib/Cascader/index.js +0 -8
  31. package/lib/Cascader/index.less +23 -0
  32. package/lib/Cascaders/Cascader/index.js +208 -0
  33. package/lib/Cascaders/index.js +17 -0
  34. package/lib/Cascaders/index.less +1 -0
  35. package/lib/Cascaders/rc-cascader/Cascader.js +326 -0
  36. package/lib/Cascaders/rc-cascader/OptionList/Checkbox.js +22 -0
  37. package/lib/Cascaders/rc-cascader/OptionList/Column.js +203 -0
  38. package/lib/Cascaders/rc-cascader/OptionList/index.js +213 -0
  39. package/lib/Cascaders/rc-cascader/OptionList/useActive.js +33 -0
  40. package/lib/Cascaders/rc-cascader/OptionList/useKeyboard.js +171 -0
  41. package/lib/Cascaders/rc-cascader/context.js +3 -0
  42. package/lib/Cascaders/rc-cascader/hooks/useDisplayValues.js +56 -0
  43. package/lib/Cascaders/rc-cascader/hooks/useEntities.js +34 -0
  44. package/lib/Cascaders/rc-cascader/hooks/useMissingValues.js +19 -0
  45. package/lib/Cascaders/rc-cascader/hooks/useRefFunc.js +13 -0
  46. package/lib/Cascaders/rc-cascader/hooks/useSearchConfig.js +25 -0
  47. package/lib/Cascaders/rc-cascader/hooks/useSearchOptions.js +72 -0
  48. package/lib/Cascaders/rc-cascader/index.js +2 -0
  49. package/lib/Cascaders/rc-cascader/utils/commonUtil.js +54 -0
  50. package/lib/Cascaders/rc-cascader/utils/treeUtil.js +37 -0
  51. package/lib/Cascaders/rc-cascader/utils/warningPropsUtil.js +30 -0
  52. package/lib/CitySelect/index.js +2 -2
  53. package/lib/DropdownDatePicker/DropdownMenu/MoreTimeList/index.js +46 -0
  54. package/lib/DropdownDatePicker/DropdownMenu/MoreTimeList/index.less +14 -0
  55. package/lib/DropdownDatePicker/DropdownMenu/index.js +126 -0
  56. package/lib/DropdownDatePicker/DropdownMenu/index.less +68 -0
  57. package/lib/DropdownDatePicker/assets/Calendar2.js +15 -0
  58. package/lib/DropdownDatePicker/assets/live.js +19 -0
  59. package/lib/DropdownDatePicker/assets/more.js +23 -0
  60. package/lib/DropdownDatePicker/index.js +281 -0
  61. package/lib/DropdownDatePicker/index.less +34 -0
  62. package/lib/DropdownDatePicker/locale/en_US.js +20 -0
  63. package/lib/DropdownDatePicker/locale/index.js +12 -0
  64. package/lib/DropdownDatePicker/locale/zh_CN.js +20 -0
  65. package/lib/DropdownDatePicker/utils/index.js +247 -0
  66. package/lib/InputNumber/index.js +15 -11
  67. package/lib/ModuleFederation/ErrorBoundary/index.js +54 -0
  68. package/lib/ModuleFederation/index.js +10 -0
  69. package/lib/ModuleFederation/react-dynamic-remote-component/RemoteComponent.js +185 -0
  70. package/lib/ModuleFederation/react-dynamic-remote-component/attach-script.js +42 -0
  71. package/lib/ModuleFederation/react-dynamic-remote-component/index.js +1 -0
  72. package/lib/ModuleFederation/react-dynamic-remote-component/load-module.js +44 -0
  73. package/lib/ModuleFederation/react-dynamic-remote-component/loading-script.js +35 -0
  74. package/lib/ModuleFederation/react-dynamic-remote-component/suspend.js +28 -0
  75. package/lib/ModuleFederation/react-dynamic-remote-component/utils.js +7 -0
  76. package/lib/QuickTransfer/locale/index.js +1 -4
  77. package/lib/QuickTransfer/locale/zh_CN.js +0 -8
  78. package/package.json +4 -3
@@ -204,7 +204,11 @@ AbreastLayout.propTypes = {
204
204
  /**
205
205
  * 内容区样式
206
206
  */
207
- contentStyle: PropTypes.object
207
+ contentStyle: PropTypes.object,
208
+ /**
209
+ * 折叠展开的callback,onCollapse = (collapsed)=>{}
210
+ */
211
+ onCollapse: PropTypes.func
208
212
  };
209
213
  AbreastLayout.NavTreeContainer = NavTreeContainer;
210
214
  export default AbreastLayout;
@@ -6,7 +6,7 @@ import "@chaoswise/ui/lib/SiderMenu/index.less";
6
6
  import _SiderMenu from "@chaoswise/ui/lib/SiderMenu";
7
7
  import "antd/es/layout/style";
8
8
  import _Layout from "antd/es/layout";
9
- var _excluded = ["canDrag", "enable", "maxDragWidth", "resizeBarColor", "onResizeStart", "onResizeStop", "siderDragWidth"],
9
+ var _excluded = ["canDrag", "enable", "maxDragWidth", "resizeBarColor", "onResizeStart", "onResizeStop", "onResize", "siderDragWidth"],
10
10
  _excluded2 = ["menuData", "resizableProps"];
11
11
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
12
12
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -38,7 +38,7 @@ function Sider(_ref) {
38
38
  _menuOptions$resizabl = menuOptions.resizableProps,
39
39
  _menuOptions$resizabl2 = _menuOptions$resizabl === void 0 ? {} : _menuOptions$resizabl,
40
40
  _menuOptions$resizabl3 = _menuOptions$resizabl2.canDrag,
41
- canDrag = _menuOptions$resizabl3 === void 0 ? false : _menuOptions$resizabl3,
41
+ canDrag = _menuOptions$resizabl3 === void 0 ? true : _menuOptions$resizabl3,
42
42
  enable = _menuOptions$resizabl2.enable,
43
43
  _menuOptions$resizabl4 = _menuOptions$resizabl2.maxDragWidth,
44
44
  maxDragWidth = _menuOptions$resizabl4 === void 0 ? 264 : _menuOptions$resizabl4,
@@ -48,6 +48,8 @@ function Sider(_ref) {
48
48
  _onResizeStart = _menuOptions$resizabl6 === void 0 ? function () {} : _menuOptions$resizabl6,
49
49
  _menuOptions$resizabl7 = _menuOptions$resizabl2.onResizeStop,
50
50
  _onResizeStop = _menuOptions$resizabl7 === void 0 ? function () {} : _menuOptions$resizabl7,
51
+ _menuOptions$resizabl8 = _menuOptions$resizabl2.onResize,
52
+ _onResize = _menuOptions$resizabl8 === void 0 ? function () {} : _menuOptions$resizabl8,
51
53
  siderDragWidth = _menuOptions$resizabl2.siderDragWidth,
52
54
  _resizableProps = _objectWithoutProperties(_menuOptions$resizabl2, _excluded),
53
55
  _resMenuProps = _objectWithoutProperties(menuOptions, _excluded2);
@@ -56,7 +58,7 @@ function Sider(_ref) {
56
58
  maxWidth: collapsed ? siderCollapsedWidth : maxDragWidth,
57
59
  onResizeStart: function onResizeStart() {
58
60
  setEnableResizable(true);
59
- _onResizeStart();
61
+ _onResizeStart.apply(void 0, arguments);
60
62
  },
61
63
  onResizeStop: function onResizeStop(e, direction, ref, d) {
62
64
  setEnableResizable(false);
@@ -66,6 +68,9 @@ function Sider(_ref) {
66
68
  _setSiderDragWidth(newWidth);
67
69
  }
68
70
  },
71
+ onResize: function onResize(e, direction, ref, d) {
72
+ _onResize(d.width);
73
+ },
69
74
  enable: _objectSpread({
70
75
  top: false,
71
76
  bottom: false,
@@ -98,7 +98,8 @@ var BasicLayout = function BasicLayout(_ref) {
98
98
  getPrefixCls = _useConfigContext.getPrefixCls;
99
99
  var prefixCls = getPrefixCls('basic-layout');
100
100
  var _useLocale = useLocale(langConfig),
101
- langObj = _useLocale.langObj;
101
+ langObj = _useLocale.langObj,
102
+ locale = _useLocale.locale;
102
103
  var menuData = menuOptions.menuData,
103
104
  _menuOptions$resizabl = menuOptions.resizableProps,
104
105
  _menuOptions$resizabl2 = _menuOptions$resizabl === void 0 ? {} : _menuOptions$resizabl,
@@ -123,7 +124,9 @@ var BasicLayout = function BasicLayout(_ref) {
123
124
  _useState8 = _slicedToArray(_useState7, 2),
124
125
  enableResizable = _useState8[0],
125
126
  setEnableResizable = _useState8[1];
126
- var _useState9 = useState(siderWidth),
127
+ // TODO 优化代码!!!!
128
+ var defaultSiderWidth = locale === 'zh' ? siderWidth : siderWidth + 40;
129
+ var _useState9 = useState(defaultSiderWidth),
127
130
  _useState10 = _slicedToArray(_useState9, 2),
128
131
  _siderDragWidth = _useState10[0],
129
132
  _setSiderDragWidth = _useState10[1];
@@ -140,6 +143,11 @@ var BasicLayout = function BasicLayout(_ref) {
140
143
  _setSiderDragWidth(siderDragWidth);
141
144
  }
142
145
  }, [siderDragWidth]);
146
+ useEffect(function () {
147
+ if (!siderDragWidth) {
148
+ _setSiderDragWidth(defaultSiderWidth);
149
+ }
150
+ }, [locale, defaultSiderWidth]);
143
151
  var onFooterLoaded = function onFooterLoaded(args) {
144
152
  // 移动footer到指定位置展示 统一布局
145
153
  setTimeout(function () {
@@ -4,14 +4,6 @@ var _excluded = ["mainType", "className"];
4
4
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
5
5
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
6
6
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
7
- /*
8
- * @Author: andrew.qiao andrew.qiao@cloudwise.com
9
- * @Date: 2022-12-27 17:34:03
10
- * @LastEditors: andrew.qiao andrew.qiao@cloudwise.com
11
- * @LastEditTime: 2023-01-10 16:22:47
12
- * @FilePath: /change_01/aops_web_commons/packages/ui/components/Button/index.js
13
- * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
14
- */
15
7
  import React, { forwardRef } from "react";
16
8
  import PropTypes from "prop-types";
17
9
  import classnames from "classnames";
@@ -0,0 +1,207 @@
1
+ var _excluded = ["prefixCls", "size", "className", "multiple", "bordered", "transitionName", "choiceTransitionName", "popupClassName", "dropdownClassName", "expandIcon", "placement", "showSearch", "allowClear", "notFoundContent", "direction", "getPopupContainer", "status", "showArrow"];
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
11
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
12
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
15
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
16
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
17
+ import LeftOutlined from "@ant-design/icons/LeftOutlined";
18
+ import LoadingOutlined from "@ant-design/icons/LoadingOutlined";
19
+ import RightOutlined from "@ant-design/icons/RightOutlined";
20
+ import classNames from "classnames";
21
+ import RcCascader from "../rc-cascader";
22
+ import omit from "rc-util/lib/omit";
23
+ import * as React from "react";
24
+ import { useContext } from 'react';
25
+ import { ConfigContext } from '../../Antd4/config-provider';
26
+ import SizeContext from '../../Antd4/config-provider/SizeContext';
27
+ import { FormItemInputContext } from '../../Antd4/form4-24-7/context';
28
+ import getIcons from '../../Antd4/select/utils/iconUtil';
29
+ import { getTransitionName, getTransitionDirection } from '../../Antd4/_util/motion';
30
+ import { getMergedStatus, getStatusClassNames } from "../../Antd4/_util/statusUtils";
31
+ var SHOW_CHILD = RcCascader.SHOW_CHILD,
32
+ SHOW_PARENT = RcCascader.SHOW_PARENT;
33
+ function highlightKeyword(str, lowerKeyword, prefixCls) {
34
+ var cells = str.toLowerCase().split(lowerKeyword).reduce(function (list, cur, index) {
35
+ return index === 0 ? [cur] : [].concat(_toConsumableArray(list), [lowerKeyword, cur]);
36
+ }, []);
37
+ var fillCells = [];
38
+ var start = 0;
39
+ cells.forEach(function (cell, index) {
40
+ var end = start + cell.length;
41
+ var originWorld = str.slice(start, end);
42
+ start = end;
43
+ if (index % 2 === 1) {
44
+ originWorld =
45
+ /*#__PURE__*/
46
+ // eslint-disable-next-line react/no-array-index-key
47
+ React.createElement("span", {
48
+ className: "".concat(prefixCls, "-menu-item-keyword"),
49
+ key: "seperator-".concat(index)
50
+ }, originWorld);
51
+ }
52
+ fillCells.push(originWorld);
53
+ });
54
+ return fillCells;
55
+ }
56
+ var defaultSearchRender = function defaultSearchRender(inputValue, path, prefixCls, fieldNames) {
57
+ var optionList = [];
58
+ // We do lower here to save perf
59
+ var lower = inputValue.toLowerCase();
60
+ path.forEach(function (node, index) {
61
+ if (index !== 0) {
62
+ optionList.push(" / ");
63
+ }
64
+ var label = node[fieldNames.label];
65
+ var type = _typeof(label);
66
+ if (type === "string" || type === "number") {
67
+ label = highlightKeyword(String(label), lower, prefixCls);
68
+ }
69
+ optionList.push(label);
70
+ });
71
+ return optionList;
72
+ };
73
+ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
74
+ var _classNames2;
75
+ var customizePrefixCls = props.prefixCls,
76
+ customizeSize = props.size,
77
+ className = props.className,
78
+ multiple = props.multiple,
79
+ _props$bordered = props.bordered,
80
+ bordered = _props$bordered === void 0 ? true : _props$bordered,
81
+ transitionName = props.transitionName,
82
+ _props$choiceTransiti = props.choiceTransitionName,
83
+ choiceTransitionName = _props$choiceTransiti === void 0 ? '' : _props$choiceTransiti,
84
+ popupClassName = props.popupClassName,
85
+ dropdownClassName = props.dropdownClassName,
86
+ expandIcon = props.expandIcon,
87
+ placement = props.placement,
88
+ showSearch = props.showSearch,
89
+ _props$allowClear = props.allowClear,
90
+ allowClear = _props$allowClear === void 0 ? true : _props$allowClear,
91
+ notFoundContent = props.notFoundContent,
92
+ direction = props.direction,
93
+ getPopupContainer = props.getPopupContainer,
94
+ customStatus = props.status,
95
+ showArrow = props.showArrow,
96
+ rest = _objectWithoutProperties(props, _excluded);
97
+ var restProps = omit(rest, ['suffixIcon']);
98
+ var _useContext = useContext(ConfigContext),
99
+ getContextPopupContainer = _useContext.getPopupContainer,
100
+ getPrefixCls = _useContext.getPrefixCls,
101
+ renderEmpty = _useContext.renderEmpty,
102
+ rootDirection = _useContext.direction;
103
+ var mergedDirection = direction || rootDirection;
104
+ var isRtl = mergedDirection === 'rtl';
105
+
106
+ // =================== Form =====================
107
+ var _useContext2 = useContext(FormItemInputContext),
108
+ contextStatus = _useContext2.status,
109
+ hasFeedback = _useContext2.hasFeedback,
110
+ isFormItemInput = _useContext2.isFormItemInput,
111
+ feedbackIcon = _useContext2.feedbackIcon;
112
+ var mergedStatus = getMergedStatus(contextStatus, customStatus);
113
+ // =================== No Found ====================
114
+ var mergedNotFoundContent = notFoundContent || renderEmpty('Cascader');
115
+
116
+ // ==================== Prefix =====================
117
+ var rootPrefixCls = getPrefixCls();
118
+ var prefixCls = getPrefixCls('select', customizePrefixCls);
119
+ var cascaderPrefixCls = getPrefixCls('cascader', customizePrefixCls);
120
+ // =================== Dropdown ====================
121
+ var mergedDropdownClassName = classNames(dropdownClassName || popupClassName, "".concat(cascaderPrefixCls, "-dropdown"), "cw-cascader-custom-dropdown", _defineProperty({}, "".concat(cascaderPrefixCls, "-dropdown-rtl"), mergedDirection === 'rtl'));
122
+ // ==================== Search =====================
123
+ var mergedShowSearch = React.useMemo(function () {
124
+ if (!showSearch) {
125
+ return showSearch;
126
+ }
127
+ var searchConfig = {
128
+ render: defaultSearchRender
129
+ };
130
+ if (_typeof(showSearch) === 'object') {
131
+ searchConfig = _objectSpread(_objectSpread({}, searchConfig), showSearch);
132
+ }
133
+ return searchConfig;
134
+ }, [showSearch]);
135
+ // ===================== Size ======================
136
+ var size = React.useContext(SizeContext);
137
+ var mergedSize = customizeSize || size;
138
+ // ===================== Icon ======================
139
+ var mergedExpandIcon = expandIcon;
140
+ if (!expandIcon) {
141
+ mergedExpandIcon = isRtl ? /*#__PURE__*/React.createElement(LeftOutlined, null) : /*#__PURE__*/React.createElement(RightOutlined, null);
142
+ }
143
+ var loadingIcon = /*#__PURE__*/React.createElement("span", {
144
+ className: "".concat(prefixCls, "-menu-item-loading-icon")
145
+ }, /*#__PURE__*/React.createElement(LoadingOutlined, {
146
+ spin: true
147
+ }));
148
+
149
+ // =================== Multiple ====================
150
+ var checkable = React.useMemo(function () {
151
+ return multiple ? /*#__PURE__*/React.createElement("span", {
152
+ className: "".concat(cascaderPrefixCls, "-checkbox-inner")
153
+ }) : false;
154
+ }, [multiple]);
155
+ // ===================== Icons =====================
156
+ var mergedShowArrow = showArrow !== undefined ? showArrow : props.loading || !multiple;
157
+ var _getIcons = getIcons(_objectSpread(_objectSpread({}, props), {}, {
158
+ hasFeedback: hasFeedback,
159
+ feedbackIcon: feedbackIcon,
160
+ showArrow: mergedShowArrow,
161
+ multiple: multiple,
162
+ prefixCls: prefixCls
163
+ })),
164
+ suffixIcon = _getIcons.suffixIcon,
165
+ removeIcon = _getIcons.removeIcon,
166
+ clearIcon = _getIcons.clearIcon;
167
+ // ===================== Placement =====================
168
+ var getPlacement = function getPlacement() {
169
+ if (placement !== undefined) {
170
+ return placement;
171
+ }
172
+ return isRtl ? "bottomRight" : "bottomLeft";
173
+ };
174
+ // ==================== Render =====================
175
+ return /*#__PURE__*/React.createElement(RcCascader, _extends({
176
+ prefixCls: prefixCls,
177
+ className: classNames(!customizePrefixCls && cascaderPrefixCls, (_classNames2 = {}, _defineProperty(_classNames2, "".concat(prefixCls, "-lg"), mergedSize === 'large'), _defineProperty(_classNames2, "".concat(prefixCls, "-sm"), mergedSize === 'small'), _defineProperty(_classNames2, "".concat(prefixCls, "-rtl"), isRtl), _defineProperty(_classNames2, "".concat(prefixCls, "-borderless"), !bordered), _defineProperty(_classNames2, "".concat(prefixCls, "-in-form-item"), isFormItemInput), _classNames2), getStatusClassNames(prefixCls, mergedStatus, hasFeedback), className)
178
+ }, restProps, {
179
+ direction: mergedDirection,
180
+ placement: getPlacement(),
181
+ notFoundContent: mergedNotFoundContent,
182
+ allowClear: allowClear,
183
+ showSearch: mergedShowSearch,
184
+ expandIcon: mergedExpandIcon,
185
+ inputIcon: suffixIcon,
186
+ removeIcon: removeIcon,
187
+ clearIcon: clearIcon,
188
+ loadingIcon: loadingIcon,
189
+ checkable: checkable,
190
+ dropdownClassName: mergedDropdownClassName,
191
+ dropdownPrefixCls: customizePrefixCls || cascaderPrefixCls,
192
+ choiceTransitionName: getTransitionName(rootPrefixCls, '', choiceTransitionName),
193
+ transitionName: getTransitionName(rootPrefixCls, getTransitionDirection(placement), transitionName),
194
+ getPopupContainer: getPopupContainer || getContextPopupContainer,
195
+ ref: ref,
196
+ showArrow: hasFeedback || showArrow
197
+ }));
198
+ });
199
+ if (process.env.NODE_ENV !== "production") {
200
+ Cascader.displayName = "Cascader";
201
+ }
202
+ // We don't care debug panel
203
+ /* istanbul ignore next */
204
+ Cascader.SHOW_PARENT = SHOW_PARENT;
205
+ Cascader.SHOW_CHILD = SHOW_CHILD;
206
+ Cascader._InternalPanelDoNotUseOrYouWillBeFired = Cascader;
207
+ export default Cascader;
@@ -0,0 +1,60 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+ import React, { forwardRef } from "react";
3
+ import Cascader from "./Cascader";
4
+ import PropTypes from "prop-types";
5
+ import "antd/es/cascader/style/index.less";
6
+ import "../Antd4/cascader/style/index.less";
7
+ import "./index.less";
8
+ var CWCascader = /*#__PURE__*/forwardRef(function (props, ref) {
9
+ return /*#__PURE__*/React.createElement(Cascader, _extends({}, props, {
10
+ ref: ref
11
+ }));
12
+ });
13
+ CWCascader.SHOW_CHILD = Cascader.SHOW_CHILD;
14
+ CWCascader.SHOW_PARENT = Cascader.SHOW_PARENT;
15
+ CWCascader.defaultProps = {
16
+ showColumnSearch: false,
17
+ labelInValue: false,
18
+ showCheckedStrategy: CWCascader.SHOW_PARENT
19
+ };
20
+ CWCascader.propTypes = {
21
+ /**
22
+ * 级联选择器是否每列都可搜索(需要后端搜索时使用),默认为false
23
+ */
24
+ showColumnSearch: PropTypes.bool,
25
+ /**
26
+ * 是否把每个选项的 label 包装到 value 中,从 array 变为 { value: array, label: string } 的格式,默认为false
27
+ */
28
+ labelInValue: PropTypes.bool,
29
+ /**
30
+ * 是否重置第一列value
31
+ */
32
+ isResetInputValue: PropTypes.bool,
33
+ // todo: 后面要完善成为所有value受控状态
34
+ /**
35
+ * 下拉列表中各列项滚动到底部时的回调,onSrollBottom = (e,scrollColumnId) => {}。
36
+ * scrollColumnId第一列为undefined,从第二列开始为前一列的父级id值。
37
+ */
38
+ onSrollBottom: PropTypes.func,
39
+ /**
40
+ * 下拉列表中各列项文本框值变化的回调,onInputChange = (e,searchColumnId) => {}。
41
+ * searchColumnId第一列为undefined,从第二列开始为前一列的父级id值。
42
+ * --异步加载数据--
43
+ */
44
+ onInputChange: PropTypes.func,
45
+ /**
46
+ * 下拉列表中各列项自定义下拉框内容,dropdownColumnRender = (columnMenu,columnId,columnLoading) => {}。
47
+ * columnMenu为原始菜单dom。
48
+ * columnId第一列为undefined,从第二列开始为前一列的父级id值。
49
+ * columnLoading是否处于loading状态中。
50
+ * --异步加载数据--
51
+ */
52
+ dropdownColumnRender: PropTypes.func,
53
+ /**
54
+ * 定义选中项回填的方式。
55
+ * CWCascader.SHOW_CHILD: 只显示选中的子节点。
56
+ * CWCascader.SHOW_PARENT: 只显示父节点(当父节点下所有子节点都选中时)。
57
+ */
58
+ showCheckedStrategy: PropTypes.oneOf([CWCascader.SHOW_PARENT, CWCascader.SHOW_CHILD])
59
+ };
60
+ export default CWCascader;
@@ -0,0 +1,31 @@
1
+ @import '../Cascader/index.less';
2
+
3
+ .cw-cascader-custom-dropdown.@{ant-prefix}-select-dropdown {
4
+ overflow: visible !important;
5
+ padding: 0 !important;
6
+
7
+ // .@{ant-prefix}-cascader-menu {
8
+ // max-height: 200px !important;
9
+ // }
10
+ .cw-cascader-column-wrapper {
11
+ display: flex;
12
+ flex-direction: column;
13
+ flex: 1;
14
+ align-self: stretch;
15
+ .cw-cascader-column-input{
16
+ width: 100%;
17
+ min-width: 100px;
18
+ }
19
+ .cw-cascader-column-search-loading-wrapper{
20
+ display: flex;
21
+ justify-content: center;
22
+ align-items: center;
23
+ flex: 1;
24
+ }
25
+ .cw-cascader-column-scroll-loading-wrapper{
26
+ display: flex;
27
+ justify-content: center;
28
+ align-items: center;
29
+ }
30
+ }
31
+ }