@kne/react-filter 0.1.13 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/context.js","../src/FilterItem/index.js","../src/List/index.js","../src/City/index.js","../src/SearchButton/index.js","../src/Range/index.js","../src/Text/index.js","../src/Selector/index.js","../src/Check/index.js","../src/MoreExtraButton/index.js","../src/index.js"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\nconst context = createContext({});\n\nexport const { Consumer, Provider } = context;\n\nexport const useConsumer = () => useContext(context);\n\nexport default context;","import React from \"react\";\nimport {Space} from \"antd\";\nimport classnames from 'classnames';\n\nconst FilterItem = ({className, label, children}) => {\n return <Space className={classnames('react-filter-item', className)}>\n <div className=\"react-filter-item-label\">{label}:</div>\n <div className=\"react-filter-item-children\">{children}</div>\n </Space>;\n};\n\nexport const withFilterItem = (WrappedComponent) => ({label, ...props}) => <FilterItem\n label={label}><WrappedComponent {...props} /></FilterItem>;\n\nexport default FilterItem;\n","import React, { createContext, useContext } from \"react\";\nimport { Button, message, Tag } from \"antd\";\nimport { useConsumer } from \"../context\";\nimport FilterItem from \"../FilterItem\";\nimport get from \"lodash/get\";\nimport isFunction from \"lodash/isFunction\";\nimport isEqual from \"lodash/isEqual\";\n\nconst { CheckableTag } = Tag;\n\nconst context = createContext({});\n\nconst { Provider } = context;\n\nconst List = ({ label, name, size, children, options, more }) => {\n const { value, onChange } = useConsumer();\n const currentValue = (() => {\n const originValue = get(value, name);\n if (size === 1) {\n return originValue !== void (0) ? [originValue] : [];\n } else {\n return originValue || [];\n }\n })();\n\n const changeHandler = (value) => {\n if (size === 1) {\n return onChange(name, value[0]);\n } else {\n return onChange(name, value);\n }\n };\n const createCheckedChangeHandler = (value) => (checked) => {\n if (checked) {\n let newList = currentValue.slice(0);\n if (currentValue.length < size) {\n newList.push(value);\n }\n if (currentValue.length === size && size === 1) {\n newList = [value];\n }\n if (currentValue.length >= size && size > 1) {\n message.error(`最多选择${size}个`);\n return;\n }\n changeHandler(newList);\n } else {\n const newList = currentValue.slice(0);\n newList.splice(currentValue.indexOf(value), 1);\n changeHandler(newList);\n }\n };\n const computedChildren = (() => {\n if (Array.isArray(options)) {\n return options.map(({ label, value }) => <List.Item key={value} value={value} label={label} />);\n }\n if (isFunction(children)) {\n return children({ value: currentValue, onChange: changeHandler });\n }\n return children;\n })();\n return <FilterItem label={label}>\n <Provider value={{\n currentValue, createCheckedChangeHandler\n }}>\n {computedChildren}\n {more ? (() => {\n if (isFunction(more)) {\n return more({ name, size, label, value: currentValue, onChange: changeHandler });\n }\n const { children, onClick } = more;\n return <List.Item {...more} onClick={(e) => {\n onClick({ name, label, value: currentValue, onChange: changeHandler }, e);\n }} label={children || \"其他\"} />;\n })() : null}\n </Provider>\n </FilterItem>;\n};\n\nList.Item = ({ value, label, ...props }) => {\n const { currentValue, createCheckedChangeHandler } = useContext(context);\n const itemProps = {};\n if (value !== void (0)) {\n itemProps.checked = currentValue.findIndex((item) => isEqual(get(item,'value'), value)) > -1;\n itemProps.onChange = createCheckedChangeHandler({ label, value });\n }\n\n return <CheckableTag {...props} {...itemProps}>{label}</CheckableTag>;\n};\n\nList.defaultProps = {\n size: 2\n};\n\nexport default List;\n","import React from \"react\";\nimport { createCitySelect, apis, RemoteData, DisplayCity } from \"@kne/react-city-select\";\nimport List from \"../List\";\n\nconst { Item } = List;\n\nconst City = ({ label, name, size }) => {\n return <List label={label} name={name} size={size} more={{\n children: \"其他\", onClick: ({ value, onChange }) => {\n createCitySelect({\n size, defaultValue: value.map(({ value }) => value), onChange: (value) => {\n Promise.all(value.map((id) => apis.getCity(id).then(({ city }) => ({\n label: city.name, value: city.code\n })))).then((value) => onChange(value));\n }\n });\n }\n }}>\n {({ value: currentValue }) => <>\n <RemoteData loader={apis.getChinaHotCities}>{(data) => {\n const otherList = currentValue.filter(({ value: code }) => !data.find((item) => item.code === code));\n let extraLength = 0;\n data.forEach((item, index) => {\n if (currentValue.findIndex(({ value }) => value === item.code) > -1 && index >= data.length - otherList.length) {\n extraLength += 1;\n }\n });\n return <>\n {otherList.map(({ value: code }) => {\n return <DisplayCity id={code} key={code}>{({ city: item }) => {\n return <Item value={code} label={item.name} />;\n }}</DisplayCity>;\n })}\n {data.filter((item, index) => currentValue.findIndex(({ value }) => value === item.code) > -1 || index < data.length - otherList.length - extraLength).map((item) =>\n <Item key={item.code} value={item.code} label={item.name} />)}\n </>;\n }}</RemoteData>\n </>}\n </List>;\n};\n\nexport default City;","import React, {useState, useEffect, useRef} from \"react\";\nimport {Button, Space} from \"antd\";\nimport {useConsumer} from \"../context\";\nimport useClickOutSide from \"@kne/use-click-outside\";\nimport classnames from \"classnames\";\nimport isFunction from \"lodash/isFunction\";\nimport get from \"lodash/get\";\n\nconst SearchButton = ({\n name,\n size,\n template,\n children,\n defaultValue,\n defaultActive,\n onBlur,\n onSearch,\n onBeforeSearch,\n onActiveChange,\n buttonText\n }) => {\n const {value: aValue, onChange} = useConsumer();\n const currentValue = aValue[name];\n const [value, setValue] = useState(defaultValue || get(currentValue, \"value\"));\n const [active, setActive] = useState(defaultActive);\n const withTemplate = (value = '') => ({\n value, label: isFunction(template) ? template(value) : value.toString()\n });\n const ref = useClickOutSide(() => {\n setValue(get(currentValue, \"value\"));\n setActive(false);\n onBlur && onBlur();\n });\n\n const activeChangeRef = useRef(onActiveChange);\n activeChangeRef.current = onActiveChange;\n\n useEffect(() => {\n activeChangeRef.current && activeChangeRef.current(active);\n }, [active]);\n return <div className={classnames(\"react-filter-search-button\", {\n \"is-active\": active\n })} ref={ref} onMouseEnter={() => {\n !active && setActive(true);\n }} onMouseLeave={() => {\n active && setActive(false);\n }}>\n <div className=\"inner\">\n <div>{children({value, setValue, setActive})}</div>\n {active ? <Button className=\"react-filter-search-confirm\" size=\"small\" type=\"primary\" onClick={(e) => {\n e.stopPropagation();\n if (onBeforeSearch && onBeforeSearch(value) === false) {\n return;\n }\n onChange(name, Number.isInteger(size) && size > 1 ? [withTemplate(value)] : withTemplate(value));\n setActive(false);\n onSearch && onSearch({value});\n }}>{buttonText}</Button> : null}</div>\n </div>;\n};\n\nSearchButton.defaultProps = {\n defaultActive: false, buttonText: \"确定\"\n};\n\nexport default SearchButton;\n","import React, { useState } from \"react\";\nimport { InputNumber, Space, Tooltip } from \"antd\";\nimport { withFilterItem } from \"../FilterItem\";\nimport SearchButton from \"../SearchButton\";\nimport get from \"lodash/get\";\nimport isNumber from \"lodash/isNumber\";\n\nexport const RangeInner = ({\n name, size, defaultActive, template, onBlur, onSearch, onActiveChange, startProps, endProps\n }) => {\n const [error, setError] = useState(null);\n const check = (value) => {\n setError(null);\n if (!Array.isArray(value)) {\n return false;\n }\n if (isNumber(value[1]) && value[0] > value[1]) {\n setError(\"最大值不能小于最小值\");\n return false;\n }\n return true;\n };\n return <SearchButton size={size} template={template} onBlur={onBlur} defaultActive={defaultActive} name={name} onSearch={onSearch}\n onBeforeSearch={(value) => {\n return check(value);\n }} onActiveChange={(active) => {\n if (!active) {\n setError(null);\n }\n onActiveChange && onActiveChange(active);\n }}>\n {({ value, setValue, setActive }) => <Tooltip visible={!!error} title={error} placement=\"bottomRight\"><Space\n size=\"small\">\n <InputNumber size=\"small\" {...startProps} value={get(value, 0)} onChange={(inputValue) => {\n const target = [inputValue, get(value, 1)];\n check(target);\n setValue(target);\n }} onFocus={() => {\n setActive(true);\n }} />\n ~\n <InputNumber size=\"small\" {...endProps} value={get(value, 1)} onChange={(inputValue) => {\n const target = [get(value, 0), inputValue];\n check(target);\n setValue(target);\n }} onFocus={() => {\n setActive(true);\n }} />\n </Space></Tooltip>}\n </SearchButton>;\n};\n\nconst Range = withFilterItem(RangeInner);\n\nexport default Range;\n\n","import React from \"react\";\nimport { Input } from \"antd\";\nimport { withFilterItem } from \"../FilterItem\";\nimport SearchButton from \"../SearchButton\";\n\nexport const TextInner = ({ name, label, template, defaultActive, onBlur, onSearch, onActiveChange, ...props }) => {\n return <SearchButton defaultActive={defaultActive} onBlur={onBlur} template={template} name={name} onSearch={onSearch}\n onActiveChange={(active) => {\n onActiveChange && onActiveChange(active);\n }}>\n {({ value, setValue, setActive }) => <>\n <Input size=\"small\" {...props} value={value} onChange={(e) => {\n setValue(e.target.value);\n }} onFocus={() => {\n setActive(true);\n }} />\n </>}\n </SearchButton>;\n};\n\nconst Text = withFilterItem(TextInner);\n\nexport default Text;\n\n","import React from \"react\";\nimport { Select } from \"antd\";\nimport { withFilterItem } from \"../FilterItem\";\nimport { useConsumer } from \"../context\";\n\nexport const SelectorInner = ({ name, ...props }) => {\n const { value: aValue, onChange } = useConsumer();\n const currentValue = aValue[name];\n return <Select {...props} style={{ minWidth: \"150px\" }} size=\"small\" value={currentValue} onChange={(value, item) => {\n onChange(name, item);\n }} />;\n};\n\nconst Selector = withFilterItem(SelectorInner);\n\nexport default Selector;","import React from \"react\";\nimport { Checkbox } from \"antd\";\nimport { useConsumer } from \"../context\";\n\nconst Check = ({ name, label, ...props }) => {\n const { value: aValue, onChange } = useConsumer();\n const currentValue = aValue[name];\n return <Checkbox {...props} size=\"small\" checked={currentValue} onChange={(e) => {\n onChange(name, e.target.checked ? { value: true, label } : null);\n }}>{label}</Checkbox>;\n};\n\nexport default Check;","import React, { useState } from \"react\";\nimport List from \"../List\";\nimport { RangeInner } from \"../Range\";\nimport { TextInner } from \"../Text\";\nimport { SelectorInner } from \"../Selector\";\n\nexport const withMoreExtraButton = (WrappedComponent) => ({ name, value, children, ...props }) => {\n const [isEdit, setIsEdit] = useState(false);\n return isEdit ? <WrappedComponent defaultActive={true} {...props} name={name} onBlur={() => {\n setIsEdit(false);\n }} /> : <List.Item onClick={(e) => {\n e.stopPropagation();\n setIsEdit(true);\n }} label={children || \"其他\"} />;\n};\n\nconst RangeButton = withMoreExtraButton(RangeInner);\nconst TextButton = withMoreExtraButton(TextInner);\nconst SelectorButton = withMoreExtraButton(SelectorInner);\n\nexport const createExtraButton = ({ type, ...props }) => (innerProps) => {\n const mapping = {\n range: RangeButton, text: TextButton, selector: SelectorButton\n };\n\n const ExtraButtonComponent = mapping[type];\n if (!ExtraButtonComponent) {\n return null;\n }\n return <ExtraButtonComponent {...props} {...innerProps} />;\n};\n\n","import React, {cloneElement, useState, useMemo} from \"react\";\nimport {Space, Button, Divider, Tag, Row, Col} from \"antd\";\nimport City from \"./City\";\nimport List from \"./List\";\nimport Range from \"./Range\";\nimport Text from \"./Text\";\nimport Selector from \"./Selector\";\nimport Check from \"./Check\";\nimport {Provider} from \"./context\";\nimport FilterItem from \"./FilterItem\";\nimport \"./index.scss\";\n\nconst filterNull = (item) => {\n const target = Object.assign({}, item);\n Object.keys(target).forEach((key) => {\n const item = target[key];\n (() => {\n if (Array.isArray(item) && item.length > 0 && item.every((item) => item.value === void (0) || item.value === null || item.value === \"\")) {\n delete target[key];\n return;\n }\n if (Array.isArray(item) && item.length === 0) {\n delete target[key];\n return;\n }\n if (item && Array.isArray(item.value) && (item.value.length === 0 || item.value.every((item) => item === void (0) || item === null || item === \"\"))) {\n delete target[key];\n return;\n }\n if (item === void (0) || item === null || (!Array.isArray(item) && item && (item.value === void (0) || item.value === null || item.value === \"\"))) {\n delete target[key];\n return;\n }\n })();\n });\n return target;\n};\n\nconst Filter = ({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 {useConsumer as useFilterContext} from './context';\n\nexport default Filter;\n"],"names":["context","createContext","Provider","useConsumer","useContext","FilterItem","className","label","children","React","Space","classnames","withFilterItem","WrappedComponent","props","CheckableTag","Tag","List","name","size","options","more","value","onChange","currentValue","originValue","get","changeHandler","createCheckedChangeHandler","checked","newList","slice","length","push","message","error","splice","indexOf","computedChildren","Array","isArray","map","isFunction","onClick","e","Item","itemProps","findIndex","item","isEqual","defaultProps","City","createCitySelect","defaultValue","Promise","all","id","apis","getCity","then","city","code","RemoteData","getChinaHotCities","data","otherList","filter","find","extraLength","forEach","index","DisplayCity","SearchButton","template","defaultActive","onBlur","onSearch","onBeforeSearch","onActiveChange","buttonText","aValue","useState","setValue","active","setActive","withTemplate","toString","ref","useClickOutSide","activeChangeRef","useRef","current","useEffect","Button","stopPropagation","Number","isInteger","RangeInner","startProps","endProps","setError","check","isNumber","Tooltip","InputNumber","inputValue","target","Range","TextInner","Input","Text","SelectorInner","Select","minWidth","Selector","Check","Checkbox","withMoreExtraButton","isEdit","setIsEdit","RangeButton","TextButton","SelectorButton","createExtraButton","type","innerProps","mapping","range","text","selector","ExtraButtonComponent","filterNull","Object","assign","keys","key","every","Filter","displayLine","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/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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,OAA+C;EAAA,IAA7CC,SAA6C,QAA7CA,SAA6C;MAAlCC,KAAkC,QAAlCA,KAAkC;MAA3BC,WAA2B,QAA3BA,WAA2B;MAAdC,QAAc,QAAdA,QAAc;EAC9D,oBAAOC,wCAACC,UAAD;IAAO,SAAS,EAAEC,8BAAU,CAAC,mBAAD,EAAsBN,SAAtB;KAC9BE,WAAW,GAAG,IAAH,gBAAUE;IAAK,SAAS,EAAC;KAA2BH,KAA1C,MADnB,eAEHG;IAAK,SAAS,EAAC;KAA8BD,QAA7C,CAFG,CAAP;AAIH;;IAEYI,cAAc,GAAG,SAAjBA,cAAiB,CAACC,gBAAD;EAAA,OAAsB,iBAAoC;IAAA,IAAlCP,KAAkC,SAAlCA,KAAkC;QAA3BC,WAA2B,SAA3BA,WAA2B;QAAXO,KAAW;;IACpF,oBAAOL,wCAAC,UAAD;MAAY,KAAK,EAAEH,KAAnB;MAA0B,WAAW,EAAEC;oBAAaE,wCAAC,gBAAD,eAAsBK,KAAtB;MAA6B,KAAK,EAAER;OAAxF,CAAP;GAD0B;AAAA;;;ACH9B,IAAOS,YAAP,GAAuBC,QAAvB,CAAOD,YAAP;AAEA,IAAMhB,OAAO,GAAGC,mBAAa,CAAC,EAAD,CAA7B;AAEA,IAAOC,QAAP,GAAmBF,OAAnB,CAAOE,QAAP;;AAEA,IAAMgB,IAAI,GAAG,SAAPA,IAAO,OAA+D;EAAA,IAA7DX,KAA6D,QAA7DA,KAA6D;MAAtDC,WAAsD,QAAtDA,WAAsD;MAAzCW,IAAyC,QAAzCA,IAAyC;MAAnCC,IAAmC,QAAnCA,IAAmC;MAA7BX,QAA6B,QAA7BA,QAA6B;MAAnBY,OAAmB,QAAnBA,OAAmB;MAAVC,IAAU,QAAVA,IAAU;;EACxE,mBAA0BnB,WAAW,EAArC;MAAOoB,KAAP,gBAAOA,KAAP;MAAcC,QAAd,gBAAcA,QAAd;;EACA,IAAMC,YAAY,GAAI,YAAM;IACxB,IAAMC,WAAW,GAAGC,uBAAG,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,IAAEnC,KAAF,SAAEA,KAAF;YAASgB,KAAT,SAASA,KAAT;QAAA,oBAAoBb,wCAAC,IAAD,CAAM,IAAN;UAAW,GAAG,EAAEa,KAAhB;UAAuB,KAAK,EAAEA,KAA9B;UAAqC,KAAK,EAAEhB;UAAhE;OAAZ,CAAP;;;IAEJ,IAAIoC,8BAAU,CAAClC,QAAD,CAAd,EAA0B;MACtB,OAAOA,QAAQ,CAAC;QAACc,KAAK,EAAEE,YAAR;QAAsBD,QAAQ,EAAEI;OAAjC,CAAf;;;IAEJ,OAAOnB,QAAP;GAPqB,EAAzB;;EASA,oBAAOC,wCAAC,UAAD;IAAY,KAAK,EAAEH,KAAnB;IAA0B,WAAW,EAAEC;kBAC1CE,wCAAC,QAAD;IAAU,KAAK,EAAE;MACbe,YAAY,EAAZA,YADa;MACCI,0BAA0B,EAA1BA;;KAEbU,gBAHL,EAIKjB,IAAI,GAAI,YAAM;IACX,IAAIqB,8BAAU,CAACrB,IAAD,CAAd,EAAsB;MAClB,OAAOA,IAAI,CAAC;QAACH,IAAI,EAAJA,IAAD;QAAOC,IAAI,EAAJA,IAAP;QAAab,KAAK,EAALA,KAAb;QAAoBgB,KAAK,EAAEE,YAA3B;QAAyCD,QAAQ,EAAEI;OAApD,CAAX;;;IAEJ,IAAOnB,QAAP,GAA4Ba,IAA5B,CAAOb,QAAP;QAAiBmC,QAAjB,GAA4BtB,IAA5B,CAAiBsB,OAAjB;IACA,oBAAOlC,wCAAC,IAAD,CAAM,IAAN,eAAeY,IAAf;MAAqB,OAAO,EAAE,iBAACuB,CAAD,EAAO;QACxCD,QAAO,CAAC;UAACzB,IAAI,EAAJA,IAAD;UAAOZ,KAAK,EAALA,KAAP;UAAcgB,KAAK,EAAEE,YAArB;UAAmCD,QAAQ,EAAEI;SAA9C,EAA8DiB,CAA9D,CAAP;OADG;MAEJ,KAAK,EAAEpC,QAAQ,IAAI;OAFtB;GALI,EAAH,GAQE,IAZX,CADG,CAAP;AAgBH,CA/DD;;AAiEAS,IAAI,CAAC4B,IAAL,GAAY,iBAA8B;EAAA,IAA5BvB,KAA4B,SAA5BA,KAA4B;MAArBhB,KAAqB,SAArBA,KAAqB;MAAXQ,KAAW;;EACtC,kBAAmDX,gBAAU,CAACJ,OAAD,CAA7D;MAAOyB,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,2BAAO,CAACvB,uBAAG,CAACsB,IAAD,EAAO,OAAP,CAAJ,EAAqB1B,KAArB,CAAjB;KAAvB,IAAuE,CAAC,CAA5F;IACAwB,SAAS,CAACvB,QAAV,GAAqBK,0BAA0B,CAAC;MAACtB,KAAK,EAALA,KAAD;MAAQgB,KAAK,EAALA;KAAT,CAA/C;;;EAGJ,oBAAOb,wCAAC,YAAD,eAAkBK,KAAlB,EAA6BgC,SAA7B,GAAyCxC,KAAzC,CAAP;AACH,CATD;;AAWAW,IAAI,CAACiC,YAAL,GAAoB;EAChB/B,IAAI,EAAE;AADU,CAApB;;;ACtFA,IAAO0B,IAAP,GAAe5B,IAAf,CAAO4B,IAAP;;AAEA,IAAMM,IAAI,GAAG,SAAPA,IAAO,OAAgD;MAA9C7C,KAA8C,QAA9CA,KAA8C;MAAvCC,WAAuC,QAAvCA,WAAuC;MAA1BW,IAA0B,QAA1BA,IAA0B;MAApBC,IAAoB,QAApBA,IAAoB;;;EACzD,oBAAOV,wCAAC,IAAD;IAAM,WAAW,EAAEF,WAAnB;IAAgC,KAAK,EAAED,KAAvC;IAA8C,IAAI,EAAEY,IAApD;IAA0D,IAAI,EAAEC,IAAhE;IAAsE,IAAI,EAAE;MAC/EX,QAAQ,EAAE,IADqE;MAC/DmC,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;kBAC7DtD,KAAK,EAAEsD,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,oBAA2Bb,+FACxBA,wCAACqD,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,oBAAO3D,kFACFwD,SAAS,CAACxB,GAAV,CAAc,iBAAmB;QAAA,IAAVoB,IAAU,SAAjBvC,KAAiB;QAC9B,oBAAOb,wCAAC8D,2BAAD;UAAa,EAAE,EAAEV,IAAjB;UAAuB,GAAG,EAAEA;WAAO,iBAAkB;UAAA,IAAVb,IAAU,SAAhBY,IAAgB;UACxD,oBAAOnD,wCAAC,IAAD;YAAM,KAAK,EAAEoD,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,oBACrJvC,wCAAC,IAAD;UAAM,GAAG,EAAEuC,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;;ICEMsD,YAAY,GAAG,SAAfA,YAAe,OAYO;EAAA,IAXFtD,IAWE,QAXFA,IAWE;MAVFC,IAUE,QAVFA,IAUE;MATFsD,QASE,QATFA,QASE;MARFjE,QAQE,QARFA,QAQE;MAPF6C,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,mBAAkC7E,WAAW,EAA7C;MAAc8E,MAAd,gBAAO1D,KAAP;MAAsBC,QAAtB,gBAAsBA,QAAtB;;EACA,IAAMC,YAAY,GAAGwD,MAAM,CAAC9D,IAAD,CAA3B;;EACA,gBAA0B+D,cAAQ,CAAC5B,YAAY,IAAI3B,uBAAG,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;MAC3BhB,KAAK,EAAEoC,8BAAU,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,uBAAG,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,oBAAO1E;IAAK,SAAS,EAAEE,8BAAU,CAAC,4BAAD,EAA+B;MAC5D,aAAawE;KADgB,CAA1B;IAEH,GAAG,EAAEI,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;;kBAEA3E;IAAK,SAAS,EAAC;kBACXA,qDAAMD,QAAQ,CAAC;IAACc,KAAK,EAALA,KAAD;IAAQ4D,QAAQ,EAARA,QAAR;IAAkBE,SAAS,EAATA;GAAnB,CAAd,CADJ,EAEKD,MAAM,gBAAG1E,wCAACoF,WAAD;IAAQ,SAAS,EAAC,6BAAlB;IAAgD,IAAI,EAAC,OAArD;IAA6D,IAAI,EAAC,SAAlE;IAA4E,OAAO,EAAE,iBAACjD,CAAD,EAAO;MAClGA,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,UARM,CAAH,GAQoB,IAV/B,CAPG,CAAP;AAmBH;;AAEDP,YAAY,CAACtB,YAAb,GAA4B;EACxBwB,aAAa,EAAE,KADS;EACFK,UAAU,EAAE;AADV,CAA5B;;ACtDO,IAAMkB,UAAU,GAAG,SAAbA,UAAa,OAWO;EAAA,IAVF/E,IAUE,QAVFA,IAUE;MATFC,IASE,QATFA,IASE;MARFuD,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,4BAAQ,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,oBAAO5F,wCAAC,YAAD;IAAc,IAAI,EAAEU,IAApB;IAA0B,QAAQ,EAAEsD,QAApC;IAA8C,MAAM,EAAEE,MAAtD;IAA8D,aAAa,EAAED,aAA7E;IAA4F,IAAI,EAAExD,IAAlG;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,oBAAkC3E,wCAAC+F,YAAD;MAAS,OAAO,EAAE,CAAC,CAACrE,KAApB;MAA2B,KAAK,EAAEA,KAAlC;MAAyC,SAAS,EAAC;oBAAc1B,wCAACC,UAAD;MAChG,IAAI,EAAC;oBACLD,wCAACgG,gBAAD;MAAa,IAAI,EAAC;OAAYP,UAA9B;MAA0C,KAAK,EAAExE,uBAAG,CAACJ,KAAD,EAAQ,CAAR,CAApD;MAAgE,QAAQ,EAAE,kBAACoF,UAAD,EAAgB;QACtF,IAAMC,MAAM,GAAG,CAACD,UAAD,EAAahF,uBAAG,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,oBAUhG3F,wCAACgG,gBAAD;MAAa,IAAI,EAAC;OAAYN,QAA9B;MAAwC,KAAK,EAAEzE,uBAAG,CAACJ,KAAD,EAAQ,CAAR,CAAlD;MAA8D,QAAQ,EAAE,kBAACoF,UAAD,EAAgB;QACpF,IAAMC,MAAM,GAAG,CAACjF,uBAAG,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,CArDM;AAuDP,IAAMQ,KAAK,GAAGhG,cAAc,CAACqF,UAAD,CAA5B;;;ACzDO,IAAMY,SAAS,GAAG,SAAZA,SAAY,OAUO;EAAA,IATF3F,IASE,QATFA,IASE;MARFZ,KAQE,QARFA,KAQE;MAPFmE,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,oBAAOL,wCAAC,YAAD;IAAc,aAAa,EAAEiE,aAA7B;IAA4C,MAAM,EAAEC,MAApD;IAA4D,QAAQ,EAAEF,QAAtE;IAAgF,IAAI,EAAEvD,IAAtF;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,oBAAkC3E,+FAC/BA,wCAACqG,UAAD;MAAO,IAAI,EAAC;OAAYhG,KAAxB;MAA+B,WAAW,EAAEsF,WAAW,IAAI9F,KAA3D;MAAkE,KAAK,EAAEgB,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,CAxBM;AA0BP,IAAM2B,IAAI,GAAGnG,cAAc,CAACiG,SAAD,CAA3B;;;AC1BO,IAAMG,aAAa,GAAG,SAAhBA,aAAgB,OAA0C;EAAA,IAAxC9F,IAAwC,QAAxCA,IAAwC;MAAlCZ,KAAkC,QAAlCA,KAAkC;MAA3B8F,WAA2B,QAA3BA,WAA2B;MAAXtF,KAAW;;EACnE,mBAAkCZ,WAAW,EAA7C;MAAc8E,MAAd,gBAAO1D,KAAP;MAAsBC,SAAtB,gBAAsBA,QAAtB;;EACA,IAAMC,YAAY,GAAGwD,MAAM,CAAC9D,IAAD,CAA3B;EACA,oBAAOT,wCAACwG,WAAD,eAAYnG,KAAZ;IAAmB,WAAW,EAAER,KAAK,IAAI8F,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,OAAwC;EAAA,IAAtCjG,IAAsC,QAAtCA,IAAsC;MAAhCZ,KAAgC,QAAhCA,KAAgC;MAAzBD,SAAyB,QAAzBA,SAAyB;MAAXS,KAAW;;EAClD,mBAAkCZ,WAAW,EAA7C;MAAc8E,MAAd,gBAAO1D,KAAP;MAAsBC,SAAtB,gBAAsBA,QAAtB;;EACA,IAAMC,YAAY,GAAGwD,MAAM,CAAC9D,IAAD,CAA3B;EACA,oBAAOT,wCAAC2G,aAAD,eAActG,KAAd;IAAqB,SAAS,EAAEH,8BAAU,CAAC,mBAAD,EAAsBN,SAAtB,CAA1C;IAA4E,IAAI,EAAC,OAAjF;IACU,OAAO,EAAEmB,YADnB;IACiC,QAAQ,EAAE,kBAACoB,CAAD,EAAO;MACrDrB,SAAQ,CAACL,IAAD,EAAO0B,CAAC,CAAC+D,MAAF,CAAS9E,OAAT,GAAmB;QAACP,KAAK,EAAE,IAAR;QAAchB,KAAK,EAALA;OAAjC,GAA0C,IAAjD,CAAR;;MACAA,KAHG,CAAP;AAIH,CAPD;;;ACCA,IAAM+G,SAAS,GAAGzG,cAAc,CAAC,gBAAsC;MAA7BM,IAA6B,QAA7BA,IAA6B;MAAvBE,OAAuB,QAAvBA,OAAuB;MAAXN,KAAW;;EACnE,mBAAkCZ,WAAW,EAA7C;MAAc8E,MAAd,gBAAO1D,KAAP;MAAsBC,SAAtB,gBAAsBA,QAAtB;;EACA,IAAMC,YAAY,GAAGwD,MAAM,CAAC9D,IAAD,CAA3B;EACAoG,OAAO,CAACC,GAAR,CAAY/F,YAAZ;EACA,oBAAOf,wCAAC+G,UAAD,CAAO,KAAP,eAAiB1G,KAAjB;IAAwB,OAAO,EAAEM,OAAjC;IAA0C,KAAK,EAAEM,uBAAG,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,CAR+B,CAAhC;;;ACDA,IAAMyE,YAAY,GAAG7G,cAAc,CAAC,gBAAsC;MAA7BM,IAA6B,QAA7BA,IAA6B;MAAvBE,OAAuB,QAAvBA,OAAuB;MAAXN,KAAW;;EACtE,mBAAkCZ,WAAW,EAA7C;MAAc8E,MAAd,gBAAO1D,KAAP;MAAsBC,SAAtB,gBAAsBA,QAAtB;;EACA,IAAMC,YAAY,GAAGwD,MAAM,CAAC9D,IAAD,CAA3B;EACA,oBAAOT,wCAAC2G,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;MAGAgG,OAAO,CAACC,GAAR,CAAYvE,IAAZ;;MACAzB,SAAQ,CAACL,IAAD,EAAO8B,IAAP,CAAR;KALG;IAMJ,OAAO,EAAE5B;KANZ;AAOH,CAVkC,CAAnC;;;;ICCasG,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAC7G,gBAAD;EAAA,OAAsB,gBAAyC;QAAtCK,IAAsC,QAAtCA,IAAsC;QAAzBV,QAAyB,QAAzBA,QAAyB;QAAZM,KAAY;;IAChG,gBAA4BmE,cAAQ,CAAC,KAAD,CAApC;QAAO0C,MAAP;QAAeC,SAAf;;IACA,OAAOD,MAAM,gBAAGlH,wCAAC,gBAAD;MAAkB,aAAa,EAAE;OAAUK,KAA3C;MAAkD,IAAI,EAAEI,IAAxD;MAA8D,MAAM,EAAE,kBAAM;QAC1F0G,SAAS,CAAC,KAAD,CAAT;;OADW,gBAELnH,wCAAC,IAAD,CAAM,IAAN;MAAW,OAAO,EAAE,iBAACmC,CAAD,EAAO;QACjCA,CAAC,CAACkD,eAAF;QACA8B,SAAS,CAAC,IAAD,CAAT;OAFM;MAGL,KAAK,EAAEpH,QAAQ,IAAI;MALtB;GAFiC;AAAA;AAUnC,IAAMqH,WAAW,GAAGH,mBAAmB,CAACzB,UAAD,CAAvC;AACA,IAAM6B,UAAU,GAAGJ,mBAAmB,CAACb,SAAD,CAAtC;AACA,IAAMkB,cAAc,GAAGL,mBAAmB,CAACV,aAAD,CAA1C;IAEagB,iBAAiB,GAAG,SAApBA,iBAAoB;EAAA,IAAGC,IAAH,SAAGA,IAAH;MAAYnH,KAAZ;;EAAA,OAAwB,UAACoH,UAAD,EAAgB;IACvE,IAAMC,OAAO,GAAG;MACdC,KAAK,EAAEP,WADO;MACMQ,IAAI,EAAEP,UADZ;MACwBQ,QAAQ,EAAEP;KADlD;IAIA,IAAMQ,oBAAoB,GAAGJ,OAAO,CAACF,IAAD,CAApC;;IACA,IAAI,CAACM,oBAAL,EAA2B;MACzB,OAAO,IAAP;;;IAEF,oBAAO9H,wCAAC,oBAAD,eAA0BK,KAA1B,EAAqCoH,UAArC,EAAP;GAT+B;AAAA;;ACNjC,IAAMM,UAAU,GAAG,SAAbA,UAAa,CAACxF,IAAD,EAAU;EACzB,IAAM2D,MAAM,GAAG8B,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB1F,IAAlB,CAAf;EACAyF,MAAM,CAACE,IAAP,CAAYhC,MAAZ,EAAoBtC,OAApB,CAA4B,UAACuE,GAAD,EAAS;IACjC,IAAM5F,IAAI,GAAG2D,MAAM,CAACiC,GAAD,CAAnB;;IACA,CAAC,YAAM;MACH,IAAIrG,KAAK,CAACC,OAAN,CAAcQ,IAAd,KAAuBA,IAAI,CAAChB,MAAL,GAAc,CAArC,IAA0CgB,IAAI,CAAC6F,KAAL,CAAW,UAAC7F,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,CAACiC,GAAD,CAAb;QACA;;;MAEJ,IAAIrG,KAAK,CAACC,OAAN,CAAcQ,IAAd,KAAuBA,IAAI,CAAChB,MAAL,KAAgB,CAA3C,EAA8C;QAC1C,OAAO2E,MAAM,CAACiC,GAAD,CAAb;QACA;;;MAEJ,IAAI5F,IAAI,IAAIT,KAAK,CAACC,OAAN,CAAcQ,IAAI,CAAC1B,KAAnB,CAAR,KAAsC0B,IAAI,CAAC1B,KAAL,CAAWU,MAAX,KAAsB,CAAtB,IAA2BgB,IAAI,CAAC1B,KAAL,CAAWuH,KAAX,CAAiB,UAAC7F,IAAD;QAAA,OAAUA,IAAI,KAAK,KAAM,CAAf,IAAqBA,IAAI,KAAK,IAA9B,IAAsCA,IAAI,KAAK,EAAzD;OAAjB,CAAjE,CAAJ,EAAqJ;QACjJ,OAAO2D,MAAM,CAACiC,GAAD,CAAb;QACA;;;MAEJ,IAAI5F,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,CAACiC,GAAD,CAAb;QACA;;KAfR;GAFJ;EAqBA,OAAOjC,MAAP;AACH,CAxBD;;IA0BamC,MAAM,GAAG,SAATA,MAAS,OAaO;EAAA,IAZFC,WAYE,QAZFA,WAYE;MAXFC,cAWE,QAXFA,cAWE;MAVFC,OAUE,QAVFA,OAUE;MATFC,IASE,QATFA,IASE;MARF5I,KAQE,QARFA,KAQE;MAPFC,WAOE,QAPFA,WAOE;MANF4I,eAME,QANFA,eAME;MALFC,UAKE,QALFA,UAKE;MAJFC,QAIE,QAJFA,QAIE;MAHFC,KAGE,QAHFA,KAGE;MAFK7H,WAEL,QAFFH,KAEE;MADFC,QACE,QADFA,QACE;EACzB,IAAMD,KAAK,GAAGiI,aAAO,CAAC,YAAM;IACxB,OAAOf,UAAU,CAAC/G,WAAD,CAAjB;GADiB,EAElB,CAACA,WAAD,CAFkB,CAArB;;EAGA,gBAA8BwD,cAAQ,CAAC+D,cAAD,CAAtC;MAAOQ,OAAP;MAAgBC,UAAhB;;EACA,IAAMC,SAAS,GAAGR,IAAI,CAACnH,KAAL,CAAW,CAAX,EAAcgH,WAAd,CAAlB;MAA8CY,QAAQ,GAAGT,IAAI,CAACnH,KAAL,CAAWgH,WAAX,CAAzD;;EACA,IAAMa,UAAU,GAAG,SAAbA,UAAa,CAACV,IAAD;IAAA,OAAUA,IAAI,CAACzG,GAAL,CAAS,UAACO,IAAD,EAAOsB,KAAP,EAAiB;MACnD,oBAAO7D,wCAACC,UAAD;QAAO,GAAG,EAAE4D,KAAZ;QACO,SAAS,EAAC;SAAqBtB,IAAI,CAACP,GAAL,CAAS,UAACO,IAAD,EAAOsB,KAAP;QAAA,OAAiBuF,kBAAY,CAAC7G,IAAD,EAAO;UACtF4F,GAAG,EAAEtE,KADiF;UAEtF/D,WAAW,EAAE4I;SAFkE,CAA7B;OAAT,CADtC,CAAP;KADyB,CAAV;GAAnB;;EAOA,IAAMxH,aAAa,GAAG,SAAhBA,aAAgB,CAACT,IAAD,EAAO8B,IAAP,EAAgB;IAAA;;IAClC,IAAM2D,MAAM,GAAG8B,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBpH,KAAlB,uCAA2BJ,IAA3B,IAAkC8B,IAAlC,kBAAf;IACAzB,QAAQ,CAACiH,UAAU,CAAC7B,MAAD,CAAX,CAAR;GAFJ;;EAKA,oBAAOlG,wCAACR,UAAD;IAAU,KAAK,EAAE;MACpBqB,KAAK,EAALA,KADoB;MACbC,QAAQ,EAAEI;;kBAEjBlB;IAAK,SAAS,EAAC;kBACXA;IAAK,SAAS,EAAC;kBACXA,qDACKF,WAAW,GAAG,IAAH,gBAAUE,wCAACC,UAAD,qBAClBD,wCAAC,UAAD;IAAY,SAAS,EAAC,uBAAtB;IAA8C,KAAK,EAAEH;KAChDmI,MAAM,CAACE,IAAP,CAAYrH,KAAZ,EAAmBmB,GAAnB,CAAuB,UAACmG,GAAD,EAAS;IAC7B,IAAM5F,IAAI,GAAG1B,KAAK,CAACsH,GAAD,CAAlB;IACA,IAAI,CAAC5F,IAAL,EAAW,OAAO,IAAP;IACX,IAAIT,KAAK,CAACC,OAAN,CAAcQ,IAAd,KAAuBA,IAAI,CAAChB,MAAL,KAAgB,CAA3C,EAA8C,OAAO,IAAP;IAC9C,oBAAOvB,wCAACO,QAAD;MAAK,GAAG,EAAE4H,GAAV;MAAe,QAAQ,MAAvB;MAAwB,OAAO,EAAE,mBAAM;QAC1CjH,aAAa,CAACiH,GAAD,EAAM,IAAN,CAAb;;OACArG,KAAK,CAACC,OAAN,CAAcQ,IAAd,IAAsBA,IAAI,CAACP,GAAL,CAAS;MAAA,IAAEnC,KAAF,SAAEA,KAAF;MAAA,OAAaA,KAAb;KAAT,EAA6BwJ,IAA7B,CAAkC,GAAlC,CAAtB,GAA+D9G,IAAI,CAAC1C,KAFjE,CAAP;GAJH,CADL,CADkB,eAWlBG,qDAAM6I,KAAN,CAXkB,CAD1B,CADJ,EAgBKM,UAAU,CAACX,OAAO,GAAGS,SAAH,GAAeR,IAAvB,CAhBf,CADJ,EAmBKM,OAAO,gBAAG/I,+FAAEA,wCAACsJ,YAAD;IAAS,SAAS,EAAC;IAArB,eACHtJ;IAAK,SAAS,EAAC;KAAsBmJ,UAAU,CAACD,QAAD,CAA/C,CADG,CAAH,gBAGJlJ;IAAK,SAAS,EAAC;IAtBvB,EAuBKwI,OAAO,IAAIC,IAAI,CAAClH,MAAL,GAAc+G,WAAzB,gBAAuCtI,wCAACuJ,QAAD;IAAK,SAAS,EAAC,yBAAf;IAAyC,OAAO,EAAC;kBACrFvJ,wCAACwJ,QAAD,qBAAKxJ,wCAACoF,WAAD;IAAQ,IAAI,EAAC,MAAb;IAAoB,OAAO,EAAE,mBAAM;MACpC4D,UAAU,CAAC,UAACD,OAAD;QAAA,OAAa,CAACA,OAAd;OAAD,CAAV;;KACAA,OAAO,GAAGH,QAAH,GAAcD,UAFpB,CAAL,CADoC,CAAvC,GAIQ,IA3Bb,CAHG,CAAP;AAiCH;AAEDN,MAAM,CAACb,IAAP,GAAc;EACV9E,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;EAC2CI,YAAY,EAAZA;AAD3C,CAAd;AAIAqB,MAAM,CAAC5F,YAAP,GAAsB;EAClB5C,KAAK,EAAE,KADW;EAElBC,WAAW,EAAE,KAFK;EAGlB4I,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;EAUlB5H,KAAK,EAAE,EAVW;EAWlBgI,KAAK,EAAE,IAXW;EAYlB/H,QAAQ,EAAE,oBAAM;AAZE,CAAtB;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import React, { createContext, useContext, useState, useRef, useEffect, useMemo, cloneElement } from 'react';
2
- import { Space, Tag, message, Button, Tooltip, InputNumber, Input, Select, Checkbox, Divider, Row, Col } from 'antd';
2
+ import { Space, Tag, message, Button, Tooltip, InputNumber, Input, Select, Checkbox, Radio, Divider, Row, Col } from 'antd';
3
3
  import { createCitySelect, apis, RemoteData, DisplayCity } from '@kne/react-city-select';
4
4
  import classnames from 'classnames';
5
5
  import get from 'lodash/get';
@@ -9,7 +9,7 @@ import useClickOutSide from '@kne/use-click-outside';
9
9
  import isNumber from 'lodash/isNumber';
10
10
 
11
11
  function _extends() {
12
- _extends = Object.assign || function (target) {
12
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
13
13
  for (var i = 1; i < arguments.length; i++) {
14
14
  var source = arguments[i];
15
15
 
@@ -22,7 +22,6 @@ function _extends() {
22
22
 
23
23
  return target;
24
24
  };
25
-
26
25
  return _extends.apply(this, arguments);
27
26
  }
28
27
 
@@ -48,16 +47,17 @@ const {
48
47
  } = context$1;
49
48
  const useConsumer = () => useContext(context$1);
50
49
 
51
- const _excluded$5 = ["label"];
50
+ const _excluded$8 = ["label", "labelHidden"];
52
51
 
53
52
  const FilterItem = ({
54
53
  className,
55
54
  label,
55
+ labelHidden,
56
56
  children
57
57
  }) => {
58
58
  return /*#__PURE__*/React.createElement(Space, {
59
59
  className: classnames('react-filter-item', className)
60
- }, /*#__PURE__*/React.createElement("div", {
60
+ }, labelHidden ? null : /*#__PURE__*/React.createElement("div", {
61
61
  className: "react-filter-item-label"
62
62
  }, label, ":"), /*#__PURE__*/React.createElement("div", {
63
63
  className: "react-filter-item-children"
@@ -66,16 +66,20 @@ const FilterItem = ({
66
66
 
67
67
  const withFilterItem = WrappedComponent => _ref => {
68
68
  let {
69
- label
69
+ label,
70
+ labelHidden
70
71
  } = _ref,
71
- props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
72
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$8);
72
73
 
73
74
  return /*#__PURE__*/React.createElement(FilterItem, {
75
+ label: label,
76
+ labelHidden: labelHidden
77
+ }, /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, props, {
74
78
  label: label
75
- }, /*#__PURE__*/React.createElement(WrappedComponent, props));
79
+ })));
76
80
  };
77
81
 
78
- const _excluded$4 = ["value", "label"];
82
+ const _excluded$7 = ["value", "label"];
79
83
  const {
80
84
  CheckableTag
81
85
  } = Tag;
@@ -86,6 +90,7 @@ const {
86
90
 
87
91
  const List = ({
88
92
  label,
93
+ labelHidden,
89
94
  name,
90
95
  size,
91
96
  children,
@@ -163,7 +168,8 @@ const List = ({
163
168
  })();
164
169
 
165
170
  return /*#__PURE__*/React.createElement(FilterItem, {
166
- label: label
171
+ label: label,
172
+ labelHidden: labelHidden
167
173
  }, /*#__PURE__*/React.createElement(Provider, {
168
174
  value: {
169
175
  currentValue,
@@ -203,7 +209,7 @@ List.Item = _ref => {
203
209
  value,
204
210
  label
205
211
  } = _ref,
206
- props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
212
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$7);
207
213
 
208
214
  const {
209
215
  currentValue,
@@ -226,16 +232,22 @@ List.defaultProps = {
226
232
  size: 2
227
233
  };
228
234
 
235
+ const _excluded$6 = ["label", "labelHidden", "name", "size"];
229
236
  const {
230
237
  Item
231
238
  } = List;
232
239
 
233
- const City = ({
234
- label,
235
- name,
236
- size
237
- }) => {
240
+ const City = _ref => {
241
+ let {
242
+ label,
243
+ labelHidden,
244
+ name,
245
+ size
246
+ } = _ref;
247
+ _objectWithoutPropertiesLoose(_ref, _excluded$6);
248
+
238
249
  return /*#__PURE__*/React.createElement(List, {
250
+ labelHidden: labelHidden,
239
251
  label: label,
240
252
  name: name,
241
253
  size: size,
@@ -388,7 +400,8 @@ const RangeInner = ({
388
400
  onSearch,
389
401
  onActiveChange,
390
402
  startProps,
391
- endProps
403
+ endProps,
404
+ placeholder
392
405
  }) => {
393
406
  const [error, setError] = useState(null);
394
407
 
@@ -445,7 +458,8 @@ const RangeInner = ({
445
458
  },
446
459
  onFocus: () => {
447
460
  setActive(true);
448
- }
461
+ },
462
+ placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder || "请输入"
449
463
  })), "~", /*#__PURE__*/React.createElement(InputNumber, _extends({
450
464
  size: "small"
451
465
  }, endProps, {
@@ -457,22 +471,25 @@ const RangeInner = ({
457
471
  },
458
472
  onFocus: () => {
459
473
  setActive(true);
460
- }
474
+ },
475
+ placeholder: Array.isArray(placeholder) ? placeholder[0] : placeholder || "请输入"
461
476
  })))));
462
477
  };
463
478
  const Range = withFilterItem(RangeInner);
464
479
 
465
- const _excluded$3 = ["name", "label", "template", "defaultActive", "onBlur", "onSearch", "onActiveChange"];
480
+ const _excluded$5 = ["name", "label", "template", "defaultActive", "onBlur", "onSearch", "onActiveChange", "placeholder"];
466
481
  const TextInner = _ref => {
467
482
  let {
468
483
  name,
484
+ label,
469
485
  template,
470
486
  defaultActive,
471
487
  onBlur,
472
488
  onSearch,
473
- onActiveChange
489
+ onActiveChange,
490
+ placeholder
474
491
  } = _ref,
475
- props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
492
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
476
493
 
477
494
  return /*#__PURE__*/React.createElement(SearchButton, {
478
495
  defaultActive: defaultActive,
@@ -490,6 +507,7 @@ const TextInner = _ref => {
490
507
  }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Input, _extends({
491
508
  size: "small"
492
509
  }, props, {
510
+ placeholder: placeholder || label,
493
511
  value: value,
494
512
  onChange: e => {
495
513
  setValue(e.target.value);
@@ -501,12 +519,14 @@ const TextInner = _ref => {
501
519
  };
502
520
  const Text = withFilterItem(TextInner);
503
521
 
504
- const _excluded$2 = ["name"];
522
+ const _excluded$4 = ["name", "label", "placeholder"];
505
523
  const SelectorInner = _ref => {
506
524
  let {
507
- name
525
+ name,
526
+ label,
527
+ placeholder
508
528
  } = _ref,
509
- props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
529
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
510
530
 
511
531
  const {
512
532
  value: aValue,
@@ -514,9 +534,7 @@ const SelectorInner = _ref => {
514
534
  } = useConsumer();
515
535
  const currentValue = aValue[name];
516
536
  return /*#__PURE__*/React.createElement(Select, _extends({}, props, {
517
- style: {
518
- minWidth: "150px"
519
- },
537
+ placeholder: label || placeholder,
520
538
  size: "small",
521
539
  value: currentValue,
522
540
  onChange: (value, item) => {
@@ -526,14 +544,15 @@ const SelectorInner = _ref => {
526
544
  };
527
545
  const Selector = withFilterItem(SelectorInner);
528
546
 
529
- const _excluded$1 = ["name", "label"];
547
+ const _excluded$3 = ["name", "label", "className"];
530
548
 
531
549
  const Check = _ref => {
532
550
  let {
533
551
  name,
534
- label
552
+ label,
553
+ className
535
554
  } = _ref,
536
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
555
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
537
556
 
538
557
  const {
539
558
  value: aValue,
@@ -541,6 +560,7 @@ const Check = _ref => {
541
560
  } = useConsumer();
542
561
  const currentValue = aValue[name];
543
562
  return /*#__PURE__*/React.createElement(Checkbox, _extends({}, props, {
563
+ className: classnames('react-filter-item', className),
544
564
  size: "small",
545
565
  checked: currentValue,
546
566
  onChange: e => {
@@ -552,6 +572,58 @@ const Check = _ref => {
552
572
  }), label);
553
573
  };
554
574
 
575
+ const _excluded$2 = ["label", "name", "options"];
576
+ const RadioList = withFilterItem(_ref => {
577
+ let {
578
+ name,
579
+ options
580
+ } = _ref,
581
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
582
+
583
+ const {
584
+ value: aValue,
585
+ onChange
586
+ } = useConsumer();
587
+ const currentValue = aValue[name];
588
+ console.log(currentValue);
589
+ return /*#__PURE__*/React.createElement(Radio.Group, _extends({}, props, {
590
+ options: options,
591
+ value: get(currentValue, 'value'),
592
+ onChange: e => {
593
+ const item = options.find(item => item.value === e.target.value);
594
+ onChange(name, item);
595
+ }
596
+ }));
597
+ });
598
+
599
+ const _excluded$1 = ["label", "name", "options"];
600
+ const CheckboxList = withFilterItem(_ref => {
601
+ let {
602
+ name,
603
+ options
604
+ } = _ref,
605
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
606
+
607
+ const {
608
+ value: aValue,
609
+ onChange
610
+ } = useConsumer();
611
+ const currentValue = aValue[name];
612
+ return /*#__PURE__*/React.createElement(Checkbox.Group, _extends({}, props, {
613
+ value: (currentValue || []).map(({
614
+ value
615
+ }) => value),
616
+ onChange: value => {
617
+ const item = value.map(value => {
618
+ return options.find(item => item.value === value);
619
+ });
620
+ console.log(item);
621
+ onChange(name, item);
622
+ },
623
+ options: options
624
+ }));
625
+ });
626
+
555
627
  const _excluded = ["name", "value", "children"],
556
628
  _excluded2 = ["type"];
557
629
  const withMoreExtraButton = WrappedComponent => _ref => {
@@ -634,23 +706,32 @@ const filterNull = item => {
634
706
 
635
707
  const Filter = ({
636
708
  displayLine,
709
+ defaultDisplay,
637
710
  isExtra,
638
711
  list,
712
+ label,
713
+ labelHidden,
714
+ itemLabelHidden,
715
+ unfoldText,
716
+ foldText,
717
+ extra,
639
718
  value: originValue,
640
719
  onChange
641
720
  }) => {
642
721
  const value = useMemo(() => {
643
722
  return filterNull(originValue);
644
723
  }, [originValue]);
645
- const [display, setDisplay] = useState(false);
724
+ const [display, setDisplay] = useState(defaultDisplay);
646
725
  const basicList = list.slice(0, displayLine),
647
726
  moreList = list.slice(displayLine);
648
727
 
649
728
  const renderList = list => list.map((item, index) => {
650
729
  return /*#__PURE__*/React.createElement(Space, {
651
- key: index
730
+ key: index,
731
+ className: "react-filter-line"
652
732
  }, item.map((item, index) => cloneElement(item, {
653
- key: index
733
+ key: index,
734
+ labelHidden: itemLabelHidden
654
735
  })));
655
736
  });
656
737
 
@@ -670,9 +751,9 @@ const Filter = ({
670
751
  className: "react-filter"
671
752
  }, /*#__PURE__*/React.createElement("div", {
672
753
  className: "react-filter-inner"
673
- }, /*#__PURE__*/React.createElement(FilterItem, {
754
+ }, /*#__PURE__*/React.createElement("div", null, labelHidden ? null : /*#__PURE__*/React.createElement(Space, null, /*#__PURE__*/React.createElement(FilterItem, {
674
755
  className: "react-filter-selected",
675
- label: "\u7B5B\u9009\u9879"
756
+ label: label
676
757
  }, Object.keys(value).map(key => {
677
758
  const item = value[key];
678
759
  if (!item) return null;
@@ -686,7 +767,7 @@ const Filter = ({
686
767
  }, Array.isArray(item) ? item.map(({
687
768
  label
688
769
  }) => label).join(",") : item.label);
689
- })), renderList(isExtra ? basicList : list)), display ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Divider, {
770
+ })), /*#__PURE__*/React.createElement("div", null, extra))), renderList(isExtra ? basicList : list)), display ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Divider, {
690
771
  className: "react-filter-divider"
691
772
  }), /*#__PURE__*/React.createElement("div", {
692
773
  className: "react-filter-inner"
@@ -700,24 +781,32 @@ const Filter = ({
700
781
  onClick: () => {
701
782
  setDisplay(display => !display);
702
783
  }
703
- }, display ? "收起筛选条件" : "展开筛选条件"))) : null));
784
+ }, display ? foldText : unfoldText))) : null));
704
785
  };
705
-
706
786
  Filter.type = {
707
787
  City,
708
788
  List,
709
789
  Range,
710
790
  Text,
711
791
  Selector,
712
- Check
792
+ Check,
793
+ RadioList,
794
+ CheckboxList
713
795
  };
714
796
  Filter.defaultProps = {
797
+ label: '筛选项',
798
+ labelHidden: false,
799
+ itemLabelHidden: false,
800
+ unfoldText: '展开',
801
+ foldText: '收起',
715
802
  displayLine: 2,
803
+ defaultDisplay: false,
716
804
  isExtra: true,
717
805
  list: [[]],
718
806
  value: {},
807
+ extra: null,
719
808
  onChange: () => {}
720
809
  };
721
810
 
722
- export { FilterItem, SearchButton, createExtraButton, Filter as default, useConsumer as useFilterContext, withFilterItem, withMoreExtraButton };
723
- //# sourceMappingURL=index.modern.js.map
811
+ export { Filter, FilterItem, SearchButton, createExtraButton, Filter as default, useConsumer as useFilterContext, withFilterItem, withMoreExtraButton };
812
+ //# sourceMappingURL=index.modern.mjs.map