@kne/react-filter 0.1.16 → 0.1.19

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/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
+ {"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/Filter.js","../src/MoreExtraButton/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, Popover} from \"antd\";\nimport classnames from 'classnames';\n\nconst FilterItem = ({className, label, labelHidden, isMore, moreTrigger, children}) => {\n if (isMore) {\n return <div className={classnames(\"react-filter-item-label\", \"is-more\", className)}>\n <Popover content={children} trigger={moreTrigger} placement=\"bottom\" overlayClassName=\"react-filter-item-popover\">\n <a>{label}</a>\n </Popover>\n\n </div>;\n }\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, isMore, moreTrigger, ...props}) => {\n return <FilterItem label={label} labelHidden={labelHidden} isMore={isMore} moreTrigger={moreTrigger}>\n <WrappedComponent {...props} label={label} isMore={isMore}/>\n </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, isFunction, isEqual} from \"lodash\";\n\nconst {CheckableTag} = Tag;\n\nconst context = createContext({});\n\nconst {Provider} = context;\n\nconst List = ({label, labelHidden, name, size, children, options, more, isMore}) => {\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, isMore, ...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 {get,isFunction} from \"lodash\";\n\nconst SearchButton = ({\n name,\n size,\n isMore,\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 && !isMore\n })} ref={ref} onMouseEnter={() => {\n !active && setActive(true);\n }} onMouseLeave={() => {\n active && setActive(false);\n }}>\n <Space className=\"inner\" size={0}>\n <div>{children({value, setValue, setActive})}</div>\n {active || isMore ?\n <Button className={classnames(\"react-filter-search-confirm\", {\n \"is-more\": isMore\n })} 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}</Space>\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,isNumber} from \"lodash\";\n\nexport const RangeInner = ({\n name,\n size,\n isMore,\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} isMore={isMore} 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 isMore,\n template,\n defaultActive,\n onBlur,\n onSearch,\n onActiveChange,\n placeholder,\n ...props\n }) => {\n return <SearchButton defaultActive={defaultActive} isMore={isMore} 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, isMore, ...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, isMore, ...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'\n\nconst RadioList = withFilterItem(({label, name, options, isMore, ...props}) => {\n const {value: aValue, onChange} = useConsumer();\n const currentValue = aValue[name];\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, isMore, ...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, {cloneElement, useState, useMemo} from \"react\";\nimport {Button, Col, Divider, Row, Space, Tag} from \"antd\";\nimport {Provider} from \"./context\";\nimport FilterItem from \"./FilterItem\";\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\";\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 labelHidden,\n itemLabelHidden,\n unfoldText,\n foldText,\n extra,\n more,\n moreTrigger,\n moreLabel,\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 const moreFilter = more && more.length > 0 ? <Space className=\"react-filter-line is-more\">\n <Space className=\"react-filter-item\">\n <div className=\"react-filter-item-label\">{moreLabel}:</div>\n <Space className=\"react-filter-item-children\" split={<Divider type=\"vertical\"/>}>\n {more.map((item, index) => cloneElement(item, {\n key: index,\n isMore: true,\n moreTrigger\n }))}\n </Space>\n </Space>\n </Space> : null;\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 {moreList.length === 0 ? moreFilter : null}\n </div>\n {display ? <><Divider className=\"react-filter-divider\"/>\n <div className=\"react-filter-inner\">{renderList(moreList)}</div>\n {moreList.length > 0 ? moreFilter : null}\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 more: [],\n moreTrigger: 'hover',\n moreLabel: '更多',\n value: {},\n extra: null,\n onChange: () => {\n }\n};\n\nexport default Filter;\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"],"names":["context","createContext","Provider","useConsumer","useContext","FilterItem","className","label","labelHidden","isMore","moreTrigger","children","React","classnames","Popover","Space","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","Radio","CheckboxList","console","log","filterNull","Object","assign","keys","key","every","Filter","displayLine","defaultDisplay","isExtra","list","itemLabelHidden","unfoldText","foldText","extra","moreLabel","useMemo","display","setDisplay","basicList","moreList","renderList","cloneElement","moreFilter","Divider","join","Row","Col","type","withMoreExtraButton","isEdit","setIsEdit","RangeButton","TextButton","SelectorButton","createExtraButton","innerProps","mapping","range","text","selector","ExtraButtonComponent"],"mappings":";;;;;;;;;;;;;AAEA,IAAMA,SAAO,GAAGC,mBAAa,CAAC,EAAD,CAA7B;IAEyBC,UAAlB,GAA+BF,SAA/B,CAAkBE;IAEZC,WAAW,GAAG,SAAdA,WAAc;EAAA,OAAMC,gBAAU,CAACJ,SAAD,CAAhB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICFrBK,UAAU,GAAG,SAAbA,UAAa,OAAoE;EAAA,IAAlEC,SAAkE,QAAlEA,SAAkE;MAAvDC,KAAuD,QAAvDA,KAAuD;MAAhDC,WAAgD,QAAhDA,WAAgD;MAAnCC,MAAmC,QAAnCA,MAAmC;MAA3BC,WAA2B,QAA3BA,WAA2B;MAAdC,QAAc,QAAdA,QAAc;;EACnF,IAAIF,MAAJ,EAAY;IACR,oBAAOG;MAAK,SAAS,EAAEC,8BAAU,CAAC,yBAAD,EAA4B,SAA5B,EAAuCP,SAAvC;oBAC7BM,wCAACE,YAAD;MAAS,OAAO,EAAEH,QAAlB;MAA4B,OAAO,EAAED,WAArC;MAAkD,SAAS,EAAC,QAA5D;MAAqE,gBAAgB,EAAC;oBAClFE,mDAAIL,KAAJ,CADJ,CADG,CAAP;;;EAOJ,oBAAOK,wCAACG,UAAD;IAAO,SAAS,EAAEF,8BAAU,CAAC,mBAAD,EAAsBP,SAAtB;KAC9BE,WAAW,GAAG,IAAH,gBAAUI;IAAK,SAAS,EAAC;KAA2BL,KAA1C,MADnB,eAEHK;IAAK,SAAS,EAAC;KAA8BD,QAA7C,CAFG,CAAP;AAIH;;IAEYK,cAAc,GAAG,SAAjBA,cAAiB,CAACC,gBAAD;EAAA,OAAsB,iBAAyD;IAAA,IAAvDV,KAAuD,SAAvDA,KAAuD;QAAhDC,WAAgD,SAAhDA,WAAgD;QAAnCC,MAAmC,SAAnCA,MAAmC;QAA3BC,WAA2B,SAA3BA,WAA2B;QAAXQ,KAAW;;IACzG,oBAAON,wCAAC,UAAD;MAAY,KAAK,EAAEL,KAAnB;MAA0B,WAAW,EAAEC,WAAvC;MAAoD,MAAM,EAAEC,MAA5D;MAAoE,WAAW,EAAEC;oBACpFE,wCAAC,gBAAD,eAAsBM,KAAtB;MAA6B,KAAK,EAAEX,KAApC;MAA2C,MAAM,EAAEE;OADhD,CAAP;GAD0B;AAAA;;;ACb9B,IAAOU,YAAP,GAAuBC,QAAvB,CAAOD,YAAP;AAEA,IAAMnB,OAAO,GAAGC,mBAAa,CAAC,EAAD,CAA7B;AAEA,IAAOC,QAAP,GAAmBF,OAAnB,CAAOE,QAAP;;AAEA,IAAMmB,IAAI,GAAG,SAAPA,IAAO,OAAuE;MAArEd,KAAqE,QAArEA,KAAqE;MAA9DC,WAA8D,QAA9DA,WAA8D;MAAjDc,IAAiD,QAAjDA,IAAiD;MAA3CC,IAA2C,QAA3CA,IAA2C;MAArCZ,QAAqC,QAArCA,QAAqC;MAA3Ba,OAA2B,QAA3BA,OAA2B;MAAlBC,IAAkB,QAAlBA,IAAkB;;EAChF,mBAA0BtB,WAAW,EAArC;MAAOuB,KAAP,gBAAOA,KAAP;MAAcC,QAAd,gBAAcA,QAAd;;EACA,IAAMC,YAAY,GAAI,YAAM;IACxB,IAAMC,WAAW,GAAGC,UAAG,CAACJ,KAAD,EAAQJ,IAAR,CAAvB;;IACA,IAAIC,IAAI,KAAK,CAAb,EAAgB;MACZ,OAAOM,WAAW,KAAK,KAAM,CAAtB,GAA2B,CAACA,WAAD,CAA3B,GAA2C,EAAlD;KADJ,MAEO;MACH,OAAOA,WAAW,IAAI,EAAtB;;GALa,EAArB;;EASA,IAAME,aAAa,GAAG,SAAhBA,aAAgB,CAACL,KAAD,EAAW;IAC7B,IAAIH,IAAI,KAAK,CAAb,EAAgB;MACZ,OAAOI,QAAQ,CAACL,IAAD,EAAOI,KAAK,CAAC,CAAD,CAAZ,CAAf;KADJ,MAEO;MACH,OAAOC,QAAQ,CAACL,IAAD,EAAOI,KAAP,CAAf;;GAJR;;EAOA,IAAMM,0BAA0B,GAAG,SAA7BA,0BAA6B,CAACN,KAAD;IAAA,OAAW,UAACO,OAAD,EAAa;MACvD,IAAIA,OAAJ,EAAa;QACT,IAAIC,OAAO,GAAGN,YAAY,CAACO,KAAb,CAAmB,CAAnB,CAAd;;QACA,IAAIP,YAAY,CAACQ,MAAb,GAAsBb,IAA1B,EAAgC;UAC5BW,OAAO,CAACG,IAAR,CAAaX,KAAb;;;QAEJ,IAAIE,YAAY,CAACQ,MAAb,KAAwBb,IAAxB,IAAgCA,IAAI,KAAK,CAA7C,EAAgD;UAC5CW,OAAO,GAAG,CAACR,KAAD,CAAV;;;QAEJ,IAAIE,YAAY,CAACQ,MAAb,IAAuBb,IAAvB,IAA+BA,IAAI,GAAG,CAA1C,EAA6C;UACzCe,YAAO,CAACC,KAAR,8BAAqBhB,IAArB;UACA;;;QAEJQ,aAAa,CAACG,OAAD,CAAb;OAZJ,MAaO;QACH,IAAMA,QAAO,GAAGN,YAAY,CAACO,KAAb,CAAmB,CAAnB,CAAhB;;QACAD,QAAO,CAACM,MAAR,CAAeZ,YAAY,CAACa,OAAb,CAAqBf,KAArB,CAAf,EAA4C,CAA5C;;QACAK,aAAa,CAACG,QAAD,CAAb;;KAjB2B;GAAnC;;EAoBA,IAAMQ,gBAAgB,GAAI,YAAM;IAC5B,IAAIC,KAAK,CAACC,OAAN,CAAcpB,OAAd,CAAJ,EAA4B;MACxB,OAAOA,OAAO,CAACqB,GAAR,CAAY;QAAA,IAAEtC,KAAF,SAAEA,KAAF;YAASmB,KAAT,SAASA,KAAT;QAAA,oBAAoBd,wCAAC,IAAD,CAAM,IAAN;UAAW,GAAG,EAAEc,KAAhB;UAAuB,KAAK,EAAEA,KAA9B;UAAqC,KAAK,EAAEnB;UAAhE;OAAZ,CAAP;;;IAEJ,IAAIuC,iBAAU,CAACnC,QAAD,CAAd,EAA0B;MACtB,OAAOA,QAAQ,CAAC;QAACe,KAAK,EAAEE,YAAR;QAAsBD,QAAQ,EAAEI;OAAjC,CAAf;;;IAEJ,OAAOpB,QAAP;GAPqB,EAAzB;;EASA,oBAAOC,wCAAC,UAAD;IAAY,KAAK,EAAEL,KAAnB;IAA0B,WAAW,EAAEC;kBAC1CI,wCAAC,QAAD;IAAU,KAAK,EAAE;MACbgB,YAAY,EAAZA,YADa;MACCI,0BAA0B,EAA1BA;;KAEbU,gBAHL,EAIKjB,IAAI,GAAI,YAAM;IACX,IAAIqB,iBAAU,CAACrB,IAAD,CAAd,EAAsB;MAClB,OAAOA,IAAI,CAAC;QAACH,IAAI,EAAJA,IAAD;QAAOC,IAAI,EAAJA,IAAP;QAAahB,KAAK,EAALA,KAAb;QAAoBmB,KAAK,EAAEE,YAA3B;QAAyCD,QAAQ,EAAEI;OAApD,CAAX;;;IAEJ,IAAOpB,QAAP,GAA4Bc,IAA5B,CAAOd,QAAP;QAAiBoC,QAAjB,GAA4BtB,IAA5B,CAAiBsB,OAAjB;IACA,oBAAOnC,wCAAC,IAAD,CAAM,IAAN,eAAea,IAAf;MAAqB,OAAO,EAAE,iBAACuB,CAAD,EAAO;QACxCD,QAAO,CAAC;UAACzB,IAAI,EAAJA,IAAD;UAAOf,KAAK,EAALA,KAAP;UAAcmB,KAAK,EAAEE,YAArB;UAAmCD,QAAQ,EAAEI;SAA9C,EAA8DiB,CAA9D,CAAP;OADG;MAEJ,KAAK,EAAErC,QAAQ,IAAI;OAFtB;GALI,EAAH,GAQE,IAZX,CADG,CAAP;AAgBH,CA/DD;;AAiEAU,IAAI,CAAC4B,IAAL,GAAY,iBAA8B;EAAA,IAA5BvB,KAA4B,SAA5BA,KAA4B;MAArBnB,KAAqB,SAArBA,KAAqB;MAAXW,KAAW;;EACtC,kBAAmDd,gBAAU,CAACJ,OAAD,CAA7D;MAAO4B,YAAP,eAAOA,YAAP;MAAqBI,0BAArB,eAAqBA,0BAArB;;EACA,IAAMkB,SAAS,GAAG,EAAlB;;EACA,IAAIxB,KAAK,KAAK,KAAM,CAApB,EAAwB;IACpBwB,SAAS,CAACjB,OAAV,GAAoBL,YAAY,CAACuB,SAAb,CAAuB,UAACC,IAAD;MAAA,OAAUC,cAAO,CAACvB,UAAG,CAACsB,IAAD,EAAO,OAAP,CAAJ,EAAqB1B,KAArB,CAAjB;KAAvB,IAAuE,CAAC,CAA5F;IACAwB,SAAS,CAACvB,QAAV,GAAqBK,0BAA0B,CAAC;MAACzB,KAAK,EAALA,KAAD;MAAQmB,KAAK,EAALA;KAAT,CAA/C;;;EAGJ,oBAAOd,wCAAC,YAAD,eAAkBM,KAAlB,EAA6BgC,SAA7B,GAAyC3C,KAAzC,CAAP;AACH,CATD;;AAWAc,IAAI,CAACiC,YAAL,GAAoB;EAChB/B,IAAI,EAAE;AADU,CAApB;;;ACpFA,IAAO0B,IAAP,GAAe5B,IAAf,CAAO4B,IAAP;;AAEA,IAAMM,IAAI,GAAG,SAAPA,IAAO,OAAwD;MAAtDhD,KAAsD,QAAtDA,KAAsD;MAA/CC,WAA+C,QAA/CA,WAA+C;MAAlCc,IAAkC,QAAlCA,IAAkC;MAA5BC,IAA4B,QAA5BA,IAA4B;;;EACjE,oBAAOX,wCAAC,IAAD;IAAM,WAAW,EAAEJ,WAAnB;IAAgC,KAAK,EAAED,KAAvC;IAA8C,IAAI,EAAEe,IAApD;IAA0D,IAAI,EAAEC,IAAhE;IAAsE,IAAI,EAAE;MAC/EZ,QAAQ,EAAE,IADqE;MAC/DoC,OAAO,EAAE,wBAAuB;QAAA,IAArBrB,KAAqB,SAArBA,KAAqB;YAAdC,SAAc,SAAdA,QAAc;QAC5C6B,gCAAgB,CAAC;UACbjC,IAAI,EAAJA,IADa;UACPkC,YAAY,EAAE/B,KAAK,CAACmB,GAAN,CAAU;YAAA,IAAEnB,KAAF,SAAEA,KAAF;YAAA,OAAaA,KAAb;WAAV,CADP;UACsCC,QAAQ,EAAE,kBAACD,KAAD,EAAW;YACpEgC,OAAO,CAACC,GAAR,CAAYjC,KAAK,CAACmB,GAAN,CAAU,UAACe,EAAD;cAAA,OAAQC,oBAAI,CAACC,OAAL,CAAaF,EAAb,EAAiBG,IAAjB,CAAsB;gBAAA,IAAEC,IAAF,SAAEA,IAAF;gBAAA,OAAa;kBAC7DzD,KAAK,EAAEyD,IAAI,CAAC1C,IADiD;kBAC3CI,KAAK,EAAEsC,IAAI,CAACC;iBADkB;eAAtB,CAAR;aAAV,CAAZ,EAEMF,IAFN,CAEW,UAACrC,KAAD;cAAA,OAAWC,SAAQ,CAACD,KAAD,CAAnB;aAFX;;SAFQ,CAAhB;;;KASH;IAAA,IAASE,YAAT,SAAEF,KAAF;IAAA,oBAA2Bd,+FACxBA,wCAACsD,0BAAD;MAAY,MAAM,EAAEL,oBAAI,CAACM;OAAoB,UAACC,IAAD,EAAU;MACnD,IAAMC,SAAS,GAAGzC,YAAY,CAAC0C,MAAb,CAAoB;QAAA,IAASL,IAAT,SAAEvC,KAAF;QAAA,OAAmB,CAAC0C,IAAI,CAACG,IAAL,CAAU,UAACnB,IAAD;UAAA,OAAUA,IAAI,CAACa,IAAL,KAAcA,IAAxB;SAAV,CAApB;OAApB,CAAlB;MACA,IAAIO,WAAW,GAAG,CAAlB;MACAJ,IAAI,CAACK,OAAL,CAAa,UAACrB,IAAD,EAAOsB,KAAP,EAAiB;QAC1B,IAAI9C,YAAY,CAACuB,SAAb,CAAuB;UAAA,IAAEzB,KAAF,SAAEA,KAAF;UAAA,OAAaA,KAAK,KAAK0B,IAAI,CAACa,IAA5B;SAAvB,IAA2D,CAAC,CAA5D,IAAiES,KAAK,IAAIN,IAAI,CAAChC,MAAL,GAAciC,SAAS,CAACjC,MAAtG,EAA8G;UAC1GoC,WAAW,IAAI,CAAf;;OAFR;MAKA,oBAAO5D,kFACFyD,SAAS,CAACxB,GAAV,CAAc,iBAAmB;QAAA,IAAVoB,IAAU,SAAjBvC,KAAiB;QAC9B,oBAAOd,wCAAC+D,2BAAD;UAAa,EAAE,EAAEV,IAAjB;UAAuB,GAAG,EAAEA;WAAO,iBAAkB;UAAA,IAAVb,IAAU,SAAhBY,IAAgB;UACxD,oBAAOpD,wCAAC,IAAD;YAAM,KAAK,EAAEqD,IAAb;YAAmB,KAAK,EAAEb,IAAI,CAAC9B;YAAtC;SADG,CAAP;OADH,CADE,EAMF8C,IAAI,CAACE,MAAL,CAAY,UAAClB,IAAD,EAAOsB,KAAP;QAAA,OAAiB9C,YAAY,CAACuB,SAAb,CAAuB;UAAA,IAAEzB,KAAF,UAAEA,KAAF;UAAA,OAAaA,KAAK,KAAK0B,IAAI,CAACa,IAA5B;SAAvB,IAA2D,CAAC,CAA5D,IAAiES,KAAK,GAAGN,IAAI,CAAChC,MAAL,GAAciC,SAAS,CAACjC,MAAxB,GAAiCoC,WAA3H;OAAZ,EAAoJ3B,GAApJ,CAAwJ,UAACO,IAAD;QAAA,oBACrJxC,wCAAC,IAAD;UAAM,GAAG,EAAEwC,IAAI,CAACa,IAAhB;UAAsB,KAAK,EAAEb,IAAI,CAACa,IAAlC;UAAwC,KAAK,EAAEb,IAAI,CAAC9B;UADiG;OAAxJ,CANE,CAAP;KARJ,CADwB,CAA3B;GAXE,CAAP;AAgCH,CAjCD;;ICCMsD,YAAY,GAAG,SAAfA,YAAe,OAaO;EAAA,IAZFtD,IAYE,QAZFA,IAYE;MAXFC,IAWE,QAXFA,IAWE;MAVFd,MAUE,QAVFA,MAUE;MATFoE,QASE,QATFA,QASE;MARFlE,QAQE,QARFA,QAQE;MAPF8C,YAOE,QAPFA,YAOE;MANFqB,aAME,QANFA,aAME;MALFC,MAKE,QALFA,MAKE;MAJFC,QAIE,QAJFA,QAIE;MAHFC,cAGE,QAHFA,cAGE;MAFFC,cAEE,QAFFA,cAEE;MADFC,UACE,QADFA,UACE;;EACxB,mBAAkChF,WAAW,EAA7C;MAAciF,MAAd,gBAAO1D,KAAP;MAAsBC,QAAtB,gBAAsBA,QAAtB;;EACA,IAAMC,YAAY,GAAGwD,MAAM,CAAC9D,IAAD,CAA3B;;EACA,gBAA0B+D,cAAQ,CAAC5B,YAAY,IAAI3B,UAAG,CAACF,YAAD,EAAe,OAAf,CAApB,CAAlC;MAAOF,KAAP;MAAc4D,QAAd;;EACA,iBAA4BD,cAAQ,CAACP,aAAD,CAApC;MAAOS,MAAP;MAAeC,SAAf;;EACA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAAC/D,KAAD;IAAA,IAACA,KAAD;MAACA,KAAD,GAAS,EAAT;;;IAAA,OAAiB;MAClCA,KAAK,EAALA,KADkC;MAC3BnB,KAAK,EAAEuC,iBAAU,CAAC+B,QAAD,CAAV,GAAuBA,QAAQ,CAACnD,KAAD,CAA/B,GAAyCA,KAAK,CAACgE,QAAN;KADtC;GAArB;;EAGA,IAAMC,GAAG,GAAGC,mCAAe,CAAC,YAAM;IAC9BN,QAAQ,CAACxD,UAAG,CAACF,YAAD,EAAe,OAAf,CAAJ,CAAR;IACA4D,SAAS,CAAC,KAAD,CAAT;IACAT,MAAM,IAAIA,MAAM,EAAhB;GAHuB,CAA3B;EAMA,IAAMc,eAAe,GAAGC,YAAM,CAACZ,cAAD,CAA9B;EACAW,eAAe,CAACE,OAAhB,GAA0Bb,cAA1B;EAEAc,eAAS,CAAC,YAAM;IACZH,eAAe,CAACE,OAAhB,IAA2BF,eAAe,CAACE,OAAhB,CAAwBR,MAAxB,CAA3B;GADK,EAEN,CAACA,MAAD,CAFM,CAAT;EAGA,oBAAO3E;IAAK,SAAS,EAAEC,8BAAU,CAAC,4BAAD,EAA+B;MAC5D,aAAa0E,MAAM,IAAI,CAAC9E;KADK,CAA1B;IAEH,GAAG,EAAEkF,GAFF;IAEO,YAAY,EAAE,wBAAM;MAC9B,CAACJ,MAAD,IAAWC,SAAS,CAAC,IAAD,CAApB;KAHG;IAIJ,YAAY,EAAE,wBAAM;MACnBD,MAAM,IAAIC,SAAS,CAAC,KAAD,CAAnB;;kBAEA5E,wCAACG,UAAD;IAAO,SAAS,EAAC,OAAjB;IAAyB,IAAI,EAAE;kBAC3BH,qDAAMD,QAAQ,CAAC;IAACe,KAAK,EAALA,KAAD;IAAQ4D,QAAQ,EAARA,QAAR;IAAkBE,SAAS,EAATA;GAAnB,CAAd,CADJ,EAEKD,MAAM,IAAI9E,MAAV,gBACGG,wCAACqF,WAAD;IAAQ,SAAS,EAAEpF,8BAAU,CAAC,6BAAD,EAAgC;MACzD,WAAWJ;KADc,CAA7B;IAEI,IAAI,EAAC,OAFT;IAEiB,IAAI,EAAC,SAFtB;IAEgC,OAAO,EAAE,iBAACuC,CAAD,EAAO;MAC5CA,CAAC,CAACkD,eAAF;;MACA,IAAIjB,cAAc,IAAIA,cAAc,CAACvD,KAAD,CAAd,KAA0B,KAAhD,EAAuD;QACnD;;;MAEJC,QAAQ,CAACL,IAAD,EAAO6E,MAAM,CAACC,SAAP,CAAiB7E,IAAjB,KAA0BA,IAAI,GAAG,CAAjC,GAAqC,CAACkE,YAAY,CAAC/D,KAAD,CAAb,CAArC,GAA6D+D,YAAY,CAAC/D,KAAD,CAAhF,CAAR;MACA8D,SAAS,CAAC,KAAD,CAAT;MACAR,QAAQ,IAAIA,QAAQ,CAAC;QAACtD,KAAK,EAALA;OAAF,CAApB;;KACAyD,UAVJ,CADH,GAW8B,IAbnC,CAPG,CAAP;AAsBH;;AAEDP,YAAY,CAACtB,YAAb,GAA4B;EACxBwB,aAAa,EAAE,KADS;EACFK,UAAU,EAAE;AADV,CAA5B;;AC1DO,IAAMkB,UAAU,GAAG,SAAbA,UAAa,OAYO;EAAA,IAXF/E,IAWE,QAXFA,IAWE;MAVFC,IAUE,QAVFA,IAUE;MATFd,MASE,QATFA,MASE;MARFqE,aAQE,QARFA,aAQE;MAPFD,QAOE,QAPFA,QAOE;MANFE,MAME,QANFA,MAME;MALFC,QAKE,QALFA,QAKE;MAJFE,eAIE,QAJFA,cAIE;MAHFoB,UAGE,QAHFA,UAGE;MAFFC,QAEE,QAFFA,QAEE;MADFC,WACE,QADFA,WACE;;EAC7B,gBAA0BnB,cAAQ,CAAC,IAAD,CAAlC;MAAO9C,KAAP;MAAckE,QAAd;;EACA,IAAMC,KAAK,GAAG,SAARA,KAAQ,CAAChF,KAAD,EAAW;IACrB+E,QAAQ,CAAC,IAAD,CAAR;;IACA,IAAI,CAAC9D,KAAK,CAACC,OAAN,CAAclB,KAAd,CAAL,EAA2B;MACvB,OAAO,KAAP;;;IAEJ,IAAIiF,eAAQ,CAACjF,KAAK,CAAC,CAAD,CAAN,CAAR,IAAsBA,KAAK,CAAC,CAAD,CAAL,GAAWA,KAAK,CAAC,CAAD,CAA1C,EAA+C;MAC3C+E,QAAQ,CAAC,YAAD,CAAR;MACA,OAAO,KAAP;;;IAEJ,OAAO,IAAP;GATJ;;EAWA,oBAAO7F,wCAAC,YAAD;IAAc,IAAI,EAAEW,IAApB;IAA0B,QAAQ,EAAEsD,QAApC;IAA8C,MAAM,EAAEpE,MAAtD;IAA8D,MAAM,EAAEsE,MAAtE;IAA8E,aAAa,EAAED,aAA7F;IAA4G,IAAI,EAAExD,IAAlH;IACc,QAAQ,EAAE0D,QADxB;IAEc,cAAc,EAAE,wBAACtD,KAAD,EAAW;MACvB,OAAOgF,KAAK,CAAChF,KAAD,CAAZ;KAHlB;IAIiB,cAAc,EAAE,wBAAC6D,MAAD,EAAY;MAChD,IAAI,CAACA,MAAL,EAAa;QACTkB,QAAQ,CAAC,IAAD,CAAR;;;MAEJvB,eAAc,IAAIA,eAAc,CAACK,MAAD,CAAhC;;KAEC;IAAA,IAAE7D,KAAF,SAAEA,KAAF;QAAS4D,QAAT,SAASA,QAAT;QAAmBE,SAAnB,SAAmBA,SAAnB;IAAA,oBAAkC5E,wCAACgG,YAAD;MAAS,OAAO,EAAE,CAAC,CAACrE,KAApB;MAA2B,KAAK,EAAEA,KAAlC;MAAyC,SAAS,EAAC;oBAAc3B,wCAACG,UAAD;MAChG,IAAI,EAAC;oBACLH,wCAACiG,gBAAD;MAAa,IAAI,EAAC;OAAYP,UAA9B;MAA0C,KAAK,EAAExE,UAAG,CAACJ,KAAD,EAAQ,CAAR,CAApD;MAAgE,QAAQ,EAAE,kBAACoF,UAAD,EAAgB;QACtF,IAAMC,MAAM,GAAG,CAACD,UAAD,EAAahF,UAAG,CAACJ,KAAD,EAAQ,CAAR,CAAhB,CAAf;QACAgF,KAAK,CAACK,MAAD,CAAL;QACAzB,QAAQ,CAACyB,MAAD,CAAR;OAHJ;MAIG,OAAO,EAAE,mBAAM;QACdvB,SAAS,CAAC,IAAD,CAAT;OALJ;MAMG,WAAW,EAAE7C,KAAK,CAACC,OAAN,CAAc4D,WAAd,IAA6BA,WAAW,CAAC,CAAD,CAAxC,GAA+CA,WAAW,IAAI;OARkB,oBAUhG5F,wCAACiG,gBAAD;MAAa,IAAI,EAAC;OAAYN,QAA9B;MAAwC,KAAK,EAAEzE,UAAG,CAACJ,KAAD,EAAQ,CAAR,CAAlD;MAA8D,QAAQ,EAAE,kBAACoF,UAAD,EAAgB;QACpF,IAAMC,MAAM,GAAG,CAACjF,UAAG,CAACJ,KAAD,EAAQ,CAAR,CAAJ,EAAgBoF,UAAhB,CAAf;QACAJ,KAAK,CAACK,MAAD,CAAL;QACAzB,QAAQ,CAACyB,MAAD,CAAR;OAHJ;MAIG,OAAO,EAAE,mBAAM;QACdvB,SAAS,CAAC,IAAD,CAAT;OALJ;MAMG,WAAW,EAAE7C,KAAK,CAACC,OAAN,CAAc4D,WAAd,IAA6BA,WAAW,CAAC,CAAD,CAAxC,GAA+CA,WAAW,IAAI;OAhBkB,CAAjE,CAAlC;GAVE,CAAP;AA6BH,CAtDM;AAwDP,IAAMQ,KAAK,GAAGhG,cAAc,CAACqF,UAAD,CAA5B;;;ACzDO,IAAMY,SAAS,GAAG,SAAZA,SAAY,OAWO;EAAA,IAVF3F,IAUE,QAVFA,IAUE;MATFf,KASE,QATFA,KASE;MARFE,MAQE,QARFA,MAQE;MAPFoE,QAOE,QAPFA,QAOE;MANFC,aAME,QANFA,aAME;MALFC,MAKE,QALFA,MAKE;MAJFC,QAIE,QAJFA,QAIE;MAHFE,eAGE,QAHFA,cAGE;MAFFsB,WAEE,QAFFA,WAEE;MADCtF,KACD;;EAC5B,oBAAON,wCAAC,YAAD;IAAc,aAAa,EAAEkE,aAA7B;IAA4C,MAAM,EAAErE,MAApD;IAA4D,MAAM,EAAEsE,MAApE;IAA4E,QAAQ,EAAEF,QAAtF;IAAgG,IAAI,EAAEvD,IAAtG;IACc,QAAQ,EAAE0D,QADxB;IAEc,cAAc,EAAE,wBAACO,MAAD,EAAY;MACxBL,eAAc,IAAIA,eAAc,CAACK,MAAD,CAAhC;;KAEpB;IAAA,IAAE7D,KAAF,SAAEA,KAAF;QAAS4D,QAAT,SAASA,QAAT;QAAmBE,SAAnB,SAAmBA,SAAnB;IAAA,oBAAkC5E,+FAC/BA,wCAACsG,UAAD;MAAO,IAAI,EAAC;OAAYhG,KAAxB;MAA+B,WAAW,EAAEsF,WAAW,IAAIjG,KAA3D;MAAkE,KAAK,EAAEmB,KAAzE;MAAgF,QAAQ,EAAE,kBAACsB,CAAD,EAAO;QAC7FsC,QAAQ,CAACtC,CAAC,CAAC+D,MAAF,CAASrF,KAAV,CAAR;OADJ;MAEG,OAAO,EAAE,mBAAM;QACd8D,SAAS,CAAC,IAAD,CAAT;;OAJ2B,CAAlC;GALE,CAAP;AAaH,CAzBM;AA2BP,IAAM2B,IAAI,GAAGnG,cAAc,CAACiG,SAAD,CAA3B;;;AC3BO,IAAMG,aAAa,GAAG,SAAhBA,aAAgB,OAAkD;MAAhD9F,IAAgD,QAAhDA,IAAgD;MAA1Cf,KAA0C,QAA1CA,KAA0C;MAAnCiG,WAAmC,QAAnCA,WAAmC;MAAXtF,KAAW;;EAC3E,mBAAkCf,WAAW,EAA7C;MAAciF,MAAd,gBAAO1D,KAAP;MAAsBC,SAAtB,gBAAsBA,QAAtB;;EACA,IAAMC,YAAY,GAAGwD,MAAM,CAAC9D,IAAD,CAA3B;EACA,oBAAOV,wCAACyG,WAAD,eAAYnG,KAAZ;IAAmB,WAAW,EAAEX,KAAK,IAAIiG,WAAzC;IAAsD,IAAI,EAAC,OAA3D;IAAmE,KAAK,EAAE5E,YAA1E;IACQ,QAAQ,EAAE,kBAACF,KAAD,EAAQ0B,IAAR,EAAiB;MACvBzB,SAAQ,CAACL,IAAD,EAAO8B,IAAP,CAAR;;KAFnB;AAIH,CAPM;AASP,IAAMkE,QAAQ,GAAGtG,cAAc,CAACoG,aAAD,CAA/B;;;;ACTA,IAAMG,KAAK,GAAG,SAARA,KAAQ,OAAgD;MAA9CjG,IAA8C,QAA9CA,IAA8C;MAAxCf,KAAwC,QAAxCA,KAAwC;MAAjCD,SAAiC,QAAjCA,SAAiC;MAAXY,KAAW;;EAC1D,mBAAkCf,WAAW,EAA7C;MAAciF,MAAd,gBAAO1D,KAAP;MAAsBC,SAAtB,gBAAsBA,QAAtB;;EACA,IAAMC,YAAY,GAAGwD,MAAM,CAAC9D,IAAD,CAA3B;EACA,oBAAOV,wCAAC4G,aAAD,eAActG,KAAd;IAAqB,SAAS,EAAEL,8BAAU,CAAC,mBAAD,EAAsBP,SAAtB,CAA1C;IAA4E,IAAI,EAAC,OAAjF;IACU,OAAO,EAAEsB,YADnB;IACiC,QAAQ,EAAE,kBAACoB,CAAD,EAAO;MACrDrB,SAAQ,CAACL,IAAD,EAAO0B,CAAC,CAAC+D,MAAF,CAAS9E,OAAT,GAAmB;QAACP,KAAK,EAAE,IAAR;QAAcnB,KAAK,EAALA;OAAjC,GAA0C,IAAjD,CAAR;;MACAA,KAHG,CAAP;AAIH,CAPD;;;ACCA,IAAMkH,SAAS,GAAGzG,cAAc,CAAC,gBAA8C;MAArCM,IAAqC,QAArCA,IAAqC;MAA/BE,OAA+B,QAA/BA,OAA+B;MAAXN,KAAW;;EAC3E,mBAAkCf,WAAW,EAA7C;MAAciF,MAAd,gBAAO1D,KAAP;MAAsBC,SAAtB,gBAAsBA,QAAtB;;EACA,IAAMC,YAAY,GAAGwD,MAAM,CAAC9D,IAAD,CAA3B;EACA,oBAAOV,wCAAC8G,UAAD,CAAO,KAAP,eAAiBxG,KAAjB;IAAwB,OAAO,EAAEM,OAAjC;IAA0C,KAAK,EAAEM,UAAG,CAACF,YAAD,EAAe,OAAf,CAApD;IAA6E,QAAQ,EAAE,kBAACoB,CAAD,EAAO;MACjG,IAAMI,IAAI,GAAG5B,OAAO,CAAC+C,IAAR,CAAa,UAACnB,IAAD;QAAA,OAAUA,IAAI,CAAC1B,KAAL,KAAesB,CAAC,CAAC+D,MAAF,CAASrF,KAAlC;OAAb,CAAb;;MACAC,SAAQ,CAACL,IAAD,EAAO8B,IAAP,CAAR;;KAFJ;AAIH,CAP+B,CAAhC;;;ACDA,IAAMuE,YAAY,GAAG3G,cAAc,CAAC,gBAA8C;MAArCM,IAAqC,QAArCA,IAAqC;MAA/BE,OAA+B,QAA/BA,OAA+B;MAAXN,KAAW;;EAC9E,mBAAkCf,WAAW,EAA7C;MAAciF,MAAd,gBAAO1D,KAAP;MAAsBC,SAAtB,gBAAsBA,QAAtB;;EACA,IAAMC,YAAY,GAAGwD,MAAM,CAAC9D,IAAD,CAA3B;EACA,oBAAOV,wCAAC4G,aAAD,CAAU,KAAV,eAAoBtG,KAApB;IAA2B,KAAK,EAAE,CAACU,YAAY,IAAI,EAAjB,EAAqBiB,GAArB,CAAyB;MAAA,IAAEnB,KAAF,SAAEA,KAAF;MAAA,OAAaA,KAAb;KAAzB,CAAlC;IAAgF,QAAQ,EAAE,kBAACA,KAAD,EAAW;MACxG,IAAM0B,IAAI,GAAG1B,KAAK,CAACmB,GAAN,CAAU,UAACnB,KAAD,EAAW;QAC9B,OAAOF,OAAO,CAAC+C,IAAR,CAAa,UAACnB,IAAD;UAAA,OAAUA,IAAI,CAAC1B,KAAL,KAAeA,KAAzB;SAAb,CAAP;OADS,CAAb;MAGAkG,OAAO,CAACC,GAAR,CAAYzE,IAAZ;;MACAzB,SAAQ,CAACL,IAAD,EAAO8B,IAAP,CAAR;KALG;IAMJ,OAAO,EAAE5B;KANZ;AAOH,CAVkC,CAAnC;;ACQA,IAAMsG,UAAU,GAAG,SAAbA,UAAa,CAAC1E,IAAD,EAAU;EACzB,IAAM2D,MAAM,GAAGgB,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB5E,IAAlB,CAAf;EACA2E,MAAM,CAACE,IAAP,CAAYlB,MAAZ,EAAoBtC,OAApB,CAA4B,UAACyD,GAAD,EAAS;IACjC,IAAM9E,IAAI,GAAG2D,MAAM,CAACmB,GAAD,CAAnB;;IACA,CAAC,YAAM;MACH,IAAIvF,KAAK,CAACC,OAAN,CAAcQ,IAAd,KAAuBA,IAAI,CAAChB,MAAL,GAAc,CAArC,IAA0CgB,IAAI,CAAC+E,KAAL,CAAW,UAAC/E,IAAD;QAAA,OAAUA,IAAI,CAAC1B,KAAL,KAAe,KAAM,CAArB,IAA2B0B,IAAI,CAAC1B,KAAL,KAAe,IAA1C,IAAkD0B,IAAI,CAAC1B,KAAL,KAAe,EAA3E;OAAX,CAA9C,EAAyI;QACrI,OAAOqF,MAAM,CAACmB,GAAD,CAAb;QACA;;;MAEJ,IAAIvF,KAAK,CAACC,OAAN,CAAcQ,IAAd,KAAuBA,IAAI,CAAChB,MAAL,KAAgB,CAA3C,EAA8C;QAC1C,OAAO2E,MAAM,CAACmB,GAAD,CAAb;QACA;;;MAEJ,IAAI9E,IAAI,IAAIT,KAAK,CAACC,OAAN,CAAcQ,IAAI,CAAC1B,KAAnB,CAAR,KAAsC0B,IAAI,CAAC1B,KAAL,CAAWU,MAAX,KAAsB,CAAtB,IAA2BgB,IAAI,CAAC1B,KAAL,CAAWyG,KAAX,CAAiB,UAAC/E,IAAD;QAAA,OAAUA,IAAI,KAAK,KAAM,CAAf,IAAqBA,IAAI,KAAK,IAA9B,IAAsCA,IAAI,KAAK,EAAzD;OAAjB,CAAjE,CAAJ,EAAqJ;QACjJ,OAAO2D,MAAM,CAACmB,GAAD,CAAb;QACA;;;MAEJ,IAAI9E,IAAI,KAAK,KAAM,CAAf,IAAqBA,IAAI,KAAK,IAA9B,IAAuC,CAACT,KAAK,CAACC,OAAN,CAAcQ,IAAd,CAAD,IAAwBA,IAAxB,KAAiCA,IAAI,CAAC1B,KAAL,KAAe,KAAM,CAArB,IAA2B0B,IAAI,CAAC1B,KAAL,KAAe,IAA1C,IAAkD0B,IAAI,CAAC1B,KAAL,KAAe,EAAlG,CAA3C,EAAmJ;QAC/I,OAAOqF,MAAM,CAACmB,GAAD,CAAb;QACA;;KAfR;GAFJ;EAqBA,OAAOnB,MAAP;AACH,CAxBD;;IA0BMqB,MAAM,GAAG,SAATA,MAAS,OAgBO;EAAA,IAfFC,WAeE,QAfFA,WAeE;MAdFC,cAcE,QAdFA,cAcE;MAbFC,OAaE,QAbFA,OAaE;MAZFC,IAYE,QAZFA,IAYE;MAXFjI,KAWE,QAXFA,KAWE;MAVFC,WAUE,QAVFA,WAUE;MATFiI,eASE,QATFA,eASE;MARFC,UAQE,QARFA,UAQE;MAPFC,QAOE,QAPFA,QAOE;MANFC,KAME,QANFA,KAME;MALFnH,IAKE,QALFA,IAKE;MAJFf,WAIE,QAJFA,WAIE;MAHFmI,SAGE,QAHFA,SAGE;MAFKhH,WAEL,QAFFH,KAEE;MADFC,QACE,QADFA,QACE;EAClB,IAAMD,KAAK,GAAGoH,aAAO,CAAC,YAAM;IACxB,OAAOhB,UAAU,CAACjG,WAAD,CAAjB;GADiB,EAElB,CAACA,WAAD,CAFkB,CAArB;;EAGA,gBAA8BwD,cAAQ,CAACiD,cAAD,CAAtC;MAAOS,OAAP;MAAgBC,UAAhB;;EACA,IAAMC,SAAS,GAAGT,IAAI,CAACrG,KAAL,CAAW,CAAX,EAAckG,WAAd,CAAlB;MAA8Ca,QAAQ,GAAGV,IAAI,CAACrG,KAAL,CAAWkG,WAAX,CAAzD;;EACA,IAAMc,UAAU,GAAG,SAAbA,UAAa,CAACX,IAAD;IAAA,OAAUA,IAAI,CAAC3F,GAAL,CAAS,UAACO,IAAD,EAAOsB,KAAP,EAAiB;MACnD,oBAAO9D,wCAACG,UAAD;QAAO,GAAG,EAAE2D,KAAZ;QACO,SAAS,EAAC;SAAqBtB,IAAI,CAACP,GAAL,CAAS,UAACO,IAAD,EAAOsB,KAAP;QAAA,OAAiB0E,kBAAY,CAAChG,IAAD,EAAO;UACtF8E,GAAG,EAAExD,KADiF;UAEtFlE,WAAW,EAAEiI;SAFkE,CAA7B;OAAT,CADtC,CAAP;KADyB,CAAV;GAAnB;;EAOA,IAAM1G,aAAa,GAAG,SAAhBA,aAAgB,CAACT,IAAD,EAAO8B,IAAP,EAAgB;IAAA;;IAClC,IAAM2D,MAAM,GAAGgB,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBtG,KAAlB,uCAA2BJ,IAA3B,IAAkC8B,IAAlC,kBAAf;IACAzB,QAAQ,CAACmG,UAAU,CAACf,MAAD,CAAX,CAAR;GAFJ;;EAKA,IAAMsC,UAAU,GAAG5H,IAAI,IAAIA,IAAI,CAACW,MAAL,GAAc,CAAtB,gBAA0BxB,wCAACG,UAAD;IAAO,SAAS,EAAC;kBAC1DH,wCAACG,UAAD;IAAO,SAAS,EAAC;kBACbH;IAAK,SAAS,EAAC;KAA2BiI,SAA1C,MADJ,eAEIjI,wCAACG,UAAD;IAAO,SAAS,EAAC,4BAAjB;IAA8C,KAAK,eAAEH,wCAAC0I,YAAD;MAAS,IAAI,EAAC;;KAC9D7H,IAAI,CAACoB,GAAL,CAAS,UAACO,IAAD,EAAOsB,KAAP;IAAA,OAAiB0E,kBAAY,CAAChG,IAAD,EAAO;MAC1C8E,GAAG,EAAExD,KADqC;MAE1CjE,MAAM,EAAE,IAFkC;MAG1CC,WAAW,EAAXA;KAHmC,CAA7B;GAAT,CADL,CAFJ,CADyC,CAA1B,GAWR,IAXX;EAaA,oBAAOE,wCAACV,UAAD;IAAU,KAAK,EAAE;MACpBwB,KAAK,EAALA,KADoB;MACbC,QAAQ,EAAEI;;kBAEjBnB;IAAK,SAAS,EAAC;kBACXA;IAAK,SAAS,EAAC;kBACXA,qDACKJ,WAAW,GAAG,IAAH,gBAAUI,wCAACG,UAAD,qBAClBH,wCAAC,UAAD;IAAY,SAAS,EAAC,uBAAtB;IAA8C,KAAK,EAAEL;KAChDwH,MAAM,CAACE,IAAP,CAAYvG,KAAZ,EAAmBmB,GAAnB,CAAuB,UAACqF,GAAD,EAAS;IAC7B,IAAM9E,IAAI,GAAG1B,KAAK,CAACwG,GAAD,CAAlB;IACA,IAAI,CAAC9E,IAAL,EAAW,OAAO,IAAP;IACX,IAAIT,KAAK,CAACC,OAAN,CAAcQ,IAAd,KAAuBA,IAAI,CAAChB,MAAL,KAAgB,CAA3C,EAA8C,OAAO,IAAP;IAC9C,oBAAOxB,wCAACQ,QAAD;MAAK,GAAG,EAAE8G,GAAV;MAAe,QAAQ,MAAvB;MAAwB,OAAO,EAAE,mBAAM;QAC1CnG,aAAa,CAACmG,GAAD,EAAM,IAAN,CAAb;;OACAvF,KAAK,CAACC,OAAN,CAAcQ,IAAd,IAAsBA,IAAI,CAACP,GAAL,CAAS;MAAA,IAAEtC,KAAF,SAAEA,KAAF;MAAA,OAAaA,KAAb;KAAT,EAA6BgJ,IAA7B,CAAkC,GAAlC,CAAtB,GAA+DnG,IAAI,CAAC7C,KAFjE,CAAP;GAJH,CADL,CADkB,eAWlBK,qDAAMgI,KAAN,CAXkB,CAD1B,CADJ,EAgBKO,UAAU,CAACZ,OAAO,GAAGU,SAAH,GAAeT,IAAvB,CAhBf,EAiBKU,QAAQ,CAAC9G,MAAT,KAAoB,CAApB,GAAwBiH,UAAxB,GAAqC,IAjB1C,CADJ,EAoBKN,OAAO,gBAAGnI,+FAAEA,wCAAC0I,YAAD;IAAS,SAAS,EAAC;IAArB,eACH1I;IAAK,SAAS,EAAC;KAAsBuI,UAAU,CAACD,QAAD,CAA/C,CADG,EAEFA,QAAQ,CAAC9G,MAAT,GAAkB,CAAlB,GAAsBiH,UAAtB,GAAmC,IAFjC,CAAH,gBAIJzI;IAAK,SAAS,EAAC;IAxBvB,EAyBK2H,OAAO,IAAIC,IAAI,CAACpG,MAAL,GAAciG,WAAzB,gBAAuCzH,wCAAC4I,QAAD;IAAK,SAAS,EAAC,yBAAf;IAAyC,OAAO,EAAC;kBACrF5I,wCAAC6I,QAAD,qBAAK7I,wCAACqF,WAAD;IAAQ,IAAI,EAAC,MAAb;IAAoB,OAAO,EAAE,mBAAM;MACpC+C,UAAU,CAAC,UAACD,OAAD;QAAA,OAAa,CAACA,OAAd;OAAD,CAAV;;KACAA,OAAO,GAAGJ,QAAH,GAAcD,UAFpB,CAAL,CADoC,CAAvC,GAIQ,IA7Bb,CAHG,CAAP;AAmCH;;AAEDN,MAAM,CAACsB,IAAP,GAAc;EACVnG,IAAI,EAAJA,IADU;EACJlC,IAAI,EAAJA,IADI;EACE2F,KAAK,EAALA,KADF;EACSG,IAAI,EAAJA,IADT;EACeG,QAAQ,EAARA,QADf;EACyBC,KAAK,EAALA,KADzB;EACgCE,SAAS,EAATA,SADhC;EAC2CE,YAAY,EAAZA;AAD3C,CAAd;AAIAS,MAAM,CAAC9E,YAAP,GAAsB;EAClB/C,KAAK,EAAE,KADW;EAElBC,WAAW,EAAE,KAFK;EAGlBiI,eAAe,EAAE,KAHC;EAIlBC,UAAU,EAAE,IAJM;EAKlBC,QAAQ,EAAE,IALQ;EAMlBN,WAAW,EAAE,CANK;EAOlBC,cAAc,EAAE,KAPE;EAQlBC,OAAO,EAAE,IARS;EASlBC,IAAI,EAAE,CAAC,EAAD,CATY;EAUlB/G,IAAI,EAAE,EAVY;EAWlBf,WAAW,EAAE,OAXK;EAYlBmI,SAAS,EAAE,IAZO;EAalBnH,KAAK,EAAE,EAbW;EAclBkH,KAAK,EAAE,IAdW;EAelBjH,QAAQ,EAAE,oBAAM;AAfE,CAAtB;;;;ICzHagI,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAC1I,gBAAD;EAAA,OAAsB,gBAAyC;QAAtCK,IAAsC,QAAtCA,IAAsC;QAAzBX,QAAyB,QAAzBA,QAAyB;QAAZO,KAAY;;IAChG,gBAA4BmE,cAAQ,CAAC,KAAD,CAApC;QAAOuE,MAAP;QAAeC,SAAf;;IACA,OAAOD,MAAM,gBAAGhJ,wCAAC,gBAAD;MAAkB,aAAa,EAAE;OAAUM,KAA3C;MAAkD,IAAI,EAAEI,IAAxD;MAA8D,MAAM,EAAE,kBAAM;QAC1FuI,SAAS,CAAC,KAAD,CAAT;;OADW,gBAELjJ,wCAAC,IAAD,CAAM,IAAN;MAAW,OAAO,EAAE,iBAACoC,CAAD,EAAO;QACjCA,CAAC,CAACkD,eAAF;QACA2D,SAAS,CAAC,IAAD,CAAT;OAFM;MAGL,KAAK,EAAElJ,QAAQ,IAAI;MALtB;GAFiC;AAAA;AAUnC,IAAMmJ,WAAW,GAAGH,mBAAmB,CAACtD,UAAD,CAAvC;AACA,IAAM0D,UAAU,GAAGJ,mBAAmB,CAAC1C,SAAD,CAAtC;AACA,IAAM+C,cAAc,GAAGL,mBAAmB,CAACvC,aAAD,CAA1C;IAEa6C,iBAAiB,GAAG,SAApBA,iBAAoB;EAAA,IAAGP,IAAH,SAAGA,IAAH;MAAYxI,KAAZ;;EAAA,OAAwB,UAACgJ,UAAD,EAAgB;IACvE,IAAMC,OAAO,GAAG;MACdC,KAAK,EAAEN,WADO;MACMO,IAAI,EAAEN,UADZ;MACwBO,QAAQ,EAAEN;KADlD;IAIA,IAAMO,oBAAoB,GAAGJ,OAAO,CAACT,IAAD,CAApC;;IACA,IAAI,CAACa,oBAAL,EAA2B;MACzB,OAAO,IAAP;;;IAEF,oBAAO3J,wCAAC,oBAAD,eAA0BM,KAA1B,EAAqCgJ,UAArC,EAAP;GAT+B;AAAA;;;;;;;;;;"}
@@ -1,12 +1,16 @@
1
1
  import React, { createContext, useContext, useState, useRef, useEffect, useMemo, cloneElement } from 'react';
