@kne/react-filter 0.1.11 → 0.1.12
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 +1 -0
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +1 -1
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -762,6 +762,7 @@ Filter.defaultProps = {
|
|
|
762
762
|
|
|
763
763
|
exports.FilterItem = FilterItem;
|
|
764
764
|
exports.SearchButton = SearchButton;
|
|
765
|
+
exports.context = context$1;
|
|
765
766
|
exports.createExtraButton = createExtraButton;
|
|
766
767
|
exports["default"] = Filter;
|
|
767
768
|
exports.withFilterItem = withFilterItem;
|
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 = ({displayLine, isExtra, list, value: originValue, onChange}) => {\n const value = useMemo(() => {\n return filterNull(originValue);\n }, [originValue]);\n const [display, setDisplay] = useState(false);\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 <FilterItem className=\"react-filter-selected\" label=\"筛选项\">{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 })}</FilterItem>\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 ? \"收起筛选条件\" : \"展开筛选条件\"}</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 displayLine: 2, isExtra: true, list: [[]], value: {}, 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 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","isExtra","list","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/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 = ({displayLine, isExtra, list, value: originValue, onChange}) => {\n const value = useMemo(() => {\n return filterNull(originValue);\n }, [originValue]);\n const [display, setDisplay] = useState(false);\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 <FilterItem className=\"react-filter-selected\" label=\"筛选项\">{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 })}</FilterItem>\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 ? \"收起筛选条件\" : \"展开筛选条件\"}</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 displayLine: 2, isExtra: true, list: [[]], value: {}, 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 {default as context} 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","isExtra","list","useMemo","display","setDisplay","basicList","moreList","renderList","cloneElement","join","Divider","Row","Col"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEMA,SAAO,GAAGC,mBAAa,CAAC,EAAD;IAEJC,UAAlB,GAA+BF,SAA/B,CAAkBE;AAElB,IAAMC,WAAW,GAAG,SAAdA,WAAc;AAAA,SAAMC,gBAAU,CAACJ,SAAD,CAAhB;AAAA,CAApB;;;;ICFDK,UAAU,GAAG,SAAbA,UAAa,OAAkC;AAAA,MAAhCC,SAAgC,QAAhCA,SAAgC;AAAA,MAArBC,KAAqB,QAArBA,KAAqB;AAAA,MAAdC,QAAc,QAAdA,QAAc;AACjD,sBAAOC,wCAACC,UAAD;AAAO,IAAA,SAAS,EAAEC,8BAAU,CAAC,mBAAD,EAAsBL,SAAtB;AAA5B,kBACHG;AAAK,IAAA,SAAS,EAAC;AAAf,KAA0CF,KAA1C,MADG,eAEHE;AAAK,IAAA,SAAS,EAAC;AAAf,KAA6CD,QAA7C,CAFG,CAAP;AAIH;;IAEYI,cAAc,GAAG,SAAjBA,cAAiB,CAACC,gBAAD;AAAA,SAAsB;AAAA,QAAEN,KAAF,SAAEA,KAAF;AAAA,QAAYO,KAAZ;;AAAA,wBAAuBL,wCAAC,UAAD;AACvE,MAAA,KAAK,EAAEF;AADgE,oBACzDE,wCAAC,gBAAD,EAAsBK,KAAtB,CADyD,CAAvB;AAAA,GAAtB;AAAA;;;ACH9B,IAAQC,YAAR,GAAyBC,QAAzB,CAAQD,YAAR;AAEA,IAAMf,OAAO,GAAGC,mBAAa,CAAC,EAAD,CAA7B;AAEA,IAAQC,QAAR,GAAqBF,OAArB,CAAQE,QAAR;;AAEA,IAAMe,IAAI,GAAG,SAAPA,IAAO,OAAoD;AAAA,MAAjDV,KAAiD,QAAjDA,KAAiD;AAAA,MAA1CW,IAA0C,QAA1CA,IAA0C;AAAA,MAApCC,IAAoC,QAApCA,IAAoC;AAAA,MAA9BX,QAA8B,QAA9BA,QAA8B;AAAA,MAApBY,OAAoB,QAApBA,OAAoB;AAAA,MAAXC,IAAW,QAAXA,IAAW;;AAC/D,qBAA4BlB,WAAW,EAAvC;AAAA,MAAQmB,KAAR,gBAAQA,KAAR;AAAA,MAAeC,QAAf,gBAAeA,QAAf;;AACA,MAAMC,YAAY,GAAI,YAAM;AAC1B,QAAMC,WAAW,GAAGC,uBAAG,CAACJ,KAAD,EAAQJ,IAAR,CAAvB;;AACA,QAAIC,IAAI,KAAK,CAAb,EAAgB;AACd,aAAOM,WAAW,KAAK,KAAM,CAAtB,GAA2B,CAACA,WAAD,CAA3B,GAA2C,EAAlD;AACD,KAFD,MAEO;AACL,aAAOA,WAAW,IAAI,EAAtB;AACD;AACF,GAPoB,EAArB;;AASA,MAAME,aAAa,GAAG,SAAhBA,aAAgB,CAACL,KAAD,EAAW;AAC/B,QAAIH,IAAI,KAAK,CAAb,EAAgB;AACd,aAAOI,QAAQ,CAACL,IAAD,EAAOI,KAAK,CAAC,CAAD,CAAZ,CAAf;AACD,KAFD,MAEO;AACL,aAAOC,QAAQ,CAACL,IAAD,EAAOI,KAAP,CAAf;AACD;AACF,GAND;;AAOA,MAAMM,0BAA0B,GAAG,SAA7BA,0BAA6B,CAACN,KAAD;AAAA,WAAW,UAACO,OAAD,EAAa;AACzD,UAAIA,OAAJ,EAAa;AACX,YAAIC,OAAO,GAAGN,YAAY,CAACO,KAAb,CAAmB,CAAnB,CAAd;;AACA,YAAIP,YAAY,CAACQ,MAAb,GAAsBb,IAA1B,EAAgC;AAC9BW,UAAAA,OAAO,CAACG,IAAR,CAAaX,KAAb;AACD;;AACD,YAAIE,YAAY,CAACQ,MAAb,KAAwBb,IAAxB,IAAgCA,IAAI,KAAK,CAA7C,EAAgD;AAC9CW,UAAAA,OAAO,GAAG,CAACR,KAAD,CAAV;AACD;;AACD,YAAIE,YAAY,CAACQ,MAAb,IAAuBb,IAAvB,IAA+BA,IAAI,GAAG,CAA1C,EAA6C;AAC3Ce,UAAAA,YAAO,CAACC,KAAR,8BAAqBhB,IAArB;AACA;AACD;;AACDQ,QAAAA,aAAa,CAACG,OAAD,CAAb;AACD,OAbD,MAaO;AACL,YAAMA,QAAO,GAAGN,YAAY,CAACO,KAAb,CAAmB,CAAnB,CAAhB;;AACAD,QAAAA,QAAO,CAACM,MAAR,CAAeZ,YAAY,CAACa,OAAb,CAAqBf,KAArB,CAAf,EAA4C,CAA5C;;AACAK,QAAAA,aAAa,CAACG,QAAD,CAAb;AACD;AACF,KAnBkC;AAAA,GAAnC;;AAoBA,MAAMQ,gBAAgB,GAAI,YAAM;AAC9B,QAAIC,KAAK,CAACC,OAAN,CAAcpB,OAAd,CAAJ,EAA4B;AAC1B,aAAOA,OAAO,CAACqB,GAAR,CAAY;AAAA,YAAGlC,KAAH,SAAGA,KAAH;AAAA,YAAUe,KAAV,SAAUA,KAAV;AAAA,4BAAsBb,wCAAC,IAAD,CAAM,IAAN;AAAW,UAAA,GAAG,EAAEa,KAAhB;AAAuB,UAAA,KAAK,EAAEA,KAA9B;AAAqC,UAAA,KAAK,EAAEf;AAA5C,UAAtB;AAAA,OAAZ,CAAP;AACD;;AACD,QAAImC,8BAAU,CAAClC,QAAD,CAAd,EAA0B;AACxB,aAAOA,QAAQ,CAAC;AAAEc,QAAAA,KAAK,EAAEE,YAAT;AAAuBD,QAAAA,QAAQ,EAAEI;AAAjC,OAAD,CAAf;AACD;;AACD,WAAOnB,QAAP;AACD,GARwB,EAAzB;;AASA,sBAAOC,wCAAC,UAAD;AAAY,IAAA,KAAK,EAAEF;AAAnB,kBACLE,wCAAC,QAAD;AAAU,IAAA,KAAK,EAAE;AACfe,MAAAA,YAAY,EAAZA,YADe;AACDI,MAAAA,0BAA0B,EAA1BA;AADC;AAAjB,KAGGU,gBAHH,EAIGjB,IAAI,GAAI,YAAM;AACb,QAAIqB,8BAAU,CAACrB,IAAD,CAAd,EAAsB;AACpB,aAAOA,IAAI,CAAC;AAAEH,QAAAA,IAAI,EAAJA,IAAF;AAAQC,QAAAA,IAAI,EAAJA,IAAR;AAAcZ,QAAAA,KAAK,EAALA,KAAd;AAAqBe,QAAAA,KAAK,EAAEE,YAA5B;AAA0CD,QAAAA,QAAQ,EAAEI;AAApD,OAAD,CAAX;AACD;;AACD,QAAQnB,QAAR,GAA8Ba,IAA9B,CAAQb,QAAR;AAAA,QAAkBmC,QAAlB,GAA8BtB,IAA9B,CAAkBsB,OAAlB;AACA,wBAAOlC,wCAAC,IAAD,CAAM,IAAN,eAAeY,IAAf;AAAqB,MAAA,OAAO,EAAE,iBAACuB,CAAD,EAAO;AAC1CD,QAAAA,QAAO,CAAC;AAAEzB,UAAAA,IAAI,EAAJA,IAAF;AAAQX,UAAAA,KAAK,EAALA,KAAR;AAAee,UAAAA,KAAK,EAAEE,YAAtB;AAAoCD,UAAAA,QAAQ,EAAEI;AAA9C,SAAD,EAAgEiB,CAAhE,CAAP;AACD,OAFM;AAEJ,MAAA,KAAK,EAAEpC,QAAQ,IAAI;AAFf,OAAP;AAGD,GARO,EAAH,GAQE,IAZT,CADK,CAAP;AAgBD,CA/DD;;AAiEAS,IAAI,CAAC4B,IAAL,GAAY,iBAAgC;AAAA,MAA7BvB,KAA6B,SAA7BA,KAA6B;AAAA,MAAtBf,KAAsB,SAAtBA,KAAsB;AAAA,MAAZO,KAAY;;AAC1C,oBAAqDV,gBAAU,CAACJ,OAAD,CAA/D;AAAA,MAAQwB,YAAR,eAAQA,YAAR;AAAA,MAAsBI,0BAAtB,eAAsBA,0BAAtB;;AACA,MAAMkB,SAAS,GAAG,EAAlB;;AACA,MAAIxB,KAAK,KAAK,KAAM,CAApB,EAAwB;AACtBwB,IAAAA,SAAS,CAACjB,OAAV,GAAoBL,YAAY,CAACuB,SAAb,CAAuB,UAACC,IAAD;AAAA,aAAUC,2BAAO,CAACvB,uBAAG,CAACsB,IAAD,EAAM,OAAN,CAAJ,EAAoB1B,KAApB,CAAjB;AAAA,KAAvB,IAAsE,CAAC,CAA3F;AACAwB,IAAAA,SAAS,CAACvB,QAAV,GAAqBK,0BAA0B,CAAC;AAAErB,MAAAA,KAAK,EAALA,KAAF;AAASe,MAAAA,KAAK,EAALA;AAAT,KAAD,CAA/C;AACD;;AAED,sBAAOb,wCAAC,YAAD,eAAkBK,KAAlB,EAA6BgC,SAA7B,GAAyCvC,KAAzC,CAAP;AACD,CATD;;AAWAU,IAAI,CAACiC,YAAL,GAAoB;AAClB/B,EAAAA,IAAI,EAAE;AADY,CAApB;;ACtFA,IAAQ0B,IAAR,GAAiB5B,IAAjB,CAAQ4B,IAAR;;AAEA,IAAMM,IAAI,GAAG,SAAPA,IAAO,OAA2B;AAAA,MAAxB5C,KAAwB,QAAxBA,KAAwB;AAAA,MAAjBW,IAAiB,QAAjBA,IAAiB;AAAA,MAAXC,IAAW,QAAXA,IAAW;AACtC,sBAAOV,wCAAC,IAAD;AAAM,IAAA,KAAK,EAAEF,KAAb;AAAoB,IAAA,IAAI,EAAEW,IAA1B;AAAgC,IAAA,IAAI,EAAEC,IAAtC;AAA4C,IAAA,IAAI,EAAE;AACvDX,MAAAA,QAAQ,EAAE,IAD6C;AACvCmC,MAAAA,OAAO,EAAE,wBAAyB;AAAA,YAAtBrB,KAAsB,SAAtBA,KAAsB;AAAA,YAAfC,SAAe,SAAfA,QAAe;AAChD6B,QAAAA,gCAAgB,CAAC;AACfjC,UAAAA,IAAI,EAAJA,IADe;AACTkC,UAAAA,YAAY,EAAE/B,KAAK,CAACmB,GAAN,CAAU;AAAA,gBAAGnB,KAAH,SAAGA,KAAH;AAAA,mBAAeA,KAAf;AAAA,WAAV,CADL;AACsCC,UAAAA,QAAQ,EAAE,kBAACD,KAAD,EAAW;AACxEgC,YAAAA,OAAO,CAACC,GAAR,CAAYjC,KAAK,CAACmB,GAAN,CAAU,UAACe,EAAD;AAAA,qBAAQC,oBAAI,CAACC,OAAL,CAAaF,EAAb,EAAiBG,IAAjB,CAAsB;AAAA,oBAAGC,IAAH,SAAGA,IAAH;AAAA,uBAAe;AACjErD,kBAAAA,KAAK,EAAEqD,IAAI,CAAC1C,IADqD;AAC/CI,kBAAAA,KAAK,EAAEsC,IAAI,CAACC;AADmC,iBAAf;AAAA,eAAtB,CAAR;AAAA,aAAV,CAAZ,EAEMF,IAFN,CAEW,UAACrC,KAAD;AAAA,qBAAWC,SAAQ,CAACD,KAAD,CAAnB;AAAA,aAFX;AAGD;AALc,SAAD,CAAhB;AAOD;AATsD;AAAlD,KAWJ;AAAA,QAAUE,YAAV,SAAGF,KAAH;AAAA,wBAA6Bb,+FAC5BA,wCAACqD,0BAAD;AAAY,MAAA,MAAM,EAAEL,oBAAI,CAACM;AAAzB,OAA6C,UAACC,IAAD,EAAU;AACrD,UAAMC,SAAS,GAAGzC,YAAY,CAAC0C,MAAb,CAAoB;AAAA,YAAUL,IAAV,SAAGvC,KAAH;AAAA,eAAqB,CAAC0C,IAAI,CAACG,IAAL,CAAU,UAACnB,IAAD;AAAA,iBAAUA,IAAI,CAACa,IAAL,KAAcA,IAAxB;AAAA,SAAV,CAAtB;AAAA,OAApB,CAAlB;AACA,UAAIO,WAAW,GAAG,CAAlB;AACAJ,MAAAA,IAAI,CAACK,OAAL,CAAa,UAACrB,IAAD,EAAOsB,KAAP,EAAiB;AAC5B,YAAI9C,YAAY,CAACuB,SAAb,CAAuB;AAAA,cAAGzB,KAAH,SAAGA,KAAH;AAAA,iBAAeA,KAAK,KAAK0B,IAAI,CAACa,IAA9B;AAAA,SAAvB,IAA6D,CAAC,CAA9D,IAAmES,KAAK,IAAIN,IAAI,CAAChC,MAAL,GAAciC,SAAS,CAACjC,MAAxG,EAAgH;AAC9GoC,UAAAA,WAAW,IAAI,CAAf;AACD;AACF,OAJD;AAKA,0BAAO3D,kFACJwD,SAAS,CAACxB,GAAV,CAAc,iBAAqB;AAAA,YAAXoB,IAAW,SAAlBvC,KAAkB;AAClC,4BAAOb,wCAAC8D,2BAAD;AAAa,UAAA,EAAE,EAAEV,IAAjB;AAAuB,UAAA,GAAG,EAAEA;AAA5B,WAAmC,iBAAoB;AAAA,cAAXb,IAAW,SAAjBY,IAAiB;AAC5D,8BAAOnD,wCAAC,IAAD;AAAM,YAAA,KAAK,EAAEoD,IAAb;AAAmB,YAAA,KAAK,EAAEb,IAAI,CAAC9B;AAA/B,YAAP;AACD,SAFM,CAAP;AAGD,OAJA,CADI,EAMJ8C,IAAI,CAACE,MAAL,CAAY,UAAClB,IAAD,EAAOsB,KAAP;AAAA,eAAiB9C,YAAY,CAACuB,SAAb,CAAuB;AAAA,cAAGzB,KAAH,UAAGA,KAAH;AAAA,iBAAeA,KAAK,KAAK0B,IAAI,CAACa,IAA9B;AAAA,SAAvB,IAA6D,CAAC,CAA9D,IAAmES,KAAK,GAAGN,IAAI,CAAChC,MAAL,GAAciC,SAAS,CAACjC,MAAxB,GAAiCoC,WAA7H;AAAA,OAAZ,EAAsJ3B,GAAtJ,CAA0J,UAACO,IAAD;AAAA,4BACzJvC,wCAAC,IAAD;AAAM,UAAA,GAAG,EAAEuC,IAAI,CAACa,IAAhB;AAAsB,UAAA,KAAK,EAAEb,IAAI,CAACa,IAAlC;AAAwC,UAAA,KAAK,EAAEb,IAAI,CAAC9B;AAApD,UADyJ;AAAA,OAA1J,CANI,CAAP;AASD,KAjBD,CAD4B,CAA7B;AAAA,GAXI,CAAP;AAgCD,CAjCD;;ICEMsD,YAAY,GAAG,SAAfA,YAAe,OAYO;AAAA,MAXFtD,IAWE,QAXFA,IAWE;AAAA,MAVFC,IAUE,QAVFA,IAUE;AAAA,MATFsD,QASE,QATFA,QASE;AAAA,MARFjE,QAQE,QARFA,QAQE;AAAA,MAPF6C,YAOE,QAPFA,YAOE;AAAA,MANFqB,aAME,QANFA,aAME;AAAA,MALFC,MAKE,QALFA,MAKE;AAAA,MAJFC,QAIE,QAJFA,QAIE;AAAA,MAHFC,cAGE,QAHFA,cAGE;AAAA,MAFFC,cAEE,QAFFA,cAEE;AAAA,MADFC,UACE,QADFA,UACE;;AACxB,qBAAkC5E,WAAW,EAA7C;AAAA,MAAc6E,MAAd,gBAAO1D,KAAP;AAAA,MAAsBC,QAAtB,gBAAsBA,QAAtB;;AACA,MAAMC,YAAY,GAAGwD,MAAM,CAAC9D,IAAD,CAA3B;;AACA,kBAA0B+D,cAAQ,CAAC5B,YAAY,IAAI3B,uBAAG,CAACF,YAAD,EAAe,OAAf,CAApB,CAAlC;AAAA,MAAOF,KAAP;AAAA,MAAc4D,QAAd;;AACA,mBAA4BD,cAAQ,CAACP,aAAD,CAApC;AAAA,MAAOS,MAAP;AAAA,MAAeC,SAAf;;AACA,MAAMC,YAAY,GAAG,SAAfA,YAAe,CAAC/D,KAAD;AAAA,QAACA,KAAD;AAACA,MAAAA,KAAD,GAAS,EAAT;AAAA;;AAAA,WAAiB;AAClCA,MAAAA,KAAK,EAALA,KADkC;AAC3Bf,MAAAA,KAAK,EAAEmC,8BAAU,CAAC+B,QAAD,CAAV,GAAuBA,QAAQ,CAACnD,KAAD,CAA/B,GAAyCA,KAAK,CAACgE,QAAN;AADrB,KAAjB;AAAA,GAArB;;AAGA,MAAMC,GAAG,GAAGC,mCAAe,CAAC,YAAM;AAC9BN,IAAAA,QAAQ,CAACxD,uBAAG,CAACF,YAAD,EAAe,OAAf,CAAJ,CAAR;AACA4D,IAAAA,SAAS,CAAC,KAAD,CAAT;AACAT,IAAAA,MAAM,IAAIA,MAAM,EAAhB;AACH,GAJ0B,CAA3B;AAMA,MAAMc,eAAe,GAAGC,YAAM,CAACZ,cAAD,CAA9B;AACAW,EAAAA,eAAe,CAACE,OAAhB,GAA0Bb,cAA1B;AAEAc,EAAAA,eAAS,CAAC,YAAM;AACZH,IAAAA,eAAe,CAACE,OAAhB,IAA2BF,eAAe,CAACE,OAAhB,CAAwBR,MAAxB,CAA3B;AACH,GAFQ,EAEN,CAACA,MAAD,CAFM,CAAT;AAGA,sBAAO1E;AAAK,IAAA,SAAS,EAAEE,8BAAU,CAAC,4BAAD,EAA+B;AAC5D,mBAAawE;AAD+C,KAA/B,CAA1B;AAEH,IAAA,GAAG,EAAEI,GAFF;AAEO,IAAA,YAAY,EAAE,wBAAM;AAC9B,OAACJ,MAAD,IAAWC,SAAS,CAAC,IAAD,CAApB;AACH,KAJM;AAIJ,IAAA,YAAY,EAAE,wBAAM;AACnBD,MAAAA,MAAM,IAAIC,SAAS,CAAC,KAAD,CAAnB;AACH;AANM,kBAOH3E;AAAK,IAAA,SAAS,EAAC;AAAf,kBACIA,qDAAMD,QAAQ,CAAC;AAACc,IAAAA,KAAK,EAALA,KAAD;AAAQ4D,IAAAA,QAAQ,EAARA,QAAR;AAAkBE,IAAAA,SAAS,EAATA;AAAlB,GAAD,CAAd,CADJ,EAEKD,MAAM,gBAAG1E,wCAACoF,WAAD;AAAQ,IAAA,SAAS,EAAC,6BAAlB;AAAgD,IAAA,IAAI,EAAC,OAArD;AAA6D,IAAA,IAAI,EAAC,SAAlE;AAA4E,IAAA,OAAO,EAAE,iBAACjD,CAAD,EAAO;AAClGA,MAAAA,CAAC,CAACkD,eAAF;;AACA,UAAIjB,cAAc,IAAIA,cAAc,CAACvD,KAAD,CAAd,KAA0B,KAAhD,EAAuD;AACnD;AACH;;AACDC,MAAAA,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;AACA8D,MAAAA,SAAS,CAAC,KAAD,CAAT;AACAR,MAAAA,QAAQ,IAAIA,QAAQ,CAAC;AAACtD,QAAAA,KAAK,EAALA;AAAD,OAAD,CAApB;AACH;AARS,KAQNyD,UARM,CAAH,GAQoB,IAV/B,CAPG,CAAP;AAmBH;;AAEDP,YAAY,CAACtB,YAAb,GAA4B;AACxBwB,EAAAA,aAAa,EAAE,KADS;AACFK,EAAAA,UAAU,EAAE;AADV,CAA5B;;ACtDO,IAAMkB,UAAU,GAAG,SAAbA,UAAa,OAEO;AAAA,MADJ/E,IACI,QADJA,IACI;AAAA,MADEC,IACF,QADEA,IACF;AAAA,MADQuD,aACR,QADQA,aACR;AAAA,MADuBD,QACvB,QADuBA,QACvB;AAAA,MADiCE,MACjC,QADiCA,MACjC;AAAA,MADyCC,QACzC,QADyCA,QACzC;AAAA,MADmDE,eACnD,QADmDA,cACnD;AAAA,MADmEoB,UACnE,QADmEA,UACnE;AAAA,MAD+EC,QAC/E,QAD+EA,QAC/E;;AAC/B,kBAA0BlB,cAAQ,CAAC,IAAD,CAAlC;AAAA,MAAO9C,KAAP;AAAA,MAAciE,QAAd;;AACA,MAAMC,KAAK,GAAG,SAARA,KAAQ,CAAC/E,KAAD,EAAW;AACvB8E,IAAAA,QAAQ,CAAC,IAAD,CAAR;;AACA,QAAI,CAAC7D,KAAK,CAACC,OAAN,CAAclB,KAAd,CAAL,EAA2B;AACzB,aAAO,KAAP;AACD;;AACD,QAAIgF,4BAAQ,CAAChF,KAAK,CAAC,CAAD,CAAN,CAAR,IAAsBA,KAAK,CAAC,CAAD,CAAL,GAAWA,KAAK,CAAC,CAAD,CAA1C,EAA+C;AAC7C8E,MAAAA,QAAQ,CAAC,YAAD,CAAR;AACA,aAAO,KAAP;AACD;;AACD,WAAO,IAAP;AACD,GAVD;;AAWA,sBAAO3F,wCAAC,YAAD;AAAc,IAAA,IAAI,EAAEU,IAApB;AAA0B,IAAA,QAAQ,EAAEsD,QAApC;AAA8C,IAAA,MAAM,EAAEE,MAAtD;AAA8D,IAAA,aAAa,EAAED,aAA7E;AAA4F,IAAA,IAAI,EAAExD,IAAlG;AAAwG,IAAA,QAAQ,EAAE0D,QAAlH;AACc,IAAA,cAAc,EAAE,wBAACtD,KAAD,EAAW;AACzB,aAAO+E,KAAK,CAAC/E,KAAD,CAAZ;AACD,KAHf;AAGiB,IAAA,cAAc,EAAE,wBAAC6D,MAAD,EAAY;AAClD,UAAI,CAACA,MAAL,EAAa;AACXiB,QAAAA,QAAQ,CAAC,IAAD,CAAR;AACD;;AACDtB,MAAAA,eAAc,IAAIA,eAAc,CAACK,MAAD,CAAhC;AACD;AARM,KASJ;AAAA,QAAG7D,KAAH,SAAGA,KAAH;AAAA,QAAU4D,QAAV,SAAUA,QAAV;AAAA,QAAoBE,SAApB,SAAoBA,SAApB;AAAA,wBAAoC3E,wCAAC8F,YAAD;AAAS,MAAA,OAAO,EAAE,CAAC,CAACpE,KAApB;AAA2B,MAAA,KAAK,EAAEA,KAAlC;AAAyC,MAAA,SAAS,EAAC;AAAnD,oBAAiE1B,wCAACC,UAAD;AACpG,MAAA,IAAI,EAAC;AAD+F,oBAEpGD,wCAAC+F,gBAAD;AAAa,MAAA,IAAI,EAAC;AAAlB,OAA8BN,UAA9B;AAA0C,MAAA,KAAK,EAAExE,uBAAG,CAACJ,KAAD,EAAQ,CAAR,CAApD;AAAgE,MAAA,QAAQ,EAAE,kBAACmF,UAAD,EAAgB;AACxF,YAAMC,MAAM,GAAG,CAACD,UAAD,EAAa/E,uBAAG,CAACJ,KAAD,EAAQ,CAAR,CAAhB,CAAf;AACA+E,QAAAA,KAAK,CAACK,MAAD,CAAL;AACAxB,QAAAA,QAAQ,CAACwB,MAAD,CAAR;AACD,OAJD;AAIG,MAAA,OAAO,EAAE,mBAAM;AAChBtB,QAAAA,SAAS,CAAC,IAAD,CAAT;AACD;AAND,OAFoG,oBAUpG3E,wCAAC+F,gBAAD;AAAa,MAAA,IAAI,EAAC;AAAlB,OAA8BL,QAA9B;AAAwC,MAAA,KAAK,EAAEzE,uBAAG,CAACJ,KAAD,EAAQ,CAAR,CAAlD;AAA8D,MAAA,QAAQ,EAAE,kBAACmF,UAAD,EAAgB;AACtF,YAAMC,MAAM,GAAG,CAAChF,uBAAG,CAACJ,KAAD,EAAQ,CAAR,CAAJ,EAAgBmF,UAAhB,CAAf;AACAJ,QAAAA,KAAK,CAACK,MAAD,CAAL;AACAxB,QAAAA,QAAQ,CAACwB,MAAD,CAAR;AACD,OAJD;AAIG,MAAA,OAAO,EAAE,mBAAM;AAChBtB,QAAAA,SAAS,CAAC,IAAD,CAAT;AACD;AAND,OAVoG,CAAjE,CAApC;AAAA,GATI,CAAP;AA4BD,CA3CM;AA6CP,IAAMuB,KAAK,GAAG/F,cAAc,CAACqF,UAAD,CAA5B;;;AC/CO,IAAMW,SAAS,GAAG,SAAZA,SAAY,OAA0F;AAAA,MAAvF1F,IAAuF,QAAvFA,IAAuF;AAAA,MAA1EuD,QAA0E,QAA1EA,QAA0E;AAAA,MAAhEC,aAAgE,QAAhEA,aAAgE;AAAA,MAAjDC,MAAiD,QAAjDA,MAAiD;AAAA,MAAzCC,QAAyC,QAAzCA,QAAyC;AAAA,MAA/BE,eAA+B,QAA/BA,cAA+B;AAAA,MAAZhE,KAAY;;AACjH,sBAAOL,wCAAC,YAAD;AAAc,IAAA,aAAa,EAAEiE,aAA7B;AAA4C,IAAA,MAAM,EAAEC,MAApD;AAA4D,IAAA,QAAQ,EAAEF,QAAtE;AAAgF,IAAA,IAAI,EAAEvD,IAAtF;AAA4F,IAAA,QAAQ,EAAE0D,QAAtG;AACc,IAAA,cAAc,EAAE,wBAACO,MAAD,EAAY;AAC1BL,MAAAA,eAAc,IAAIA,eAAc,CAACK,MAAD,CAAhC;AACD;AAHf,KAIJ;AAAA,QAAG7D,KAAH,SAAGA,KAAH;AAAA,QAAU4D,QAAV,SAAUA,QAAV;AAAA,QAAoBE,SAApB,SAAoBA,SAApB;AAAA,wBAAoC3E,+FACnCA,wCAACoG,UAAD;AAAO,MAAA,IAAI,EAAC;AAAZ,OAAwB/F,KAAxB;AAA+B,MAAA,KAAK,EAAEQ,KAAtC;AAA6C,MAAA,QAAQ,EAAE,kBAACsB,CAAD,EAAO;AAC5DsC,QAAAA,QAAQ,CAACtC,CAAC,CAAC8D,MAAF,CAASpF,KAAV,CAAR;AACD,OAFD;AAEG,MAAA,OAAO,EAAE,mBAAM;AAChB8D,QAAAA,SAAS,CAAC,IAAD,CAAT;AACD;AAJD,OADmC,CAApC;AAAA,GAJI,CAAP;AAYD,CAbM;AAeP,IAAM0B,IAAI,GAAGlG,cAAc,CAACgG,SAAD,CAA3B;;;ACfO,IAAMG,aAAa,GAAG,SAAhBA,aAAgB,OAAwB;AAAA,MAArB7F,IAAqB,QAArBA,IAAqB;AAAA,MAAZJ,KAAY;;AACnD,qBAAoCX,WAAW,EAA/C;AAAA,MAAe6E,MAAf,gBAAQ1D,KAAR;AAAA,MAAuBC,SAAvB,gBAAuBA,QAAvB;;AACA,MAAMC,YAAY,GAAGwD,MAAM,CAAC9D,IAAD,CAA3B;AACA,sBAAOT,wCAACuG,WAAD,eAAYlG,KAAZ;AAAmB,IAAA,KAAK,EAAE;AAAEmG,MAAAA,QAAQ,EAAE;AAAZ,KAA1B;AAAiD,IAAA,IAAI,EAAC,OAAtD;AAA8D,IAAA,KAAK,EAAEzF,YAArE;AAAmF,IAAA,QAAQ,EAAE,kBAACF,KAAD,EAAQ0B,IAAR,EAAiB;AACnHzB,MAAAA,SAAQ,CAACL,IAAD,EAAO8B,IAAP,CAAR;AACD;AAFM,KAAP;AAGD,CANM;AAQP,IAAMkE,QAAQ,GAAGtG,cAAc,CAACmG,aAAD,CAA/B;;;;ACTA,IAAMI,KAAK,GAAG,SAARA,KAAQ,OAA+B;AAAA,MAA5BjG,IAA4B,QAA5BA,IAA4B;AAAA,MAAtBX,KAAsB,QAAtBA,KAAsB;AAAA,MAAZO,KAAY;;AAC3C,qBAAoCX,WAAW,EAA/C;AAAA,MAAe6E,MAAf,gBAAQ1D,KAAR;AAAA,MAAuBC,SAAvB,gBAAuBA,QAAvB;;AACA,MAAMC,YAAY,GAAGwD,MAAM,CAAC9D,IAAD,CAA3B;AACA,sBAAOT,wCAAC2G,aAAD,eAActG,KAAd;AAAqB,IAAA,IAAI,EAAC,OAA1B;AAAkC,IAAA,OAAO,EAAEU,YAA3C;AAAyD,IAAA,QAAQ,EAAE,kBAACoB,CAAD,EAAO;AAC/ErB,MAAAA,SAAQ,CAACL,IAAD,EAAO0B,CAAC,CAAC8D,MAAF,CAAS7E,OAAT,GAAmB;AAAEP,QAAAA,KAAK,EAAE,IAAT;AAAef,QAAAA,KAAK,EAALA;AAAf,OAAnB,GAA4C,IAAnD,CAAR;AACD;AAFM,MAEHA,KAFG,CAAP;AAGD,CAND;;;;ICEa8G,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACxG,gBAAD;AAAA,SAAsB,gBAAyC;AAAA,QAAtCK,IAAsC,QAAtCA,IAAsC;AAAA,QAAzBV,QAAyB,QAAzBA,QAAyB;AAAA,QAAZM,KAAY;;AAChG,oBAA4BmE,cAAQ,CAAC,KAAD,CAApC;AAAA,QAAOqC,MAAP;AAAA,QAAeC,SAAf;;AACA,WAAOD,MAAM,gBAAG7G,wCAAC,gBAAD;AAAkB,MAAA,aAAa,EAAE;AAAjC,OAA2CK,KAA3C;AAAkD,MAAA,IAAI,EAAEI,IAAxD;AAA8D,MAAA,MAAM,EAAE,kBAAM;AAC1FqG,QAAAA,SAAS,CAAC,KAAD,CAAT;AACD;AAFe,OAAH,gBAEL9G,wCAAC,IAAD,CAAM,IAAN;AAAW,MAAA,OAAO,EAAE,iBAACmC,CAAD,EAAO;AACjCA,QAAAA,CAAC,CAACkD,eAAF;AACAyB,QAAAA,SAAS,CAAC,IAAD,CAAT;AACD,OAHO;AAGL,MAAA,KAAK,EAAE/G,QAAQ,IAAI;AAHd,MAFR;AAMD,GARkC;AAAA;AAUnC,IAAMgH,WAAW,GAAGH,mBAAmB,CAACpB,UAAD,CAAvC;AACA,IAAMwB,UAAU,GAAGJ,mBAAmB,CAACT,SAAD,CAAtC;AACA,IAAMc,cAAc,GAAGL,mBAAmB,CAACN,aAAD,CAA1C;IAEaY,iBAAiB,GAAG,SAApBA,iBAAoB;AAAA,MAAGC,IAAH,SAAGA,IAAH;AAAA,MAAY9G,KAAZ;;AAAA,SAAwB,UAAC+G,UAAD,EAAgB;AACvE,QAAMC,OAAO,GAAG;AACdC,MAAAA,KAAK,EAAEP,WADO;AACMQ,MAAAA,IAAI,EAAEP,UADZ;AACwBQ,MAAAA,QAAQ,EAAEP;AADlC,KAAhB;AAIA,QAAMQ,oBAAoB,GAAGJ,OAAO,CAACF,IAAD,CAApC;;AACA,QAAI,CAACM,oBAAL,EAA2B;AACzB,aAAO,IAAP;AACD;;AACD,wBAAOzH,wCAAC,oBAAD,eAA0BK,KAA1B,EAAqC+G,UAArC,EAAP;AACD,GAVgC;AAAA;;ACRjC,IAAMM,UAAU,GAAG,SAAbA,UAAa,CAACnF,IAAD,EAAU;AACzB,MAAM0D,MAAM,GAAG0B,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBrF,IAAlB,CAAf;AACAoF,EAAAA,MAAM,CAACE,IAAP,CAAY5B,MAAZ,EAAoBrC,OAApB,CAA4B,UAACkE,GAAD,EAAS;AACjC,QAAMvF,IAAI,GAAG0D,MAAM,CAAC6B,GAAD,CAAnB;;AACA,KAAC,YAAM;AACH,UAAIhG,KAAK,CAACC,OAAN,CAAcQ,IAAd,KAAuBA,IAAI,CAAChB,MAAL,GAAc,CAArC,IAA0CgB,IAAI,CAACwF,KAAL,CAAW,UAACxF,IAAD;AAAA,eAAUA,IAAI,CAAC1B,KAAL,KAAe,KAAM,CAArB,IAA2B0B,IAAI,CAAC1B,KAAL,KAAe,IAA1C,IAAkD0B,IAAI,CAAC1B,KAAL,KAAe,EAA3E;AAAA,OAAX,CAA9C,EAAyI;AACrI,eAAOoF,MAAM,CAAC6B,GAAD,CAAb;AACA;AACH;;AACD,UAAIhG,KAAK,CAACC,OAAN,CAAcQ,IAAd,KAAuBA,IAAI,CAAChB,MAAL,KAAgB,CAA3C,EAA8C;AAC1C,eAAO0E,MAAM,CAAC6B,GAAD,CAAb;AACA;AACH;;AACD,UAAIvF,IAAI,IAAIT,KAAK,CAACC,OAAN,CAAcQ,IAAI,CAAC1B,KAAnB,CAAR,KAAsC0B,IAAI,CAAC1B,KAAL,CAAWU,MAAX,KAAsB,CAAtB,IAA2BgB,IAAI,CAAC1B,KAAL,CAAWkH,KAAX,CAAiB,UAACxF,IAAD;AAAA,eAAUA,IAAI,KAAK,KAAM,CAAf,IAAqBA,IAAI,KAAK,IAA9B,IAAsCA,IAAI,KAAK,EAAzD;AAAA,OAAjB,CAAjE,CAAJ,EAAqJ;AACjJ,eAAO0D,MAAM,CAAC6B,GAAD,CAAb;AACA;AACH;;AACD,UAAIvF,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;AAC/I,eAAOoF,MAAM,CAAC6B,GAAD,CAAb;AACA;AACH;AACJ,KAjBD;AAkBH,GApBD;AAqBA,SAAO7B,MAAP;AACH,CAxBD;;IA0BM+B,MAAM,GAAG,SAATA,MAAS,OAAgE;AAAA,MAA9DC,WAA8D,QAA9DA,WAA8D;AAAA,MAAjDC,OAAiD,QAAjDA,OAAiD;AAAA,MAAxCC,IAAwC,QAAxCA,IAAwC;AAAA,MAA3BnH,WAA2B,QAAlCH,KAAkC;AAAA,MAAdC,QAAc,QAAdA,QAAc;AAC3E,MAAMD,KAAK,GAAGuH,aAAO,CAAC,YAAM;AACxB,WAAOV,UAAU,CAAC1G,WAAD,CAAjB;AACH,GAFoB,EAElB,CAACA,WAAD,CAFkB,CAArB;;AAGA,kBAA8BwD,cAAQ,CAAC,KAAD,CAAtC;AAAA,MAAO6D,OAAP;AAAA,MAAgBC,UAAhB;;AACA,MAAMC,SAAS,GAAGJ,IAAI,CAAC7G,KAAL,CAAW,CAAX,EAAc2G,WAAd,CAAlB;AAAA,MAA8CO,QAAQ,GAAGL,IAAI,CAAC7G,KAAL,CAAW2G,WAAX,CAAzD;;AACA,MAAMQ,UAAU,GAAG,SAAbA,UAAa,CAACN,IAAD;AAAA,WAAUA,IAAI,CAACnG,GAAL,CAAS,UAACO,IAAD,EAAOsB,KAAP,EAAiB;AACnD,0BAAO7D,wCAACC,UAAD;AAAO,QAAA,GAAG,EAAE4D;AAAZ,SAAoBtB,IAAI,CAACP,GAAL,CAAS,UAACO,IAAD,EAAOsB,KAAP;AAAA,eAAiB6E,kBAAY,CAACnG,IAAD,EAAO;AAACuF,UAAAA,GAAG,EAAEjE;AAAN,SAAP,CAA7B;AAAA,OAAT,CAApB,CAAP;AACH,KAF4B,CAAV;AAAA,GAAnB;;AAGA,MAAM3C,aAAa,GAAG,SAAhBA,aAAgB,CAACT,IAAD,EAAO8B,IAAP,EAAgB;AAAA;;AAClC,QAAM0D,MAAM,GAAG0B,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB/G,KAAlB,uCAA2BJ,IAA3B,IAAkC8B,IAAlC,kBAAf;AACAzB,IAAAA,QAAQ,CAAC4G,UAAU,CAACzB,MAAD,CAAX,CAAR;AACH,GAHD;;AAKA,sBAAOjG,wCAACP,UAAD;AAAU,IAAA,KAAK,EAAE;AACpBoB,MAAAA,KAAK,EAALA,KADoB;AACbC,MAAAA,QAAQ,EAAEI;AADG;AAAjB,kBAGHlB;AAAK,IAAA,SAAS,EAAC;AAAf,kBACIA;AAAK,IAAA,SAAS,EAAC;AAAf,kBACIA,wCAAC,UAAD;AAAY,IAAA,SAAS,EAAC,uBAAtB;AAA8C,IAAA,KAAK,EAAC;AAApD,KAA2D2H,MAAM,CAACE,IAAP,CAAYhH,KAAZ,EAAmBmB,GAAnB,CAAuB,UAAC8F,GAAD,EAAS;AACvF,QAAMvF,IAAI,GAAG1B,KAAK,CAACiH,GAAD,CAAlB;AACA,QAAI,CAACvF,IAAL,EAAW,OAAO,IAAP;AACX,QAAIT,KAAK,CAACC,OAAN,CAAcQ,IAAd,KAAuBA,IAAI,CAAChB,MAAL,KAAgB,CAA3C,EAA8C,OAAO,IAAP;AAC9C,wBAAOvB,wCAACO,QAAD;AAAK,MAAA,GAAG,EAAEuH,GAAV;AAAe,MAAA,QAAQ,MAAvB;AAAwB,MAAA,OAAO,EAAE,mBAAM;AAC1C5G,QAAAA,aAAa,CAAC4G,GAAD,EAAM,IAAN,CAAb;AACH;AAFM,OAEHhG,KAAK,CAACC,OAAN,CAAcQ,IAAd,IAAsBA,IAAI,CAACP,GAAL,CAAS;AAAA,UAAElC,KAAF,SAAEA,KAAF;AAAA,aAAaA,KAAb;AAAA,KAAT,EAA6B6I,IAA7B,CAAkC,GAAlC,CAAtB,GAA+DpG,IAAI,CAACzC,KAFjE,CAAP;AAGH,GAP0D,CAA3D,CADJ,EASK2I,UAAU,CAACP,OAAO,GAAGK,SAAH,GAAeJ,IAAvB,CATf,CADJ,EAYKE,OAAO,gBAAGrI,+FAAEA,wCAAC4I,YAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,IAAF,eACH5I;AAAK,IAAA,SAAS,EAAC;AAAf,KAAqCyI,UAAU,CAACD,QAAD,CAA/C,CADG,CAAH,gBAGJxI;AAAK,IAAA,SAAS,EAAC;AAAf,IAfR,EAgBKkI,OAAO,IAAIC,IAAI,CAAC5G,MAAL,GAAc0G,WAAzB,gBAAuCjI,wCAAC6I,QAAD;AAAK,IAAA,SAAS,EAAC,yBAAf;AAAyC,IAAA,OAAO,EAAC;AAAjD,kBACpC7I,wCAAC8I,QAAD,qBAAK9I,wCAACoF,WAAD;AAAQ,IAAA,IAAI,EAAC,MAAb;AAAoB,IAAA,OAAO,EAAE,mBAAM;AACpCkD,MAAAA,UAAU,CAAC,UAACD,OAAD;AAAA,eAAa,CAACA,OAAd;AAAA,OAAD,CAAV;AACH;AAFI,KAEDA,OAAO,GAAG,QAAH,GAAc,QAFpB,CAAL,CADoC,CAAvC,GAIQ,IApBb,CAHG,CAAP;AA0BH;;AAEDL,MAAM,CAACb,IAAP,GAAc;AACVzE,EAAAA,IAAI,EAAJA,IADU;AACJlC,EAAAA,IAAI,EAAJA,IADI;AACE0F,EAAAA,KAAK,EAALA,KADF;AACSG,EAAAA,IAAI,EAAJA,IADT;AACeI,EAAAA,QAAQ,EAARA,QADf;AACyBC,EAAAA,KAAK,EAALA;AADzB,CAAd;AAIAsB,MAAM,CAACvF,YAAP,GAAsB;AAClBwF,EAAAA,WAAW,EAAE,CADK;AACFC,EAAAA,OAAO,EAAE,IADP;AACaC,EAAAA,IAAI,EAAE,CAAC,EAAD,CADnB;AACyBtH,EAAAA,KAAK,EAAE,EADhC;AACoCC,EAAAA,QAAQ,EAAE,oBAAM;AADpD,CAAtB;;;;;;;;;;"}
|
package/dist/index.modern.js
CHANGED
|
@@ -719,5 +719,5 @@ Filter.defaultProps = {
|
|
|
719
719
|
onChange: () => {}
|
|
720
720
|
};
|
|
721
721
|
|
|
722
|
-
export { FilterItem, SearchButton, createExtraButton, Filter as default, withFilterItem, withMoreExtraButton };
|
|
722
|
+
export { FilterItem, SearchButton, context$1 as context, createExtraButton, Filter as default, withFilterItem, withMoreExtraButton };
|
|
723
723
|
//# sourceMappingURL=index.modern.js.map
|
package/dist/index.modern.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.modern.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 = ({displayLine, isExtra, list, value: originValue, onChange}) => {\n const value = useMemo(() => {\n return filterNull(originValue);\n }, [originValue]);\n const [display, setDisplay] = useState(false);\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 <FilterItem className=\"react-filter-selected\" label=\"筛选项\">{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 })}</FilterItem>\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 ? \"收起筛选条件\" : \"展开筛选条件\"}</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 displayLine: 2, isExtra: true, list: [[]], value: {}, 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 default Filter;\n"],"names":["context","createContext","Consumer","Provider","useConsumer","useContext","FilterItem","className","label","children","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","getChinaHotCities","data","otherList","filter","find","extraLength","forEach","index","SearchButton","template","defaultActive","onBlur","onSearch","onBeforeSearch","onActiveChange","buttonText","aValue","setValue","useState","active","setActive","withTemplate","toString","ref","useClickOutSide","activeChangeRef","useRef","current","useEffect","stopPropagation","Number","isInteger","RangeInner","startProps","endProps","setError","check","isNumber","inputValue","target","Range","TextInner","Text","SelectorInner","minWidth","Selector","Check","withMoreExtraButton","isEdit","setIsEdit","RangeButton","TextButton","SelectorButton","createExtraButton","type","innerProps","mapping","range","text","selector","ExtraButtonComponent","filterNull","Object","assign","keys","key","every","Filter","displayLine","isExtra","list","useMemo","display","setDisplay","basicList","moreList","renderList","cloneElement","join"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.modern.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 = ({displayLine, isExtra, list, value: originValue, onChange}) => {\n const value = useMemo(() => {\n return filterNull(originValue);\n }, [originValue]);\n const [display, setDisplay] = useState(false);\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 <FilterItem className=\"react-filter-selected\" label=\"筛选项\">{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 })}</FilterItem>\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 ? \"收起筛选条件\" : \"展开筛选条件\"}</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 displayLine: 2, isExtra: true, list: [[]], value: {}, 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 {default as context} from './context';\n\nexport default Filter;\n"],"names":["context","createContext","Consumer","Provider","useConsumer","useContext","FilterItem","className","label","children","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","getChinaHotCities","data","otherList","filter","find","extraLength","forEach","index","SearchButton","template","defaultActive","onBlur","onSearch","onBeforeSearch","onActiveChange","buttonText","aValue","setValue","useState","active","setActive","withTemplate","toString","ref","useClickOutSide","activeChangeRef","useRef","current","useEffect","stopPropagation","Number","isInteger","RangeInner","startProps","endProps","setError","check","isNumber","inputValue","target","Range","TextInner","Text","SelectorInner","minWidth","Selector","Check","withMoreExtraButton","isEdit","setIsEdit","RangeButton","TextButton","SelectorButton","createExtraButton","type","innerProps","mapping","range","text","selector","ExtraButtonComponent","filterNull","Object","assign","keys","key","every","Filter","displayLine","isExtra","list","useMemo","display","setDisplay","basicList","moreList","renderList","cloneElement","join"],"mappings":"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"}
|