diff --git a/package.json b/package.json index 12a7db1418..03c9966314 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@types/react-dom": "^17.0.0", "@typescript-eslint/eslint-plugin": "^4.9.1", "@typescript-eslint/parser": "^4.8.2", - "antd": "^4.16.11", + "antd": "^4.18.5", "cross-env": "^5.2.0", "dotenv": "^10.0.0", "dumi": "^1.1.33", diff --git a/packages/client/package.json b/packages/client/package.json index 596ec8d646..bfbcc41e11 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -35,7 +35,7 @@ "peerDependencies": { "@types/react": ">=16.8.0 || >=17.0.0", "@types/react-dom": ">=16.8.0 || >=17.0.0", - "antd": "^4.0.0", + "antd": "^4.18.5", "react": ">=16.8.0 || >=17.0.0", "react-dom": ">=16.8.0", "react-is": ">=16.8.0 || >=17.0.0", diff --git a/packages/client/src/schema-component/antd/index.ts b/packages/client/src/schema-component/antd/index.ts index 6c41f79f58..2adc7fb71f 100644 --- a/packages/client/src/schema-component/antd/index.ts +++ b/packages/client/src/schema-component/antd/index.ts @@ -15,6 +15,7 @@ export * from './menu'; export * from './page'; export * from './password'; export * from './radio'; +export * from './select'; export * from './time-picker'; export * from './tree-select'; export * from './upload'; diff --git a/packages/client/src/schema-component/antd/select/ReadPretty.tsx b/packages/client/src/schema-component/antd/select/ReadPretty.tsx new file mode 100644 index 0000000000..4d0e487a07 --- /dev/null +++ b/packages/client/src/schema-component/antd/select/ReadPretty.tsx @@ -0,0 +1,33 @@ +import { isArrayField } from '@formily/core'; +import { observer, useField } from '@formily/react'; +import { isValid } from '@formily/shared'; +import { Tag } from 'antd'; +import React from 'react'; +import { defaultFieldNames, getCurrentOptions } from './shared'; + +type Composed = { + Select?: React.FC; + Object?: React.FC; +}; + +export const ReadPretty = observer((props: any) => { + const fieldNames = { ...defaultFieldNames, ...props.fieldNames }; + const field = useField(); + if (!isValid(props.value)) { + return
; + } + if (isArrayField(field) && field?.value?.length === 0) { + return
; + } + const dataSource = field.dataSource || props.options || []; + const options = getCurrentOptions(field.value, dataSource, fieldNames); + return ( +
+ {options.map((option, key) => ( + + {option[fieldNames.label]} + + ))} +
+ ); +}); diff --git a/packages/client/src/schema-component/antd/select/Select.tsx b/packages/client/src/schema-component/antd/select/Select.tsx new file mode 100644 index 0000000000..ad0905e370 --- /dev/null +++ b/packages/client/src/schema-component/antd/select/Select.tsx @@ -0,0 +1,81 @@ +import { LoadingOutlined } from '@ant-design/icons'; +import { connect, mapProps, mapReadPretty } from '@formily/react'; +import { isValid, toArr } from '@formily/shared'; +import type { SelectProps } from 'antd'; +import { Select as AntdSelect } from 'antd'; +import React from 'react'; +import { ReadPretty } from './ReadPretty'; +import { defaultFieldNames, getCurrentOptions } from './shared'; + +type Props = SelectProps & { objectValue?: boolean; onChange?: (v: any) => void }; + +const ObjectSelect = (props: Props) => { + const { value, options, onChange, fieldNames, mode, ...others } = props; + const toValue = (v: any) => { + if (!isValid(v)) { + return; + } + const values = toArr(v).map((val) => { + return typeof val === 'object' ? val[fieldNames.value] : val; + }); + const current = getCurrentOptions(values, options, fieldNames).map((val) => { + return { + label: val[fieldNames.label], + value: val[fieldNames.value], + }; + }); + if (['tags', 'multiple'].includes(mode)) { + return current; + } + return current.shift(); + }; + return ( + { + const current = getCurrentOptions( + toArr(changed).map((v) => v.value), + options, + fieldNames, + ); + if (['tags', 'multiple'].includes(mode)) { + onChange(current); + } else { + onChange(current.shift()); + } + }} + mode={mode} + {...others} + /> + ); +}; + +export const Select = connect( + (props: Props) => { + const { objectValue, ...others } = props; + if (objectValue) { + return ; + } + return ; + }, + mapProps( + { + dataSource: 'options', + loading: true, + }, + (props, field) => { + return { + ...props, + fieldNames: { ...defaultFieldNames, ...props.fieldNames }, + suffixIcon: field?.['loading'] || field?.['validating'] ? : props.suffixIcon, + }; + }, + ), + mapReadPretty(ReadPretty), +); + +export default Select; diff --git a/packages/client/src/schema-component/antd/select/demos/demo1.tsx b/packages/client/src/schema-component/antd/select/demos/demo1.tsx new file mode 100644 index 0000000000..77d106cbe9 --- /dev/null +++ b/packages/client/src/schema-component/antd/select/demos/demo1.tsx @@ -0,0 +1,60 @@ +/** + * title: Select + */ +import { FormItem } from '@formily/antd'; +import { SchemaComponent, SchemaComponentProvider, Select } from '@nocobase/client'; +import React from 'react'; + +const dataSource = [ + { + label: '福建', + value: 'FuJian', + children: [ + { label: '{{t("福州")}}', value: 'FZ' }, + { label: '莆田', value: 'PT' }, + ], + }, + { label: '江苏', value: 'XZ' }, + { label: '浙江', value: 'ZX' }, +]; + +const schema = { + type: 'object', + properties: { + editable: { + type: 'string', + title: `Editable`, + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-component-props': {}, + enum: dataSource, + 'x-reactions': { + target: 'read', + fulfill: { + state: { + value: '{{$self.value}}', + }, + }, + }, + }, + read: { + type: 'string', + title: `Read pretty`, + 'x-read-pretty': true, + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-component-props': {}, + enum: dataSource, + }, + }, +}; + +const t = (text?: any) => text; + +export default () => { + return ( + + + + ); +}; diff --git a/packages/client/src/schema-component/antd/select/demos/demo2.tsx b/packages/client/src/schema-component/antd/select/demos/demo2.tsx new file mode 100644 index 0000000000..127a245f43 --- /dev/null +++ b/packages/client/src/schema-component/antd/select/demos/demo2.tsx @@ -0,0 +1,64 @@ +/** + * title: Select + */ +import { FormItem } from '@formily/antd'; +import { SchemaComponent, SchemaComponentProvider, Select } from '@nocobase/client'; +import React from 'react'; + +const dataSource = [ + { + label: '福建', + value: 'FuJian', + children: [ + { label: '{{t("福州")}}', value: 'FZ' }, + { label: '莆田', value: 'PT' }, + ], + }, + { label: '江苏', value: 'XZ' }, + { label: '浙江', value: 'ZX' }, +]; + +const schema = { + type: 'object', + properties: { + editable: { + type: 'string', + title: `Editable`, + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-component-props': { + mode: 'tags', + }, + enum: dataSource, + 'x-reactions': { + target: 'read', + fulfill: { + state: { + value: '{{$self.value}}', + }, + }, + }, + }, + read: { + type: 'string', + title: `Read pretty`, + 'x-read-pretty': true, + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-component-props': { + mode: 'tags', + }, + enum: dataSource, + }, + }, +}; + +const t = (text?: any) => text; + +export default () => { + return ( + + + + ); +}; diff --git a/packages/client/src/schema-component/antd/select/demos/demo3.tsx b/packages/client/src/schema-component/antd/select/demos/demo3.tsx new file mode 100644 index 0000000000..ba9a483c96 --- /dev/null +++ b/packages/client/src/schema-component/antd/select/demos/demo3.tsx @@ -0,0 +1,77 @@ +/** + * title: Select + */ +import { FormItem } from '@formily/antd'; +import { ISchema } from '@formily/react'; +import { SchemaComponent, SchemaComponentProvider, Select } from '@nocobase/client'; +import React from 'react'; + +const schema: ISchema = { + type: 'object', + properties: { + editable: { + type: 'object', + title: `Editable`, + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-component-props': { + // mode: 'tags', + objectValue: true, + fieldNames: { label: 'title', value: 'id' }, + options: [ + { + title: '福建', + id: 'FuJian', + children: [ + { title: '福州', id: 'FZ' }, + { title: '莆田', id: 'PT' }, + ], + }, + { title: '江苏', id: 'XZ' }, + { title: '浙江', id: 'ZX' }, + ], + }, + default: { title: '福州', id: 'FZ' }, + 'x-reactions': { + target: 'read', + fulfill: { + state: { + value: '{{$self.value}}', + }, + }, + }, + }, + read: { + type: 'object', + title: `Read pretty`, + 'x-read-pretty': true, + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-component-props': { + // mode: 'tags', + objectValue: true, + fieldNames: { label: 'title', value: 'id' }, + options: [ + { + title: '福建', + id: 'FuJian', + children: [ + { title: '福州', id: 'FZ' }, + { title: '莆田', id: 'PT' }, + ], + }, + { title: '江苏', id: 'XZ' }, + { title: '浙江', id: 'ZX' }, + ], + }, + }, + }, +}; + +export default () => { + return ( + + + + ); +}; diff --git a/packages/client/src/schema-component/antd/select/index.md b/packages/client/src/schema-component/antd/select/index.md index bce3c60426..c2df6ea1e1 100644 --- a/packages/client/src/schema-component/antd/select/index.md +++ b/packages/client/src/schema-component/antd/select/index.md @@ -5,4 +5,34 @@ group: path: /schema-components --- -# Select 待定 +# Select + +## Examples + +### 单选 + + + +### 多选 + + + +### 值为 Object 类型的 Select + + + +## API + +基于 Ant Design 的 [Select](https://ant.design/components/select/#API),相关扩展属性有: + +- `objectValue` 值为 object 类型 +- `fieldNames` 默认值有区别 + +```ts +export const defaultFieldNames = { + label: 'label', + value: 'value', + color: 'color', + options: 'children', +}; +``` \ No newline at end of file diff --git a/packages/client/src/schema-component/antd/select/index.ts b/packages/client/src/schema-component/antd/select/index.ts new file mode 100644 index 0000000000..7868ecbae2 --- /dev/null +++ b/packages/client/src/schema-component/antd/select/index.ts @@ -0,0 +1 @@ +export * from './Select'; diff --git a/packages/client/src/schema-component/antd/select/shared.ts b/packages/client/src/schema-component/antd/select/shared.ts new file mode 100644 index 0000000000..6202fde71c --- /dev/null +++ b/packages/client/src/schema-component/antd/select/shared.ts @@ -0,0 +1,26 @@ +import { toArr } from '@formily/shared'; + +export const defaultFieldNames = { + label: 'label', + value: 'value', + color: 'color', + options: 'children', +}; + +export const getCurrentOptions = (values, dataSource, fieldNames) => { + values = toArr(values).map((val) => (typeof val === 'object' ? val[fieldNames.value] : val)); + const findOptions = (options: any[]) => { + let current = []; + for (const option of options) { + if (values.includes(option[fieldNames.value])) { + current.push(option); + } + const children = option[fieldNames.options]; + if (Array.isArray(children)) { + current.push(...findOptions(children)); + } + } + return current; + }; + return findOptions(dataSource); +}; diff --git a/yarn.lock b/yarn.lock index 4569e1e095..97baaeee32 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2844,14 +2844,7 @@ resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== -"@types/react-dom@^16.9.8": - version "16.9.14" - resolved "https://registry.npmmirror.com/@types/react-dom/download/@types/react-dom-16.9.14.tgz#674b8f116645fe5266b40b525777fc6bb8eb3bcd" - integrity sha512-FIX2AVmPTGP30OUJ+0vadeIFJJ07Mh1m+U0rxfgyW34p3rTlXI+nlenvAxNn4BP36YyI9IJ/+UJ7Wu22N1pI7A== - dependencies: - "@types/react" "^16" - -"@types/react-dom@^17.0.0": +"@types/react-dom@^16.9.8", "@types/react-dom@^17.0.0": version "17.0.11" resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.11.tgz#e1eadc3c5e86bdb5f7684e00274ae228e7bcc466" integrity sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q== @@ -2901,7 +2894,7 @@ "@types/history" "*" "@types/react" "*" -"@types/react@*", "@types/react@^17.0.0": +"@types/react@*", "@types/react@^16.9.43", "@types/react@^17.0.0": version "17.0.34" resolved "https://registry.npmjs.org/@types/react/-/react-17.0.34.tgz#797b66d359b692e3f19991b6b07e4b0c706c0102" integrity sha512-46FEGrMjc2+8XhHXILr+3+/sTe3OfzSPU9YGKILLrUYbQ1CLQC9Daqo1KzENGXAWwrFwiY0l4ZbF20gRvgpWTg== @@ -2910,15 +2903,6 @@ "@types/scheduler" "*" csstype "^3.0.2" -"@types/react@^16", "@types/react@^16.9.43": - version "16.14.21" - resolved "https://registry.npmmirror.com/@types/react/download/@types/react-16.14.21.tgz#35199b21a278355ec7a3c40003bd6a334bd4ae4a" - integrity sha512-rY4DzPKK/4aohyWiDRHS2fotN5rhBSK6/rz1X37KzNna9HJyqtaGAbq9fVttrEPWF5ywpfIP1ITL8Xi2QZn6Eg== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - "@types/sax@^1.2.1": version "1.2.3" resolved "https://registry.npmjs.org/@types/sax/-/sax-1.2.3.tgz#b630ac1403ebd7812e0bf9a10de9bf5077afb348" @@ -3549,50 +3533,49 @@ ansi-styles@^5.0.0: resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== -antd@^4.16.11: - version "4.17.3" - resolved "https://registry.npmjs.org/antd/-/antd-4.17.3.tgz#48e2cfaec75cb414782a16918c0f322af1f2d509" - integrity sha512-enA6rsOAGtw0uN+khzvPoCui9j6m1ZvtAHY2IWC/mOUIwfycC8iuToND9ptAqeNF5yX8RZhFubmcc7Xeqk6wWg== +antd@^4.18.5: + version "4.18.5" + resolved "https://registry.npmjs.org/antd/-/antd-4.18.5.tgz#e5ffbe238fd6fdfcd1ed39ba96e4b1bd5f589757" + integrity sha512-5fN3C2lWAzonhOYYlNpzIw2OHl7vxFZ+4cJ7DK/XZrV+75OY61Y+OkanqMJwrFtDDamIez35OM7cAezGko9tew== dependencies: "@ant-design/colors" "^6.0.0" "@ant-design/icons" "^4.7.0" "@ant-design/react-slick" "~0.28.1" "@babel/runtime" "^7.12.5" "@ctrl/tinycolor" "^3.4.0" - array-tree-filter "^2.1.0" classnames "^2.2.6" copy-to-clipboard "^3.2.0" lodash "^4.17.21" memoize-one "^6.0.0" moment "^2.25.3" - rc-cascader "~2.3.0" + rc-cascader "~3.2.1" rc-checkbox "~2.3.0" rc-collapse "~3.1.0" rc-dialog "~8.6.0" rc-drawer "~4.4.2" rc-dropdown "~3.2.0" - rc-field-form "~1.21.0" + rc-field-form "~1.22.0-2" rc-image "~5.2.5" rc-input-number "~7.3.0" rc-mentions "~1.6.1" - rc-menu "~9.0.12" + rc-menu "~9.2.1" rc-motion "^2.4.4" rc-notification "~4.5.7" rc-pagination "~3.1.9" rc-picker "~2.5.17" - rc-progress "~3.1.0" + rc-progress "~3.2.1" rc-rate "~2.9.0" - rc-resize-observer "^1.1.0" - rc-select "~13.2.1" + rc-resize-observer "^1.2.0" + rc-select "~14.0.0-alpha.15" rc-slider "~9.7.4" rc-steps "~4.1.0" rc-switch "~3.2.0" - rc-table "~7.19.0" + rc-table "~7.22.2" rc-tabs "~11.10.0" rc-textarea "~0.3.0" rc-tooltip "~5.1.1" - rc-tree "~5.3.0" - rc-tree-select "~4.8.0" + rc-tree "~5.4.3" + rc-tree-select "~5.1.1" rc-trigger "^5.2.10" rc-upload "~4.3.0" rc-util "^5.14.0" @@ -11948,18 +11931,17 @@ rc-align@^4.0.0: rc-util "^5.3.0" resize-observer-polyfill "^1.5.1" -rc-cascader@~2.3.0: - version "2.3.3" - resolved "https://registry.npmjs.org/rc-cascader/-/rc-cascader-2.3.3.tgz#605d04ef469cdd5d892e38cce291157d5a8af941" - integrity sha512-ckD8rKJjS8mdXxylWh1PtIHSFhbj/yf1NimyooqeJlvtLhzRZXIHCj4IuOjwYZ6J1DqoOCCdJfVtc7UeZia38w== +rc-cascader@~3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.2.1.tgz#fc928d67d96c3d9f358263e4a9127bcf4257cc6b" + integrity sha512-Raxam9tFzBL4TCgHoyVcf7+Q2KSFneUk3FZXi9w1tfxEihLlezSH0oCNMjHJN8hxWwwx9ZbI9UzWTfFImjXc0Q== dependencies: "@babel/runtime" "^7.12.5" array-tree-filter "^2.1.0" classnames "^2.3.1" - rc-tree-select "~4.8.0" - rc-trigger "^5.0.4" + rc-select "~14.0.0-alpha.23" + rc-tree "~5.4.3" rc-util "^5.6.1" - warning "^4.0.1" rc-checkbox@~2.3.0: version "2.3.2" @@ -12008,10 +11990,10 @@ rc-dropdown@^3.2.0, rc-dropdown@~3.2.0: classnames "^2.2.6" rc-trigger "^5.0.4" -rc-field-form@~1.21.0: - version "1.21.2" - resolved "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.21.2.tgz#85bda1ee006ae9f1d146e1000337c69b4bb6d101" - integrity sha512-LR/bURt/Tf5g39mb0wtMtQuWn42d/7kEzpzlC5fNC7yaRVmLTtlPP4sBBlaViETM9uZQKLoaB0Pt9Mubhm9gow== +rc-field-form@~1.22.0-2: + version "1.22.1" + resolved "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.22.1.tgz#0bd2f4e730ff2f071529d00bef28e062362890f5" + integrity sha512-LweU7nBeqmC5r3HDUjRprcOXXobHXp/TGIxD7ppBq5FX6Iptt3ibdpRVg4RSyNulBNGHOuknHlRcguuIpvVMVg== dependencies: "@babel/runtime" "^7.8.4" async-validator "^4.0.2" @@ -12048,7 +12030,7 @@ rc-mentions@~1.6.1: rc-trigger "^5.0.4" rc-util "^5.0.1" -rc-menu@^9.0.0, rc-menu@~9.0.12: +rc-menu@^9.0.0: version "9.0.14" resolved "https://registry.npmjs.org/rc-menu/-/rc-menu-9.0.14.tgz#289bda4a2f6c5ebb3248e2e305d52cf0c73cb9d5" integrity sha512-CIox5mZeLDAi32SlHrV7UeSjv7tmJJhwRyxQtZCKt351w3q59XlL4WMFOmtT9gwIfP9h0XoxdBZUMe/xzkp78A== @@ -12061,6 +12043,19 @@ rc-menu@^9.0.0, rc-menu@~9.0.12: rc-util "^5.12.0" shallowequal "^1.1.0" +rc-menu@~9.2.1: + version "9.2.1" + resolved "https://registry.npmjs.org/rc-menu/-/rc-menu-9.2.1.tgz#6fbe47f4846363bb81a5a21f0960026c3ada497a" + integrity sha512-UbEtn3rflJ8zS+etYGTVQuzy7Fm+yWXR5c0Rl6ecNTS/dPknRyWAyhJcbeR0Hu1+RdQT+0VCqrUPrgKnm4iY+w== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.4.3" + rc-overflow "^1.2.0" + rc-trigger "^5.1.2" + rc-util "^5.12.0" + shallowequal "^1.1.0" + rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.2.0, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.1, rc-motion@^2.4.3, rc-motion@^2.4.4: version "2.4.4" resolved "https://registry.npmjs.org/rc-motion/-/rc-motion-2.4.4.tgz#e995d5fa24fc93065c24f714857cf2677d655bb0" @@ -12112,13 +12107,14 @@ rc-picker@~2.5.17: rc-util "^5.4.0" shallowequal "^1.1.0" -rc-progress@~3.1.0: - version "3.1.4" - resolved "https://registry.npmjs.org/rc-progress/-/rc-progress-3.1.4.tgz#66040d0fae7d8ced2b38588378eccb2864bad615" - integrity sha512-XBAif08eunHssGeIdxMXOmRQRULdHaDdIFENQ578CMb4dyewahmmfJRyab+hw4KH4XssEzzYOkAInTLS7JJG+Q== +rc-progress@~3.2.1: + version "3.2.4" + resolved "https://registry.npmjs.org/rc-progress/-/rc-progress-3.2.4.tgz#4036acdae2566438545bc4df2203248babaf7549" + integrity sha512-M9WWutRaoVkPUPIrTpRIDpX0SPSrVHzxHdCRCbeoBFrd9UFWTYNWRlHsruJM5FH1AZI+BwB4wOJUNNylg/uFSw== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.6" + rc-util "^5.16.1" rc-rate@~2.9.0: version "2.9.1" @@ -12149,17 +12145,27 @@ rc-resize-observer@^1.1.0: rc-util "^5.15.0" resize-observer-polyfill "^1.5.1" -rc-select@~13.2.1: - version "13.2.1" - resolved "https://registry.npmjs.org/rc-select/-/rc-select-13.2.1.tgz#d69675f8bc72622a8f3bc024fa21bfee8d56257d" - integrity sha512-L2cJFAjVEeDiNVa/dlOVKE79OUb0J7sUBvWN3Viav3XHcjvv9Ovn4D8J9QhBSlDXeGuczZ81CZI3BbdHD25+Gg== +rc-resize-observer@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.2.0.tgz#9f46052f81cdf03498be35144cb7c53fd282c4c7" + integrity sha512-6W+UzT3PyDM0wVCEHfoW3qTHPTvbdSgiA43buiy8PzmeMnfgnDeb9NjdimMXMl3/TcrvvWl5RRVdp+NqcR47pQ== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + rc-util "^5.15.0" + resize-observer-polyfill "^1.5.1" + +rc-select@~14.0.0-alpha.15, rc-select@~14.0.0-alpha.23, rc-select@~14.0.0-alpha.8: + version "14.0.0-alpha.25" + resolved "https://registry.npmjs.org/rc-select/-/rc-select-14.0.0-alpha.25.tgz#9e6ca83b090e020a730fdfdab07c1050549426e4" + integrity sha512-U9AMzXsOCCdtn96YIZdUrYbxk+5u6uWUCaYH2129X3FTjQITqAjEPYHfPcxU/G7+lwiD0pIaU95W0NMkg+26qw== dependencies: "@babel/runtime" "^7.10.1" classnames "2.x" rc-motion "^2.0.1" rc-overflow "^1.0.0" rc-trigger "^5.0.4" - rc-util "^5.9.8" + rc-util "^5.16.1" rc-virtual-list "^3.2.0" rc-slider@~9.7.4: @@ -12191,14 +12197,14 @@ rc-switch@~3.2.0: classnames "^2.2.1" rc-util "^5.0.1" -rc-table@~7.19.0: - version "7.19.2" - resolved "https://registry.npmjs.org/rc-table/-/rc-table-7.19.2.tgz#976337a5dace3b8e04bea9554d72bc83aa5ab301" - integrity sha512-NdpnoM50MK02H5/hGOsObfxCvGFUG5cHB9turE5BKJ81T5Ycbq193w5tLhnpILXe//Oanzr47MdMxkUnVGP+qg== +rc-table@~7.22.2: + version "7.22.2" + resolved "https://registry.npmjs.org/rc-table/-/rc-table-7.22.2.tgz#218f3f53bc91660560a344c8290a91a841a60b0a" + integrity sha512-Ng2gNkGi6ybl6dzneRn2H4Gp8XhIbRa5rXQ7ZhZcgWVmfVMok70UHGPXcf68tXW6O0/qckTf/eOVsoviSvK4sw== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.5" - rc-resize-observer "^1.0.0" + rc-resize-observer "^1.1.0" rc-util "^5.14.0" shallowequal "^1.1.0" @@ -12244,16 +12250,16 @@ rc-tooltip@^5.0.1, rc-tooltip@~5.1.1: "@babel/runtime" "^7.11.2" rc-trigger "^5.0.0" -rc-tree-select@~4.8.0: - version "4.8.0" - resolved "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-4.8.0.tgz#bcbcfb45553f84a878e4ff037ff00b526a4afa62" - integrity sha512-evuVIF7GHCGDdvISdBWl4ZYmG/8foof/RDtzCu/WFLA1tFKZD77RRC3khEsjh4WgsB0vllLe7j+ODJ7jHRcDRQ== +rc-tree-select@~5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.1.1.tgz#09940459cc57f072916ff3e2ddb6a6f62bbc4eb5" + integrity sha512-jchIaOTBvJjr3WJXPJc4wCeROIktkq8Ykf888GmL94nItJmqS9H6nCjSchEtkUbtDbZwx52tIJjzc81GWQbm/w== dependencies: "@babel/runtime" "^7.10.1" classnames "2.x" - rc-select "~13.2.1" - rc-tree "~5.3.0" - rc-util "^5.7.0" + rc-select "~14.0.0-alpha.8" + rc-tree "~5.4.3" + rc-util "^5.16.1" rc-tree@^5.2.0: version "5.3.0" @@ -12266,10 +12272,10 @@ rc-tree@^5.2.0: rc-util "^5.0.0" rc-virtual-list "^3.4.1" -rc-tree@~5.3.0: - version "5.3.3" - resolved "https://registry.npmjs.org/rc-tree/-/rc-tree-5.3.3.tgz#9a0c7ce2f171829f5aee788b2c644fc307b97794" - integrity sha512-WKblt5P0Co+eWhqG/xcKexZ7ir3UU5PlH4Y0hFd7zBopJMc0p6ysp2hgLK+EgjaJz7FHVJY9k5kpIKuBWHHDNA== +rc-tree@~5.4.3: + version "5.4.3" + resolved "https://registry.npmjs.org/rc-tree/-/rc-tree-5.4.3.tgz#8674644964e17e5ab9b111c5aa18676f673e7bd0" + integrity sha512-WAHV8FkBerulj9J/+61+Qn0TD/Zo37PrDG8/45WomzGTYavxFMur9YguKjQj/J+NxjVJzrJL3lvdSZsumfdbiA== dependencies: "@babel/runtime" "^7.10.1" classnames "2.x" @@ -15001,7 +15007,7 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.12" -warning@^4.0.1, warning@^4.0.3: +warning@^4.0.3: version "4.0.3" resolved "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==