@kne/react-filter 0.1.15 → 0.1.16

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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/context.js","../src/FilterItem/index.js","../src/List/index.js","../src/City/index.js","../src/SearchButton/index.js","../src/Range/index.js","../src/Text/index.js","../src/Selector/index.js","../src/Check/index.js","../src/MoreExtraButton/index.js","../src/index.js"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\nconst context = createContext({});\n\nexport const { Consumer, Provider } = context;\n\nexport const useConsumer = () => useContext(context);\n\nexport default context;","import React from \"react\";\nimport {Space} from \"antd\";\nimport classnames from 'classnames';\n\nconst FilterItem = ({className, label, children}) => {\n return <Space className={classnames('react-filter-item', className)}>\n <div className=\"react-filter-item-label\">{label}:</div>\n <div className=\"react-filter-item-children\">{children}</div>\n </Space>;\n};\n\nexport const withFilterItem = (WrappedComponent) => ({label, ...props}) => <FilterItem\n label={label}><WrappedComponent {...props} /></FilterItem>;\n\nexport default FilterItem;\n","import React, { createContext, useContext } from \"react\";\nimport { Button, message, Tag } from \"antd\";\nimport { useConsumer } from \"../context\";\nimport FilterItem from \"../FilterItem\";\nimport get from \"lodash/get\";\nimport isFunction from \"lodash/isFunction\";\nimport isEqual from \"lodash/isEqual\";\n\nconst { CheckableTag } = Tag;\n\nconst context = createContext({});\n\nconst { Provider } = context;\n\nconst List = ({ label, name, size, children, options, more }) => {\n const { value, onChange } = useConsumer();\n const currentValue = (() => {\n const originValue = get(value, name);\n if (size === 1) {\n return originValue !== void (0) ? [originValue] : [];\n } else {\n return originValue || [];\n }\n })();\n\n const changeHandler = (value) => {\n if (size === 1) {\n return onChange(name, value[0]);\n } else {\n return onChange(name, value);\n }\n };\n const createCheckedChangeHandler = (value) => (checked) => {\n if (checked) {\n let newList = currentValue.slice(0);\n if (currentValue.length < size) {\n newList.push(value);\n }\n if (currentValue.length === size && size === 1) {\n newList = [value];\n }\n if (currentValue.length >= size && size > 1) {\n message.error(`最多选择${size}个`);\n return;\n }\n changeHandler(newList);\n } else {\n const newList = currentValue.slice(0);\n newList.splice(currentValue.indexOf(value), 1);\n changeHandler(newList);\n }\n };\n const computedChildren = (() => {\n if (Array.isArray(options)) {\n return options.map(({ label, value }) => <List.Item key={value} value={value} label={label} />);\n }\n if (isFunction(children)) {\n return children({ value: currentValue, onChange: changeHandler });\n }\n return children;\n })();\n return <FilterItem label={label}>\n <Provider value={{\n currentValue, createCheckedChangeHandler\n }}>\n {computedChildren}\n {more ? (() => {\n if (isFunction(more)) {\n return more({ name, size, label, value: currentValue, onChange: changeHandler });\n }\n const { children, onClick } = more;\n return <List.Item {...more} onClick={(e) => {\n onClick({ name, label, value: currentValue, onChange: changeHandler }, e);\n }} label={children || \"其他\"} />;\n })() : null}\n </Provider>\n </FilterItem>;\n};\n\nList.Item = ({ value, label, ...props }) => {\n const { currentValue, createCheckedChangeHandler } = useContext(context);\n const itemProps = {};\n if (value !== void (0)) {\n itemProps.checked = currentValue.findIndex((item) => isEqual(get(item,'value'), value)) > -1;\n itemProps.onChange = createCheckedChangeHandler({ label, value });\n }\n\n return <CheckableTag {...props} {...itemProps}>{label}</CheckableTag>;\n};\n\nList.defaultProps = {\n size: 2\n};\n\nexport default List;\n","import React from \"react\";\nimport { createCitySelect, apis, RemoteData, DisplayCity } from \"@kne/react-city-select\";\nimport List from \"../List\";\n\nconst { Item } = List;\n\nconst City = ({ label, name, size }) => {\n return <List label={label} name={name} size={size} more={{\n children: \"其他\", onClick: ({ value, onChange }) => {\n createCitySelect({\n size, defaultValue: value.map(({ value }) => value), onChange: (value) => {\n Promise.all(value.map((id) => apis.getCity(id).then(({ city }) => ({\n label: city.name, value: city.code\n })))).then((value) => onChange(value));\n }\n });\n }\n }}>\n {({ value: currentValue }) => <>\n <RemoteData loader={apis.getChinaHotCities}>{(data) => {\n const otherList = currentValue.filter(({ value: code }) => !data.find((item) => item.code === code));\n let extraLength = 0;\n data.forEach((item, index) => {\n if (currentValue.findIndex(({ value }) => value === item.code) > -1 && index >= data.length - otherList.length) {\n extraLength += 1;\n }\n });\n return <>\n {otherList.map(({ value: code }) => {\n return <DisplayCity id={code} key={code}>{({ city: item }) => {\n return <Item value={code} label={item.name} />;\n }}</DisplayCity>;\n })}\n {data.filter((item, index) => currentValue.findIndex(({ value }) => value === item.code) > -1 || index < data.length - otherList.length - extraLength).map((item) =>\n <Item key={item.code} value={item.code} label={item.name} />)}\n </>;\n }}</RemoteData>\n </>}\n </List>;\n};\n\nexport default City;","import React, {useState, useEffect, useRef} from \"react\";\nimport {Button, Space} from \"antd\";\nimport {useConsumer} from \"../context\";\nimport useClickOutSide from \"@kne/use-click-outside\";\nimport classnames from \"classnames\";\nimport isFunction from \"lodash/isFunction\";\nimport get from \"lodash/get\";\n\nconst SearchButton = ({\n name,\n size,\n template,\n children,\n defaultValue,\n defaultActive,\n onBlur,\n onSearch,\n onBeforeSearch,\n onActiveChange,\n buttonText\n }) => {\n const {value: aValue, onChange} = useConsumer();\n const currentValue = aValue[name];\n const [value, setValue] = useState(defaultValue || get(currentValue, \"value\"));\n const [active, setActive] = useState(defaultActive);\n const withTemplate = (value = '') => ({\n value, label: isFunction(template) ? template(value) : value.toString()\n });\n const ref = useClickOutSide(() => {\n setValue(get(currentValue, \"value\"));\n setActive(false);\n onBlur && onBlur();\n });\n\n const activeChangeRef = useRef(onActiveChange);\n activeChangeRef.current = onActiveChange;\n\n useEffect(() => {\n activeChangeRef.current && activeChangeRef.current(active);\n }, [active]);\n return <div className={classnames(\"react-filter-search-button\", {\n \"is-active\": active\n })} ref={ref} onMouseEnter={() => {\n !active && setActive(true);\n }} onMouseLeave={() => {\n active && setActive(false);\n }}>\n <div className=\"inner\">\n <div>{children({value, setValue, setActive})}</div>\n {active ? <Button className=\"react-filter-search-confirm\" size=\"small\" type=\"primary\" onClick={(e) => {\n e.stopPropagation();\n if (onBeforeSearch && onBeforeSearch(value) === false) {\n return;\n }\n onChange(name, Number.isInteger(size) && size > 1 ? [withTemplate(value)] : withTemplate(value));\n setActive(false);\n onSearch && onSearch({value});\n }}>{buttonText}</Button> : null}</div>\n </div>;\n};\n\nSearchButton.defaultProps = {\n defaultActive: false, buttonText: \"确定\"\n};\n\nexport default SearchButton;\n","import React, { useState } from \"react\";\nimport { InputNumber, Space, Tooltip } from \"antd\";\nimport { withFilterItem } from \"../FilterItem\";\nimport SearchButton from \"../SearchButton\";\nimport get from \"lodash/get\";\nimport isNumber from \"lodash/isNumber\";\n\nexport const RangeInner = ({\n name, size, defaultActive, template, onBlur, onSearch, onActiveChange, startProps, endProps\n }) => {\n const [error, setError] = useState(null);\n const check = (value) => {\n setError(null);\n if (!Array.isArray(value)) {\n return false;\n }\n if (isNumber(value[1]) && value[0] > value[1]) {\n setError(\"最大值不能小于最小值\");\n return false;\n }\n return true;\n };\n return <SearchButton size={size} template={template} onBlur={onBlur} defaultActive={defaultActive} name={name} onSearch={onSearch}\n onBeforeSearch={(value) => {\n return check(value);\n }} onActiveChange={(active) => {\n if (!active) {\n setError(null);\n }\n onActiveChange && onActiveChange(active);\n }}>\n {({ value, setValue, setActive }) => <Tooltip visible={!!error} title={error} placement=\"bottomRight\"><Space\n size=\"small\">\n <InputNumber size=\"small\" {...startProps} value={get(value, 0)} onChange={(inputValue) => {\n const target = [inputValue, get(value, 1)];\n check(target);\n setValue(target);\n }} onFocus={() => {\n setActive(true);\n }} />\n ~\n <InputNumber size=\"small\" {...endProps} value={get(value, 1)} onChange={(inputValue) => {\n const target = [get(value, 0), inputValue];\n check(target);\n setValue(target);\n }} onFocus={() => {\n setActive(true);\n }} />\n </Space></Tooltip>}\n </SearchButton>;\n};\n\nconst Range = withFilterItem(RangeInner);\n\nexport default Range;\n\n","import React from \"react\";\nimport { Input } from \"antd\";\nimport { withFilterItem } from \"../FilterItem\";\nimport SearchButton from \"../SearchButton\";\n\nexport const TextInner = ({ name, label, template, defaultActive, onBlur, onSearch, onActiveChange, ...props }) => {\n return <SearchButton defaultActive={defaultActive} onBlur={onBlur} template={template} name={name} onSearch={onSearch}\n onActiveChange={(active) => {\n onActiveChange && onActiveChange(active);\n }}>\n {({ value, setValue, setActive }) => <>\n <Input size=\"small\" {...props} value={value} onChange={(e) => {\n setValue(e.target.value);\n }} onFocus={() => {\n setActive(true);\n }} />\n </>}\n </SearchButton>;\n};\n\nconst Text = withFilterItem(TextInner);\n\nexport default Text;\n\n","import React from \"react\";\nimport { Select } from \"antd\";\nimport { withFilterItem } from \"../FilterItem\";\nimport { useConsumer } from \"../context\";\n\nexport const SelectorInner = ({ name, ...props }) => {\n const { value: aValue, onChange } = useConsumer();\n const currentValue = aValue[name];\n return <Select {...props} style={{ minWidth: \"150px\" }} size=\"small\" value={currentValue} onChange={(value, item) => {\n onChange(name, item);\n }} />;\n};\n\nconst Selector = withFilterItem(SelectorInner);\n\nexport default Selector;","import React from \"react\";\nimport { Checkbox } from \"antd\";\nimport { useConsumer } from \"../context\";\n\nconst Check = ({ name, label, ...props }) => {\n const { value: aValue, onChange } = useConsumer();\n const currentValue = aValue[name];\n return <Checkbox {...props} size=\"small\" checked={currentValue} onChange={(e) => {\n onChange(name, e.target.checked ? { value: true, label } : null);\n }}>{label}</Checkbox>;\n};\n\nexport default Check;","import React, { useState } from \"react\";\nimport List from \"../List\";\nimport { RangeInner } from \"../Range\";\nimport { TextInner } from \"../Text\";\nimport { SelectorInner } from \"../Selector\";\n\nexport const withMoreExtraButton = (WrappedComponent) => ({ name, value, children, ...props }) => {\n const [isEdit, setIsEdit] = useState(false);\n return isEdit ? <WrappedComponent defaultActive={true} {...props} name={name} onBlur={() => {\n setIsEdit(false);\n }} /> : <List.Item onClick={(e) => {\n e.stopPropagation();\n setIsEdit(true);\n }} label={children || \"其他\"} />;\n};\n\nconst RangeButton = withMoreExtraButton(RangeInner);\nconst TextButton = withMoreExtraButton(TextInner);\nconst SelectorButton = withMoreExtraButton(SelectorInner);\n\nexport const createExtraButton = ({ type, ...props }) => (innerProps) => {\n const mapping = {\n range: RangeButton, text: TextButton, selector: SelectorButton\n };\n\n const ExtraButtonComponent = mapping[type];\n if (!ExtraButtonComponent) {\n return null;\n }\n return <ExtraButtonComponent {...props} {...innerProps} />;\n};\n\n","import React, {cloneElement, useState, useMemo} from \"react\";\nimport {Space, Button, Divider, Tag, Row, Col} from \"antd\";\nimport City from \"./City\";\nimport List from \"./List\";\nimport Range from \"./Range\";\nimport Text from \"./Text\";\nimport Selector from \"./Selector\";\nimport Check from \"./Check\";\nimport {Provider} from \"./context\";\nimport FilterItem from \"./FilterItem\";\nimport \"./index.scss\";\n\nconst filterNull = (item) => {\n const target = Object.assign({}, item);\n Object.keys(target).forEach((key) => {\n const item = target[key];\n (() => {\n if (Array.isArray(item) && item.length > 0 && item.every((item) => item.value === void (0) || item.value === null || item.value === \"\")) {\n delete target[key];\n return;\n }\n if (Array.isArray(item) && item.length === 0) {\n delete target[key];\n return;\n }\n if (item && Array.isArray(item.value) && (item.value.length === 0 || item.value.every((item) => item === void (0) || item === null || item === \"\"))) {\n delete target[key];\n return;\n }\n if (item === void (0) || item === null || (!Array.isArray(item) && item && (item.value === void (0) || item.value === null || item.value === \"\"))) {\n delete target[key];\n return;\n }\n })();\n });\n return target;\n};\n\nconst Filter = ({\n displayLine,\n defaultDisplay,\n isExtra,\n list,\n label,\n unfoldText,\n foldText,\n extra,\n value: originValue,\n onChange\n }) => {\n const value = useMemo(() => {\n return filterNull(originValue);\n }, [originValue]);\n const [display, setDisplay] = useState(defaultDisplay);\n const basicList = list.slice(0, displayLine), moreList = list.slice(displayLine);\n const renderList = (list) => list.map((item, index) => {\n return <Space key={index}>{item.map((item, index) => cloneElement(item, {key: index}))}</Space>;\n });\n const changeHandler = (name, item) => {\n const target = Object.assign({}, value, {[name]: item});\n onChange(filterNull(target));\n };\n\n return <Provider value={{\n value, onChange: changeHandler\n }}>\n <div className=\"react-filter\">\n <div className=\"react-filter-inner\">\n <div>\n <Space>\n <FilterItem className=\"react-filter-selected\" label={label}>\n {Object.keys(value).map((key) => {\n const item = value[key];\n if (!item) return null;\n if (Array.isArray(item) && item.length === 0) return null;\n return <Tag key={key} closable onClose={() => {\n changeHandler(key, null);\n }}>{Array.isArray(item) ? item.map(({label}) => label).join(\",\") : item.label}</Tag>;\n })}\n </FilterItem>\n <div>{extra}</div>\n </Space>\n </div>\n {renderList(isExtra ? basicList : list)}\n </div>\n {display ? <><Divider className=\"react-filter-divider\"/>\n <div className=\"react-filter-inner\">{renderList(moreList)}</div>\n </> :\n <div className=\"react-filter-divider-close\"/>}\n {isExtra && list.length > displayLine ? <Row className=\"react-filter-switch-btn\" justify=\"end\">\n <Col><Button type=\"link\" onClick={() => {\n setDisplay((display) => !display);\n }}>{display ? foldText : unfoldText}</Button></Col>\n </Row> : null}\n </div>\n </Provider>;\n};\n\nFilter.type = {\n City, List, Range, Text, Selector, Check\n};\n\nFilter.defaultProps = {\n label: '筛选项',\n unfoldText: '展开',\n foldText: '收起',\n displayLine: 2,\n defaultDisplay: false,\n isExtra: true,\n list: [[]],\n value: {},\n extra: null,\n onChange: () => {\n }\n};\n\nexport {createExtraButton, withMoreExtraButton} from \"./MoreExtraButton\";\n\nexport {default as SearchButton} from \"./SearchButton\";\n\nexport {default as FilterItem, withFilterItem} from \"./FilterItem\";\n\nexport {useConsumer as useFilterContext} from './context';\n\nexport default Filter;\n"],"names":["context","createContext","Provider","useConsumer","useContext","FilterItem","className","label","children","React","Space","classnames","withFilterItem","WrappedComponent","props","CheckableTag","Tag","List","name","size","options","more","value","onChange","currentValue","originValue","get","changeHandler","createCheckedChangeHandler","checked","newList","slice","length","push","message","error","splice","indexOf","computedChildren","Array","isArray","map","isFunction","onClick","e","Item","itemProps","findIndex","item","isEqual","defaultProps","City","createCitySelect","defaultValue","Promise","all","id","apis","getCity","then","city","code","RemoteData","getChinaHotCities","data","otherList","filter","find","extraLength","forEach","index","DisplayCity","SearchButton","template","defaultActive","onBlur","onSearch","onBeforeSearch","onActiveChange","buttonText","aValue","useState","setValue","active","setActive","withTemplate","toString","ref","useClickOutSide","activeChangeRef","useRef","current","useEffect","Button","stopPropagation","Number","isInteger","RangeInner","startProps","endProps","setError","check","isNumber","Tooltip","InputNumber","inputValue","target","Range","TextInner","Input","Text","SelectorInner","Select","minWidth","Selector","Check","Checkbox","withMoreExtraButton","isEdit","setIsEdit","RangeButton","TextButton","SelectorButton","createExtraButton","type","innerProps","mapping","range","text","selector","ExtraButtonComponent","filterNull","Object","assign","keys","key","every","Filter","displayLine","defaultDisplay","isExtra","list","unfoldText","foldText","extra","useMemo","display","setDisplay","basicList","moreList","renderList","cloneElement","join","Divider","Row","Col"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/context.js","../src/FilterItem/index.js","../src/List/index.js","../src/City/index.js","../src/SearchButton/index.js","../src/Range/index.js","../src/Text/index.js","../src/Selector/index.js","../src/Check/index.js","../src/RadioList/index.js","../src/CheckboxList/index.js","../src/MoreExtraButton/index.js","../src/index.js"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\nconst context = createContext({});\n\nexport const { Consumer, Provider } = context;\n\nexport const useConsumer = () => useContext(context);\n\nexport default context;","import React from \"react\";\nimport {Space} from \"antd\";\nimport classnames from 'classnames';\n\nconst FilterItem = ({className, label, labelHidden, children}) => {\n return <Space className={classnames('react-filter-item', className)}>\n {labelHidden ? null : <div className=\"react-filter-item-label\">{label}:</div>}\n <div className=\"react-filter-item-children\">{children}</div>\n </Space>;\n};\n\nexport const withFilterItem = (WrappedComponent) => ({label, labelHidden, ...props}) => {\n return <FilterItem label={label} labelHidden={labelHidden}><WrappedComponent {...props} label={label}/></FilterItem>\n};\n\nexport default FilterItem;\n","import React, {createContext, useContext} from \"react\";\nimport {Button, message, Tag} from \"antd\";\nimport {useConsumer} from \"../context\";\nimport FilterItem from \"../FilterItem\";\nimport get from \"lodash/get\";\nimport isFunction from \"lodash/isFunction\";\nimport isEqual from \"lodash/isEqual\";\n\nconst {CheckableTag} = Tag;\n\nconst context = createContext({});\n\nconst {Provider} = context;\n\nconst List = ({label, labelHidden, name, size, children, options, more}) => {\n const {value, onChange} = useConsumer();\n const currentValue = (() => {\n const originValue = get(value, name);\n if (size === 1) {\n return originValue !== void (0) ? [originValue] : [];\n } else {\n return originValue || [];\n }\n })();\n\n const changeHandler = (value) => {\n if (size === 1) {\n return onChange(name, value[0]);\n } else {\n return onChange(name, value);\n }\n };\n const createCheckedChangeHandler = (value) => (checked) => {\n if (checked) {\n let newList = currentValue.slice(0);\n if (currentValue.length < size) {\n newList.push(value);\n }\n if (currentValue.length === size && size === 1) {\n newList = [value];\n }\n if (currentValue.length >= size && size > 1) {\n message.error(`最多选择${size}个`);\n return;\n }\n changeHandler(newList);\n } else {\n const newList = currentValue.slice(0);\n newList.splice(currentValue.indexOf(value), 1);\n changeHandler(newList);\n }\n };\n const computedChildren = (() => {\n if (Array.isArray(options)) {\n return options.map(({label, value}) => <List.Item key={value} value={value} label={label}/>);\n }\n if (isFunction(children)) {\n return children({value: currentValue, onChange: changeHandler});\n }\n return children;\n })();\n return <FilterItem label={label} labelHidden={labelHidden}>\n <Provider value={{\n currentValue, createCheckedChangeHandler\n }}>\n {computedChildren}\n {more ? (() => {\n if (isFunction(more)) {\n return more({name, size, label, value: currentValue, onChange: changeHandler});\n }\n const {children, onClick} = more;\n return <List.Item {...more} onClick={(e) => {\n onClick({name, label, value: currentValue, onChange: changeHandler}, e);\n }} label={children || \"其他\"}/>;\n })() : null}\n </Provider>\n </FilterItem>;\n};\n\nList.Item = ({value, label, ...props}) => {\n const {currentValue, createCheckedChangeHandler} = useContext(context);\n const itemProps = {};\n if (value !== void (0)) {\n itemProps.checked = currentValue.findIndex((item) => isEqual(get(item, 'value'), value)) > -1;\n itemProps.onChange = createCheckedChangeHandler({label, value});\n }\n\n return <CheckableTag {...props} {...itemProps}>{label}</CheckableTag>;\n};\n\nList.defaultProps = {\n size: 2\n};\n\nexport default List;\n","import React from \"react\";\nimport {createCitySelect, apis, RemoteData, DisplayCity} from \"@kne/react-city-select\";\nimport List from \"../List\";\n\nconst {Item} = List;\n\nconst City = ({label, labelHidden, name, size, ...props}) => {\n return <List labelHidden={labelHidden} label={label} name={name} size={size} more={{\n children: \"其他\", onClick: ({value, onChange}) => {\n createCitySelect({\n size, defaultValue: value.map(({value}) => value), onChange: (value) => {\n Promise.all(value.map((id) => apis.getCity(id).then(({city}) => ({\n label: city.name, value: city.code\n })))).then((value) => onChange(value));\n }\n });\n }\n }}>\n {({value: currentValue}) => <>\n <RemoteData loader={apis.getChinaHotCities}>{(data) => {\n const otherList = currentValue.filter(({value: code}) => !data.find((item) => item.code === code));\n let extraLength = 0;\n data.forEach((item, index) => {\n if (currentValue.findIndex(({value}) => value === item.code) > -1 && index >= data.length - otherList.length) {\n extraLength += 1;\n }\n });\n return <>\n {otherList.map(({value: code}) => {\n return <DisplayCity id={code} key={code}>{({city: item}) => {\n return <Item value={code} label={item.name}/>;\n }}</DisplayCity>;\n })}\n {data.filter((item, index) => currentValue.findIndex(({value}) => value === item.code) > -1 || index < data.length - otherList.length - extraLength).map((item) =>\n <Item key={item.code} value={item.code} label={item.name}/>)}\n </>;\n }}</RemoteData>\n </>}\n </List>;\n};\n\nexport default City;\n","import React, {useState, useEffect, useRef} from \"react\";\nimport {Button, Space} from \"antd\";\nimport {useConsumer} from \"../context\";\nimport useClickOutSide from \"@kne/use-click-outside\";\nimport classnames from \"classnames\";\nimport isFunction from \"lodash/isFunction\";\nimport get from \"lodash/get\";\n\nconst SearchButton = ({\n name,\n size,\n template,\n children,\n defaultValue,\n defaultActive,\n onBlur,\n onSearch,\n onBeforeSearch,\n onActiveChange,\n buttonText\n }) => {\n const {value: aValue, onChange} = useConsumer();\n const currentValue = aValue[name];\n const [value, setValue] = useState(defaultValue || get(currentValue, \"value\"));\n const [active, setActive] = useState(defaultActive);\n const withTemplate = (value = '') => ({\n value, label: isFunction(template) ? template(value) : value.toString()\n });\n const ref = useClickOutSide(() => {\n setValue(get(currentValue, \"value\"));\n setActive(false);\n onBlur && onBlur();\n });\n\n const activeChangeRef = useRef(onActiveChange);\n activeChangeRef.current = onActiveChange;\n\n useEffect(() => {\n activeChangeRef.current && activeChangeRef.current(active);\n }, [active]);\n return <div className={classnames(\"react-filter-search-button\", {\n \"is-active\": active\n })} ref={ref} onMouseEnter={() => {\n !active && setActive(true);\n }} onMouseLeave={() => {\n active && setActive(false);\n }}>\n <div className=\"inner\">\n <div>{children({value, setValue, setActive})}</div>\n {active ? <Button className=\"react-filter-search-confirm\" size=\"small\" type=\"primary\" onClick={(e) => {\n e.stopPropagation();\n if (onBeforeSearch && onBeforeSearch(value) === false) {\n return;\n }\n onChange(name, Number.isInteger(size) && size > 1 ? [withTemplate(value)] : withTemplate(value));\n setActive(false);\n onSearch && onSearch({value});\n }}>{buttonText}</Button> : null}</div>\n </div>;\n};\n\nSearchButton.defaultProps = {\n defaultActive: false, buttonText: \"确定\"\n};\n\nexport default SearchButton;\n","import React, {useState} from \"react\";\nimport {InputNumber, Space, Tooltip} from \"antd\";\nimport {withFilterItem} from \"../FilterItem\";\nimport SearchButton from \"../SearchButton\";\nimport get from \"lodash/get\";\nimport isNumber from \"lodash/isNumber\";\n\nexport const RangeInner = ({\n name,\n size,\n defaultActive,\n template,\n onBlur,\n onSearch,\n onActiveChange,\n startProps,\n endProps,\n placeholder\n }) => {\n const [error, setError] = useState(null);\n const check = (value) => {\n setError(null);\n if (!Array.isArray(value)) {\n return false;\n }\n if (isNumber(value[1]) && value[0] > value[1]) {\n setError(\"最大值不能小于最小值\");\n return false;\n }\n return true;\n };\n return <SearchButton size={size} template={template} onBlur={onBlur} defaultActive={defaultActive} name={name}\n onSearch={onSearch}\n onBeforeSearch={(value) => {\n return check(value);\n }} onActiveChange={(active) => {\n if (!active) {\n setError(null);\n }\n onActiveChange && onActiveChange(active);\n }}>\n {({value, setValue, setActive}) => <Tooltip visible={!!error} title={error} placement=\"bottomRight\"><Space\n size=\"small\">\n <InputNumber size=\"small\" {...startProps} value={get(value, 0)} onChange={(inputValue) => {\n const target = [inputValue, get(value, 1)];\n check(target);\n setValue(target);\n }} onFocus={() => {\n setActive(true);\n }} placeholder={Array.isArray(placeholder) ? placeholder[0] : (placeholder || \"请输入\")}/>\n ~\n <InputNumber size=\"small\" {...endProps} value={get(value, 1)} onChange={(inputValue) => {\n const target = [get(value, 0), inputValue];\n check(target);\n setValue(target);\n }} onFocus={() => {\n setActive(true);\n }} placeholder={Array.isArray(placeholder) ? placeholder[0] : (placeholder || \"请输入\")}/>\n </Space></Tooltip>}\n </SearchButton>;\n};\n\nconst Range = withFilterItem(RangeInner);\n\nexport default Range;\n\n","import React from \"react\";\nimport {Input} from \"antd\";\nimport {withFilterItem} from \"../FilterItem\";\nimport SearchButton from \"../SearchButton\";\n\nexport const TextInner = ({\n name,\n label,\n template,\n defaultActive,\n onBlur,\n onSearch,\n onActiveChange,\n placeholder,\n ...props\n }) => {\n return <SearchButton defaultActive={defaultActive} onBlur={onBlur} template={template} name={name}\n onSearch={onSearch}\n onActiveChange={(active) => {\n onActiveChange && onActiveChange(active);\n }}>\n {({value, setValue, setActive}) => <>\n <Input size=\"small\" {...props} placeholder={placeholder || label} value={value} onChange={(e) => {\n setValue(e.target.value);\n }} onFocus={() => {\n setActive(true);\n }}/>\n </>}\n </SearchButton>;\n};\n\nconst Text = withFilterItem(TextInner);\n\nexport default Text;\n\n","import React from \"react\";\nimport {Select} from \"antd\";\nimport {withFilterItem} from \"../FilterItem\";\nimport {useConsumer} from \"../context\";\n\nexport const SelectorInner = ({name, label, placeholder, ...props}) => {\n const {value: aValue, onChange} = useConsumer();\n const currentValue = aValue[name];\n return <Select {...props} placeholder={label || placeholder} size=\"small\" value={currentValue}\n onChange={(value, item) => {\n onChange(name, item);\n }}/>;\n};\n\nconst Selector = withFilterItem(SelectorInner);\n\nexport default Selector;\n","import React from \"react\";\nimport {Checkbox} from \"antd\";\nimport {useConsumer} from \"../context\";\nimport classnames from \"classnames\";\n\nconst Check = ({name, label, className, ...props}) => {\n const {value: aValue, onChange} = useConsumer();\n const currentValue = aValue[name];\n return <Checkbox {...props} className={classnames('react-filter-item', className)} size=\"small\"\n checked={currentValue} onChange={(e) => {\n onChange(name, e.target.checked ? {value: true, label} : null);\n }}>{label}</Checkbox>;\n};\n\nexport default Check;\n","import React from \"react\";\nimport {Radio} from \"antd\";\nimport {withFilterItem} from \"../FilterItem\";\nimport {useConsumer} from \"../context\";\nimport get from 'lodash/get'\n\nconst RadioList = withFilterItem(({label, name, options, ...props}) => {\n const {value: aValue, onChange} = useConsumer();\n const currentValue = aValue[name];\n console.log(currentValue);\n return <Radio.Group {...props} options={options} value={get(currentValue, 'value')} onChange={(e) => {\n const item = options.find((item) => item.value === e.target.value);\n onChange(name, item);\n }}/>\n});\n\nexport default RadioList;\n","import React from \"react\";\nimport {Checkbox} from \"antd\";\nimport {withFilterItem} from \"../FilterItem\";\nimport {useConsumer} from \"../context\";\n\nconst CheckboxList = withFilterItem(({label, name, options, ...props}) => {\n const {value: aValue, onChange} = useConsumer();\n const currentValue = aValue[name];\n return <Checkbox.Group {...props} value={(currentValue || []).map(({value}) => value)} onChange={(value) => {\n const item = value.map((value) => {\n return options.find((item) => item.value === value);\n });\n console.log(item);\n onChange(name, item);\n }} options={options}/>\n});\n\nexport default CheckboxList;\n","import React, { useState } from \"react\";\nimport List from \"../List\";\nimport { RangeInner } from \"../Range\";\nimport { TextInner } from \"../Text\";\nimport { SelectorInner } from \"../Selector\";\n\nexport const withMoreExtraButton = (WrappedComponent) => ({ name, value, children, ...props }) => {\n const [isEdit, setIsEdit] = useState(false);\n return isEdit ? <WrappedComponent defaultActive={true} {...props} name={name} onBlur={() => {\n setIsEdit(false);\n }} /> : <List.Item onClick={(e) => {\n e.stopPropagation();\n setIsEdit(true);\n }} label={children || \"其他\"} />;\n};\n\nconst RangeButton = withMoreExtraButton(RangeInner);\nconst TextButton = withMoreExtraButton(TextInner);\nconst SelectorButton = withMoreExtraButton(SelectorInner);\n\nexport const createExtraButton = ({ type, ...props }) => (innerProps) => {\n const mapping = {\n range: RangeButton, text: TextButton, selector: SelectorButton\n };\n\n const ExtraButtonComponent = mapping[type];\n if (!ExtraButtonComponent) {\n return null;\n }\n return <ExtraButtonComponent {...props} {...innerProps} />;\n};\n\n","import React, {cloneElement, useState, useMemo} from \"react\";\nimport {Space, Button, Divider, Tag, Row, Col} from \"antd\";\nimport City from \"./City\";\nimport List from \"./List\";\nimport Range from \"./Range\";\nimport Text from \"./Text\";\nimport Selector from \"./Selector\";\nimport Check from \"./Check\";\nimport RadioList from './RadioList';\nimport CheckboxList from './CheckboxList';\nimport {Provider} from \"./context\";\nimport FilterItem from \"./FilterItem\";\nimport \"./index.scss\";\n\nconst filterNull = (item) => {\n const target = Object.assign({}, item);\n Object.keys(target).forEach((key) => {\n const item = target[key];\n (() => {\n if (Array.isArray(item) && item.length > 0 && item.every((item) => item.value === void (0) || item.value === null || item.value === \"\")) {\n delete target[key];\n return;\n }\n if (Array.isArray(item) && item.length === 0) {\n delete target[key];\n return;\n }\n if (item && Array.isArray(item.value) && (item.value.length === 0 || item.value.every((item) => item === void (0) || item === null || item === \"\"))) {\n delete target[key];\n return;\n }\n if (item === void (0) || item === null || (!Array.isArray(item) && item && (item.value === void (0) || item.value === null || item.value === \"\"))) {\n delete target[key];\n return;\n }\n })();\n });\n return target;\n};\n\nexport const Filter = ({\n displayLine,\n defaultDisplay,\n isExtra,\n list,\n label,\n labelHidden,\n itemLabelHidden,\n unfoldText,\n foldText,\n extra,\n value: originValue,\n onChange\n }) => {\n const value = useMemo(() => {\n return filterNull(originValue);\n }, [originValue]);\n const [display, setDisplay] = useState(defaultDisplay);\n const basicList = list.slice(0, displayLine), moreList = list.slice(displayLine);\n const renderList = (list) => list.map((item, index) => {\n return <Space key={index}\n className=\"react-filter-line\">{item.map((item, index) => cloneElement(item, {\n key: index,\n labelHidden: itemLabelHidden\n }))}</Space>;\n });\n const changeHandler = (name, item) => {\n const target = Object.assign({}, value, {[name]: item});\n onChange(filterNull(target));\n };\n\n return <Provider value={{\n value, onChange: changeHandler\n }}>\n <div className=\"react-filter\">\n <div className=\"react-filter-inner\">\n <div>\n {labelHidden ? null : <Space>\n <FilterItem className=\"react-filter-selected\" label={label}>\n {Object.keys(value).map((key) => {\n const item = value[key];\n if (!item) return null;\n if (Array.isArray(item) && item.length === 0) return null;\n return <Tag key={key} closable onClose={() => {\n changeHandler(key, null);\n }}>{Array.isArray(item) ? item.map(({label}) => label).join(\",\") : item.label}</Tag>;\n })}\n </FilterItem>\n <div>{extra}</div>\n </Space>}\n </div>\n {renderList(isExtra ? basicList : list)}\n </div>\n {display ? <><Divider className=\"react-filter-divider\"/>\n <div className=\"react-filter-inner\">{renderList(moreList)}</div>\n </> :\n <div className=\"react-filter-divider-close\"/>}\n {isExtra && list.length > displayLine ? <Row className=\"react-filter-switch-btn\" justify=\"end\">\n <Col><Button type=\"link\" onClick={() => {\n setDisplay((display) => !display);\n }}>{display ? foldText : unfoldText}</Button></Col>\n </Row> : null}\n </div>\n </Provider>;\n};\n\nFilter.type = {\n City, List, Range, Text, Selector, Check, RadioList, CheckboxList\n};\n\nFilter.defaultProps = {\n label: '筛选项',\n labelHidden: false,\n itemLabelHidden: false,\n unfoldText: '展开',\n foldText: '收起',\n displayLine: 2,\n defaultDisplay: false,\n isExtra: true,\n list: [[]],\n value: {},\n extra: null,\n onChange: () => {\n }\n};\n\nexport {createExtraButton, withMoreExtraButton} from \"./MoreExtraButton\";\n\nexport {default as SearchButton} from \"./SearchButton\";\n\nexport {default as FilterItem, withFilterItem} from \"./FilterItem\";\n\nexport {useConsumer as useFilterContext} from './context';\n\nexport default Filter;\n"],"names":["context","createContext","Provider","useConsumer","useContext","FilterItem","className","label","labelHidden","children","React","Space","classnames","withFilterItem","WrappedComponent","props","CheckableTag","Tag","List","name","size","options","more","value","onChange","currentValue","originValue","get","changeHandler","createCheckedChangeHandler","checked","newList","slice","length","push","message","error","splice","indexOf","computedChildren","Array","isArray","map","isFunction","onClick","e","Item","itemProps","findIndex","item","isEqual","defaultProps","City","createCitySelect","defaultValue","Promise","all","id","apis","getCity","then","city","code","RemoteData","getChinaHotCities","data","otherList","filter","find","extraLength","forEach","index","DisplayCity","SearchButton","template","defaultActive","onBlur","onSearch","onBeforeSearch","onActiveChange","buttonText","aValue","useState","setValue","active","setActive","withTemplate","toString","ref","useClickOutSide","activeChangeRef","useRef","current","useEffect","Button","stopPropagation","Number","isInteger","RangeInner","startProps","endProps","placeholder","setError","check","isNumber","Tooltip","InputNumber","inputValue","target","Range","TextInner","Input","Text","SelectorInner","Select","Selector","Check","Checkbox","RadioList","console","log","Radio","CheckboxList","withMoreExtraButton","isEdit","setIsEdit","RangeButton","TextButton","SelectorButton","createExtraButton","type","innerProps","mapping","range","text","selector","ExtraButtonComponent","filterNull","Object","assign","keys","key","every","Filter","displayLine","defaultDisplay","isExtra","list","itemLabelHidden","unfoldText","foldText","extra","useMemo","display","setDisplay","basicList","moreList","renderList","cloneElement","join","Divider","Row","Col"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React, { createContext, useContext, useState, useRef, useEffect, useMemo, cloneElement } from 'react';
2
- import { Space, Tag, message, Button, Tooltip, InputNumber, Input, Select, Checkbox, Divider, Row, Col } from 'antd';
2
+ import { Space, Tag, message, Button, Tooltip, InputNumber, Input, Select, Checkbox, Radio, Divider, Row, Col } from 'antd';
3
3
  import { createCitySelect, apis, RemoteData, DisplayCity } from '@kne/react-city-select';
4
4
  import classnames from 'classnames';
5
5
  import get from 'lodash/get';
@@ -9,7 +9,7 @@ import useClickOutSide from '@kne/use-click-outside';
9
9
  import isNumber from 'lodash/isNumber';
10
10
 
11
11
  function _extends() {
12
- _extends = Object.assign || function (target) {
12
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
13
13
  for (var i = 1; i < arguments.length; i++) {
14
14
  var source = arguments[i];
15
15
 
@@ -22,7 +22,6 @@ function _extends() {
22
22
 
23
23
  return target;
24
24
  };
25
-
26
25
  return _extends.apply(this, arguments);
27
26
  }
28
27
 
@@ -48,16 +47,17 @@ const {
48
47
  } = context$1;
49
48
  const useConsumer = () => useContext(context$1);
50
49
 
51
- const _excluded$5 = ["label"];
50
+ const _excluded$8 = ["label", "labelHidden"];
52
51
 
53
52
  const FilterItem = ({
54
53
  className,
55
54
  label,
55
+ labelHidden,
56
56
  children
57
57
  }) => {
58
58
  return /*#__PURE__*/React.createElement(Space, {
59
59
  className: classnames('react-filter-item', className)
60
- }, /*#__PURE__*/React.createElement("div", {
60
+ }, labelHidden ? null : /*#__PURE__*/React.createElement("div", {
61
61
  className: "react-filter-item-label"
62
62
  }, label, ":"), /*#__PURE__*/React.createElement("div", {
63
63
  className: "react-filter-item-children"
@@ -66,16 +66,20 @@ const FilterItem = ({
66
66
 
67
67
  const withFilterItem = WrappedComponent => _ref => {
68
68
  let {
69
- label
69
+ label,
70
+ labelHidden
70
71
  } = _ref,
71
- props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
72
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$8);
72
73
 
73
74
  return /*#__PURE__*/React.createElement(FilterItem, {
75
+ label: label,
76
+ labelHidden: labelHidden
77
+ }, /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, props, {
74
78
  label: label
75
- }, /*#__PURE__*/React.createElement(WrappedComponent, props));
79
+ })));
76
80
  };
77
81
 
78
- const _excluded$4 = ["value", "label"];
82
+ const _excluded$7 = ["value", "label"];
79
83
  const {
80
84
  CheckableTag
81
85
  } = Tag;
@@ -86,6 +90,7 @@ const {
86
90
 
87
91
  const List = ({
88
92
  label,
93
+ labelHidden,
89
94
  name,
90
95
  size,
91
96
  children,
@@ -163,7 +168,8 @@ const List = ({
163
168
  })();
164
169
 
165
170
  return /*#__PURE__*/React.createElement(FilterItem, {
166
- label: label
171
+ label: label,
172
+ labelHidden: labelHidden
167
173
  }, /*#__PURE__*/React.createElement(Provider, {
168
174
  value: {
169
175
  currentValue,
@@ -203,7 +209,7 @@ List.Item = _ref => {
203
209
  value,
204
210
  label
205
211
  } = _ref,
206
- props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
212
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$7);
207
213
 
208
214
  const {
209
215
  currentValue,
@@ -226,16 +232,22 @@ List.defaultProps = {
226
232
  size: 2
227
233
  };
228
234
 
235
+ const _excluded$6 = ["label", "labelHidden", "name", "size"];
229
236
  const {
230
237
  Item
231
238
  } = List;
232
239
 
233
- const City = ({
234
- label,
235
- name,
236
- size
237
- }) => {
240
+ const City = _ref => {
241
+ let {
242
+ label,
243
+ labelHidden,
244
+ name,
245
+ size
246
+ } = _ref;
247
+ _objectWithoutPropertiesLoose(_ref, _excluded$6);
248
+
238
249
  return /*#__PURE__*/React.createElement(List, {
250
+ labelHidden: labelHidden,
239
251
  label: label,
240
252
  name: name,
241
253
  size: size,
@@ -388,7 +400,8 @@ const RangeInner = ({
388
400
  onSearch,
389
401
  onActiveChange,
390
402
  startProps,
391
- endProps
403
+ endProps,
404
+ placeholder
392
405
  }) => {
393
406
  const [error, setError] = useState(null);
394
407
 
@@ -445,7 +458,8 @@ const RangeInner = ({
445
458
  },
446
459
  onFocus: () => {
447
460
  setActive(true);
448
- }
461
+ },
462
+ placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder || "请输入"
449
463
  })), "~", /*#__PURE__*/React.createElement(InputNumber, _extends({
450
464
  size: "small"
451
465
  }, endProps, {
@@ -457,22 +471,25 @@ const RangeInner = ({
457
471
  },
458
472
  onFocus: () => {
459
473
  setActive(true);
460
- }
474
+ },
475
+ placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder || "请输入"
461
476
  })))));
462
477
  };
463
478
  const Range = withFilterItem(RangeInner);
464
479
 
465
- const _excluded$3 = ["name", "label", "template", "defaultActive", "onBlur", "onSearch", "onActiveChange"];
480
+ const _excluded$5 = ["name", "label", "template", "defaultActive", "onBlur", "onSearch", "onActiveChange", "placeholder"];
466
481
  const TextInner = _ref => {
467
482
  let {
468
483
  name,
484
+ label,
469
485
  template,
470
486
  defaultActive,
471
487
  onBlur,
472
488
  onSearch,
473
- onActiveChange
489
+ onActiveChange,
490
+ placeholder
474
491
  } = _ref,
475
- props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
492
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
476
493
 
477
494
  return /*#__PURE__*/React.createElement(SearchButton, {
478
495
  defaultActive: defaultActive,
@@ -490,6 +507,7 @@ const TextInner = _ref => {
490
507
  }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Input, _extends({
491
508
  size: "small"
492
509
  }, props, {
510
+ placeholder: placeholder || label,
493
511
  value: value,
494
512
  onChange: e => {
495
513
  setValue(e.target.value);
@@ -501,12 +519,14 @@ const TextInner = _ref => {
501
519
  };
502
520
  const Text = withFilterItem(TextInner);
503
521
 
504
- const _excluded$2 = ["name"];
522
+ const _excluded$4 = ["name", "label", "placeholder"];
505
523
  const SelectorInner = _ref => {
506
524
  let {
507
- name
525
+ name,
526
+ label,
527
+ placeholder
508
528
  } = _ref,
509
- props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
529
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
510
530
 
511
531
  const {
512
532
  value: aValue,
@@ -514,9 +534,7 @@ const SelectorInner = _ref => {
514
534
  } = useConsumer();
515
535
  const currentValue = aValue[name];
516
536
  return /*#__PURE__*/React.createElement(Select, _extends({}, props, {
517
- style: {
518
- minWidth: "150px"
519
- },
537
+ placeholder: label || placeholder,
520
538
  size: "small",
521
539
  value: currentValue,
522
540
  onChange: (value, item) => {
@@ -526,14 +544,15 @@ const SelectorInner = _ref => {
526
544
  };
527
545
  const Selector = withFilterItem(SelectorInner);
528
546
 
529
- const _excluded$1 = ["name", "label"];
547
+ const _excluded$3 = ["name", "label", "className"];
530
548
 
531
549
  const Check = _ref => {
532
550
  let {
533
551
  name,
534
- label
552
+ label,
553
+ className
535
554
  } = _ref,
536
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
555
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
537
556
 
538
557
  const {
539
558
  value: aValue,
@@ -541,6 +560,7 @@ const Check = _ref => {
541
560
  } = useConsumer();
542
561
  const currentValue = aValue[name];
543
562
  return /*#__PURE__*/React.createElement(Checkbox, _extends({}, props, {
563
+ className: classnames('react-filter-item', className),
544
564
  size: "small",
545
565
  checked: currentValue,
546
566
  onChange: e => {
@@ -552,6 +572,58 @@ const Check = _ref => {
552
572
  }), label);
553
573
  };
554
574
 
575
+ const _excluded$2 = ["label", "name", "options"];
576
+ const RadioList = withFilterItem(_ref => {
577
+ let {
578
+ name,
579
+ options
580
+ } = _ref,
581
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
582
+
583
+ const {
584
+ value: aValue,
585
+ onChange
586
+ } = useConsumer();
587
+ const currentValue = aValue[name];
588
+ console.log(currentValue);
589
+ return /*#__PURE__*/React.createElement(Radio.Group, _extends({}, props, {
590
+ options: options,
591
+ value: get(currentValue, 'value'),
592
+ onChange: e => {
593
+ const item = options.find(item => item.value === e.target.value);
594
+ onChange(name, item);
595
+ }
596
+ }));
597
+ });
598
+
599
+ const _excluded$1 = ["label", "name", "options"];
600
+ const CheckboxList = withFilterItem(_ref => {
601
+ let {
602
+ name,
603
+ options
604
+ } = _ref,
605
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
606
+
607
+ const {
608
+ value: aValue,
609
+ onChange
610
+ } = useConsumer();
611
+ const currentValue = aValue[name];
612
+ return /*#__PURE__*/React.createElement(Checkbox.Group, _extends({}, props, {
613
+ value: (currentValue || []).map(({
614
+ value
615
+ }) => value),
616
+ onChange: value => {
617
+ const item = value.map(value => {
618
+ return options.find(item => item.value === value);
619
+ });
620
+ console.log(item);
621
+ onChange(name, item);
622
+ },
623
+ options: options
624
+ }));
625
+ });
626
+
555
627
  const _excluded = ["name", "value", "children"],
556
628
  _excluded2 = ["type"];
557
629
  const withMoreExtraButton = WrappedComponent => _ref => {
@@ -638,6 +710,8 @@ const Filter = ({
638
710
  isExtra,
639
711
  list,
640
712
  label,
713
+ labelHidden,
714
+ itemLabelHidden,
641
715
  unfoldText,
642
716
  foldText,
643
717
  extra,
@@ -653,9 +727,11 @@ const Filter = ({
653
727
 
654
728
  const renderList = list => list.map((item, index) => {
655
729
  return /*#__PURE__*/React.createElement(Space, {
656
- key: index
730
+ key: index,
731
+ className: "react-filter-line"
657
732
  }, item.map((item, index) => cloneElement(item, {
658
- key: index
733
+ key: index,
734
+ labelHidden: itemLabelHidden
659
735
  })));
660
736
  });
661
737
 
@@ -675,7 +751,7 @@ const Filter = ({
675
751
  className: "react-filter"
676
752
  }, /*#__PURE__*/React.createElement("div", {
677
753
  className: "react-filter-inner"
678
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(FilterItem, {
754
+ }, /*#__PURE__*/React.createElement("div", null, labelHidden ? null : /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(FilterItem, {
679
755
  className: "react-filter-selected",
680
756
  label: label
681
757
  }, Object.keys(value).map(key => {
@@ -707,17 +783,20 @@ const Filter = ({
707
783
  }
708
784
  }, display ? foldText : unfoldText))) : null));
709
785
  };
710
-
711
786
  Filter.type = {
712
787
  City,
713
788
  List,
714
789
  Range,
715
790
  Text,
716
791
  Selector,
717
- Check
792
+ Check,
793
+ RadioList,
794
+ CheckboxList
718
795
  };
719
796
  Filter.defaultProps = {
720
797
  label: '筛选项',
798
+ labelHidden: false,
799
+ itemLabelHidden: false,
721
800
  unfoldText: '展开',
722
801
  foldText: '收起',
723
802
  displayLine: 2,
@@ -729,5 +808,5 @@ Filter.defaultProps = {
729
808
  onChange: () => {}
730
809
  };
731
810
 
732
- export { FilterItem, SearchButton, createExtraButton, Filter as default, useConsumer as useFilterContext, withFilterItem, withMoreExtraButton };
733
- //# sourceMappingURL=index.modern.js.map
811
+ export { Filter, FilterItem, SearchButton, createExtraButton, Filter as default, useConsumer as useFilterContext, withFilterItem, withMoreExtraButton };
812
+ //# sourceMappingURL=index.modern.mjs.map