@rc-component/cascader 1.2.0 → 1.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.
package/README.md CHANGED
@@ -298,3 +298,9 @@ $ npm run coverage
298
298
  ## License
299
299
 
300
300
  rc-cascader is released under the MIT license.
301
+
302
+ ## 🤝 Contributing
303
+
304
+ <a href="https://openomy.app/github/react-component/cascader" target="_blank" style="display: block; width: 100%;" align="center">
305
+ <img src="https://www.openomy.app/svg?repo=react-component/cascader&chart=bubble&latestMonth=24" target="_blank" alt="Contribution Leaderboard" style="display: block; width: 100%;" />
306
+ </a>
package/es/Cascader.d.ts CHANGED
@@ -81,10 +81,8 @@ export type InternalCascaderProps = Omit<CascaderProps, 'onChange' | 'value' | '
81
81
  onChange?: (value: InternalValueType, selectOptions: BaseOptionType[] | BaseOptionType[][]) => void;
82
82
  };
83
83
  export type CascaderRef = Omit<BaseSelectRef, 'scrollTo'>;
84
- declare const Cascader: (<OptionType extends DefaultOptionType = DefaultOptionType, ValueField extends keyof OptionType = keyof OptionType, Multiple extends React.ReactNode = false>(props: CascaderProps<OptionType, ValueField, Multiple> & {
85
- children?: React.ReactNode;
86
- } & {
87
- ref?: React.Ref<CascaderRef> | undefined;
84
+ declare const Cascader: (<OptionType extends DefaultOptionType = DefaultOptionType, ValueField extends keyof OptionType = keyof OptionType, Multiple extends React.ReactNode = false>(props: React.PropsWithChildren<CascaderProps<OptionType, ValueField, Multiple>> & {
85
+ ref?: React.Ref<CascaderRef>;
88
86
  }) => React.ReactElement) & {
89
87
  displayName?: string | undefined;
90
88
  SHOW_PARENT: typeof SHOW_PARENT;
package/es/Cascader.js CHANGED
@@ -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
  import { BaseSelect } from '@rc-component/select';
3
- import useId from "@rc-component/select/es/hooks/useId";
3
+ import useId from "@rc-component/util/es/hooks/useId";
4
4
  import useEvent from "@rc-component/util/es/hooks/useEvent";
5
5
  import useMergedState from "@rc-component/util/es/hooks/useMergedState";
6
6
  import * as React from 'react';
@@ -1,5 +1,7 @@
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); }
1
2
  import cls from 'classnames';
2
3
  import * as React from 'react';
4
+ import pickAttrs from "rc-util/es/pickAttrs";
3
5
  import CascaderContext from "../context";
4
6
  import { SEARCH_MARK } from "../hooks/useSearchOptions";
5
7
  import { isLeaf, toPathKey } from "../utils/commonUtil";
@@ -104,6 +106,10 @@ export default function Column({
104
106
  fullPathKey,
105
107
  disableCheckbox
106
108
  }) => {
109
+ const ariaProps = pickAttrs(option, {
110
+ aria: true,
111
+ data: true
112
+ });
107
113
  // >>>>> Open
108
114
  const triggerOpenPath = () => {
109
115
  if (isOptionDisabled(disabled)) {
@@ -132,8 +138,9 @@ export default function Column({
132
138
  }
133
139
 
134
140
  // >>>>> Render
135
- return /*#__PURE__*/React.createElement("li", {
136
- key: fullPathKey,
141
+ return /*#__PURE__*/React.createElement("li", _extends({
142
+ key: fullPathKey
143
+ }, ariaProps, {
137
144
  className: cls(menuItemPrefixCls, classNames?.popup?.listItem, {
138
145
  [`${menuItemPrefixCls}-expand`]: !isMergedLeaf,
139
146
  [`${menuItemPrefixCls}-active`]: activeValue === value || activeValue === fullPathKey,
@@ -171,7 +178,7 @@ export default function Column({
171
178
  // Prevent selector from blurring
172
179
  e.preventDefault();
173
180
  }
174
- }, multiple && /*#__PURE__*/React.createElement(Checkbox, {
181
+ }), multiple && /*#__PURE__*/React.createElement(Checkbox, {
175
182
  prefixCls: `${prefixCls}-checkbox`,
176
183
  checked: checked,
177
184
  halfChecked: halfChecked,
@@ -155,7 +155,6 @@ const RawOptionList = /*#__PURE__*/React.forwardRef((props, ref) => {
155
155
  const cellKeyPath = toPathKey(cellPath);
156
156
  const ele = containerRef.current?.querySelector(`li[data-path-key="${cellKeyPath.replace(/\\{0,2}"/g, '\\"')}"]` // matches unescaped double quotes
157
157
  );
158
-
159
158
  if (ele) {
160
159
  scrollIntoParentView(ele);
161
160
  }
@@ -19,7 +19,6 @@ const useActive = (multiple, open) => {
19
19
  }, /* eslint-disable react-hooks/exhaustive-deps */
20
20
  [open, firstValueCells]
21
21
  /* eslint-enable react-hooks/exhaustive-deps */);
22
-
23
22
  return [activeValueCells, setActiveValueCells];
24
23
  };
25
24
  export default useActive;
package/lib/Cascader.d.ts CHANGED
@@ -81,10 +81,8 @@ export type InternalCascaderProps = Omit<CascaderProps, 'onChange' | 'value' | '
81
81
  onChange?: (value: InternalValueType, selectOptions: BaseOptionType[] | BaseOptionType[][]) => void;
82
82
  };
83
83
  export type CascaderRef = Omit<BaseSelectRef, 'scrollTo'>;
84
- declare const Cascader: (<OptionType extends DefaultOptionType = DefaultOptionType, ValueField extends keyof OptionType = keyof OptionType, Multiple extends React.ReactNode = false>(props: CascaderProps<OptionType, ValueField, Multiple> & {
85
- children?: React.ReactNode;
86
- } & {
87
- ref?: React.Ref<CascaderRef> | undefined;
84
+ declare const Cascader: (<OptionType extends DefaultOptionType = DefaultOptionType, ValueField extends keyof OptionType = keyof OptionType, Multiple extends React.ReactNode = false>(props: React.PropsWithChildren<CascaderProps<OptionType, ValueField, Multiple>> & {
85
+ ref?: React.Ref<CascaderRef>;
88
86
  }) => React.ReactElement) & {
89
87
  displayName?: string | undefined;
90
88
  SHOW_PARENT: typeof SHOW_PARENT;
package/lib/Cascader.js CHANGED
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _select = require("@rc-component/select");
8
- var _useId = _interopRequireDefault(require("@rc-component/select/lib/hooks/useId"));
8
+ var _useId = _interopRequireDefault(require("@rc-component/util/lib/hooks/useId"));
9
9
  var _useEvent = _interopRequireDefault(require("@rc-component/util/lib/hooks/useEvent"));
10
10
  var _useMergedState = _interopRequireDefault(require("@rc-component/util/lib/hooks/useMergedState"));
11
11
  var React = _interopRequireWildcard(require("react"));
@@ -7,6 +7,7 @@ exports.FIX_LABEL = void 0;
7
7
  exports.default = Column;
8
8
  var _classnames = _interopRequireDefault(require("classnames"));
9
9
  var React = _interopRequireWildcard(require("react"));
10
+ var _pickAttrs = _interopRequireDefault(require("rc-util/lib/pickAttrs"));
10
11
  var _context = _interopRequireDefault(require("../context"));
11
12
  var _useSearchOptions = require("../hooks/useSearchOptions");
12
13
  var _commonUtil = require("../utils/commonUtil");
@@ -14,6 +15,7 @@ var _Checkbox = _interopRequireDefault(require("./Checkbox"));
14
15
  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); }
15
16
  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; }
16
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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); }
17
19
  const FIX_LABEL = exports.FIX_LABEL = '__cascader_fix_label__';
18
20
  function Column({
19
21
  prefixCls,
@@ -114,6 +116,10 @@ function Column({
114
116
  fullPathKey,
115
117
  disableCheckbox
116
118
  }) => {
119
+ const ariaProps = (0, _pickAttrs.default)(option, {
120
+ aria: true,
121
+ data: true
122
+ });
117
123
  // >>>>> Open
118
124
  const triggerOpenPath = () => {
119
125
  if (isOptionDisabled(disabled)) {
@@ -142,8 +148,9 @@ function Column({
142
148
  }
143
149
 
144
150
  // >>>>> Render
145
- return /*#__PURE__*/React.createElement("li", {
146
- key: fullPathKey,
151
+ return /*#__PURE__*/React.createElement("li", _extends({
152
+ key: fullPathKey
153
+ }, ariaProps, {
147
154
  className: (0, _classnames.default)(menuItemPrefixCls, classNames?.popup?.listItem, {
148
155
  [`${menuItemPrefixCls}-expand`]: !isMergedLeaf,
149
156
  [`${menuItemPrefixCls}-active`]: activeValue === value || activeValue === fullPathKey,
@@ -181,7 +188,7 @@ function Column({
181
188
  // Prevent selector from blurring
182
189
  e.preventDefault();
183
190
  }
184
- }, multiple && /*#__PURE__*/React.createElement(_Checkbox.default, {
191
+ }), multiple && /*#__PURE__*/React.createElement(_Checkbox.default, {
185
192
  prefixCls: `${prefixCls}-checkbox`,
186
193
  checked: checked,
187
194
  halfChecked: halfChecked,
@@ -163,7 +163,6 @@ const RawOptionList = /*#__PURE__*/React.forwardRef((props, ref) => {
163
163
  const cellKeyPath = (0, _commonUtil.toPathKey)(cellPath);
164
164
  const ele = containerRef.current?.querySelector(`li[data-path-key="${cellKeyPath.replace(/\\{0,2}"/g, '\\"')}"]` // matches unescaped double quotes
165
165
  );
166
-
167
166
  if (ele) {
168
167
  (0, _commonUtil.scrollIntoParentView)(ele);
169
168
  }
@@ -28,7 +28,6 @@ const useActive = (multiple, open) => {
28
28
  }, /* eslint-disable react-hooks/exhaustive-deps */
29
29
  [open, firstValueCells]
30
30
  /* eslint-enable react-hooks/exhaustive-deps */);
31
-
32
31
  return [activeValueCells, setActiveValueCells];
33
32
  };
34
33
  var _default = exports.default = useActive;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rc-component/cascader",
3
- "version": "1.2.0",
3
+ "version": "1.3.1",
4
4
  "description": "cascade select ui component for react",
5
5
  "keywords": [
6
6
  "react",
@@ -43,11 +43,10 @@
43
43
  "test": "rc-test"
44
44
  },
45
45
  "dependencies": {
46
- "@rc-component/select": "~1.0.0",
46
+ "@rc-component/select": "~1.0.7",
47
47
  "@rc-component/tree": "~1.0.0",
48
48
  "@rc-component/util": "^1.2.1",
49
- "classnames": "^2.3.1",
50
- "eslint-plugin-unicorn": "^47.0.0"
49
+ "classnames": "^2.3.1"
51
50
  },
52
51
  "devDependencies": {
53
52
  "@rc-component/father-plugin": "^2.0.2",
@@ -71,7 +70,7 @@
71
70
  "enzyme-to-json": "^3.2.1",
72
71
  "eslint": "^8.54.0",
73
72
  "eslint-plugin-jest": "^28.8.3",
74
- "eslint-plugin-unicorn": "^58.0.0",
73
+ "eslint-plugin-unicorn": "^56.0.1",
75
74
  "father": "^4.0.0",
76
75
  "gh-pages": "^6.1.1",
77
76
  "glob": "^7.1.6",