2
- import { Space, Tag, message, Button, Tooltip, InputNumber, Input, Select, Checkbox, Radio, Divider, Row, Col } from 'antd';
3
- import { createCitySelect, apis, RemoteData, DisplayCity } from '@kne/react-city-select';
2
+ import { Popover, Space, Tag, message, Button, Tooltip, InputNumber, Input, Select, Checkbox, Radio, Divider, Row, Col } from 'antd';
4
3
  import classnames from 'classnames';
5
- import get from 'lodash/get';
6
- import isFunction from 'lodash/isFunction';
7
- import isEqual from 'lodash/isEqual';
4
+ import { createCitySelect, apis, RemoteData, DisplayCity } from '@kne/react-city-select';
5
+ import { get, isFunction, isEqual, isNumber } from 'lodash';
8
6
  import useClickOutSide from '@kne/use-click-outside';
9
- import isNumber from 'lodash/isNumber';
7
+
8
+ const context$1 = createContext({});
9
+ const {
10
+ Consumer,
11
+ Provider: Provider$1
12
+ } = context$1;
13
+ const useConsumer = () => useContext(context$1);
10
14
 
11
15
  function _extends() {
12
16
  _extends = Object.assign ? Object.assign.bind() : function (target) {
@@ -40,21 +44,27 @@ function _objectWithoutPropertiesLoose(source, excluded) {
40
44
  return target;
41
45
  }
42
46
 
43
- const context$1 = createContext({});
44
- const {
45
- Consumer,
46
- Provider: Provider$1
47
- } = context$1;
48
- const useConsumer = () => useContext(context$1);
49
-
50
- const _excluded$8 = ["label", "labelHidden"];
47
+ const _excluded$8 = ["label", "labelHidden", "isMore", "moreTrigger"];
51
48
 
52
49
  const FilterItem = ({
53
50
  className,
54
51
  label,
55
52
  labelHidden,
53
+ isMore,
54
+ moreTrigger,
56
55
  children
57
56
  }) => {
57
+ if (isMore) {
58
+ return /*#__PURE__*/React.createElement("div", {
59
+ className: classnames("react-filter-item-label", "is-more", className)
60
+ }, /*#__PURE__*/React.createElement(Popover, {
61
+ content: children,
62
+ trigger: moreTrigger,
63
+ placement: "bottom",
64
+ overlayClassName: "react-filter-item-popover"
65
+ }, /*#__PURE__*/React.createElement("a", null, label)));
66
+ }
67
+
58
68
  return /*#__PURE__*/React.createElement(Space, {
59
69
  className: classnames('react-filter-item', className)
60
70
  }, labelHidden ? null : /*#__PURE__*/React.createElement("div", {
@@ -67,15 +77,20 @@ const FilterItem = ({
67
77
  const withFilterItem = WrappedComponent => _ref => {
68
78
  let {
69
79
  label,
70
- labelHidden
80
+ labelHidden,
81
+ isMore,
82
+ moreTrigger
71
83
  } = _ref,
72
84
  props = _objectWithoutPropertiesLoose(_ref, _excluded$8);
73
85
 
74
86
  return /*#__PURE__*/React.createElement(FilterItem, {
75
87
  label: label,
76
- labelHidden: labelHidden
88
+ labelHidden: labelHidden,
89
+ isMore: isMore,
90
+ moreTrigger: moreTrigger
77
91
  }, /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, props, {
78
- label: label
92
+ label: label,
93
+ isMore: isMore
79
94
  })));
80
95
  };
81
96
 
@@ -95,7 +110,8 @@ const List = ({
95
110
  size,
96
111
  children,
97
112
  options,
98
- more
113
+ more,
114
+ isMore
99
115
  }) => {
100
116
  const {
101
117
  value,
@@ -232,7 +248,7 @@ List.defaultProps = {
232
248
  size: 2
233
249
  };
234
250
 
235
- const _excluded$6 = ["label", "labelHidden", "name", "size"];
251
+ const _excluded$6 = ["label", "labelHidden", "name", "size", "isMore"];
236
252
  const {
237
253
  Item
238
254
  } = List;
@@ -316,6 +332,7 @@ const City = _ref => {
316
332
  const SearchButton = ({
317
333
  name,
318
334
  size,
335
+ isMore,
319
336
  template,
320
337
  children,
321
338
  defaultValue,
@@ -351,7 +368,7 @@ const SearchButton = ({
351
368
  }, [active]);
352
369
  return /*#__PURE__*/React.createElement("div", {
353
370
  className: classnames("react-filter-search-button", {
354
- "is-active": active
371
+ "is-active": active && !isMore
355
372
  }),
356
373
  ref: ref,
357
374
  onMouseEnter: () => {
@@ -360,14 +377,17 @@ const SearchButton = ({
360
377
  onMouseLeave: () => {
361
378
  active && setActive(false);
362
379
  }
363
- }, /*#__PURE__*/React.createElement("div", {
364
- className: "inner"
380
+ }, /*#__PURE__*/React.createElement(Space, {
381
+ className: "inner",
382
+ size: 0
365
383
  }, /*#__PURE__*/React.createElement("div", null, children({
366
384
  value,
367
385
  setValue,
368
386
  setActive
369
- })), active ? /*#__PURE__*/React.createElement(Button, {
370
- className: "react-filter-search-confirm",
387
+ })), active || isMore ? /*#__PURE__*/React.createElement(Button, {
388
+ className: classnames("react-filter-search-confirm", {
389
+ "is-more": isMore
390
+ }),
371
391
  size: "small",
372
392
  type: "primary",
373
393
  onClick: e => {
@@ -394,6 +414,7 @@ SearchButton.defaultProps = {
394
414
  const RangeInner = ({
395
415
  name,
396
416
  size,
417
+ isMore,
397
418
  defaultActive,
398
419
  template,
399
420
  onBlur,
@@ -423,6 +444,7 @@ const RangeInner = ({
423
444
  return /*#__PURE__*/React.createElement(SearchButton, {
424
445
  size: size,
425
446
  template: template,
447
+ isMore: isMore,
426
448
  onBlur: onBlur,
427
449
  defaultActive: defaultActive,
428
450
  name: name,
@@ -477,11 +499,12 @@ const RangeInner = ({
477
499
  };
478
500
  const Range = withFilterItem(RangeInner);
479
501
 
480
- const _excluded$5 = ["name", "label", "template", "defaultActive", "onBlur", "onSearch", "onActiveChange", "placeholder"];
502
+ const _excluded$5 = ["name", "label", "isMore", "template", "defaultActive", "onBlur", "onSearch", "onActiveChange", "placeholder"];
481
503
  const TextInner = _ref => {
482
504
  let {
483
505
  name,
484
506
  label,
507
+ isMore,
485
508
  template,
486
509
  defaultActive,
487
510
  onBlur,
@@ -493,6 +516,7 @@ const TextInner = _ref => {
493
516
 
494
517
  return /*#__PURE__*/React.createElement(SearchButton, {
495
518
  defaultActive: defaultActive,
519
+ isMore: isMore,
496
520
  onBlur: onBlur,
497
521
  template: template,
498
522
  name: name,
@@ -519,7 +543,7 @@ const TextInner = _ref => {
519
543
  };
520
544
  const Text = withFilterItem(TextInner);
521
545
 
522
- const _excluded$4 = ["name", "label", "placeholder"];
546
+ const _excluded$4 = ["name", "label", "placeholder", "isMore"];
523
547
  const SelectorInner = _ref => {
524
548
  let {
525
549
  name,
@@ -544,7 +568,7 @@ const SelectorInner = _ref => {
544
568
  };
545
569
  const Selector = withFilterItem(SelectorInner);
546
570
 
547
- const _excluded$3 = ["name", "label", "className"];
571
+ const _excluded$3 = ["name", "label", "className", "isMore"];
548
572
 
549
573
  const Check = _ref => {
550
574
  let {
@@ -572,7 +596,7 @@ const Check = _ref => {
572
596
  }), label);
573
597
  };
574
598
 
575
- const _excluded$2 = ["label", "name", "options"];
599
+ const _excluded$2 = ["label", "name", "options", "isMore"];
576
600
  const RadioList = withFilterItem(_ref => {
577
601
  let {
578
602
  name,
@@ -585,7 +609,6 @@ const RadioList = withFilterItem(_ref => {
585
609
  onChange
586
610
  } = useConsumer();
587
611
  const currentValue = aValue[name];
588
- console.log(currentValue);
589
612
  return /*#__PURE__*/React.createElement(Radio.Group, _extends({}, props, {
590
613
  options: options,
591
614
  value: get(currentValue, 'value'),
@@ -596,7 +619,7 @@ const RadioList = withFilterItem(_ref => {
596
619
  }));
597
620
  });
598
621
 
599
- const _excluded$1 = ["label", "name", "options"];
622
+ const _excluded$1 = ["label", "name", "options", "isMore"];
600
623
  const CheckboxList = withFilterItem(_ref => {
601
624
  let {
602
625
  name,
@@ -624,56 +647,6 @@ const CheckboxList = withFilterItem(_ref => {
624
647
  }));
625
648
  });
626
649
 
627
- const _excluded = ["name", "value", "children"],
628
- _excluded2 = ["type"];
629
- const withMoreExtraButton = WrappedComponent => _ref => {
630
- let {
631
- name,
632
- children
633
- } = _ref,
634
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
635
-
636
- const [isEdit, setIsEdit] = useState(false);
637
- return isEdit ? /*#__PURE__*/React.createElement(WrappedComponent, _extends({
638
- defaultActive: true
639
- }, props, {
640
- name: name,
641
- onBlur: () => {
642
- setIsEdit(false);
643
- }
644
- })) : /*#__PURE__*/React.createElement(List.Item, {
645
- onClick: e => {
646
- e.stopPropagation();
647
- setIsEdit(true);
648
- },
649
- label: children || "其他"
650
- });
651
- };
652
- const RangeButton = withMoreExtraButton(RangeInner);
653
- const TextButton = withMoreExtraButton(TextInner);
654
- const SelectorButton = withMoreExtraButton(SelectorInner);
655
- const createExtraButton = _ref2 => {
656
- let {
657
- type
658
- } = _ref2,
659
- props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
660
-
661
- return innerProps => {
662
- const mapping = {
663
- range: RangeButton,
664
- text: TextButton,
665
- selector: SelectorButton
666
- };
667
- const ExtraButtonComponent = mapping[type];
668
-
669
- if (!ExtraButtonComponent) {
670
- return null;
671
- }
672
-
673
- return /*#__PURE__*/React.createElement(ExtraButtonComponent, _extends({}, props, innerProps));
674
- };
675
- };
676
-
677
650
  const filterNull = item => {
678
651
  const target = Object.assign({}, item);
679
652
  Object.keys(target).forEach(key => {
@@ -715,6 +688,9 @@ const Filter = ({
715
688
  unfoldText,
716
689
  foldText,
717
690
  extra,
691
+ more,
692
+ moreTrigger,
693
+ moreLabel,
718
694
  value: originValue,
719
695
  onChange
720
696
  }) => {
@@ -742,6 +718,22 @@ const Filter = ({
742
718
  onChange(filterNull(target));
743
719
  };
744
720
 
721
+ const moreFilter = more && more.length > 0 ? /*#__PURE__*/React.createElement(Space, {
722
+ className: "react-filter-line is-more"
723
+ }, /*#__PURE__*/React.createElement(Space, {
724
+ className: "react-filter-item"
725
+ }, /*#__PURE__*/React.createElement("div", {
726
+ className: "react-filter-item-label"
727
+ }, moreLabel, ":"), /*#__PURE__*/React.createElement(Space, {
728
+ className: "react-filter-item-children",
729
+ split: /*#__PURE__*/React.createElement(Divider, {
730
+ type: "vertical"
731
+ })
732
+ }, more.map((item, index) => cloneElement(item, {
733
+ key: index,
734
+ isMore: true,
735
+ moreTrigger
736
+ }))))) : null;
745
737
  return /*#__PURE__*/React.createElement(Provider$1, {
746
738
  value: {
747
739
  value,
@@ -767,11 +759,11 @@ const Filter = ({
767
759
  }, Array.isArray(item) ? item.map(({
768
760
  label
769
761
  }) => label).join(",") : item.label);
770
- })), /*#__PURE__*/React.createElement("div", null, extra))), renderList(isExtra ? basicList : list)), display ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Divider, {
762
+ })), /*#__PURE__*/React.createElement("div", null, extra))), renderList(isExtra ? basicList : list), moreList.length === 0 ? moreFilter : null), display ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Divider, {
771
763
  className: "react-filter-divider"
772
764
  }), /*#__PURE__*/React.createElement("div", {
773
765
  className: "react-filter-inner"
774
- }, renderList(moreList))) : /*#__PURE__*/React.createElement("div", {
766
+ }, renderList(moreList)), moreList.length > 0 ? moreFilter : null) : /*#__PURE__*/React.createElement("div", {
775
767
  className: "react-filter-divider-close"
776
768
  }), isExtra && list.length > displayLine ? /*#__PURE__*/React.createElement(Row, {
777
769
  className: "react-filter-switch-btn",
@@ -783,6 +775,7 @@ const Filter = ({
783
775
  }
784
776
  }, display ? foldText : unfoldText))) : null));
785
777
  };
778
+
786
779
  Filter.type = {
787
780
  City,
788
781
  List,
@@ -803,10 +796,63 @@ Filter.defaultProps = {
803
796
  defaultDisplay: false,
804
797
  isExtra: true,
805
798
  list: [[]],
799
+ more: [],
800
+ moreTrigger: 'hover',
801
+ moreLabel: '更多',
806
802
  value: {},
807
803
  extra: null,
808
804
  onChange: () => {}
809
805
  };
810
806
 
811
- export { Filter, FilterItem, SearchButton, createExtraButton, Filter as default, useConsumer as useFilterContext, withFilterItem, withMoreExtraButton };
812
- //# sourceMappingURL=index.modern.mjs.map
807
+ const _excluded = ["name", "value", "children"],
808
+ _excluded2 = ["type"];
809
+ const withMoreExtraButton = WrappedComponent => _ref => {
810
+ let {
811
+ name,
812
+ children
813
+ } = _ref,
814
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
815
+
816
+ const [isEdit, setIsEdit] = useState(false);
817
+ return isEdit ? /*#__PURE__*/React.createElement(WrappedComponent, _extends({
818
+ defaultActive: true
819
+ }, props, {
820
+ name: name,
821
+ onBlur: () => {
822
+ setIsEdit(false);
823
+ }
824
+ })) : /*#__PURE__*/React.createElement(List.Item, {
825
+ onClick: e => {
826
+ e.stopPropagation();
827
+ setIsEdit(true);
828
+ },
829
+ label: children || "其他"
830
+ });
831
+ };
832
+ const RangeButton = withMoreExtraButton(RangeInner);
833
+ const TextButton = withMoreExtraButton(TextInner);
834
+ const SelectorButton = withMoreExtraButton(SelectorInner);
835
+ const createExtraButton = _ref2 => {
836
+ let {
837
+ type
838
+ } = _ref2,
839
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
840
+
841
+ return innerProps => {
842
+ const mapping = {
843
+ range: RangeButton,
844
+ text: TextButton,
845
+ selector: SelectorButton
846
+ };
847
+ const ExtraButtonComponent = mapping[type];
848
+
849
+ if (!ExtraButtonComponent) {
850
+ return null;
851
+ }
852
+
853
+ return /*#__PURE__*/React.createElement(ExtraButtonComponent, _extends({}, props, innerProps));
854
+ };
855
+ };
856
+
857
+ export { FilterItem, SearchButton, createExtraButton, Filter as default, useConsumer as useFilterContext, withFilterItem, withMoreExtraButton };
858
+ //# sourceMappingURL=index.modern.js.map