@rc-component/cascader 1.6.0 → 1.7.0-alpha.0

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/es/Cascader.js CHANGED
@@ -2,7 +2,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
2
2
  import { BaseSelect } from '@rc-component/select';
3
3
  import useId from "@rc-component/util/es/hooks/useId";
4
4
  import useEvent from "@rc-component/util/es/hooks/useEvent";
5
- import useMergedState from "@rc-component/util/es/hooks/useMergedState";
5
+ import useControlledState from "@rc-component/util/es/hooks/useControlledState";
6
6
  import * as React from 'react';
7
7
  import CascaderContext from "./context";
8
8
  import useDisplayValues from "./hooks/useDisplayValues";
@@ -60,10 +60,8 @@ const Cascader = /*#__PURE__*/React.forwardRef((props, ref) => {
60
60
  const multiple = !!checkable;
61
61
 
62
62
  // =========================== Values ===========================
63
- const [rawValues, setRawValues] = useMergedState(defaultValue, {
64
- value,
65
- postState: toRawValues
66
- });
63
+ const [interanlRawValues, setRawValues] = useControlledState(defaultValue, value);
64
+ const rawValues = toRawValues(interanlRawValues);
67
65
 
68
66
  // ========================= FieldNames =========================
69
67
  const mergedFieldNames = React.useMemo(() => fillFieldNames(fieldNames), /* eslint-disable react-hooks/exhaustive-deps */
@@ -80,10 +78,8 @@ const Cascader = /*#__PURE__*/React.forwardRef((props, ref) => {
80
78
  searchValue,
81
79
  onSearch
82
80
  } = searchConfig;
83
- const [mergedSearchValue, setSearchValue] = useMergedState('', {
84
- value: searchValue,
85
- postState: search => search || ''
86
- });
81
+ const [internalSearchValue, setSearchValue] = useControlledState('', searchValue);
82
+ const mergedSearchValue = internalSearchValue || '';
87
83
  const onInternalSearch = (searchText, info) => {
88
84
  setSearchValue(searchText);
89
85
  if (info.source !== 'blur' && onSearch) {
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import classNames from 'classnames';
2
+ import { clsx } from 'clsx';
3
3
  import CascaderContext from "../context";
4
4
  export default function Checkbox({
5
5
  prefixCls,
@@ -14,7 +14,7 @@ export default function Checkbox({
14
14
  } = React.useContext(CascaderContext);
15
15
  const customCheckbox = typeof checkable !== 'boolean' ? checkable : null;
16
16
  return /*#__PURE__*/React.createElement("span", {
17
- className: classNames(`${prefixCls}`, {
17
+ className: clsx(`${prefixCls}`, {
18
18
  [`${prefixCls}-checked`]: checked,
19
19
  [`${prefixCls}-indeterminate`]: !checked && halfChecked,
20
20
  [`${prefixCls}-disabled`]: disabled || disableCheckbox
@@ -1,7 +1,7 @@
1
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 cls from 'classnames';
2
+ import { clsx } from 'clsx';
3
3
  import * as React from 'react';
4
- import pickAttrs from "rc-util/es/pickAttrs";
4
+ import pickAttrs from "@rc-component/util/es/pickAttrs";
5
5
  import CascaderContext from "../context";
6
6
  import { SEARCH_MARK } from "../hooks/useSearchOptions";
7
7
  import { isLeaf, toPathKey } from "../utils/commonUtil";
@@ -89,7 +89,7 @@ export default function Column({
89
89
 
90
90
  // ============================ Render ============================
91
91
  return /*#__PURE__*/React.createElement("ul", {
92
- className: cls(menuPrefixCls, classNames?.popup?.list),
92
+ className: clsx(menuPrefixCls, classNames?.popup?.list),
93
93
  style: styles?.popup?.list,
94
94
  ref: menuRef,
95
95
  role: "menu"
@@ -141,7 +141,7 @@ export default function Column({
141
141
  return /*#__PURE__*/React.createElement("li", _extends({
142
142
  key: fullPathKey
143
143
  }, ariaProps, {
144
- className: cls(menuItemPrefixCls, classNames?.popup?.listItem, {
144
+ className: clsx(menuItemPrefixCls, classNames?.popup?.listItem, {
145
145
  [`${menuItemPrefixCls}-expand`]: !isMergedLeaf,
146
146
  [`${menuItemPrefixCls}-active`]: activeValue === value || activeValue === fullPathKey,
147
147
  [`${menuItemPrefixCls}-disabled`]: isOptionDisabled(disabled),
@@ -1,6 +1,6 @@
1
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
2
  /* eslint-disable default-case */
3
- import classNames from 'classnames';
3
+ import { clsx } from 'clsx';
4
4
  import * as React from 'react';
5
5
  import CascaderContext from "../context";
6
6
  import { getFullPathKeys, isLeaf, scrollIntoParentView, toPathKey, toPathKeys, toPathValueStr } from "../utils/commonUtil";
@@ -202,7 +202,7 @@ const RawOptionList = /*#__PURE__*/React.forwardRef((props, ref) => {
202
202
  return /*#__PURE__*/React.createElement(CacheContent, {
203
203
  open: open
204
204
  }, /*#__PURE__*/React.createElement("div", {
205
- className: classNames(`${mergedPrefixCls}-menus`, {
205
+ className: clsx(`${mergedPrefixCls}-menus`, {
206
206
  [`${mergedPrefixCls}-menu-empty`]: isEmpty,
207
207
  [`${mergedPrefixCls}-rtl`]: rtl
208
208
  }),
package/es/Panel.js CHANGED
@@ -1,5 +1,5 @@
1
- import classNames from 'classnames';
2
- import { useEvent, useMergedState } from '@rc-component/util';
1
+ import { clsx } from 'clsx';
2
+ import { useEvent, useControlledState } from '@rc-component/util';
3
3
  import * as React from 'react';
4
4
  import CascaderContext from "./context";
5
5
  import useMissingValues from "./hooks/useMissingValues";
@@ -37,10 +37,8 @@ export default function Panel(props) {
37
37
  const multiple = !!checkable;
38
38
 
39
39
  // ========================= Values =========================
40
- const [rawValues, setRawValues] = useMergedState(defaultValue, {
41
- value,
42
- postState: toRawValues
43
- });
40
+ const [interanlRawValues, setRawValues] = useControlledState(defaultValue, value);
41
+ const rawValues = toRawValues(interanlRawValues);
44
42
 
45
43
  // ========================= FieldNames =========================
46
44
  const mergedFieldNames = React.useMemo(() => fillFieldNames(fieldNames), /* eslint-disable react-hooks/exhaustive-deps */
@@ -101,7 +99,7 @@ export default function Panel(props) {
101
99
  return /*#__PURE__*/React.createElement(CascaderContext.Provider, {
102
100
  value: cascaderContext
103
101
  }, /*#__PURE__*/React.createElement("div", {
104
- className: classNames(panelPrefixCls, {
102
+ className: clsx(panelPrefixCls, {
105
103
  [`${panelPrefixCls}-rtl`]: direction === 'rtl',
106
104
  [`${panelPrefixCls}-empty`]: isEmpty
107
105
  }, className),
package/lib/Cascader.js CHANGED
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
  var _select = require("@rc-component/select");
8
8
  var _useId = _interopRequireDefault(require("@rc-component/util/lib/hooks/useId"));
9
9
  var _useEvent = _interopRequireDefault(require("@rc-component/util/lib/hooks/useEvent"));
10
- var _useMergedState = _interopRequireDefault(require("@rc-component/util/lib/hooks/useMergedState"));
10
+ var _useControlledState = _interopRequireDefault(require("@rc-component/util/lib/hooks/useControlledState"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _context = _interopRequireDefault(require("./context"));
13
13
  var _useDisplayValues = _interopRequireDefault(require("./hooks/useDisplayValues"));
@@ -69,10 +69,8 @@ const Cascader = /*#__PURE__*/React.forwardRef((props, ref) => {
69
69
  const multiple = !!checkable;
70
70
 
71
71
  // =========================== Values ===========================
72
- const [rawValues, setRawValues] = (0, _useMergedState.default)(defaultValue, {
73
- value,
74
- postState: _commonUtil.toRawValues
75
- });
72
+ const [interanlRawValues, setRawValues] = (0, _useControlledState.default)(defaultValue, value);
73
+ const rawValues = (0, _commonUtil.toRawValues)(interanlRawValues);
76
74
 
77
75
  // ========================= FieldNames =========================
78
76
  const mergedFieldNames = React.useMemo(() => (0, _commonUtil.fillFieldNames)(fieldNames), /* eslint-disable react-hooks/exhaustive-deps */
@@ -89,10 +87,8 @@ const Cascader = /*#__PURE__*/React.forwardRef((props, ref) => {
89
87
  searchValue,
90
88
  onSearch
91
89
  } = searchConfig;
92
- const [mergedSearchValue, setSearchValue] = (0, _useMergedState.default)('', {
93
- value: searchValue,
94
- postState: search => search || ''
95
- });
90
+ const [internalSearchValue, setSearchValue] = (0, _useControlledState.default)('', searchValue);
91
+ const mergedSearchValue = internalSearchValue || '';
96
92
  const onInternalSearch = (searchText, info) => {
97
93
  setSearchValue(searchText);
98
94
  if (info.source !== 'blur' && onSearch) {
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = Checkbox;
7
7
  var React = _interopRequireWildcard(require("react"));
8
- var _classnames = _interopRequireDefault(require("classnames"));
8
+ var _clsx = require("clsx");
9
9
  var _context = _interopRequireDefault(require("../context"));
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -23,7 +23,7 @@ function Checkbox({
23
23
  } = React.useContext(_context.default);
24
24
  const customCheckbox = typeof checkable !== 'boolean' ? checkable : null;
25
25
  return /*#__PURE__*/React.createElement("span", {
26
- className: (0, _classnames.default)(`${prefixCls}`, {
26
+ className: (0, _clsx.clsx)(`${prefixCls}`, {
27
27
  [`${prefixCls}-checked`]: checked,
28
28
  [`${prefixCls}-indeterminate`]: !checked && halfChecked,
29
29
  [`${prefixCls}-disabled`]: disabled || disableCheckbox
@@ -5,16 +5,16 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.FIX_LABEL = void 0;
7
7
  exports.default = Column;
8
- var _classnames = _interopRequireDefault(require("classnames"));
8
+ var _clsx = require("clsx");
9
9
  var React = _interopRequireWildcard(require("react"));
10
- var _pickAttrs = _interopRequireDefault(require("rc-util/lib/pickAttrs"));
10
+ var _pickAttrs = _interopRequireDefault(require("@rc-component/util/lib/pickAttrs"));
11
11
  var _context = _interopRequireDefault(require("../context"));
12
12
  var _useSearchOptions = require("../hooks/useSearchOptions");
13
13
  var _commonUtil = require("../utils/commonUtil");
14
14
  var _Checkbox = _interopRequireDefault(require("./Checkbox"));
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
18
  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); }
19
19
  const FIX_LABEL = exports.FIX_LABEL = '__cascader_fix_label__';
20
20
  function Column({
@@ -99,7 +99,7 @@ function Column({
99
99
 
100
100
  // ============================ Render ============================
101
101
  return /*#__PURE__*/React.createElement("ul", {
102
- className: (0, _classnames.default)(menuPrefixCls, classNames?.popup?.list),
102
+ className: (0, _clsx.clsx)(menuPrefixCls, classNames?.popup?.list),
103
103
  style: styles?.popup?.list,
104
104
  ref: menuRef,
105
105
  role: "menu"
@@ -151,7 +151,7 @@ function Column({
151
151
  return /*#__PURE__*/React.createElement("li", _extends({
152
152
  key: fullPathKey
153
153
  }, ariaProps, {
154
- className: (0, _classnames.default)(menuItemPrefixCls, classNames?.popup?.listItem, {
154
+ className: (0, _clsx.clsx)(menuItemPrefixCls, classNames?.popup?.listItem, {
155
155
  [`${menuItemPrefixCls}-expand`]: !isMergedLeaf,
156
156
  [`${menuItemPrefixCls}-active`]: activeValue === value || activeValue === fullPathKey,
157
157
  [`${menuItemPrefixCls}-disabled`]: isOptionDisabled(disabled),
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _classnames = _interopRequireDefault(require("classnames"));
7
+ var _clsx = require("clsx");
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  var _context = _interopRequireDefault(require("../context"));
10
10
  var _commonUtil = require("../utils/commonUtil");
@@ -13,9 +13,9 @@ var _CacheContent = _interopRequireDefault(require("./CacheContent"));
13
13
  var _Column = _interopRequireWildcard(require("./Column"));
14
14
  var _useActive = _interopRequireDefault(require("./useActive"));
15
15
  var _useKeyboard = _interopRequireDefault(require("./useKeyboard"));
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
18
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
  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); } /* eslint-disable default-case */
20
20
  const RawOptionList = /*#__PURE__*/React.forwardRef((props, ref) => {
21
21
  const {
@@ -210,7 +210,7 @@ const RawOptionList = /*#__PURE__*/React.forwardRef((props, ref) => {
210
210
  return /*#__PURE__*/React.createElement(_CacheContent.default, {
211
211
  open: open
212
212
  }, /*#__PURE__*/React.createElement("div", {
213
- className: (0, _classnames.default)(`${mergedPrefixCls}-menus`, {
213
+ className: (0, _clsx.clsx)(`${mergedPrefixCls}-menus`, {
214
214
  [`${mergedPrefixCls}-menu-empty`]: isEmpty,
215
215
  [`${mergedPrefixCls}-rtl`]: rtl
216
216
  }),
@@ -2,7 +2,7 @@ import type { RefOptionListProps } from '@rc-component/select/lib/OptionList';
2
2
  import * as React from 'react';
3
3
  import type { DefaultOptionType, InternalFieldNames, LegacyKey, SingleValueType } from '../Cascader';
4
4
  declare const _default: (ref: React.Ref<RefOptionListProps>, options: DefaultOptionType[], fieldNames: InternalFieldNames, activeValueCells: LegacyKey[], setActiveValueCells: (activeValueCells: LegacyKey[]) => void, onKeyBoardSelect: (valueCells: SingleValueType, option: DefaultOptionType) => void, contextProps: {
5
- direction?: "rtl" | "ltr" | undefined;
5
+ direction?: "ltr" | "rtl" | undefined;
6
6
  searchValue: string;
7
7
  toggleOpen: (open?: boolean) => void;
8
8
  open?: boolean | undefined;
package/lib/Panel.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = Panel;
7
- var _classnames = _interopRequireDefault(require("classnames"));
7
+ var _clsx = require("clsx");
8
8
  var _util = require("@rc-component/util");
9
9
  var React = _interopRequireWildcard(require("react"));
10
10
  var _context = _interopRequireDefault(require("./context"));
@@ -15,9 +15,9 @@ var _useValues = _interopRequireDefault(require("./hooks/useValues"));
15
15
  var _List = _interopRequireDefault(require("./OptionList/List"));
16
16
  var _commonUtil = require("./utils/commonUtil");
17
17
  var _treeUtil = require("./utils/treeUtil");
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
20
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
  function noop() {}
22
22
  function Panel(props) {
23
23
  const {
@@ -46,10 +46,8 @@ function Panel(props) {
46
46
  const multiple = !!checkable;
47
47
 
48
48
  // ========================= Values =========================
49
- const [rawValues, setRawValues] = (0, _util.useMergedState)(defaultValue, {
50
- value,
51
- postState: _commonUtil.toRawValues
52
- });
49
+ const [interanlRawValues, setRawValues] = (0, _util.useControlledState)(defaultValue, value);
50
+ const rawValues = (0, _commonUtil.toRawValues)(interanlRawValues);
53
51
 
54
52
  // ========================= FieldNames =========================
55
53
  const mergedFieldNames = React.useMemo(() => (0, _commonUtil.fillFieldNames)(fieldNames), /* eslint-disable react-hooks/exhaustive-deps */
@@ -110,7 +108,7 @@ function Panel(props) {
110
108
  return /*#__PURE__*/React.createElement(_context.default.Provider, {
111
109
  value: cascaderContext
112
110
  }, /*#__PURE__*/React.createElement("div", {
113
- className: (0, _classnames.default)(panelPrefixCls, {
111
+ className: (0, _clsx.clsx)(panelPrefixCls, {
114
112
  [`${panelPrefixCls}-rtl`]: direction === 'rtl',
115
113
  [`${panelPrefixCls}-empty`]: isEmpty
116
114
  }, className),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rc-component/cascader",
3
- "version": "1.6.0",
3
+ "version": "1.7.0-alpha.0",
4
4
  "description": "cascade select ui component for react",
5
5
  "keywords": [
6
6
  "react",
@@ -43,19 +43,19 @@
43
43
  "test": "rc-test"
44
44
  },
45
45
  "dependencies": {
46
- "@rc-component/select": "~1.1.0",
46
+ "@rc-component/select": "~1.2.0-alpha.2",
47
47
  "@rc-component/tree": "~1.0.0",
48
- "@rc-component/util": "^1.2.1",
49
- "classnames": "^2.3.1"
48
+ "@rc-component/util": "^1.3.0",
49
+ "clsx": "^2.1.1"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@rc-component/father-plugin": "^2.0.2",
53
53
  "@rc-component/np": "^1.0.3",
54
54
  "@rc-component/trigger": "^3.0.0",
55
55
  "@testing-library/react": "^12.1.5",
56
- "@types/classnames": "^2.2.6",
57
56
  "@types/enzyme": "^3.1.15",
58
57
  "@types/jest": "^29.4.0",
58
+ "@types/node": "^24.5.2",
59
59
  "@types/react": "^19.0.0",
60
60
  "@types/react-dom": "^19.0.0",
61
61
  "@types/warning": "^3.0.0",