@kne/react-filter 1.0.3 → 1.0.5
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/README.md +283 -227
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.js +66 -9
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +64 -10
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/context.js","../src/hooks/useMobile.js","../src/hooks/useHorizontalScrollShadows.js","../src/FilterLines.js","../src/locale/zh-CN.js","../src/locale/en-US.js","../src/withLocale.js","../src/FilterValueDisplay.js","../src/FilterProvider.js","../src/FilterOuter.js","../src/Filter.js","../src/FilterItem.js","../src/withFieldItem.js","../src/PopoverItem.js","../src/fields/InputFilterItem.js","../src/fields/NumberRangeFilterItem.js","../src/fields/DatePickerFilterItem.js","../src/fields/DateRangePickerFilterItem.js","../src/common/TypeDateRangePickerField/index.js","../src/fields/TypeDateRangePickerFilterItem.js","../src/fields/index.js","../src/getFilterValue.js","../src/withFilterValue.js","../src/SearchInput.js","../src/pickSelectValues.js","../src/createFilterValueMapper.js","../src/useUrlFilter.js","../src/filterToUrlParams.js","../src/useUrlFilterValue.js","../src/filterInterceptors.js","../src/AdvancedFilter/fields/InputFilterItem.js","../src/AdvancedFilter/fields/ListFilterItem.js","../src/AdvancedFilter/fields/CityFilterItem.js","../src/AdvancedFilter/fields/index.js","../src/AdvancedFilter/index.js","../src/FilterItemContainer.js","../src/index.js"],"sourcesContent":["import { createContext, useContext as useReactContext } from 'react';\n\nexport const context = createContext({});\n\nexport const { Provider } = context;\n\nexport const useContext = () => useReactContext(context);\n","import { useEffect, useState } from 'react';\n\nconst useMobile = () => {\n const [isMobile, setIsMobile] = useState(false);\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n const mediaQuery = window.matchMedia('(max-width: 768px)');\n const updateIsMobile = () => {\n setIsMobile(mediaQuery.matches);\n };\n updateIsMobile();\n mediaQuery.addEventListener ? mediaQuery.addEventListener('change', updateIsMobile) : mediaQuery.addListener(updateIsMobile);\n return () => {\n mediaQuery.removeEventListener ? mediaQuery.removeEventListener('change', updateIsMobile) : mediaQuery.removeListener(updateIsMobile);\n };\n }, []);\n\n return isMobile;\n};\n\nexport default useMobile;\n","import { useCallback, useEffect, useRef, useState } from 'react';\n\nconst useHorizontalScrollShadows = ({ enabled, suspend = false, preserveOverflowOnSuspend = false, refreshKey } = {}) => {\n const scrollRef = useRef(null);\n const [isOverflow, setIsOverflow] = useState(false);\n const [showScrollPrev, setShowScrollPrev] = useState(false);\n const [showScrollNext, setShowScrollNext] = useState(false);\n\n const update = useCallback(() => {\n const el = scrollRef.current;\n if (!el || !enabled) {\n setShowScrollPrev(false);\n setShowScrollNext(false);\n setIsOverflow(false);\n return;\n }\n\n if (suspend) {\n setShowScrollPrev(false);\n setShowScrollNext(false);\n if (!preserveOverflowOnSuspend) {\n setIsOverflow(false);\n }\n return;\n }\n\n setIsOverflow(el.scrollWidth > el.clientWidth);\n setShowScrollPrev(el.scrollLeft > 1);\n setShowScrollNext(el.scrollWidth > el.clientWidth && el.scrollLeft + el.clientWidth < el.scrollWidth - 1);\n }, [enabled, preserveOverflowOnSuspend, suspend]);\n\n useEffect(() => {\n const el = scrollRef.current;\n if (!el || !enabled || suspend) {\n update();\n return;\n }\n\n update();\n el.addEventListener('scroll', update);\n window.addEventListener('resize', update);\n const rafId = window.requestAnimationFrame(update);\n return () => {\n el.removeEventListener('scroll', update);\n window.removeEventListener('resize', update);\n window.cancelAnimationFrame(rafId);\n };\n }, [enabled, refreshKey, suspend, update]);\n\n return { scrollRef, isOverflow, showScrollPrev, showScrollNext, updateScrollShadowVisible: update };\n};\n\nexport default useHorizontalScrollShadows;\n","import classnames from 'classnames';\nimport { useCallback, useState } from 'react';\nimport style from './style.module.scss';\nimport { Col, Row, Space } from 'antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useContext } from './context';\nimport get from 'lodash/get';\nimport useMobile from './hooks/useMobile';\nimport useHorizontalScrollShadows from './hooks/useHorizontalScrollShadows';\n\nconst Line = ({ list, children }) => {\n const { value, onChange } = useContext();\n return (\n <div className={style['filter-line']}>\n {list\n .filter(item => !!item.type)\n .map((item, index) => {\n if (typeof item === 'function') {\n return item(props => {\n return {\n index,\n value: value ? get(value.get(props?.name), 'value') : props?.value,\n onChange: onChange\n ? value =>\n onChange({\n name: props?.name,\n label: props?.label,\n value\n })\n : props?.onChange\n };\n });\n }\n const ComponentItem = item.type;\n return (\n <ComponentItem\n {...Object.assign({}, item.props, {\n value: value ? get(value.get(item.props.name), 'value') : item.props.value,\n onChange: onChange\n ? value =>\n onChange({\n name: item.props.name,\n label: item.props.label,\n value\n })\n : item.props.onChange\n })}\n key={item.key || item.props.name || index}\n />\n );\n })}\n {children}\n </div>\n );\n};\n\nconst FilterLines = ({ className, list = [], displayLine = 1, label, extra, children }) => {\n const hasMore = list.length > displayLine;\n const mobileList = list.reduce((result, item) => result.concat(Array.isArray(item) ? item : [item]), []);\n const [isExpand, setIsExpand] = useState(false);\n const isMobile = useMobile();\n const { scrollRef, showScrollPrev, showScrollNext } = useHorizontalScrollShadows({ enabled: isMobile, refreshKey: list });\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n\n const scrollToNext = useCallback(() => {\n const el = scrollRef.current;\n if (!el) return;\n el.scrollTo({\n left: el.scrollLeft + el.clientWidth * 0.8,\n behavior: 'smooth'\n });\n }, [scrollRef]);\n const scrollItemIntoView = useCallback(\n e => {\n if (!isMobile) return;\n const container = scrollRef.current;\n const item = e.target.closest(`.${style['filter-item-wrap']}`) || e.target.closest(`.${style['filter-item']}`);\n if (!container || !item) return;\n item.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'center'\n });\n },\n [isMobile, scrollRef]\n );\n\n return (\n <>\n <Space className={classnames(style['filter-title'], 'filter-title', className)} align=\"top\" size={16}>\n <span className={style['filter-label']}>{list && list.length > 0 && (label || formatMessage({ id: 'filterText' }))}</span>\n <Row justify=\"space-between\" wrap={false} align=\"top\">\n <Col className={style['filter-list']} flex={1}>\n <div className={style['filter-list-scroll-wrap']}>\n {isMobile && showScrollPrev ? <div className={style['filter-scroll-prev-shadow']} /> : null}\n <div className={style['filter-list-scroll']} ref={scrollRef} onClick={scrollItemIntoView}>\n {(isMobile ? mobileList : list.slice(0, displayLine)).map((item, index) => (\n <Line key={index} list={isMobile ? [item] : item}>\n {!isMobile && hasMore && isExpand === false && index === displayLine - 1 ? (\n <Space\n size={4}\n className={classnames(style['filter-item'], style['option'])}\n onClick={() => {\n setIsExpand(value => !value);\n }}\n >\n {formatMessage({ id: 'moreText' })}\n <span className={style['filter-item-option-icon']}>▼</span>\n </Space>\n ) : null}\n </Line>\n ))}\n </div>\n {isMobile && showScrollNext ? (\n <button type=\"button\" className={style['filter-scroll-next']} onClick={scrollToNext} aria-label=\"scroll next\">\n <span className={style['filter-scroll-next-icon']}>›</span>\n </button>\n ) : null}\n </div>\n </Col>\n <Col>{extra}</Col>\n </Row>\n </Space>\n <Space className={classnames(style['filter-title'], 'filter-title-wrap')} align=\"center\" size={16}>\n {children}\n </Space>\n <Space\n className={classnames(style['filter-title'], 'filter-title-wrap', {\n [style['filter-title-hidden']]: isMobile || !(hasMore && isExpand)\n })}\n align=\"top\"\n size={16}\n >\n <span className={style['filter-label']}>{formatMessage({ id: 'moreText' })}</span>\n <div className={style['filter-list']}>\n {list.slice(displayLine).map((item, index) => (\n <Line key={index} list={item}>\n {index === list.length - displayLine - 1 && (\n <>\n <Space size={4} className={classnames(style['un-expand-shadow'])}>\n <Space size={4} className={classnames(style['option'], style['filter-item'])}>\n {formatMessage({ id: 'toggleUpText' })}\n <span className={style['filter-item-option-icon']}>▲</span>\n </Space>\n </Space>\n <Space\n size={4}\n className={classnames(style['un-expand'])}\n onClick={() => {\n setIsExpand(value => !value);\n }}\n >\n <Space size={4} className={classnames(style['option'], style['filter-item'])}>\n {formatMessage({ id: 'toggleUpText' })}\n <span className={style['filter-item-option-icon']}>▲</span>\n </Space>\n </Space>\n </>\n )}\n </Line>\n ))}\n </div>\n </Space>\n </>\n );\n};\n\nexport default FilterLines;\n","const message = {\n filterText: '筛选',\n moreText: '更多',\n selectedText: '您已选择',\n clearAllText: '清空全部',\n toggleUpText: '收起',\n selectedTextAdvanced: '已选',\n clearText: '清空筛选',\n otherText: '其他',\n cancelText: '取消',\n determineText: '确定',\n year: '年',\n over: '{count}{unit}以上',\n lessThan: '{count}{unit}以下',\n inputPlaceholder: '请输入{label}',\n pleaseInput: '请输入',\n defaultInputPlaceholder: '请输入{label}',\n maxSelectedCount: '最多选择{count}项',\n customTime: '自定义时间',\n monthly: '按月',\n weekly: '按周',\n last7Days: '近7天',\n thisMonth: '本月',\n last3Months: '近三个月',\n thisYear: '当年',\n fullYear: '本年度',\n pleaseSelect: '请选择'\n};\n\nexport default message;\n","const message = {\n filterText: 'Filter',\n moreText: 'More',\n selectedText: 'Selected',\n clearAllText: 'Clear All',\n toggleUpText: 'Pack Up',\n selectedTextAdvanced: 'Selected',\n clearText: 'Clear Filter',\n otherText: 'Other',\n cancelText: 'Cancel',\n determineText: 'Determine',\n year: 'year',\n over: 'over {count} {unit}s',\n lessThan: 'less than {count} {unit}s',\n inputPlaceholder: 'Please enter {label}',\n pleaseInput: 'Please enter ',\n defaultInputPlaceholder: 'Please enter {label}',\n maxSelectedCount: 'Select up to {count} items',\n customTime: 'Custom Time',\n monthly: 'Monthly',\n weekly: 'Weekly',\n last7Days: 'Last 7 Days',\n thisMonth: 'This Month',\n last3Months: 'Last 3 Months',\n thisYear: 'Year to Date',\n fullYear: 'Full Year',\n pleaseSelect: 'Please Select'\n};\n\nexport default message;\n","import { createWithIntlProvider } from '@kne/react-intl';\nimport zhCN from './locale/zh-CN';\nimport enUS from './locale/en-US';\n\nconst withLocale = createWithIntlProvider({\n defaultLocale: 'zh-CN',\n messages: {\n 'zh-CN': zhCN,\n 'en-US': enUS\n },\n namespace: 'react-filter'\n});\n\nexport default withLocale;\n","import { Button, Space, Tag } from 'antd';\nimport style from './style.module.scss';\nimport classnames from 'classnames';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from './withLocale';\nimport { useState } from 'react';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport useMobile from './hooks/useMobile';\nimport useHorizontalScrollShadows from './hooks/useHorizontalScrollShadows';\n\nconst FilterValueDisplay = withLocale(({ value: filterValue, extraExpand, onChange }) => {\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n const [isExpand, setIsExpand] = useState(false);\n const isMobile = useMobile();\n const { scrollRef, isOverflow, showScrollPrev, showScrollNext } = useHorizontalScrollShadows({\n enabled: isMobile,\n suspend: isExpand,\n preserveOverflowOnSuspend: true,\n refreshKey: filterValue\n });\n\n const tags = filterValue.map(({ name, label, value }, index) => {\n const valueLabel = Array.isArray(value) ? value.map(item => item.label).join(',') : value?.label;\n return (\n <Tag\n key={name}\n closable\n className={style['filter-value-tag']}\n onClose={() => {\n const newValue = filterValue.slice(0);\n newValue.splice(index, 1);\n onChange(newValue);\n }}\n >\n <span className={style['filter-value-tag-label']}>{label}:</span>\n <span className={style['filter-value-tag-content']}>{valueLabel}</span>\n </Tag>\n );\n });\n\n return (\n <Space className={classnames(style['filter-title'], style['filter-value-display'])} align=\"top\" size={16}>\n <span className={style['filter-label']}>{formatMessage({ id: 'selectedText' })}</span>\n {isMobile ? (\n <div className={classnames(style['filter-value-display-content'], !isOverflow && style['is-not-overflow'])}>\n <div className={classnames(style['filter-value-tags-wrap'], isExpand && style['is-expand'])}>\n {showScrollPrev ? <div className={classnames(style['filter-scroll-prev-shadow'], style['filter-value-scroll-prev-shadow'])} /> : null}\n <div ref={scrollRef} className={classnames(style['filter-line'], style['filter-value-tags'], isExpand && style['is-expand'])}>\n {tags}\n </div>\n {showScrollNext ? <div className={classnames(style['filter-value-scroll-next-shadow'])} /> : null}\n </div>\n <div className={classnames(style['filter-value-actions'], isOverflow && style['is-overflow'])}>\n <div className={style['filter-value-action-right']}>\n <Space size={4}>\n {extraExpand}\n <Button\n size=\"small\"\n onClick={() => {\n onChange([]);\n }}\n >\n {formatMessage({ id: 'clearAllText' })}\n </Button>\n </Space>\n </div>\n {isOverflow ? (\n <Button\n type=\"link\"\n size=\"small\"\n className={style['filter-value-toggle']}\n icon={isExpand ? <UpOutlined /> : <DownOutlined />}\n onClick={() => {\n setIsExpand(value => !value);\n }}\n >\n {isExpand ? '收起' : '展开'}\n </Button>\n ) : null}\n <div className={style['filter-value-action-placeholder']}>\n {extraExpand}\n <Button size=\"small\">{formatMessage({ id: 'clearAllText' })}</Button>\n </div>\n </div>\n </div>\n ) : (\n <div className={style['filter-line']}>\n {tags}\n <Space size={4} className={classnames(style['un-expand-shadow'])}>\n {extraExpand}\n <Button size=\"small\">{formatMessage({ id: 'clearAllText' })}</Button>\n </Space>\n <Space size={4} className={classnames(style['un-expand'])}>\n {extraExpand}\n <Button\n size=\"small\"\n onClick={() => {\n onChange([]);\n }}\n >\n {formatMessage({ id: 'clearAllText' })}\n </Button>\n </Space>\n </div>\n )}\n </Space>\n );\n});\n\nexport default FilterValueDisplay;\n","import { Provider } from './context';\nimport clone from 'lodash/clone';\nimport { useMemo } from 'react';\n\nconst isNotEmpty = value => {\n if (value === null || value === undefined) return false;\n if (typeof value === 'string' && value.trim() === '') return false;\n if (Array.isArray(value) && value.length === 0) return false;\n return true;\n};\n\nconst FilterProvider = ({ children, value: valueBase, onChange, defaultValue = [] }) => {\n const value = useMemo(() => {\n return (valueBase || defaultValue).filter(item => isNotEmpty(item.value));\n }, [valueBase, defaultValue]);\n\n const filterValue = useMemo(() => {\n return new Map(value.map(item => [item.name, item]));\n }, [value]);\n\n return (\n <Provider\n value={{\n value: filterValue,\n onChange: item => {\n const newFilterValue = clone(filterValue);\n item.value ? newFilterValue.set(item.name, item) : newFilterValue.delete(item.name);\n onChange?.(Array.from(newFilterValue.values()));\n }\n }}\n >\n {typeof children === 'function' ? children({ value, onChange }) : children}\n </Provider>\n );\n};\n\nexport default FilterProvider;\n","import classnames from 'classnames';\nimport style from './style.module.scss';\nimport FilterProvider from './FilterProvider';\n\nconst FilterOuter = ({ children, className, ...props }) => {\n return <FilterProvider {...props}>{context => <div className={classnames(style['filter'], 'filter', className)}>{children({ ...context, props })}</div>}</FilterProvider>;\n};\n\nexport default FilterOuter;\n","import FilterLines from './FilterLines';\nimport FilterValueDisplay from './FilterValueDisplay';\nimport FilterOuter from './FilterOuter';\nimport withLocale from './withLocale';\n\nconst Filter = withLocale(({ defaultValue = [], ...props }) => {\n return (\n <FilterOuter {...props} defaultValue={defaultValue}>\n {({ props: filterProps = {}, value, onChange }) => {\n const { extraExpand, ...others } = filterProps;\n return (\n <>\n <FilterLines {...others} />\n {value && value.length > 0 && <FilterValueDisplay value={value} onChange={onChange} extraExpand={extraExpand} />}\n </>\n );\n }}\n </FilterOuter>\n );\n});\n\nexport default Filter;\n","import classnames from 'classnames';\nimport { Space } from 'antd';\nimport style from './style.module.scss';\nimport withLocale from './withLocale';\n\nconst FilterItem = withLocale(({ open, active, label, children }) => {\n return (\n <Space className={style['filter-item-wrap']}>\n <div\n className={classnames(style['filter-item'], {\n [style['is-active']]: active,\n [style['is-visited']]: open\n })}\n >\n <Space className={style['filter-item-label']} size={4}>\n <div>{label}</div>\n <span className={style['filter-item-icon']}>▼</span>\n </Space>\n <div className={style['filter-item-field']}>{children}</div>\n </div>\n </Space>\n );\n});\n\nexport default FilterItem;\n","import { useState, useRef, useEffect, useCallback } from 'react';\nimport { createPortal } from 'react-dom';\nimport FilterItem from './FilterItem';\nimport style from './style.module.scss';\nimport classnames from 'classnames';\n\nconst isNotEmpty = value => {\n if (value === null || value === undefined) return false;\n if (typeof value === 'string' && value.trim() === '') return false;\n return !(Array.isArray(value) && value.length === 0);\n};\n\nconst MASK_ANIMATION_DURATION = 180;\nconst FIELD_MOBILE_POPUP_CLASS = 'react-filter-field-mobile-popup';\nconst MOBILE_POPUP_OFFSET = 4;\n\nconst withFieldItem =\n (WrappedComponent, options = {}) =>\n ({ value, onChange, interceptor, label, render, ...props }) => {\n const [open, setOpen] = useState(false);\n const [isMobile, setIsMobile] = useState(false);\n const [renderMask, setRenderMask] = useState(false);\n const [maskClosing, setMaskClosing] = useState(false);\n const [popupMetrics, setPopupMetrics] = useState({ top: 0, pageTop: 0, height: 0 });\n const triggerRef = useRef(null);\n const setMobilePopupVariables = useCallback(metrics => {\n if (typeof document === 'undefined') return;\n document.body.style.setProperty('--react-filter-field-mobile-height', `${metrics.height}px`);\n document.body.style.setProperty('--react-filter-popover-mobile-height', `${metrics.height}px`);\n document.body.style.setProperty('--react-filter-field-mobile-top', `${metrics.top}px`);\n }, []);\n const updatePopupMetrics = useCallback(() => {\n if (typeof window === 'undefined' || !triggerRef.current) return;\n const rect = triggerRef.current.getBoundingClientRect();\n const top = Math.max(rect.bottom + MOBILE_POPUP_OFFSET, 0);\n const metrics = {\n top,\n height: Math.max(window.innerHeight - top, 0)\n };\n setPopupMetrics(metrics);\n setMobilePopupVariables(metrics);\n }, [setMobilePopupVariables]);\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n const mediaQuery = window.matchMedia('(max-width: 768px)');\n const updateIsMobile = () => {\n setIsMobile(mediaQuery.matches);\n };\n updateIsMobile();\n mediaQuery.addEventListener ? mediaQuery.addEventListener('change', updateIsMobile) : mediaQuery.addListener(updateIsMobile);\n return () => {\n mediaQuery.removeEventListener ? mediaQuery.removeEventListener('change', updateIsMobile) : mediaQuery.removeListener(updateIsMobile);\n };\n }, []);\n\n useEffect(() => {\n if (!open || !isMobile) return;\n updatePopupMetrics();\n window.addEventListener('resize', updatePopupMetrics);\n window.addEventListener('scroll', updatePopupMetrics, true);\n return () => {\n window.removeEventListener('resize', updatePopupMetrics);\n window.removeEventListener('scroll', updatePopupMetrics, true);\n };\n }, [isMobile, open, updatePopupMetrics]);\n\n useEffect(() => {\n if (typeof document === 'undefined' || !isMobile || popupMetrics.height <= 0) return;\n setMobilePopupVariables(popupMetrics);\n return () => {\n document.body.style.removeProperty('--react-filter-field-mobile-height');\n document.body.style.removeProperty('--react-filter-popover-mobile-height');\n document.body.style.removeProperty('--react-filter-field-mobile-top');\n };\n }, [isMobile, popupMetrics, setMobilePopupVariables]);\n\n useEffect(() => {\n if (open && isMobile) {\n setRenderMask(true);\n setMaskClosing(false);\n return;\n }\n\n if (!renderMask) return;\n setMaskClosing(true);\n const timer = setTimeout(() => {\n setRenderMask(false);\n setMaskClosing(false);\n }, MASK_ANIMATION_DURATION);\n return () => {\n clearTimeout(timer);\n };\n }, [isMobile, open, renderMask]);\n\n const closeFieldItem = useCallback(() => {\n setOpen(false);\n props.onOpenChange && props.onOpenChange(false);\n props.onDropdownVisibleChange && props.onDropdownVisibleChange(false);\n }, [props]);\n\n const handleOpenChange = useCallback(\n open => {\n if (open && isMobile) {\n updatePopupMetrics();\n }\n setOpen(open);\n props.onOpenChange && props.onOpenChange(open);\n props.onDropdownVisibleChange && props.onDropdownVisibleChange(open);\n },\n [isMobile, props, updatePopupMetrics]\n );\n\n const mobilePopupStyle = isMobile\n ? {\n '--react-filter-field-mobile-height': `${popupMetrics.height}px`,\n '--react-filter-popover-mobile-height': `${popupMetrics.height}px`,\n '--react-filter-field-mobile-top': `${popupMetrics.top}px`,\n top: popupMetrics.top,\n left: 0\n }\n : undefined;\n\n const mergePopupClassNames = classNames => {\n if (!isMobile) return classNames;\n return Object.assign({}, classNames, {\n popup: Object.assign({}, classNames?.popup, {\n root: classnames(classNames?.popup?.root, style['field-item-mobile-popup'], FIELD_MOBILE_POPUP_CLASS)\n })\n });\n };\n\n const mergePopupStyles = styles => {\n if (!isMobile) return styles;\n return Object.assign({}, styles, {\n popup: Object.assign({}, styles?.popup, {\n root: Object.assign({}, styles?.popup?.root, mobilePopupStyle)\n })\n });\n };\n\n const renderChildren = otherProps => {\n const inputValue = typeof interceptor?.input === 'function' ? interceptor.input(value) : value;\n const fieldValue = options.forcePopup && inputValue == null ? (props.single ? null : []) : inputValue;\n return (\n <WrappedComponent\n allowClear={false}\n {...Object.assign({}, props, otherProps)}\n className={style['filter-item-inner']}\n value={fieldValue}\n onChange={typeof interceptor?.output === 'function' ? (...args) => onChange(interceptor.output(...args)) : onChange}\n valueType=\"all\"\n onOpenChange={handleOpenChange}\n onDropdownVisibleChange={handleOpenChange}\n popupClassName={classnames(props.popupClassName, isMobile && style['field-item-mobile-popup'], isMobile && FIELD_MOBILE_POPUP_CLASS)}\n dropdownClassName={classnames(props.dropdownClassName, isMobile && style['field-item-mobile-popup'], isMobile && FIELD_MOBILE_POPUP_CLASS)}\n overlayClassName={classnames(props.overlayClassName, isMobile && style['field-item-mobile-popup'], isMobile && FIELD_MOBILE_POPUP_CLASS)}\n overlayStyle={Object.assign({}, props.overlayStyle, mobilePopupStyle)}\n popupStyle={Object.assign({}, props.popupStyle, mobilePopupStyle)}\n dropdownStyle={Object.assign({}, props.dropdownStyle, mobilePopupStyle)}\n classNames={mergePopupClassNames(props.classNames)}\n styles={mergePopupStyles(props.styles)}\n transitionName={isMobile ? '' : props.transitionName}\n autoAdjustOverflow={isMobile ? false : props.autoAdjustOverflow}\n align={isMobile ? { offset: [0, 0] } : props.align}\n isPopup={options.forcePopup ? true : props.isPopup}\n overlayWidth={isMobile && options.forcePopup ? (typeof window === 'undefined' ? props.overlayWidth : window.innerWidth) : props.overlayWidth}\n />\n );\n };\n return (\n <>\n {renderMask &&\n typeof document !== 'undefined' &&\n createPortal(\n <div\n className={classnames(style['pop-util-mask'], maskClosing && style['pop-util-mask-leave'])}\n style={{\n top: popupMetrics.top,\n height: popupMetrics.height\n }}\n onClick={closeFieldItem}\n onTouchMove={e => {\n e.preventDefault();\n }}\n />,\n document.body\n )}\n <span ref={triggerRef}>\n <FilterItem label={label} open={open} active={isNotEmpty(value)}>\n {typeof render === 'function'\n ? render({\n children: renderChildren\n })\n : renderChildren()}\n </FilterItem>\n </span>\n </>\n );\n };\n\nexport default withFieldItem;\n","import { useState, useMemo, useRef, useEffect, useCallback } from 'react';\nimport { createPortal } from 'react-dom';\nimport { Button, Col, Dropdown, Row } from 'antd';\nimport FilterItem from './FilterItem';\nimport classnames from 'classnames';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from './withLocale';\nimport style from './style.module.scss';\n\nconst isNotEmpty = value => {\n if (value === null || value === undefined) return false;\n if (typeof value === 'string' && value.trim() === '') return false;\n if (Array.isArray(value) && value.length === 0) return false;\n return true;\n};\n\nconst MASK_ANIMATION_DURATION = 180;\nconst MOBILE_POPUP_OFFSET = 4;\n\nconst PopoverItem = withLocale(({ value, label, onValidate, overlayClassName, placement = 'bottomLeft', onOpenChange, onChange, children }) => {\n const [state, setState] = useState(value);\n const [open, setOpen] = useState(false);\n const [isMobile, setIsMobile] = useState(false);\n const [renderMask, setRenderMask] = useState(false);\n const [maskClosing, setMaskClosing] = useState(false);\n const [popupMetrics, setPopupMetrics] = useState({ top: 0, pageTop: 0, height: 0 });\n const triggerRef = useRef(null);\n const disabled = useMemo(() => {\n return onValidate && !onValidate(state);\n }, [onValidate, state]);\n\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n const mediaQuery = window.matchMedia('(max-width: 768px)');\n const updateIsMobile = () => {\n setIsMobile(mediaQuery.matches);\n };\n updateIsMobile();\n mediaQuery.addEventListener ? mediaQuery.addEventListener('change', updateIsMobile) : mediaQuery.addListener(updateIsMobile);\n return () => {\n mediaQuery.removeEventListener ? mediaQuery.removeEventListener('change', updateIsMobile) : mediaQuery.removeListener(updateIsMobile);\n };\n }, []);\n\n const updatePopupMetrics = useCallback(() => {\n if (typeof window === 'undefined' || !triggerRef.current) return;\n const rect = triggerRef.current.getBoundingClientRect();\n const top = Math.max(rect.bottom + MOBILE_POPUP_OFFSET, 0);\n setPopupMetrics({\n top,\n height: Math.max(window.innerHeight - top, 0)\n });\n }, []);\n\n useEffect(() => {\n if (!open || !isMobile) return;\n updatePopupMetrics();\n window.addEventListener('resize', updatePopupMetrics);\n window.addEventListener('scroll', updatePopupMetrics, true);\n return () => {\n window.removeEventListener('resize', updatePopupMetrics);\n window.removeEventListener('scroll', updatePopupMetrics, true);\n };\n }, [isMobile, open, updatePopupMetrics]);\n\n useEffect(() => {\n if (open && isMobile) {\n setRenderMask(true);\n setMaskClosing(false);\n return;\n }\n\n if (!renderMask) return;\n setMaskClosing(true);\n const timer = setTimeout(() => {\n setRenderMask(false);\n setMaskClosing(false);\n }, MASK_ANIMATION_DURATION);\n return () => {\n clearTimeout(timer);\n };\n }, [isMobile, open, renderMask]);\n\n const closeDropdown = useCallback(() => {\n setOpen(false);\n onOpenChange && onOpenChange(false);\n }, [onOpenChange]);\n\n const handleOpenChange = useCallback(\n open => {\n if (open && isMobile) {\n updatePopupMetrics();\n }\n setOpen(open);\n setState(value);\n onOpenChange && onOpenChange(open);\n },\n [isMobile, onOpenChange, updatePopupMetrics, value]\n );\n\n const mobileOverlayStyle = isMobile\n ? {\n '--react-filter-popover-mobile-height': `${popupMetrics.height}px`,\n top: popupMetrics.top,\n left: 0\n }\n : undefined;\n\n const overlayContent = (\n <div\n className={style['pop-util-body']}\n onClick={e => {\n e.stopPropagation();\n }}\n >\n <div className={style['pop-util-content']}>{children({ value: state, onChange: setState })}</div>\n <Row className={style['pop-util-footer']} justify=\"end\" gutter={8}>\n <Col>\n <Button size={isMobile ? undefined : 'small'} onClick={closeDropdown}>\n {formatMessage({ id: 'cancelText' })}\n </Button>\n </Col>\n <Col>\n <Button\n size={isMobile ? undefined : 'small'}\n type=\"primary\"\n disabled={disabled}\n onClick={() => {\n closeDropdown();\n onChange && onChange(state);\n }}\n >\n {formatMessage({ id: 'determineText' })}\n </Button>\n </Col>\n </Row>\n </div>\n );\n\n return (\n <>\n {renderMask &&\n typeof document !== 'undefined' &&\n createPortal(\n <div\n className={classnames(style['pop-util-mask'], maskClosing && style['pop-util-mask-leave'])}\n style={{\n top: popupMetrics.top,\n height: popupMetrics.height\n }}\n onClick={closeDropdown}\n onTouchMove={e => {\n e.preventDefault();\n }}\n />,\n document.body\n )}\n <Dropdown\n open={open}\n trigger={['click']}\n placement={isMobile ? 'bottomLeft' : placement}\n autoAdjustOverflow={!isMobile}\n align={isMobile ? { offset: [0, 0] } : undefined}\n overlayClassName={classnames(style['pop-util-overlay'], overlayClassName)}\n overlayStyle={mobileOverlayStyle}\n onOpenChange={handleOpenChange}\n menu={{ items: [{ key: 'content', label: null }] }}\n dropdownRender={() => overlayContent}\n >\n <span ref={triggerRef}>\n <FilterItem open={open} active={isNotEmpty(value)} label={label} />\n </span>\n </Dropdown>\n </>\n );\n});\n\nexport default PopoverItem;\n","import PopoverItem from '../PopoverItem';\nimport { Input } from 'antd';\nimport get from 'lodash/get';\nimport style from '../style.module.scss';\nimport withLocale from '../withLocale';\n\nconst InputFilterItem = withLocale(({ label, value, onChange, placeholder, onValidate, overlayClassName, placement, onOpenChange, ...props }) => {\n return (\n <PopoverItem label={label} value={value} onChange={onChange} {...{ onValidate, overlayClassName, placement, onOpenChange }}>\n {({ value, onChange }) => (\n <Input\n {...props}\n placeholder={placeholder || `请输入${label}`}\n className={style['filter-item-text']}\n value={get(value, 'value', '')}\n onChange={e => onChange(e.target.value ? { label: e.target.value, value: e.target.value } : null)}\n />\n )}\n </PopoverItem>\n );\n});\n\nexport default InputFilterItem;\n","import PopoverItem from '../PopoverItem';\nimport { Input, InputNumber, Space } from 'antd';\nimport get from 'lodash/get';\nimport isNumber from 'lodash/isNumber';\nimport { useIntl } from '@kne/react-intl';\nimport style from '../style.module.scss';\nimport withLocale from '../withLocale';\n\nconst computedFilterValue = (range, unit, formatMessage) => {\n if (!isNumber(range[0]) && !isNumber(range[1])) {\n return null;\n }\n\n return {\n label: (range => {\n if (isNumber(range[0]) && isNumber(range[1])) {\n return `${range[0]}-${range[1]}${unit || ''}`;\n }\n if (isNumber(range[0])) {\n return formatMessage({ id: 'over' }, { count: range[0], unit });\n }\n if (isNumber(range[1])) {\n return formatMessage({ id: 'lessThan' }, { count: range[1], unit });\n }\n })(range),\n value: [range[0] || null, range[1] || null]\n };\n};\n\nconst defaultPropsOnValidate = value => {\n const range = get(value, 'value');\n return !(range && isNumber(range[0]) && isNumber(range[1]) && range[1] < range[0]);\n};\n\nconst NumberRangeFilterItem = withLocale(({ label, value, onChange, placeholder, onValidate = defaultPropsOnValidate, overlayClassName, placement, onOpenChange, unit, ...props }) => {\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n return (\n <PopoverItem label={label} value={value} onChange={onChange} {...{ onValidate, overlayClassName, placement, onOpenChange }}>\n {({ value, onChange }) => (\n <Space.Compact>\n <InputNumber\n {...props}\n placeholder={placeholder || `${formatMessage({ id: 'pleaseInput' })}${label}`}\n className={style['filter-item-number-range']}\n value={get(value, 'value[0]', '')}\n onChange={target => {\n onChange(computedFilterValue([target, get(value, 'value[1]')], unit, formatMessage));\n }}\n />\n <Input\n style={{\n width: 30,\n borderLeft: 0,\n borderRight: 0,\n pointerEvents: 'none'\n }}\n placeholder=\"~\"\n disabled\n />\n <InputNumber\n {...props}\n placeholder={placeholder || `${formatMessage({ id: 'pleaseInput' })}${label}`}\n className={style['filter-item-number-range']}\n value={get(value, 'value[1]', '')}\n onChange={target => {\n onChange(computedFilterValue([get(value, 'value[0]'), target], unit, formatMessage));\n }}\n />\n {unit && (\n <Input\n style={{\n width: 50,\n borderLeft: 0\n }}\n value={unit}\n disabled\n />\n )}\n </Space.Compact>\n )}\n </PopoverItem>\n );\n});\n\nexport default NumberRangeFilterItem;\n","import { DatePicker } from 'antd';\nimport withFieldItem from '../withFieldItem';\nimport dayjs from 'dayjs';\nimport withLocale from '../withLocale';\nimport style from '../style.module.scss';\nimport classnames from 'classnames';\n\nconst DatePickerFilterItem = withLocale(\n withFieldItem(({ value, onChange, picker = 'date', ...props }) => {\n return (\n <DatePicker\n {...props}\n inputReadOnly\n picker={picker}\n classNames={{\n ...props.classNames,\n popup: {\n ...props.classNames?.popup,\n root: classnames(props.classNames?.popup?.root, style['date-picker-popup'])\n }\n }}\n value={value && dayjs(value.value)}\n onChange={value => {\n const { format } = Object.assign({ format: 'YYYY-MM-DD' }, props);\n value &&\n onChange({\n label: picker !== 'date' ? `${value.startOf(picker).format(format)}~${value.endOf(picker).format(format)}` : value.format(format),\n value: new Date(value.startOf(picker).valueOf())\n });\n }}\n />\n );\n })\n);\n\nexport default DatePickerFilterItem;\n","import { DatePicker, Flex } from 'antd';\nimport withFieldItem from '../withFieldItem';\nimport dayjs from 'dayjs';\nimport style from '../style.module.scss';\nimport withLocale from '../withLocale';\nimport classnames from 'classnames';\n\nconst DateRangePickerFilterItem = withLocale(\n withFieldItem(({ value, onChange, header, ...props }) => {\n return (\n <Flex vertical>\n {typeof header === 'function' ? header({ value, onChange }) : header}\n <DatePicker.RangePicker\n {...props}\n inputReadOnly\n allowEmpty={[false, false]}\n classNames={{\n ...props.classNames,\n popup: {\n ...props.classNames?.popup,\n root: classnames(props.classNames?.popup?.root, style['date-range-picker-popup'])\n }\n }}\n value={value && Array.isArray(value.value) && value.value.length === 2 && value.value.map(item => dayjs(item))}\n onChange={value => {\n const { format } = Object.assign({ format: 'YYYY-MM-DD' }, props);\n onChange({\n label: value.map(item => item.format(format)).join('~'),\n value: value.map(item => new Date(item.valueOf()))\n });\n }}\n />\n </Flex>\n );\n })\n);\n\nexport default DateRangePickerFilterItem;\n","import { DatePicker, Select, Space, Flex } from 'antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useRef, useCallback, useMemo } from 'react';\nimport dayjs from 'dayjs';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\n\nconst TypeDateRangePickerField = ({ value: valueProp, onChange: onChangeProp, defaultValue, shortcuts = true, shortcutOptions, ...props }) => {\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n\n const typeList = new Map([\n ['date', formatMessage({ id: 'customTime' })],\n ['month', formatMessage({ id: 'monthly' })],\n ['week', formatMessage({ id: 'weekly' })]\n ]);\n\n const defaultShortcuts = useMemo(\n () => [\n {\n label: formatMessage({ id: 'last7Days' }),\n getValue: () => [dayjs().subtract(7, 'day').startOf('day'), dayjs().endOf('day')]\n },\n {\n label: formatMessage({ id: 'thisMonth' }),\n getValue: () => [dayjs().startOf('month'), dayjs().endOf('month')]\n },\n {\n label: formatMessage({ id: 'last3Months' }),\n getValue: () => [dayjs().subtract(3, 'month').startOf('day'), dayjs().endOf('day')]\n },\n {\n label: formatMessage({ id: 'thisYear' }),\n getValue: () => [dayjs().startOf('year'), dayjs().endOf('day')]\n },\n {\n label: formatMessage({ id: 'fullYear' }),\n getValue: () => [dayjs().startOf('year'), dayjs().endOf('year')]\n }\n ],\n [formatMessage]\n );\n\n const currentShortcuts = shortcutOptions !== undefined ? shortcutOptions : shortcuts ? defaultShortcuts : null;\n\n const isControlled = valueProp !== undefined;\n const innerValueRef = useRef(defaultValue || { type: 'date', value: null });\n\n const value = isControlled ? valueProp : innerValueRef.current;\n\n const onChange = useCallback(\n newValue => {\n if (!isControlled) {\n innerValueRef.current = typeof newValue === 'function' ? newValue(innerValueRef.current) : newValue;\n }\n onChangeProp?.(typeof newValue === 'function' ? newValue(value) : newValue);\n },\n [isControlled, onChangeProp, value]\n );\n\n const handleShortcutClick = useCallback(\n shortcut => {\n const [start, end] = shortcut.getValue();\n const type = 'date';\n onChange({\n type,\n value: [start.startOf(type).toDate(), end.endOf(type).toDate()]\n });\n },\n [onChange]\n );\n\n const isShortcutActive = useCallback(\n shortcut => {\n if (!value?.value || !Array.isArray(value.value) || value.value.length !== 2) {\n return false;\n }\n const [start, end] = shortcut.getValue();\n const type = value?.type || 'date';\n const valueStart = dayjs(value.value[0]).startOf(type);\n const valueEnd = dayjs(value.value[1]).endOf(type);\n const shortcutStart = start.startOf(type);\n const shortcutEnd = end.endOf(type);\n return valueStart.isSame(shortcutStart, type) && valueEnd.isSame(shortcutEnd, type);\n },\n [value]\n );\n\n const renderShortcuts = useMemo(() => {\n if (!currentShortcuts || currentShortcuts.length === 0) {\n return null;\n }\n return (\n <div className={style['shortcuts-container']}>\n {currentShortcuts.map((shortcut, index) => (\n <span\n key={index}\n className={classnames(style['shortcut-item'], {\n [style['is-active']]: isShortcutActive(shortcut)\n })}\n onClick={() => handleShortcutClick(shortcut)}\n >\n {shortcut.label}\n </span>\n ))}\n </div>\n );\n }, [currentShortcuts, handleShortcutClick, isShortcutActive]);\n\n return (\n <Flex vertical gap={0}>\n <Space.Compact>\n <Select\n style={{ width: '120px' }}\n value={value?.type || 'date'}\n onChange={typeValue => {\n onChange(currentValue => {\n if (!currentValue?.value?.length) {\n return { value: null, type: typeValue || 'date' };\n }\n const startTime = dayjs(currentValue.value[0]);\n const endTime = dayjs(currentValue.value[1]);\n return {\n value: [startTime.isValid() ? startTime.startOf(typeValue || 'date').toDate() : null, endTime.isValid() ? endTime.endOf(typeValue || 'date').toDate() : null],\n type: typeValue || 'date'\n };\n });\n }}\n options={Array.from(typeList).map(([val, label]) => ({\n label,\n value: val\n }))}\n />\n <DatePicker.RangePicker\n {...props}\n picker={value?.type || 'date'}\n value={Array.isArray(value?.value) && value.value.length === 2 ? value.value.map(item => item && dayjs(item)) : null}\n onChange={dateValue => {\n onChange(currentValue => {\n return Object.assign({ type: 'date' }, currentValue, {\n value: dateValue && dateValue[0] && dateValue[1] ? [dateValue[0].startOf(currentValue?.type || 'date').toDate(), dateValue[1].endOf(currentValue?.type || 'date').toDate()] : null\n });\n });\n }}\n />\n </Space.Compact>\n {renderShortcuts}\n </Flex>\n );\n};\n\nexport default TypeDateRangePickerField;\n","import PopoverItem from '../PopoverItem';\nimport TypeDateRangePickerField from '../common/TypeDateRangePickerField';\nimport get from 'lodash/get';\nimport style from '../style.module.scss';\nimport dayjs from 'dayjs';\nimport withLocale from '../withLocale';\n\nconst TypeDateRangePickerFilterItem = withLocale(({ label, value, onChange, ...props }) => {\n return (\n <PopoverItem\n label={label}\n value={value}\n onChange={onChange}\n onValidate={item => {\n const itemValue = item?.value;\n return itemValue?.type && Array.isArray(itemValue?.value) && itemValue.value.length === 2;\n }}\n >\n {({ value, onChange }) => (\n <TypeDateRangePickerField\n {...props}\n inputReadOnly\n className={style['filter-item-text']}\n value={get(value, 'value')}\n onChange={pickerValue => {\n const { format = 'YYYY-MM-DD' } = props;\n const val = pickerValue?.value || [];\n let displayLabel = '';\n if (val[0] && !val[1]) {\n displayLabel = `${dayjs(val[0]).format(format)}以后`;\n } else if (!val[0] && val[1]) {\n displayLabel = `${dayjs(val[1]).format(format)}以前`;\n } else if (val[0] && val[1]) {\n displayLabel = `${dayjs(val[0]).format(format)}~${dayjs(val[1]).format(format)}`;\n }\n onChange({\n label: displayLabel,\n value: pickerValue\n });\n }}\n />\n )}\n </PopoverItem>\n );\n});\n\nexport default TypeDateRangePickerFilterItem;\n","import { useIntl } from '@kne/react-intl';\nimport withFieldItem from '../withFieldItem';\nimport InputFilterItemField from './InputFilterItem';\nimport NumberRangeFilterItemField from './NumberRangeFilterItem';\nimport withLocale from '../withLocale';\nimport SuperSelect from '@kne/super-select';\nimport { SelectAddress, SelectFunction, SelectIndustry } from '@kne/super-select-plus';\nimport '@kne/super-select-plus/dist/index.css';\nimport '@kne/super-select-plus/dist/index.css';\n\nconst withInputDefaultPlaceholder = WrappedComponent =>\n withLocale(({ placeholder, label, ...props }) => {\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n return <WrappedComponent {...props} label={label} placeholder={placeholder || formatMessage({ id: 'defaultInputPlaceholder' }, { label })} />;\n });\n\nexport const InputFilterItem = withInputDefaultPlaceholder(InputFilterItemField);\nexport const NumberRangeFilterItem = withInputDefaultPlaceholder(NumberRangeFilterItemField);\n\nexport { default as DatePickerFilterItem } from './DatePickerFilterItem';\nexport { default as DateRangePickerFilterItem } from './DateRangePickerFilterItem';\nexport { default as TypeDateRangePickerFilterItem } from './TypeDateRangePickerFilterItem';\n\nexport const SuperSelectFilterItem = withFieldItem(SuperSelect, { forcePopup: true });\nexport const SelectFunctionFilterItem = withFieldItem(SelectFunction, { forcePopup: true });\nexport const SelectIndustryFilterItem = withFieldItem(SelectIndustry, { forcePopup: true });\nexport const SelectAddressFilterItem = withFieldItem(SelectAddress, { forcePopup: true });\n","import transform from 'lodash/transform';\n\nconst getFilterValue = filterValue => {\n return transform(\n filterValue,\n (result, { name, value }) => {\n result[name] = Array.isArray(value) ? value.map(({ value }) => value) : value?.value;\n },\n {}\n );\n};\n\nexport default getFilterValue;\n","import { useContext } from './context';\nimport get from 'lodash/get';\n\nconst withFilterValue = WrappedComponent => {\n return ({ name, label, ...props }) => {\n const { value, onChange } = useContext();\n return (\n <WrappedComponent\n {...props}\n label={label}\n onChange={\n onChange\n ? value =>\n onChange({\n name,\n label,\n value\n })\n : props.onChange\n }\n value={value ? get(value.get(name), 'value') : props.value}\n />\n );\n };\n};\n\nexport default withFilterValue;\n","import { Input } from 'antd';\nimport withFilterValue from './withFilterValue';\nimport { useIntl } from '@kne/react-intl';\n\nconst { Search } = Input;\n\nconst SearchInput = withFilterValue(({ label, onChange, value, placeholder, ...props }) => {\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n return (\n <Search\n {...props}\n placeholder={placeholder || formatMessage({ id: 'inputPlaceholder' }, { label })}\n value={value?.value || ''}\n onSearch={value => {\n onChange({ label: value, value });\n }}\n />\n );\n});\n\nexport default SearchInput;\n","/**\n * 从筛选值中提取原始值数组。\n * 支持:原始值、{ value } 对象、{ id } 对象、以及它们的数组。\n *\n * @example\n * pickSelectValues([{ value: 1 }, { id: 2 }, '3'])\n * // => ['1', '2', '3']\n *\n * pickSelectValues({ value: 'open' })\n * // => ['open']\n *\n * pickSelectValues(null)\n * // => []\n */\nconst pickSelectValues = value => {\n if (value == null || value === '') {\n return [];\n }\n const list = Array.isArray(value) ? value : [value];\n return list\n .map(item => {\n if (item == null) {\n return null;\n }\n if (typeof item !== 'object') {\n return String(item);\n }\n if (item.value != null && item.value !== '') {\n return String(item.value);\n }\n if (item.id != null && item.id !== '') {\n return String(item.id);\n }\n return null;\n })\n .filter(Boolean);\n};\n\nexport default pickSelectValues;\n","import pickSelectValues from './pickSelectValues';\n\n/**\n * 声明式创建 mapFilterValue 函数。\n *\n * Filter.getFilterValue 默认只读取 { value },而 SuperSelectFilterItem 等\n * 组件使用 { id, name } 格式,需要额外处理。此工具通过声明字段映射规则,\n * 自动生成符合 (filter, getFilterValue) => value 签名的函数。\n *\n * @param {Object} fieldMappers - 字段名到映射规则的映射\n * @param {'string'} fieldMappers[field] - 确保值为字符串类型\n * @param {'multi'} fieldMappers[field] - 多选,从 filter entry 提取值数组\n * @param {'single'} fieldMappers[field] - 单选,从 filter entry 提取第一个值\n * @param {Function} fieldMappers[field] - 自定义转换,接收 (rawValue, { entry, filter, value }) 返回新值\n *\n * @example\n * const mapFilterValue = createFilterValueMapper({\n * id: 'string',\n * roles: 'multi',\n * tenantOrgId: 'single',\n * status: (rawValue) => normalizeStatus(rawValue)\n * });\n *\n * // 使用方式与手写 mapFilterValue 一致\n * const filterValue = mapFilterValue(filter, Filter.getFilterValue);\n *\n * // 也可直接传给 BizUnit 的 options.mapFilterValue\n * <BizUnit options={{ mapFilterValue }} />\n */\nconst createFilterValueMapper = fieldMappers => {\n return (filter, getFilterValue) => {\n const value = getFilterValue(filter);\n\n Object.entries(fieldMappers).forEach(([fieldName, mapper]) => {\n const entry = filter.find(item => item.name === fieldName);\n\n if (mapper === 'string') {\n if (value[fieldName] != null && value[fieldName] !== '') {\n value[fieldName] = String(value[fieldName]);\n }\n } else if (mapper === 'multi') {\n if (entry) {\n const values = pickSelectValues(entry.value);\n if (values.length) {\n value[fieldName] = values;\n } else {\n delete value[fieldName];\n }\n }\n } else if (mapper === 'single') {\n if (entry) {\n const values = pickSelectValues(entry.value);\n if (values[0] != null) {\n value[fieldName] = values[0];\n } else {\n delete value[fieldName];\n }\n } else if (value[fieldName] != null && typeof value[fieldName] === 'object') {\n const values = pickSelectValues(value[fieldName]);\n if (values.length) {\n value[fieldName] = values[0];\n } else {\n delete value[fieldName];\n }\n }\n } else if (typeof mapper === 'function') {\n let rawValue = value[fieldName];\n if (rawValue != null && typeof rawValue === 'object' && 'value' in rawValue) {\n rawValue = rawValue.value;\n }\n if (rawValue != null && rawValue !== '') {\n const result = mapper(rawValue, { entry, filter, value });\n if (result != null && result !== '') {\n value[fieldName] = result;\n } else {\n delete value[fieldName];\n }\n }\n }\n });\n\n return value;\n };\n};\n\nexport default createFilterValueMapper;\n","import { useState, useRef, useEffect } from 'react';\nimport { useSearchParams } from 'react-router-dom';\n\n/**\n * 创建 URL 参数读取器,自动追踪已消费的参数 key。\n *\n * @param {URLSearchParams} searchParams - React Router 的 searchParams 对象\n * @returns {{ take: (key: string) => string|null, getConsumedKeys: () => string[] }}\n *\n * @example\n * const { take, getConsumedKeys } = createUrlParamsReader(searchParams);\n * const orgId = take('tenantOrgId');\n * const orgName = take('orgName');\n * // getConsumedKeys() => ['tenantOrgId', 'orgName']\n */\nexport const createUrlParamsReader = searchParams => {\n const consumedKeys = [];\n const take = key => {\n if (!searchParams.has(key)) return null;\n consumedKeys.push(key);\n return searchParams.get(key);\n };\n const getConsumedKeys = () => consumedKeys;\n return { take, getConsumedKeys };\n};\n\n/**\n * 从 URL 参数中移除已消费的 key,返回新的 URLSearchParams 或 null(无变化时)。\n *\n * @param {URLSearchParams} searchParams - 当前 URL 参数\n * @param {string[]} consumedKeys - 需要移除的 key 列表\n * @returns {URLSearchParams|null}\n */\nexport const stripConsumedUrlParams = (searchParams, consumedKeys) => {\n if (!consumedKeys?.length) return null;\n const next = new URLSearchParams(searchParams);\n let changed = false;\n consumedKeys.forEach(key => {\n if (next.has(key)) {\n next.delete(key);\n changed = true;\n }\n });\n return changed ? next : null;\n};\n\n/**\n * 从 URL 参数初始化 Filter 状态的 hook。\n *\n * 读取 URL 参数构建初始筛选值,并在挂载后自动清除已消费的 URL 参数。\n *\n * @param {Object} options\n * @param {Function} options.readUrlParams - 读取 URL 参数并返回 { consumedKeys: string[], ...data }\n * @param {Function} options.buildFilter - 接收 readUrlParams 的返回值,构建初始 filter 数组\n * @returns {[Array, Function]} - [filter, setFilter]\n *\n * @example\n * const [filter, setFilter] = useUrlFilter({\n * readUrlParams: (searchParams) => {\n * const { take, getConsumedKeys } = createUrlParamsReader(searchParams);\n * const orgId = take('tenantOrgId');\n * return { consumedKeys: getConsumedKeys(), orgId };\n * },\n * buildFilter: ({ orgId }) => [\n * { name: 'status', value: { label: '开启', value: 'open' } },\n * ...(orgId ? [{ name: 'tenantOrgId', value: { label: orgId, value: orgId } }] : [])\n * ]\n * });\n */\nconst useUrlFilter = ({ readUrlParams, buildFilter }) => {\n const [searchParams, setSearchParams] = useSearchParams();\n const urlFilterSnapshotRef = useRef(null);\n\n if (urlFilterSnapshotRef.current === null) {\n urlFilterSnapshotRef.current = readUrlParams(searchParams);\n }\n\n const [filter, setFilter] = useState(() => buildFilter(urlFilterSnapshotRef.current));\n\n const urlStrippedRef = useRef(false);\n useEffect(() => {\n if (urlStrippedRef.current) return;\n urlStrippedRef.current = true;\n const nextParams = stripConsumedUrlParams(searchParams, urlFilterSnapshotRef.current?.consumedKeys);\n if (nextParams) {\n setSearchParams(nextParams, { replace: true });\n }\n }, [searchParams, setSearchParams]);\n\n return [filter, setFilter];\n};\n\nexport default useUrlFilter;\n","/**\n * 将筛选值数组序列化为 URLSearchParams,保留 label 信息以便反序列化还原完整筛选状态。\n *\n * 序列化格式(使用冒号分隔 label 和 value,逗号分隔多值):\n * - 单值且 label === value:prefix[name]=value(如输入框)\n * - 单值且 label !== value:prefix[name]=label:value\n * - 多值:prefix[name]=label1:value1,label2:value2\n *\n * @param {Array} filterValue - 筛选值数组,格式为 [{ name, label, value }, ...]\n * @param {Object} [options] - 选项\n * @param {string} [options.prefix='filterParams'] - URL 参数前缀,设为空字符串则不加前缀\n * @returns {URLSearchParams}\n *\n * @example\n * const params = filterToUrlParams([\n * { name: 'keyword', label: '关键词', value: { label: '测试', value: '测试' } },\n * { name: 'city', label: '城市', value: [{ label: '上海', value: '010' }, { label: '北京', value: '020' }] },\n * { name: 'status', label: '状态', value: { label: '启用', value: 'active' } },\n * ]);\n * // params.toString() => 'filterParams[keyword]=测试&filterParams[city]=上海:010,北京:020&filterParams[status]=启用:active'\n *\n * // 自定义前缀\n * filterToUrlParams(filterValue, { prefix: 'f' })\n * // => 'f[keyword]=测试&f[city]=上海:010,北京:020'\n *\n * // 无前缀(直接平铺)\n * filterToUrlParams(filterValue, { prefix: '' })\n * // => 'keyword=测试&city=上海:010,北京:020'\n */\nconst filterToUrlParams = (filterValue, { prefix = 'filterParams' } = {}) => {\n const params = new URLSearchParams();\n\n if (!Array.isArray(filterValue)) return params;\n\n filterValue.forEach(({ name, value }) => {\n if (value == null || value === '') return;\n\n const key = prefix ? `${prefix}[${name}]` : name;\n\n if (Array.isArray(value)) {\n if (value.length === 0) return;\n const serialized = value\n .map(item => serializeEntry(item))\n .filter(Boolean)\n .join(',');\n if (serialized) params.set(key, serialized);\n } else {\n const serialized = serializeEntry(value);\n if (serialized) params.set(key, serialized);\n }\n });\n\n return params;\n};\n\n/**\n * 序列化单个筛选值项。\n * - label === value 时返回 value(简化格式)\n * - 否则返回 label:value\n */\nconst serializeEntry = item => {\n if (item == null) return null;\n if (typeof item !== 'object') return String(item);\n\n const label = item.label ?? item.name;\n const value = item.value ?? item.id;\n\n if (value == null || value === '') return null;\n if (label === value) return String(value);\n return `${label}:${value}`;\n};\n\n/**\n * 解析 URL 参数中的单个筛选值项,反序列化为 { label, value } 对象。\n * 与 filterToUrlParams 配合使用。\n *\n * 解析规则:\n * - 无冒号:label 和 value 相同,如 \"测试\" → { label: '测试', value: '测试' }\n * - 有冒号:冒号前为 label,冒号后为 value,如 \"启用:active\" → { label: '启用', value: 'active' }\n *\n * @param {string} str - URL 参数中的原始字符串\n * @returns {{ label: string, value: string }}\n *\n * @example\n * parseFilterEntry('测试')\n * // => { label: '测试', value: '测试' }\n *\n * parseFilterEntry('启用:active')\n * // => { label: '启用', value: 'active' }\n */\nconst parseFilterEntry = str => {\n const colonIndex = str.indexOf(':');\n if (colonIndex === -1) {\n return { label: str, value: str };\n }\n return {\n label: str.slice(0, colonIndex),\n value: str.slice(colonIndex + 1)\n };\n};\n\n/**\n * 从 URL 参数中读取筛选值项,返回单选 { label, value } 或多选数组。\n *\n * @param {URLSearchParams} searchParams - URL 参数对象\n * @param {string} key - 参数名(不含前缀)\n * @param {Object} [options] - 选项\n * @param {boolean} [options.multi=false] - 是否多选,多选返回数组\n * @param {string} [options.prefix='filterParams'] - URL 参数前缀,设为空字符串则不加前缀\n * @returns {{ label: string, value: string } | { label: string, value: string }[] | null}\n *\n * @example\n * // URL: ?filterParams[city]=上海:010,北京:020&filterParams[status]=启用:active\n * takeFilterEntry(searchParams, 'city', { multi: true })\n * // => [{ label: '上海', value: '010' }, { label: '北京', value: '020' }]\n *\n * // 无前缀\n * takeFilterEntry(searchParams, 'keyword', { prefix: '' })\n * // => { label: '测试', value: '测试' }\n */\nconst takeFilterEntry = (searchParams, key, { multi = false, prefix = 'filterParams' } = {}) => {\n const fullKey = prefix ? `${prefix}[${key}]` : key;\n if (!searchParams.has(fullKey)) return null;\n\n const raw = searchParams.get(fullKey);\n if (!raw) return null;\n\n if (multi) {\n return raw.split(',').map(parseFilterEntry);\n }\n\n // 单选时,如果包含逗号,只取第一个\n const firstEntry = raw.includes(',') ? raw.split(',')[0] : raw;\n return parseFilterEntry(firstEntry);\n};\n\n/**\n * 创建 URL 筛选参数读取器,自动追踪已消费的参数 key。\n * 配合 useUrlFilter 使用,readUrlParams 返回的 consumedKeys 可被自动清除。\n *\n * @param {URLSearchParams} searchParams - React Router 的 searchParams 对象\n * @param {Object} [options] - 选项\n * @param {string} [options.prefix='filterParams'] - URL 参数前缀\n * @returns {{ takeFilterEntry, getConsumedKeys }}\n *\n * @example\n * const { takeFilterEntry, getConsumedKeys } = createUrlFilterReader(searchParams);\n * const keyword = takeFilterEntry('keyword');\n * const city = takeFilterEntry('city', { multi: true });\n * const status = takeFilterEntry('status');\n * // getConsumedKeys() => ['filterParams[keyword]', 'filterParams[city]', 'filterParams[status]']\n *\n * // 配合 useUrlFilter 使用\n * const [filter, setFilter] = useUrlFilter({\n * readUrlParams: (searchParams) => {\n * const { takeFilterEntry, getConsumedKeys } = createUrlFilterReader(searchParams);\n * const keyword = takeFilterEntry('keyword');\n * const city = takeFilterEntry('city', { multi: true });\n * return { consumedKeys: getConsumedKeys(), keyword, city };\n * },\n * buildFilter: ({ keyword, city }) => [\n * ...(keyword ? [{ name: 'keyword', label: '关键词', value: keyword }] : []),\n * ...(city ? [{ name: 'city', label: '城市', value: city }] : []),\n * ],\n * });\n */\nconst createUrlFilterReader = (searchParams, { prefix = 'filterParams' } = {}) => {\n const consumedKeys = [];\n\n const takeFilterEntry = (key, { multi = false } = {}) => {\n const fullKey = prefix ? `${prefix}[${key}]` : key;\n if (!searchParams.has(fullKey)) return null;\n\n consumedKeys.push(fullKey);\n const raw = searchParams.get(fullKey);\n if (!raw) return null;\n\n if (multi) {\n return raw.split(',').map(parseFilterEntry);\n }\n\n const firstEntry = raw.includes(',') ? raw.split(',')[0] : raw;\n return parseFilterEntry(firstEntry);\n };\n\n const getConsumedKeys = () => consumedKeys;\n\n return { takeFilterEntry, getConsumedKeys };\n};\n\nexport default filterToUrlParams;\nexport { parseFilterEntry, takeFilterEntry, createUrlFilterReader };\n","import useUrlFilter from './useUrlFilter';\nimport { createUrlFilterReader } from './filterToUrlParams';\n\n/**\n * 从 URL 参数初始化 Filter 状态的 hook(简化版)。\n *\n * 基于 useUrlFilter 封装,使用 createUrlFilterReader 解析 filterParams[key] 格式的 URL 参数,\n * 自动解析 label:value 格式,支持单选和多选。\n *\n * @param {string[]|Object} mapping - URL 参数映射\n * - 数组: ['tenantOrgId', 'orgName'],默认单选,自动创建 { name: key, value: { label, value } }\n * - 对象:\n * - 值为 true: 单选,使用默认转换 { name: key, value: { label, value } }\n * - 值为 { multi: true }: 多选,value 为 [{ label, value }, ...] 数组\n * - 值为函数: 自定义转换,接收解析后的值(单选为 { label, value },多选为数组),返回 filter 项或 null/falsy 跳过\n * @returns {[Array, Function]} - [filter, setFilter]\n *\n * @example\n * // 数组形式(默认单选)\n * const [filter, setFilter] = useUrlFilterValue(['keyword', 'status']);\n * // URL: ?filterParams[keyword]=前端开发&filterParams[status]=招聘中:active\n * // → filter: [\n * // { name: 'keyword', value: { label: '前端开发', value: '前端开发' } },\n * // { name: 'status', value: { label: '招聘中', value: 'active' } }\n * // ]\n *\n * @example\n * // 对象形式(多选 + 自定义)\n * const [filter, setFilter] = useUrlFilterValue({\n * keyword: true,\n * city: { multi: true },\n * status: (parsed) => parsed ? { name: 'status', value: parsed } : null\n * });\n * // URL: ?filterParams[keyword]=测试&filterParams[city]=上海:010,北京:020\n * // → keyword: { label: '测试', value: '测试' }\n * // → city: [{ label: '上海', value: '010' }, { label: '北京', value: '020' }]\n */\nconst useUrlFilterValue = mapping => {\n const normalizedMapping = Array.isArray(mapping)\n ? mapping.reduce((acc, item) => {\n const key = typeof item === 'string' ? item : item.name;\n acc[key] = typeof item === 'string' ? true : item;\n return acc;\n }, {})\n : mapping;\n\n return useUrlFilter({\n readUrlParams: searchParams => {\n const { takeFilterEntry, getConsumedKeys } = createUrlFilterReader(searchParams);\n const data = {};\n Object.entries(normalizedMapping).forEach(([key, config]) => {\n const multi = typeof config === 'object' && config !== null && config.multi;\n const val = takeFilterEntry(key, { multi });\n if (val !== null) data[key] = val;\n });\n return { consumedKeys: getConsumedKeys(), ...data };\n },\n buildFilter: data => {\n const { consumedKeys, ...values } = data;\n const filters = [];\n Object.entries(normalizedMapping).forEach(([key, config]) => {\n if (values[key] === undefined) return;\n const parsedValue = values[key];\n if (typeof config === 'function') {\n const result = config(parsedValue);\n if (result) filters.push(result);\n } else {\n const label = typeof config === 'object' && config !== null ? config.label : key;\n filters.push({ name: key, label, value: parsedValue });\n }\n });\n return filters;\n }\n });\n};\n\nexport default useUrlFilterValue;\n","const toIdName = item => {\n if (!item) {\n return null;\n }\n if (item.id != null) {\n return item;\n }\n if (item.value != null) {\n return { id: item.value, name: item.label };\n }\n return item;\n};\n\nconst toLabelValue = item => {\n if (!item) {\n return null;\n }\n return {\n label: item.name ?? item.label,\n value: item.id ?? item.value\n };\n};\n\n/**\n * 单选 SuperSelect interceptor:{id, name} ↔ {label, value}\n * 适用于 valueKey=\"id\" labelKey=\"name\" 的单选场景\n */\nexport const singleSelectInterceptor = {\n input: value => {\n if (!value) {\n return value;\n }\n const item = Array.isArray(value) ? value[0] : value;\n const result = toIdName(item);\n return result;\n },\n output: selected => {\n if (!selected) {\n return selected;\n }\n const item = Array.isArray(selected) ? selected[0] : selected;\n return toLabelValue(item);\n }\n};\n\n/**\n * 多选 SuperSelect interceptor:[{id, name}] ↔ [{label, value}]\n * 适用于 valueKey=\"id\" labelKey=\"name\" 的多选场景\n */\nexport const multiSelectInterceptor = {\n input: value => {\n if (!value) {\n return value;\n }\n const list = Array.isArray(value) ? value : [value];\n return list.map(toIdName).filter(Boolean);\n },\n output: selected => {\n if (!selected) {\n return selected;\n }\n const list = Array.isArray(selected) ? selected : [selected];\n return list.map(toLabelValue).filter(Boolean);\n }\n};\n\nexport default { single: singleSelectInterceptor, multi: multiSelectInterceptor };\n","import { Input, Space, Button } from 'antd';\nimport { useState, useEffect, useRef } from 'react';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from '../../withLocale';\n\nconst InputFilterItem = withLocale(({ value, label, onChange, ...props }) => {\n const propsValue = value?.value;\n const [inputValue, setInputValue] = useState(propsValue || '');\n const [active, setActive] = useState(false);\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n\n const searchHandler = () => {\n onChange(inputValue ? { label: inputValue, value: inputValue } : null);\n };\n\n const handleBlur = () => {\n setActive(false);\n searchHandler();\n };\n\n const inputValueRef = useRef('');\n inputValueRef.current = inputValue;\n\n useEffect(() => {\n if (propsValue !== inputValueRef.current) {\n setInputValue(propsValue);\n }\n }, [propsValue]);\n\n return (\n <Space.Compact>\n <Input\n placeholder={`${formatMessage({ id: 'pleaseInput' })}${label}`}\n {...props}\n size=\"small\"\n value={inputValue}\n onFocus={() => {\n setActive(true);\n }}\n onBlur={handleBlur}\n onChange={e => {\n setInputValue(e.target.value);\n }}\n onPressEnter={searchHandler}\n />\n {active && (\n <Button size=\"small\" type=\"primary\" onClick={searchHandler}>\n {formatMessage({ id: 'determineText' })}\n </Button>\n )}\n </Space.Compact>\n );\n});\n\nexport default InputFilterItem;\n","import { Tag, App, Space } from 'antd';\nimport isEqual from 'lodash/isEqual';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from '../../withLocale';\n\nconst { CheckableTag } = Tag;\n\nconst ListFilterItem = withLocale(({ value, onChange, label, single = false, maxLength = 5, items = [] }) => {\n const { message } = App.useApp();\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n\n return (\n <Space size={4} wrap block>\n {items.map(({ label: itemLabel, value: itemValue }) => {\n return (\n <CheckableTag\n key={itemLabel}\n size=\"small\"\n checked={single ? isEqual(itemValue, value?.value) : !!(value || []).find(({ value }) => isEqual(itemValue, value))}\n onChange={checked => {\n if (single) {\n onChange(checked ? { value: itemValue, label: itemLabel } : null);\n return;\n }\n const newValue = (value || []).slice(0);\n if (checked) {\n newValue.push({ value: itemValue, label: itemLabel });\n } else {\n const index = newValue.findIndex(({ value }) => isEqual(itemValue, value));\n if (index > -1) {\n newValue.splice(index, 1);\n }\n }\n if (newValue.length > maxLength) {\n message.error(formatMessage({ id: 'maxSelectedCount' }, { count: maxLength }));\n return;\n }\n onChange(newValue);\n }}\n >\n {itemLabel}\n </CheckableTag>\n );\n })}\n </Space>\n );\n});\n\nexport default ListFilterItem;\n","import { App, Tag, Space } from 'antd';\nimport { SelectAddress, createAddressApi } from '@kne/super-select-plus';\nimport '@kne/super-select-plus/dist/index.css';\nimport { useIntl } from '@kne/react-intl';\nimport { useMemo, useState, useEffect } from 'react';\nimport withLocale from '../../withLocale';\nimport style from '../../style.module.scss';\n\nconst { CheckableTag } = Tag;\n\nconst getLabelForLocal = (item, locale) => {\n if (locale === 'en-US') {\n return item?.enName || item?.name;\n }\n return item?.name;\n};\n\nconst CityFilterItemInner = ({ value, onChange, single = false, maxLength = 5, ...props }) => {\n const { message } = App.useApp();\n const { locale } = useIntl();\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n const [addressApi, setAddressApi] = useState(null);\n\n useEffect(() => {\n let cancelled = false;\n SelectAddress.defaultData().then(data => {\n if (!cancelled && data) {\n setAddressApi(createAddressApi(data));\n }\n });\n return () => {\n cancelled = true;\n };\n }, []);\n\n const cityList = useMemo(() => {\n return addressApi ? addressApi.getChinaHotCities() : [];\n }, [addressApi]);\n\n return (\n <Space size={4} wrap block>\n {cityList.map(city => {\n const label = getLabelForLocal(city, locale);\n return (\n <CheckableTag\n key={city.code}\n size=\"small\"\n checked={single ? value?.value === city.code : !!(value || []).find(({ value }) => value === city.code)}\n onChange={checked => {\n if (single) {\n onChange(checked ? city : null);\n return;\n }\n const newValue = (value || []).slice(0);\n checked\n ? newValue.push(Object.assign({}, city, { label, value: city.code }))\n : (() => {\n const index = newValue.findIndex(({ value }) => value === city.code);\n newValue.splice(index, 1);\n })();\n if (newValue.length > maxLength) {\n message.error(formatMessage({ id: 'maxSelectedCount' }, { count: maxLength }));\n return;\n }\n onChange(newValue);\n }}\n >\n {label}\n </CheckableTag>\n );\n })}\n <CheckableTag\n className={style['filter-advanced-item-other']}\n size=\"small\"\n checked={(single ? value?.value : value?.length > 0) && !cityList.find(({ code }) => (single ? value?.value === code : !!(value || []).find(({ value }) => value === code)))}\n >\n {formatMessage({ id: 'otherText' })}\n <SelectAddress\n {...props}\n className={style['filter-advanced-item-other-inner']}\n maxLength={maxLength}\n allowClear={false}\n value={value}\n single={single}\n onChange={value => {\n if (value.length > maxLength) {\n message.error(formatMessage({ id: 'maxSelectedCount' }, { count: maxLength }));\n return;\n }\n onChange(value);\n }}\n />\n </CheckableTag>\n </Space>\n );\n};\n\nconst CityFilterItem = withLocale(CityFilterItemInner);\n\nexport default CityFilterItem;\n","import InputFilterItem from './InputFilterItem';\nimport ListFilterItem from './ListFilterItem';\nimport CityFilterItem from './CityFilterItem';\n\nconst fields = { InputFilterItem, ListFilterItem, CityFilterItem };\n\nexport default fields;\n","import FilterOuter from '../FilterOuter';\nimport FilterLines from '../FilterLines';\nimport { Flex } from 'antd';\nimport advancedFields from './fields';\nimport { useIntl } from '@kne/react-intl';\nimport { useContext } from '../context';\nimport style from '../style.module.scss';\nimport FilterValueDisplay from '../FilterValueDisplay';\nimport withLocale from '../withLocale';\nimport get from 'lodash/get';\n\nconst Line = ({ list }) => {\n const { value, onChange } = useContext();\n return (\n <Flex gap={8}>\n {list.map((item, index) => {\n const ComponentItem = item.type;\n return (\n <Flex gap={16} key={item.key || item.props.name || index} align=\"center\">\n <div className={style['filter-label']}>{item.props.label}:</div>\n <Flex wrap={true} align=\"center\">\n <ComponentItem\n {...item.props}\n value={value ? get(value.get(item.props.name), 'value') : item.props.value}\n onChange={\n onChange\n ? value =>\n onChange({\n name: item.props.name,\n label: item.props.label,\n value\n })\n : item.props.onChange\n }\n />\n </Flex>\n </Flex>\n );\n })}\n </Flex>\n );\n};\n\nconst AdvancedFilter = withLocale(props => {\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n return (\n <FilterOuter {...props}>\n {({ value, onChange, props: filterProps = {} }) => {\n const { list, more } = filterProps;\n return (\n <div>\n <Flex gap={8} vertical className={style['filter-advanced']}>\n {list &&\n list.map((item, index) => {\n return <Line key={index} list={item} />;\n })}\n {more && <FilterLines className={style['filter-advanced-more']} label={`${formatMessage({ id: 'moreText' })}:`} list={[more]} />}\n </Flex>\n {value && value.length > 0 && <FilterValueDisplay value={value} onChange={onChange} />}\n </div>\n );\n }}\n </FilterOuter>\n );\n});\n\nAdvancedFilter.fields = advancedFields;\nexport default AdvancedFilter;\n\nexport { advancedFields };\n","const FilterItemContainer = ({ children, ...props }) => {\n return children(props);\n};\n\nexport default FilterItemContainer;\n","import Filter from './Filter';\nimport * as fields from './fields';\nimport getFilterValue from './getFilterValue';\nimport { useContext as useFilter } from './context';\nimport withFilterValue from './withFilterValue';\nimport SearchInput from './SearchInput';\nimport FilterProvider from './FilterProvider';\nimport pickSelectValues from './pickSelectValues';\nimport createFilterValueMapper from './createFilterValueMapper';\nimport useUrlFilter, { createUrlParamsReader, stripConsumedUrlParams } from './useUrlFilter';\nimport useUrlFilterValue from './useUrlFilterValue';\nimport filterToUrlParams, { parseFilterEntry, takeFilterEntry, createUrlFilterReader } from './filterToUrlParams';\nimport filterInterceptors, { singleSelectInterceptor, multiSelectInterceptor } from './filterInterceptors';\n\nFilter.fields = fields;\nFilter.getFilterValue = getFilterValue;\nFilter.useFilter = useFilter;\nFilter.SearchInput = SearchInput;\nFilter.withFilterValue = withFilterValue;\nFilter.FilterProvider = FilterProvider;\n\nFilter.pickSelectValues = pickSelectValues;\nFilter.createFilterValueMapper = createFilterValueMapper;\nFilter.useUrlFilter = useUrlFilter;\nFilter.useUrlFilterValue = useUrlFilterValue;\nFilter.createUrlParamsReader = createUrlParamsReader;\nFilter.stripConsumedUrlParams = stripConsumedUrlParams;\nFilter.filterToUrlParams = filterToUrlParams;\nFilter.parseFilterEntry = parseFilterEntry;\nFilter.takeFilterEntry = takeFilterEntry;\nFilter.createUrlFilterReader = createUrlFilterReader;\nFilter.filterInterceptors = filterInterceptors;\nFilter.singleSelectInterceptor = singleSelectInterceptor;\nFilter.multiSelectInterceptor = multiSelectInterceptor;\n\nexport default Filter;\nexport {\n fields,\n getFilterValue,\n useFilter,\n withFilterValue,\n SearchInput,\n FilterProvider,\n pickSelectValues,\n createFilterValueMapper,\n useUrlFilter,\n useUrlFilterValue,\n createUrlParamsReader,\n stripConsumedUrlParams,\n filterToUrlParams,\n parseFilterEntry,\n takeFilterEntry,\n createUrlFilterReader,\n filterInterceptors,\n singleSelectInterceptor,\n multiSelectInterceptor\n};\nexport { default as AdvancedFilter } from './AdvancedFilter';\nexport { default as FilterValueDisplay } from './FilterValueDisplay';\nexport { default as FilterItem } from './FilterItem';\nexport { default as FilterLines } from './FilterLines';\nexport { default as PopoverItem } from './PopoverItem';\nexport { default as withFieldItem } from './withFieldItem';\nexport { default as FilterItemContainer } from './FilterItemContainer';\nexport { default as TypeDateRangePickerField } from './common/TypeDateRangePickerField';\nexport {\n NumberRangeFilterItem,\n InputFilterItem,\n DatePickerFilterItem,\n DateRangePickerFilterItem,\n TypeDateRangePickerFilterItem,\n SuperSelectFilterItem,\n SelectFunctionFilterItem,\n SelectIndustryFilterItem,\n SelectAddressFilterItem\n} from './fields';\n"],"names":["context","createContext","Provider","useContext","useReactContext","useMobile","isMobile","setIsMobile","useState","useEffect","window","mediaQuery","matchMedia","updateIsMobile","matches","addEventListener","addListener","removeEventListener","removeListener","useHorizontalScrollShadows","enabled","suspend","preserveOverflowOnSuspend","refreshKey","scrollRef","useRef","isOverflow","setIsOverflow","showScrollPrev","setShowScrollPrev","showScrollNext","setShowScrollNext","update","useCallback","el","current","scrollWidth","clientWidth","scrollLeft","rafId","requestAnimationFrame","cancelAnimationFrame","updateScrollShadowVisible","Line","_ref","list","children","_useContext","value","onChange","_jsxs","className","style","filter","item","type","map","index","props","get","name","label","ComponentItem","_createElement","_extends","Object","assign","key","FilterLines","_ref2","_ref2$list","_ref2$displayLine","displayLine","extra","hasMore","length","mobileList","reduce","result","concat","Array","isArray","_useState","isExpand","setIsExpand","_useHorizontalScrollS","_useIntl","useIntl","moduleName","formatMessage","scrollToNext","scrollTo","left","behavior","scrollItemIntoView","e","container","target","closest","scrollIntoView","block","inline","_Fragment","Space","classnames","align","size","_jsx","id","Row","justify","wrap","Col","flex","ref","onClick","slice","message","filterText","moreText","selectedText","clearAllText","toggleUpText","selectedTextAdvanced","clearText","otherText","cancelText","determineText","year","over","lessThan","inputPlaceholder","pleaseInput","defaultInputPlaceholder","maxSelectedCount","customTime","monthly","weekly","last7Days","thisMonth","last3Months","thisYear","fullYear","pleaseSelect","withLocale","createWithIntlProvider","defaultLocale","messages","zhCN","enUS","namespace","FilterValueDisplay","filterValue","extraExpand","tags","valueLabel","join","Tag","closable","onClose","newValue","splice","Button","icon","UpOutlined","DownOutlined","isNotEmpty","undefined","trim","FilterProvider","valueBase","_ref$defaultValue","defaultValue","useMemo","Map","newFilterValue","clone","set","delete","from","values","FilterOuter","Filter","_objectWithoutPropertiesLoose","_excluded","_ref2$props","filterProps","others","_excluded2","FilterItem","open","active","MASK_ANIMATION_DURATION","FIELD_MOBILE_POPUP_CLASS","MOBILE_POPUP_OFFSET","withFieldItem","WrappedComponent","options","interceptor","render","setOpen","_useState2","_useState3","renderMask","setRenderMask","_useState4","maskClosing","setMaskClosing","_useState5","top","pageTop","height","popupMetrics","setPopupMetrics","triggerRef","setMobilePopupVariables","metrics","document","body","setProperty","updatePopupMetrics","rect","getBoundingClientRect","Math","max","bottom","innerHeight","removeProperty","timer","setTimeout","clearTimeout","closeFieldItem","onOpenChange","onDropdownVisibleChange","handleOpenChange","mobilePopupStyle","mergePopupClassNames","classNames","_classNames$popup","popup","root","mergePopupStyles","styles","_styles$popup","renderChildren","otherProps","inputValue","input","fieldValue","forcePopup","single","allowClear","output","call","arguments","valueType","popupClassName","dropdownClassName","overlayClassName","overlayStyle","popupStyle","dropdownStyle","transitionName","autoAdjustOverflow","offset","isPopup","overlayWidth","innerWidth","createPortal","onTouchMove","preventDefault","PopoverItem","onValidate","_ref$placement","placement","state","setState","_useState6","disabled","closeDropdown","mobileOverlayStyle","overlayContent","stopPropagation","gutter","Dropdown","trigger","menu","items","dropdownRender","InputFilterItem","placeholder","Input","computedFilterValue","range","unit","isNumber","count","defaultPropsOnValidate","NumberRangeFilterItem","Compact","InputNumber","width","borderLeft","borderRight","pointerEvents","DatePickerFilterItem","picker","DatePicker","inputReadOnly","dayjs","format","startOf","endOf","Date","valueOf","DateRangePickerFilterItem","header","Flex","vertical","RangePicker","allowEmpty","TypeDateRangePickerField","valueProp","onChangeProp","_ref$shortcuts","shortcuts","shortcutOptions","typeList","defaultShortcuts","getValue","subtract","currentShortcuts","isControlled","innerValueRef","handleShortcutClick","shortcut","_shortcut$getValue","start","end","toDate","isShortcutActive","_shortcut$getValue2","valueStart","valueEnd","shortcutStart","shortcutEnd","isSame","renderShortcuts","gap","Select","typeValue","currentValue","_currentValue$value","startTime","endTime","isValid","val","dateValue","TypeDateRangePickerFilterItem","itemValue","pickerValue","displayLabel","withInputDefaultPlaceholder","InputFilterItemField","NumberRangeFilterItemField","SuperSelectFilterItem","SuperSelect","SelectFunctionFilterItem","SelectFunction","SelectIndustryFilterItem","SelectIndustry","SelectAddressFilterItem","SelectAddress","getFilterValue","transform","withFilterValue","Search","SearchInput","onSearch","pickSelectValues","String","Boolean","createFilterValueMapper","fieldMappers","entries","forEach","fieldName","mapper","entry","find","rawValue","createUrlParamsReader","searchParams","consumedKeys","take","has","push","getConsumedKeys","stripConsumedUrlParams","next","URLSearchParams","changed","useUrlFilter","readUrlParams","buildFilter","_useSearchParams","useSearchParams","setSearchParams","urlFilterSnapshotRef","setFilter","urlStrippedRef","_urlFilterSnapshotRef","nextParams","replace","filterToUrlParams","_temp","_ref$prefix","prefix","params","serialized","serializeEntry","_item$label","_item$value","parseFilterEntry","str","colonIndex","indexOf","takeFilterEntry","_temp2","_ref3","_ref3$multi","multi","_ref3$prefix","fullKey","raw","split","firstEntry","includes","createUrlFilterReader","_temp3","_ref4","_ref4$prefix","_temp4","_ref5","_ref5$multi","useUrlFilterValue","mapping","normalizedMapping","acc","_createUrlFilterReade","data","config","filters","parsedValue","toIdName","toLabelValue","_item$name","_item$id","singleSelectInterceptor","selected","multiSelectInterceptor","propsValue","setInputValue","setActive","searchHandler","handleBlur","inputValueRef","onFocus","onBlur","onPressEnter","CheckableTag","ListFilterItem","maxLength","App","useApp","itemLabel","checked","isEqual","findIndex","error","getLabelForLocal","locale","enName","CityFilterItemInner","addressApi","setAddressApi","cancelled","defaultData","then","createAddressApi","cityList","getChinaHotCities","city","code","CityFilterItem","fields","AdvancedFilter","more","advancedFields","FilterItemContainer","useFilter","filterInterceptors"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/context.js","../src/hooks/useMobile.js","../src/hooks/useHorizontalScrollShadows.js","../src/FilterLines.js","../src/locale/zh-CN.js","../src/locale/en-US.js","../src/withLocale.js","../src/FilterValueDisplay.js","../src/FilterProvider.js","../src/FilterOuter.js","../src/Filter.js","../src/FilterItem.js","../src/withFieldItem.js","../src/PopoverItem.js","../src/fields/InputFilterItem.js","../src/fields/NumberRangeFilterItem.js","../src/fields/DatePickerFilterItem.js","../src/fields/DateRangePickerFilterItem.js","../src/common/TypeDateRangePickerField/index.js","../src/fields/TypeDateRangePickerFilterItem.js","../src/fields/index.js","../src/getFilterValue.js","../src/withFilterValue.js","../src/SearchInput.js","../src/pickSelectValues.js","../src/createFilterValueMapper.js","../src/useUrlFilter.js","../src/filterToUrlParams.js","../src/useUrlFilterValue.js","../src/filterInterceptors.js","../src/AdvancedFilter/fields/InputFilterItem.js","../src/AdvancedFilter/fields/ListFilterItem.js","../src/AdvancedFilter/fields/CityFilterItem.js","../src/AdvancedFilter/fields/index.js","../src/AdvancedFilter/index.js","../src/FilterItemContainer.js","../src/index.js"],"sourcesContent":["import { createContext, useContext as useReactContext } from 'react';\n\nexport const context = createContext({});\n\nexport const { Provider } = context;\n\nexport const useContext = () => useReactContext(context);\n","import { useEffect, useState } from 'react';\n\nconst useMobile = () => {\n const [isMobile, setIsMobile] = useState(false);\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n const mediaQuery = window.matchMedia('(max-width: 768px)');\n const updateIsMobile = () => {\n setIsMobile(mediaQuery.matches);\n };\n updateIsMobile();\n mediaQuery.addEventListener ? mediaQuery.addEventListener('change', updateIsMobile) : mediaQuery.addListener(updateIsMobile);\n return () => {\n mediaQuery.removeEventListener ? mediaQuery.removeEventListener('change', updateIsMobile) : mediaQuery.removeListener(updateIsMobile);\n };\n }, []);\n\n return isMobile;\n};\n\nexport default useMobile;\n","import { useCallback, useEffect, useRef, useState } from 'react';\n\nconst useHorizontalScrollShadows = ({ enabled, suspend = false, preserveOverflowOnSuspend = false, refreshKey } = {}) => {\n const scrollRef = useRef(null);\n const [isOverflow, setIsOverflow] = useState(false);\n const [showScrollPrev, setShowScrollPrev] = useState(false);\n const [showScrollNext, setShowScrollNext] = useState(false);\n\n const update = useCallback(() => {\n const el = scrollRef.current;\n if (!el || !enabled) {\n setShowScrollPrev(false);\n setShowScrollNext(false);\n setIsOverflow(false);\n return;\n }\n\n if (suspend) {\n setShowScrollPrev(false);\n setShowScrollNext(false);\n if (!preserveOverflowOnSuspend) {\n setIsOverflow(false);\n }\n return;\n }\n\n setIsOverflow(el.scrollWidth > el.clientWidth);\n setShowScrollPrev(el.scrollLeft > 1);\n setShowScrollNext(el.scrollWidth > el.clientWidth && el.scrollLeft + el.clientWidth < el.scrollWidth - 1);\n }, [enabled, preserveOverflowOnSuspend, suspend]);\n\n useEffect(() => {\n const el = scrollRef.current;\n if (!el || !enabled || suspend) {\n update();\n return;\n }\n\n update();\n el.addEventListener('scroll', update);\n window.addEventListener('resize', update);\n const rafId = window.requestAnimationFrame(update);\n return () => {\n el.removeEventListener('scroll', update);\n window.removeEventListener('resize', update);\n window.cancelAnimationFrame(rafId);\n };\n }, [enabled, refreshKey, suspend, update]);\n\n return { scrollRef, isOverflow, showScrollPrev, showScrollNext, updateScrollShadowVisible: update };\n};\n\nexport default useHorizontalScrollShadows;\n","import classnames from 'classnames';\nimport { useCallback, useState } from 'react';\nimport style from './style.module.scss';\nimport { Col, Row, Space } from 'antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useContext } from './context';\nimport get from 'lodash/get';\nimport useMobile from './hooks/useMobile';\nimport useHorizontalScrollShadows from './hooks/useHorizontalScrollShadows';\n\nconst Line = ({ list, children }) => {\n const { value, onChange } = useContext();\n return (\n <div className={style['filter-line']}>\n {list\n .filter(item => !!item.type)\n .map((item, index) => {\n if (typeof item === 'function') {\n return item(props => {\n return {\n index,\n value: value ? get(value.get(props?.name), 'value') : props?.value,\n onChange: onChange\n ? value =>\n onChange({\n name: props?.name,\n label: props?.label,\n value\n })\n : props?.onChange\n };\n });\n }\n const ComponentItem = item.type;\n return (\n <ComponentItem\n {...Object.assign({}, item.props, {\n value: value ? get(value.get(item.props.name), 'value') : item.props.value,\n onChange: onChange\n ? value =>\n onChange({\n name: item.props.name,\n label: item.props.label,\n value\n })\n : item.props.onChange\n })}\n key={item.key || item.props.name || index}\n />\n );\n })}\n {children}\n </div>\n );\n};\n\nconst FilterLines = ({ className, list = [], displayLine = 1, label, extra, children }) => {\n const hasMore = list.length > displayLine;\n const mobileList = list.reduce((result, item) => result.concat(Array.isArray(item) ? item : [item]), []);\n const [isExpand, setIsExpand] = useState(false);\n const isMobile = useMobile();\n const { scrollRef, showScrollPrev, showScrollNext } = useHorizontalScrollShadows({ enabled: isMobile, refreshKey: list });\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n\n const scrollToNext = useCallback(() => {\n const el = scrollRef.current;\n if (!el) return;\n el.scrollTo({\n left: el.scrollLeft + el.clientWidth * 0.8,\n behavior: 'smooth'\n });\n }, [scrollRef]);\n const scrollItemIntoView = useCallback(\n e => {\n if (!isMobile) return;\n const container = scrollRef.current;\n const item = e.target.closest(`.${style['filter-item-wrap']}`) || e.target.closest(`.${style['filter-item']}`);\n if (!container || !item) return;\n item.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'center'\n });\n },\n [isMobile, scrollRef]\n );\n\n return (\n <>\n <Space className={classnames(style['filter-title'], 'filter-title', className)} align=\"top\" size={16}>\n <span className={style['filter-label']}>{list && list.length > 0 && (label || formatMessage({ id: 'filterText' }))}</span>\n <Row justify=\"space-between\" wrap={false} align=\"top\">\n <Col className={style['filter-list']} flex={1}>\n <div className={style['filter-list-scroll-wrap']}>\n {isMobile && showScrollPrev ? <div className={style['filter-scroll-prev-shadow']} /> : null}\n <div className={style['filter-list-scroll']} ref={scrollRef} onClick={scrollItemIntoView}>\n {(isMobile ? mobileList : list.slice(0, displayLine)).map((item, index) => (\n <Line key={index} list={isMobile ? [item] : item}>\n {!isMobile && hasMore && isExpand === false && index === displayLine - 1 ? (\n <Space\n size={4}\n className={classnames(style['filter-item'], style['option'])}\n onClick={() => {\n setIsExpand(value => !value);\n }}\n >\n {formatMessage({ id: 'moreText' })}\n <span className={style['filter-item-option-icon']}>▼</span>\n </Space>\n ) : null}\n </Line>\n ))}\n </div>\n {isMobile && showScrollNext ? (\n <button type=\"button\" className={style['filter-scroll-next']} onClick={scrollToNext} aria-label=\"scroll next\">\n <span className={style['filter-scroll-next-icon']}>›</span>\n </button>\n ) : null}\n </div>\n </Col>\n <Col>{extra}</Col>\n </Row>\n </Space>\n <Space className={classnames(style['filter-title'], 'filter-title-wrap')} align=\"center\" size={16}>\n {children}\n </Space>\n <Space\n className={classnames(style['filter-title'], 'filter-title-wrap', {\n [style['filter-title-hidden']]: isMobile || !(hasMore && isExpand)\n })}\n align=\"top\"\n size={16}\n >\n <span className={style['filter-label']}>{formatMessage({ id: 'moreText' })}</span>\n <div className={style['filter-list']}>\n {list.slice(displayLine).map((item, index) => (\n <Line key={index} list={item}>\n {index === list.length - displayLine - 1 && (\n <>\n <Space size={4} className={classnames(style['un-expand-shadow'])}>\n <Space size={4} className={classnames(style['option'], style['filter-item'])}>\n {formatMessage({ id: 'toggleUpText' })}\n <span className={style['filter-item-option-icon']}>▲</span>\n </Space>\n </Space>\n <Space\n size={4}\n className={classnames(style['un-expand'])}\n onClick={() => {\n setIsExpand(value => !value);\n }}\n >\n <Space size={4} className={classnames(style['option'], style['filter-item'])}>\n {formatMessage({ id: 'toggleUpText' })}\n <span className={style['filter-item-option-icon']}>▲</span>\n </Space>\n </Space>\n </>\n )}\n </Line>\n ))}\n </div>\n </Space>\n </>\n );\n};\n\nexport default FilterLines;\n","const message = {\n filterText: '筛选',\n moreText: '更多',\n selectedText: '您已选择',\n clearAllText: '清空全部',\n toggleUpText: '收起',\n selectedTextAdvanced: '已选',\n clearText: '清空筛选',\n otherText: '其他',\n cancelText: '取消',\n determineText: '确定',\n year: '年',\n over: '{count}{unit}以上',\n lessThan: '{count}{unit}以下',\n inputPlaceholder: '请输入{label}',\n pleaseInput: '请输入',\n defaultInputPlaceholder: '请输入{label}',\n maxSelectedCount: '最多选择{count}项',\n customTime: '自定义时间',\n monthly: '按月',\n weekly: '按周',\n last7Days: '近7天',\n thisMonth: '本月',\n last3Months: '近三个月',\n thisYear: '当年',\n fullYear: '本年度',\n pleaseSelect: '请选择'\n};\n\nexport default message;\n","const message = {\n filterText: 'Filter',\n moreText: 'More',\n selectedText: 'Selected',\n clearAllText: 'Clear All',\n toggleUpText: 'Pack Up',\n selectedTextAdvanced: 'Selected',\n clearText: 'Clear Filter',\n otherText: 'Other',\n cancelText: 'Cancel',\n determineText: 'Determine',\n year: 'year',\n over: 'over {count} {unit}s',\n lessThan: 'less than {count} {unit}s',\n inputPlaceholder: 'Please enter {label}',\n pleaseInput: 'Please enter ',\n defaultInputPlaceholder: 'Please enter {label}',\n maxSelectedCount: 'Select up to {count} items',\n customTime: 'Custom Time',\n monthly: 'Monthly',\n weekly: 'Weekly',\n last7Days: 'Last 7 Days',\n thisMonth: 'This Month',\n last3Months: 'Last 3 Months',\n thisYear: 'Year to Date',\n fullYear: 'Full Year',\n pleaseSelect: 'Please Select'\n};\n\nexport default message;\n","import { createWithIntlProvider } from '@kne/react-intl';\nimport zhCN from './locale/zh-CN';\nimport enUS from './locale/en-US';\n\nconst withLocale = createWithIntlProvider({\n defaultLocale: 'zh-CN',\n messages: {\n 'zh-CN': zhCN,\n 'en-US': enUS\n },\n namespace: 'react-filter'\n});\n\nexport default withLocale;\n","import { Button, Space, Tag } from 'antd';\nimport style from './style.module.scss';\nimport classnames from 'classnames';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from './withLocale';\nimport { useState } from 'react';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport useMobile from './hooks/useMobile';\nimport useHorizontalScrollShadows from './hooks/useHorizontalScrollShadows';\n\nconst FilterValueDisplay = withLocale(({ value: filterValue, extraExpand, onChange }) => {\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n const [isExpand, setIsExpand] = useState(false);\n const isMobile = useMobile();\n const { scrollRef, isOverflow, showScrollPrev, showScrollNext } = useHorizontalScrollShadows({\n enabled: isMobile,\n suspend: isExpand,\n preserveOverflowOnSuspend: true,\n refreshKey: filterValue\n });\n\n const tags = filterValue.map(({ name, label, value }, index) => {\n const valueLabel = Array.isArray(value) ? value.map(item => item.label).join(',') : value?.label;\n return (\n <Tag\n key={name}\n closable\n className={style['filter-value-tag']}\n onClose={() => {\n const newValue = filterValue.slice(0);\n newValue.splice(index, 1);\n onChange(newValue);\n }}\n >\n <span className={style['filter-value-tag-label']}>{label}:</span>\n <span className={style['filter-value-tag-content']}>{valueLabel}</span>\n </Tag>\n );\n });\n\n return (\n <Space className={classnames(style['filter-title'], style['filter-value-display'])} align=\"top\" size={16}>\n <span className={style['filter-label']}>{formatMessage({ id: 'selectedText' })}</span>\n {isMobile ? (\n <div className={classnames(style['filter-value-display-content'], !isOverflow && style['is-not-overflow'])}>\n <div className={classnames(style['filter-value-tags-wrap'], isExpand && style['is-expand'])}>\n {showScrollPrev ? <div className={classnames(style['filter-scroll-prev-shadow'], style['filter-value-scroll-prev-shadow'])} /> : null}\n <div ref={scrollRef} className={classnames(style['filter-line'], style['filter-value-tags'], isExpand && style['is-expand'])}>\n {tags}\n </div>\n {showScrollNext ? <div className={classnames(style['filter-value-scroll-next-shadow'])} /> : null}\n </div>\n <div className={classnames(style['filter-value-actions'], isOverflow && style['is-overflow'])}>\n <div className={style['filter-value-action-right']}>\n <Space size={4}>\n {extraExpand}\n <Button\n size=\"small\"\n onClick={() => {\n onChange([]);\n }}\n >\n {formatMessage({ id: 'clearAllText' })}\n </Button>\n </Space>\n </div>\n {isOverflow ? (\n <Button\n type=\"link\"\n size=\"small\"\n className={style['filter-value-toggle']}\n icon={isExpand ? <UpOutlined /> : <DownOutlined />}\n onClick={() => {\n setIsExpand(value => !value);\n }}\n >\n {isExpand ? '收起' : '展开'}\n </Button>\n ) : null}\n <div className={style['filter-value-action-placeholder']}>\n {extraExpand}\n <Button size=\"small\">{formatMessage({ id: 'clearAllText' })}</Button>\n </div>\n </div>\n </div>\n ) : (\n <div className={style['filter-line']}>\n {tags}\n <Space size={4} className={classnames(style['un-expand-shadow'])}>\n {extraExpand}\n <Button size=\"small\">{formatMessage({ id: 'clearAllText' })}</Button>\n </Space>\n <Space size={4} className={classnames(style['un-expand'])}>\n {extraExpand}\n <Button\n size=\"small\"\n onClick={() => {\n onChange([]);\n }}\n >\n {formatMessage({ id: 'clearAllText' })}\n </Button>\n </Space>\n </div>\n )}\n </Space>\n );\n});\n\nexport default FilterValueDisplay;\n","import { Provider } from './context';\nimport clone from 'lodash/clone';\nimport { useMemo } from 'react';\n\nconst isNotEmpty = value => {\n if (value === null || value === undefined) return false;\n if (typeof value === 'string' && value.trim() === '') return false;\n if (Array.isArray(value) && value.length === 0) return false;\n return true;\n};\n\nconst FilterProvider = ({ children, value: valueBase, onChange, defaultValue = [] }) => {\n const value = useMemo(() => {\n return (valueBase || defaultValue).filter(item => isNotEmpty(item.value));\n }, [valueBase, defaultValue]);\n\n const filterValue = useMemo(() => {\n return new Map(value.map(item => [item.name, item]));\n }, [value]);\n\n return (\n <Provider\n value={{\n value: filterValue,\n onChange: item => {\n const newFilterValue = clone(filterValue);\n item.value ? newFilterValue.set(item.name, item) : newFilterValue.delete(item.name);\n onChange?.(Array.from(newFilterValue.values()));\n }\n }}\n >\n {typeof children === 'function' ? children({ value, onChange }) : children}\n </Provider>\n );\n};\n\nexport default FilterProvider;\n","import classnames from 'classnames';\nimport style from './style.module.scss';\nimport FilterProvider from './FilterProvider';\n\nconst FilterOuter = ({ children, className, ...props }) => {\n return <FilterProvider {...props}>{context => <div className={classnames(style['filter'], 'filter', className)}>{children({ ...context, props })}</div>}</FilterProvider>;\n};\n\nexport default FilterOuter;\n","import FilterLines from './FilterLines';\nimport FilterValueDisplay from './FilterValueDisplay';\nimport FilterOuter from './FilterOuter';\nimport withLocale from './withLocale';\n\nconst Filter = withLocale(({ defaultValue = [], ...props }) => {\n return (\n <FilterOuter {...props} defaultValue={defaultValue}>\n {({ props: filterProps = {}, value, onChange }) => {\n const { extraExpand, ...others } = filterProps;\n return (\n <>\n <FilterLines {...others} />\n {value && value.length > 0 && <FilterValueDisplay value={value} onChange={onChange} extraExpand={extraExpand} />}\n </>\n );\n }}\n </FilterOuter>\n );\n});\n\nexport default Filter;\n","import classnames from 'classnames';\nimport { Space } from 'antd';\nimport style from './style.module.scss';\nimport withLocale from './withLocale';\n\nconst FilterItem = withLocale(({ open, active, label, children }) => {\n return (\n <Space className={style['filter-item-wrap']}>\n <div\n className={classnames(style['filter-item'], {\n [style['is-active']]: active,\n [style['is-visited']]: open\n })}\n >\n <Space className={style['filter-item-label']} size={4}>\n <div>{label}</div>\n <span className={style['filter-item-icon']}>▼</span>\n </Space>\n <div className={style['filter-item-field']}>{children}</div>\n </div>\n </Space>\n );\n});\n\nexport default FilterItem;\n","import { useState, useRef, useEffect, useCallback } from 'react';\nimport { createPortal } from 'react-dom';\nimport FilterItem from './FilterItem';\nimport style from './style.module.scss';\nimport classnames from 'classnames';\n\nconst isNotEmpty = value => {\n if (value === null || value === undefined) return false;\n if (typeof value === 'string' && value.trim() === '') return false;\n return !(Array.isArray(value) && value.length === 0);\n};\n\nconst MASK_ANIMATION_DURATION = 180;\nconst FIELD_MOBILE_POPUP_CLASS = 'react-filter-field-mobile-popup';\nconst MOBILE_POPUP_OFFSET = 4;\n\nconst withFieldItem =\n (WrappedComponent, options = {}) =>\n ({ value, onChange, interceptor, label, render, ...props }) => {\n const [open, setOpen] = useState(false);\n const [isMobile, setIsMobile] = useState(false);\n const [renderMask, setRenderMask] = useState(false);\n const [maskClosing, setMaskClosing] = useState(false);\n const [popupMetrics, setPopupMetrics] = useState({ top: 0, pageTop: 0, height: 0 });\n const triggerRef = useRef(null);\n const setMobilePopupVariables = useCallback(metrics => {\n if (typeof document === 'undefined') return;\n document.body.style.setProperty('--react-filter-field-mobile-height', `${metrics.height}px`);\n document.body.style.setProperty('--react-filter-popover-mobile-height', `${metrics.height}px`);\n document.body.style.setProperty('--react-filter-field-mobile-top', `${metrics.top}px`);\n }, []);\n const updatePopupMetrics = useCallback(() => {\n if (typeof window === 'undefined' || !triggerRef.current) return;\n const rect = triggerRef.current.getBoundingClientRect();\n const top = Math.max(rect.bottom + MOBILE_POPUP_OFFSET, 0);\n const metrics = {\n top,\n height: Math.max(window.innerHeight - top, 0)\n };\n setPopupMetrics(metrics);\n setMobilePopupVariables(metrics);\n }, [setMobilePopupVariables]);\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n const mediaQuery = window.matchMedia('(max-width: 768px)');\n const updateIsMobile = () => {\n setIsMobile(mediaQuery.matches);\n };\n updateIsMobile();\n mediaQuery.addEventListener ? mediaQuery.addEventListener('change', updateIsMobile) : mediaQuery.addListener(updateIsMobile);\n return () => {\n mediaQuery.removeEventListener ? mediaQuery.removeEventListener('change', updateIsMobile) : mediaQuery.removeListener(updateIsMobile);\n };\n }, []);\n\n useEffect(() => {\n if (!open || !isMobile) return;\n updatePopupMetrics();\n window.addEventListener('resize', updatePopupMetrics);\n window.addEventListener('scroll', updatePopupMetrics, true);\n return () => {\n window.removeEventListener('resize', updatePopupMetrics);\n window.removeEventListener('scroll', updatePopupMetrics, true);\n };\n }, [isMobile, open, updatePopupMetrics]);\n\n useEffect(() => {\n if (typeof document === 'undefined' || !isMobile || popupMetrics.height <= 0) return;\n setMobilePopupVariables(popupMetrics);\n return () => {\n document.body.style.removeProperty('--react-filter-field-mobile-height');\n document.body.style.removeProperty('--react-filter-popover-mobile-height');\n document.body.style.removeProperty('--react-filter-field-mobile-top');\n };\n }, [isMobile, popupMetrics, setMobilePopupVariables]);\n\n useEffect(() => {\n if (open && isMobile) {\n setRenderMask(true);\n setMaskClosing(false);\n return;\n }\n\n if (!renderMask) return;\n setMaskClosing(true);\n const timer = setTimeout(() => {\n setRenderMask(false);\n setMaskClosing(false);\n }, MASK_ANIMATION_DURATION);\n return () => {\n clearTimeout(timer);\n };\n }, [isMobile, open, renderMask]);\n\n const closeFieldItem = useCallback(() => {\n setOpen(false);\n props.onOpenChange && props.onOpenChange(false);\n props.onDropdownVisibleChange && props.onDropdownVisibleChange(false);\n }, [props]);\n\n const handleOpenChange = useCallback(\n open => {\n if (open && isMobile) {\n updatePopupMetrics();\n }\n setOpen(open);\n props.onOpenChange && props.onOpenChange(open);\n props.onDropdownVisibleChange && props.onDropdownVisibleChange(open);\n },\n [isMobile, props, updatePopupMetrics]\n );\n\n const mobilePopupStyle = isMobile\n ? {\n '--react-filter-field-mobile-height': `${popupMetrics.height}px`,\n '--react-filter-popover-mobile-height': `${popupMetrics.height}px`,\n '--react-filter-field-mobile-top': `${popupMetrics.top}px`,\n top: popupMetrics.top,\n left: 0\n }\n : undefined;\n\n const mergePopupClassNames = classNames => {\n if (!isMobile) return classNames;\n return Object.assign({}, classNames, {\n popup: Object.assign({}, classNames?.popup, {\n root: classnames(classNames?.popup?.root, style['field-item-mobile-popup'], FIELD_MOBILE_POPUP_CLASS)\n })\n });\n };\n\n const mergePopupStyles = styles => {\n if (!isMobile) return styles;\n return Object.assign({}, styles, {\n popup: Object.assign({}, styles?.popup, {\n root: Object.assign({}, styles?.popup?.root, mobilePopupStyle)\n })\n });\n };\n\n const renderChildren = otherProps => {\n const inputValue = typeof interceptor?.input === 'function' ? interceptor.input(value) : value;\n const fieldValue = options.forcePopup && inputValue == null ? (props.single ? null : []) : inputValue;\n return (\n <WrappedComponent\n allowClear={false}\n {...Object.assign({}, props, otherProps)}\n className={style['filter-item-inner']}\n value={fieldValue}\n onChange={typeof interceptor?.output === 'function' ? (...args) => onChange(interceptor.output(...args)) : onChange}\n valueType=\"all\"\n onOpenChange={handleOpenChange}\n onDropdownVisibleChange={handleOpenChange}\n popupClassName={classnames(props.popupClassName, isMobile && style['field-item-mobile-popup'], isMobile && FIELD_MOBILE_POPUP_CLASS)}\n dropdownClassName={classnames(props.dropdownClassName, isMobile && style['field-item-mobile-popup'], isMobile && FIELD_MOBILE_POPUP_CLASS)}\n overlayClassName={classnames(props.overlayClassName, isMobile && style['field-item-mobile-popup'], isMobile && FIELD_MOBILE_POPUP_CLASS)}\n overlayStyle={Object.assign({}, props.overlayStyle, mobilePopupStyle)}\n popupStyle={Object.assign({}, props.popupStyle, mobilePopupStyle)}\n dropdownStyle={Object.assign({}, props.dropdownStyle, mobilePopupStyle)}\n classNames={mergePopupClassNames(props.classNames)}\n styles={mergePopupStyles(props.styles)}\n transitionName={isMobile ? '' : props.transitionName}\n autoAdjustOverflow={isMobile ? false : props.autoAdjustOverflow}\n align={isMobile ? { offset: [0, 0] } : props.align}\n isPopup={options.forcePopup ? true : props.isPopup}\n overlayWidth={isMobile && options.forcePopup ? (typeof window === 'undefined' ? props.overlayWidth : window.innerWidth) : props.overlayWidth}\n />\n );\n };\n return (\n <>\n {renderMask &&\n typeof document !== 'undefined' &&\n createPortal(\n <div\n className={classnames(style['pop-util-mask'], maskClosing && style['pop-util-mask-leave'])}\n style={{\n top: popupMetrics.top,\n height: popupMetrics.height\n }}\n onClick={closeFieldItem}\n onTouchMove={e => {\n e.preventDefault();\n }}\n />,\n document.body\n )}\n <span ref={triggerRef}>\n <FilterItem label={label} open={open} active={isNotEmpty(value)}>\n {typeof render === 'function'\n ? render({\n children: renderChildren\n })\n : renderChildren()}\n </FilterItem>\n </span>\n </>\n );\n };\n\nexport default withFieldItem;\n","import { useState, useMemo, useRef, useEffect, useCallback } from 'react';\nimport { createPortal } from 'react-dom';\nimport { Button, Col, Dropdown, Row } from 'antd';\nimport FilterItem from './FilterItem';\nimport classnames from 'classnames';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from './withLocale';\nimport style from './style.module.scss';\n\nconst isNotEmpty = value => {\n if (value === null || value === undefined) return false;\n if (typeof value === 'string' && value.trim() === '') return false;\n if (Array.isArray(value) && value.length === 0) return false;\n return true;\n};\n\nconst MASK_ANIMATION_DURATION = 180;\nconst MOBILE_POPUP_OFFSET = 4;\n\nconst PopoverItem = withLocale(({ value, label, onValidate, overlayClassName, placement = 'bottomLeft', onOpenChange, onChange, children }) => {\n const [state, setState] = useState(value);\n const [open, setOpen] = useState(false);\n const [isMobile, setIsMobile] = useState(false);\n const [renderMask, setRenderMask] = useState(false);\n const [maskClosing, setMaskClosing] = useState(false);\n const [popupMetrics, setPopupMetrics] = useState({ top: 0, pageTop: 0, height: 0 });\n const triggerRef = useRef(null);\n const disabled = useMemo(() => {\n return onValidate && !onValidate(state);\n }, [onValidate, state]);\n\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n const mediaQuery = window.matchMedia('(max-width: 768px)');\n const updateIsMobile = () => {\n setIsMobile(mediaQuery.matches);\n };\n updateIsMobile();\n mediaQuery.addEventListener ? mediaQuery.addEventListener('change', updateIsMobile) : mediaQuery.addListener(updateIsMobile);\n return () => {\n mediaQuery.removeEventListener ? mediaQuery.removeEventListener('change', updateIsMobile) : mediaQuery.removeListener(updateIsMobile);\n };\n }, []);\n\n const updatePopupMetrics = useCallback(() => {\n if (typeof window === 'undefined' || !triggerRef.current) return;\n const rect = triggerRef.current.getBoundingClientRect();\n const top = Math.max(rect.bottom + MOBILE_POPUP_OFFSET, 0);\n setPopupMetrics({\n top,\n height: Math.max(window.innerHeight - top, 0)\n });\n }, []);\n\n useEffect(() => {\n if (!open || !isMobile) return;\n updatePopupMetrics();\n window.addEventListener('resize', updatePopupMetrics);\n window.addEventListener('scroll', updatePopupMetrics, true);\n return () => {\n window.removeEventListener('resize', updatePopupMetrics);\n window.removeEventListener('scroll', updatePopupMetrics, true);\n };\n }, [isMobile, open, updatePopupMetrics]);\n\n useEffect(() => {\n if (open && isMobile) {\n setRenderMask(true);\n setMaskClosing(false);\n return;\n }\n\n if (!renderMask) return;\n setMaskClosing(true);\n const timer = setTimeout(() => {\n setRenderMask(false);\n setMaskClosing(false);\n }, MASK_ANIMATION_DURATION);\n return () => {\n clearTimeout(timer);\n };\n }, [isMobile, open, renderMask]);\n\n const closeDropdown = useCallback(() => {\n setOpen(false);\n onOpenChange && onOpenChange(false);\n }, [onOpenChange]);\n\n const handleOpenChange = useCallback(\n open => {\n if (open && isMobile) {\n updatePopupMetrics();\n }\n setOpen(open);\n setState(value);\n onOpenChange && onOpenChange(open);\n },\n [isMobile, onOpenChange, updatePopupMetrics, value]\n );\n\n const mobileOverlayStyle = isMobile\n ? {\n '--react-filter-popover-mobile-height': `${popupMetrics.height}px`,\n top: popupMetrics.top,\n left: 0\n }\n : undefined;\n\n const overlayContent = (\n <div\n className={style['pop-util-body']}\n onClick={e => {\n e.stopPropagation();\n }}\n >\n <div className={style['pop-util-content']}>{children({ value: state, onChange: setState })}</div>\n <Row className={style['pop-util-footer']} justify=\"end\" gutter={8}>\n <Col>\n <Button size={isMobile ? undefined : 'small'} onClick={closeDropdown}>\n {formatMessage({ id: 'cancelText' })}\n </Button>\n </Col>\n <Col>\n <Button\n size={isMobile ? undefined : 'small'}\n type=\"primary\"\n disabled={disabled}\n onClick={() => {\n closeDropdown();\n onChange && onChange(state);\n }}\n >\n {formatMessage({ id: 'determineText' })}\n </Button>\n </Col>\n </Row>\n </div>\n );\n\n return (\n <>\n {renderMask &&\n typeof document !== 'undefined' &&\n createPortal(\n <div\n className={classnames(style['pop-util-mask'], maskClosing && style['pop-util-mask-leave'])}\n style={{\n top: popupMetrics.top,\n height: popupMetrics.height\n }}\n onClick={closeDropdown}\n onTouchMove={e => {\n e.preventDefault();\n }}\n />,\n document.body\n )}\n <Dropdown\n open={open}\n trigger={['click']}\n placement={isMobile ? 'bottomLeft' : placement}\n autoAdjustOverflow={!isMobile}\n align={isMobile ? { offset: [0, 0] } : undefined}\n overlayClassName={classnames(style['pop-util-overlay'], overlayClassName)}\n overlayStyle={mobileOverlayStyle}\n onOpenChange={handleOpenChange}\n menu={{ items: [{ key: 'content', label: null }] }}\n dropdownRender={() => overlayContent}\n >\n <span ref={triggerRef}>\n <FilterItem open={open} active={isNotEmpty(value)} label={label} />\n </span>\n </Dropdown>\n </>\n );\n});\n\nexport default PopoverItem;\n","import PopoverItem from '../PopoverItem';\nimport { Input } from 'antd';\nimport get from 'lodash/get';\nimport style from '../style.module.scss';\nimport withLocale from '../withLocale';\n\nconst InputFilterItem = withLocale(({ label, value, onChange, placeholder, onValidate, overlayClassName, placement, onOpenChange, ...props }) => {\n return (\n <PopoverItem label={label} value={value} onChange={onChange} {...{ onValidate, overlayClassName, placement, onOpenChange }}>\n {({ value, onChange }) => (\n <Input\n {...props}\n placeholder={placeholder || `请输入${label}`}\n className={style['filter-item-text']}\n value={get(value, 'value', '')}\n onChange={e => onChange(e.target.value ? { label: e.target.value, value: e.target.value } : null)}\n />\n )}\n </PopoverItem>\n );\n});\n\nexport default InputFilterItem;\n","import PopoverItem from '../PopoverItem';\nimport { Input, InputNumber, Space } from 'antd';\nimport get from 'lodash/get';\nimport isNumber from 'lodash/isNumber';\nimport { useIntl } from '@kne/react-intl';\nimport style from '../style.module.scss';\nimport withLocale from '../withLocale';\n\nconst computedFilterValue = (range, unit, formatMessage) => {\n if (!isNumber(range[0]) && !isNumber(range[1])) {\n return null;\n }\n\n return {\n label: (range => {\n if (isNumber(range[0]) && isNumber(range[1])) {\n return `${range[0]}-${range[1]}${unit || ''}`;\n }\n if (isNumber(range[0])) {\n return formatMessage({ id: 'over' }, { count: range[0], unit });\n }\n if (isNumber(range[1])) {\n return formatMessage({ id: 'lessThan' }, { count: range[1], unit });\n }\n })(range),\n value: [range[0] || null, range[1] || null]\n };\n};\n\nconst defaultPropsOnValidate = value => {\n const range = get(value, 'value');\n return !(range && isNumber(range[0]) && isNumber(range[1]) && range[1] < range[0]);\n};\n\nconst NumberRangeFilterItem = withLocale(({ label, value, onChange, placeholder, onValidate = defaultPropsOnValidate, overlayClassName, placement, onOpenChange, unit, ...props }) => {\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n return (\n <PopoverItem label={label} value={value} onChange={onChange} {...{ onValidate, overlayClassName, placement, onOpenChange }}>\n {({ value, onChange }) => (\n <Space.Compact>\n <InputNumber\n {...props}\n placeholder={placeholder || `${formatMessage({ id: 'pleaseInput' })}${label}`}\n className={style['filter-item-number-range']}\n value={get(value, 'value[0]', '')}\n onChange={target => {\n onChange(computedFilterValue([target, get(value, 'value[1]')], unit, formatMessage));\n }}\n />\n <Input\n style={{\n width: 30,\n borderLeft: 0,\n borderRight: 0,\n pointerEvents: 'none'\n }}\n placeholder=\"~\"\n disabled\n />\n <InputNumber\n {...props}\n placeholder={placeholder || `${formatMessage({ id: 'pleaseInput' })}${label}`}\n className={style['filter-item-number-range']}\n value={get(value, 'value[1]', '')}\n onChange={target => {\n onChange(computedFilterValue([get(value, 'value[0]'), target], unit, formatMessage));\n }}\n />\n {unit && (\n <Input\n style={{\n width: 50,\n borderLeft: 0\n }}\n value={unit}\n disabled\n />\n )}\n </Space.Compact>\n )}\n </PopoverItem>\n );\n});\n\nexport default NumberRangeFilterItem;\n","import { DatePicker } from 'antd';\nimport withFieldItem from '../withFieldItem';\nimport dayjs from 'dayjs';\nimport withLocale from '../withLocale';\nimport style from '../style.module.scss';\nimport classnames from 'classnames';\n\nconst DatePickerFilterItem = withLocale(\n withFieldItem(({ value, onChange, picker = 'date', ...props }) => {\n return (\n <DatePicker\n {...props}\n inputReadOnly\n picker={picker}\n classNames={{\n ...props.classNames,\n popup: {\n ...props.classNames?.popup,\n root: classnames(props.classNames?.popup?.root, style['date-picker-popup'])\n }\n }}\n value={value && dayjs(value.value)}\n onChange={value => {\n const { format } = Object.assign({ format: 'YYYY-MM-DD' }, props);\n value &&\n onChange({\n label: picker !== 'date' ? `${value.startOf(picker).format(format)}~${value.endOf(picker).format(format)}` : value.format(format),\n value: new Date(value.startOf(picker).valueOf())\n });\n }}\n />\n );\n })\n);\n\nexport default DatePickerFilterItem;\n","import { DatePicker, Flex } from 'antd';\nimport withFieldItem from '../withFieldItem';\nimport dayjs from 'dayjs';\nimport style from '../style.module.scss';\nimport withLocale from '../withLocale';\nimport classnames from 'classnames';\n\nconst DateRangePickerFilterItem = withLocale(\n withFieldItem(({ value, onChange, header, ...props }) => {\n return (\n <Flex vertical>\n {typeof header === 'function' ? header({ value, onChange }) : header}\n <DatePicker.RangePicker\n {...props}\n inputReadOnly\n allowEmpty={[false, false]}\n classNames={{\n ...props.classNames,\n popup: {\n ...props.classNames?.popup,\n root: classnames(props.classNames?.popup?.root, style['date-range-picker-popup'])\n }\n }}\n value={value && Array.isArray(value.value) && value.value.length === 2 && value.value.map(item => dayjs(item))}\n onChange={value => {\n const { format } = Object.assign({ format: 'YYYY-MM-DD' }, props);\n onChange({\n label: value.map(item => item.format(format)).join('~'),\n value: value.map(item => new Date(item.valueOf()))\n });\n }}\n />\n </Flex>\n );\n })\n);\n\nexport default DateRangePickerFilterItem;\n","import { DatePicker, Select, Space, Flex } from 'antd';\nimport { useIntl } from '@kne/react-intl';\nimport { useRef, useCallback, useMemo } from 'react';\nimport dayjs from 'dayjs';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\n\nconst TypeDateRangePickerField = ({ value: valueProp, onChange: onChangeProp, defaultValue, shortcuts = true, shortcutOptions, ...props }) => {\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n\n const typeList = new Map([\n ['date', formatMessage({ id: 'customTime' })],\n ['month', formatMessage({ id: 'monthly' })],\n ['week', formatMessage({ id: 'weekly' })]\n ]);\n\n const defaultShortcuts = useMemo(\n () => [\n {\n label: formatMessage({ id: 'last7Days' }),\n getValue: () => [dayjs().subtract(7, 'day').startOf('day'), dayjs().endOf('day')]\n },\n {\n label: formatMessage({ id: 'thisMonth' }),\n getValue: () => [dayjs().startOf('month'), dayjs().endOf('month')]\n },\n {\n label: formatMessage({ id: 'last3Months' }),\n getValue: () => [dayjs().subtract(3, 'month').startOf('day'), dayjs().endOf('day')]\n },\n {\n label: formatMessage({ id: 'thisYear' }),\n getValue: () => [dayjs().startOf('year'), dayjs().endOf('day')]\n },\n {\n label: formatMessage({ id: 'fullYear' }),\n getValue: () => [dayjs().startOf('year'), dayjs().endOf('year')]\n }\n ],\n [formatMessage]\n );\n\n const currentShortcuts = shortcutOptions !== undefined ? shortcutOptions : shortcuts ? defaultShortcuts : null;\n\n const isControlled = valueProp !== undefined;\n const innerValueRef = useRef(defaultValue || { type: 'date', value: null });\n\n const value = isControlled ? valueProp : innerValueRef.current;\n\n const onChange = useCallback(\n newValue => {\n if (!isControlled) {\n innerValueRef.current = typeof newValue === 'function' ? newValue(innerValueRef.current) : newValue;\n }\n onChangeProp?.(typeof newValue === 'function' ? newValue(value) : newValue);\n },\n [isControlled, onChangeProp, value]\n );\n\n const handleShortcutClick = useCallback(\n shortcut => {\n const [start, end] = shortcut.getValue();\n const type = 'date';\n onChange({\n type,\n value: [start.startOf(type).toDate(), end.endOf(type).toDate()]\n });\n },\n [onChange]\n );\n\n const isShortcutActive = useCallback(\n shortcut => {\n if (!value?.value || !Array.isArray(value.value) || value.value.length !== 2) {\n return false;\n }\n const [start, end] = shortcut.getValue();\n const type = value?.type || 'date';\n const valueStart = dayjs(value.value[0]).startOf(type);\n const valueEnd = dayjs(value.value[1]).endOf(type);\n const shortcutStart = start.startOf(type);\n const shortcutEnd = end.endOf(type);\n return valueStart.isSame(shortcutStart, type) && valueEnd.isSame(shortcutEnd, type);\n },\n [value]\n );\n\n const renderShortcuts = useMemo(() => {\n if (!currentShortcuts || currentShortcuts.length === 0) {\n return null;\n }\n return (\n <div className={style['shortcuts-container']}>\n {currentShortcuts.map((shortcut, index) => (\n <span\n key={index}\n className={classnames(style['shortcut-item'], {\n [style['is-active']]: isShortcutActive(shortcut)\n })}\n onClick={() => handleShortcutClick(shortcut)}\n >\n {shortcut.label}\n </span>\n ))}\n </div>\n );\n }, [currentShortcuts, handleShortcutClick, isShortcutActive]);\n\n return (\n <Flex vertical gap={0}>\n <Space.Compact>\n <Select\n style={{ width: '120px' }}\n value={value?.type || 'date'}\n onChange={typeValue => {\n onChange(currentValue => {\n if (!currentValue?.value?.length) {\n return { value: null, type: typeValue || 'date' };\n }\n const startTime = dayjs(currentValue.value[0]);\n const endTime = dayjs(currentValue.value[1]);\n return {\n value: [startTime.isValid() ? startTime.startOf(typeValue || 'date').toDate() : null, endTime.isValid() ? endTime.endOf(typeValue || 'date').toDate() : null],\n type: typeValue || 'date'\n };\n });\n }}\n options={Array.from(typeList).map(([val, label]) => ({\n label,\n value: val\n }))}\n />\n <DatePicker.RangePicker\n {...props}\n picker={value?.type || 'date'}\n value={Array.isArray(value?.value) && value.value.length === 2 ? value.value.map(item => item && dayjs(item)) : null}\n onChange={dateValue => {\n onChange(currentValue => {\n return Object.assign({ type: 'date' }, currentValue, {\n value: dateValue && dateValue[0] && dateValue[1] ? [dateValue[0].startOf(currentValue?.type || 'date').toDate(), dateValue[1].endOf(currentValue?.type || 'date').toDate()] : null\n });\n });\n }}\n />\n </Space.Compact>\n {renderShortcuts}\n </Flex>\n );\n};\n\nexport default TypeDateRangePickerField;\n","import PopoverItem from '../PopoverItem';\nimport TypeDateRangePickerField from '../common/TypeDateRangePickerField';\nimport get from 'lodash/get';\nimport style from '../style.module.scss';\nimport dayjs from 'dayjs';\nimport withLocale from '../withLocale';\n\nconst TypeDateRangePickerFilterItem = withLocale(({ label, value, onChange, ...props }) => {\n return (\n <PopoverItem\n label={label}\n value={value}\n onChange={onChange}\n onValidate={item => {\n const itemValue = item?.value;\n return itemValue?.type && Array.isArray(itemValue?.value) && itemValue.value.length === 2;\n }}\n >\n {({ value, onChange }) => (\n <TypeDateRangePickerField\n {...props}\n inputReadOnly\n className={style['filter-item-text']}\n value={get(value, 'value')}\n onChange={pickerValue => {\n const { format = 'YYYY-MM-DD' } = props;\n const val = pickerValue?.value || [];\n let displayLabel = '';\n if (val[0] && !val[1]) {\n displayLabel = `${dayjs(val[0]).format(format)}以后`;\n } else if (!val[0] && val[1]) {\n displayLabel = `${dayjs(val[1]).format(format)}以前`;\n } else if (val[0] && val[1]) {\n displayLabel = `${dayjs(val[0]).format(format)}~${dayjs(val[1]).format(format)}`;\n }\n onChange({\n label: displayLabel,\n value: pickerValue\n });\n }}\n />\n )}\n </PopoverItem>\n );\n});\n\nexport default TypeDateRangePickerFilterItem;\n","import { useIntl } from '@kne/react-intl';\nimport withFieldItem from '../withFieldItem';\nimport InputFilterItemField from './InputFilterItem';\nimport NumberRangeFilterItemField from './NumberRangeFilterItem';\nimport withLocale from '../withLocale';\nimport SuperSelect from '@kne/super-select';\nimport { SelectAddress, SelectFunction, SelectIndustry } from '@kne/super-select-plus';\nimport '@kne/super-select-plus/dist/index.css';\nimport '@kne/super-select-plus/dist/index.css';\n\nconst withInputDefaultPlaceholder = WrappedComponent =>\n withLocale(({ placeholder, label, ...props }) => {\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n return <WrappedComponent {...props} label={label} placeholder={placeholder || formatMessage({ id: 'defaultInputPlaceholder' }, { label })} />;\n });\n\nexport const InputFilterItem = withInputDefaultPlaceholder(InputFilterItemField);\nexport const NumberRangeFilterItem = withInputDefaultPlaceholder(NumberRangeFilterItemField);\n\nexport { default as DatePickerFilterItem } from './DatePickerFilterItem';\nexport { default as DateRangePickerFilterItem } from './DateRangePickerFilterItem';\nexport { default as TypeDateRangePickerFilterItem } from './TypeDateRangePickerFilterItem';\n\nexport const SuperSelectFilterItem = withFieldItem(SuperSelect, { forcePopup: true });\nexport const SelectFunctionFilterItem = withFieldItem(SelectFunction, { forcePopup: true });\nexport const SelectIndustryFilterItem = withFieldItem(SelectIndustry, { forcePopup: true });\nexport const SelectAddressFilterItem = withFieldItem(SelectAddress, { forcePopup: true });\n","import transform from 'lodash/transform';\n\nconst getFilterValue = filterValue => {\n return transform(\n filterValue,\n (result, { name, value }) => {\n result[name] = Array.isArray(value) ? value.map(({ value }) => value) : value?.value;\n },\n {}\n );\n};\n\nexport default getFilterValue;\n","import { useContext } from './context';\nimport get from 'lodash/get';\n\nconst withFilterValue = WrappedComponent => {\n return ({ name, label, ...props }) => {\n const { value, onChange } = useContext();\n return (\n <WrappedComponent\n {...props}\n label={label}\n onChange={\n onChange\n ? value =>\n onChange({\n name,\n label,\n value\n })\n : props.onChange\n }\n value={value ? get(value.get(name), 'value') : props.value}\n />\n );\n };\n};\n\nexport default withFilterValue;\n","import { Input } from 'antd';\nimport withFilterValue from './withFilterValue';\nimport { useIntl } from '@kne/react-intl';\nimport { useEffect, useRef, useState } from 'react';\nimport withLocale from './withLocale';\n\nconst { Search } = Input;\n\nconst SearchInput = withLocale(\n withFilterValue(({ label, onChange, value, placeholder, searchDelay = 500, ...props }) => {\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n const propsValue = value?.value;\n const [inputValue, setInputValue] = useState(propsValue || '');\n const inputValueRef = useRef('');\n const onChangeRef = useRef(onChange);\n const searchTimerRef = useRef(null);\n const isComposingRef = useRef(false);\n inputValueRef.current = inputValue;\n onChangeRef.current = onChange;\n\n const clearSearchTimer = () => {\n if (searchTimerRef.current) {\n clearTimeout(searchTimerRef.current);\n searchTimerRef.current = null;\n }\n };\n\n const submitSearch = searchValue => {\n onChangeRef.current?.(searchValue ? { label: searchValue, value: searchValue } : null);\n };\n\n const scheduleSearch = searchValue => {\n clearSearchTimer();\n searchTimerRef.current = setTimeout(() => {\n searchTimerRef.current = null;\n submitSearch(searchValue);\n }, searchDelay);\n };\n\n useEffect(() => {\n if (propsValue !== inputValueRef.current) {\n clearSearchTimer();\n setInputValue(propsValue || '');\n }\n }, [propsValue]);\n\n useEffect(() => {\n return () => {\n clearSearchTimer();\n };\n }, []);\n\n return (\n <Search\n {...props}\n placeholder={placeholder || formatMessage({ id: 'inputPlaceholder' }, { label })}\n value={inputValue}\n onChange={e => {\n const nextValue = e.target.value;\n setInputValue(nextValue);\n if (!isComposingRef.current) {\n scheduleSearch(nextValue);\n }\n }}\n onCompositionStart={() => {\n isComposingRef.current = true;\n clearSearchTimer();\n }}\n onCompositionEnd={e => {\n isComposingRef.current = false;\n const nextValue = e.target.value;\n setInputValue(nextValue);\n scheduleSearch(nextValue);\n }}\n onSearch={searchValue => {\n clearSearchTimer();\n submitSearch(searchValue);\n }}\n />\n );\n })\n);\n\nexport default SearchInput;\n","/**\n * 从筛选值中提取原始值数组。\n * 支持:原始值、{ value } 对象、{ id } 对象、以及它们的数组。\n *\n * @example\n * pickSelectValues([{ value: 1 }, { id: 2 }, '3'])\n * // => ['1', '2', '3']\n *\n * pickSelectValues({ value: 'open' })\n * // => ['open']\n *\n * pickSelectValues(null)\n * // => []\n */\nconst pickSelectValues = value => {\n if (value == null || value === '') {\n return [];\n }\n const list = Array.isArray(value) ? value : [value];\n return list\n .map(item => {\n if (item == null) {\n return null;\n }\n if (typeof item !== 'object') {\n return String(item);\n }\n if (item.value != null && item.value !== '') {\n return String(item.value);\n }\n if (item.id != null && item.id !== '') {\n return String(item.id);\n }\n return null;\n })\n .filter(Boolean);\n};\n\nexport default pickSelectValues;\n","import pickSelectValues from './pickSelectValues';\n\n/**\n * 声明式创建 mapFilterValue 函数。\n *\n * Filter.getFilterValue 默认只读取 { value },而 SuperSelectFilterItem 等\n * 组件使用 { id, name } 格式,需要额外处理。此工具通过声明字段映射规则,\n * 自动生成符合 (filter, getFilterValue) => value 签名的函数。\n *\n * @param {Object} fieldMappers - 字段名到映射规则的映射\n * @param {'string'} fieldMappers[field] - 确保值为字符串类型\n * @param {'multi'} fieldMappers[field] - 多选,从 filter entry 提取值数组\n * @param {'single'} fieldMappers[field] - 单选,从 filter entry 提取第一个值\n * @param {Function} fieldMappers[field] - 自定义转换,接收 (rawValue, { entry, filter, value }) 返回新值\n *\n * @example\n * const mapFilterValue = createFilterValueMapper({\n * id: 'string',\n * roles: 'multi',\n * tenantOrgId: 'single',\n * status: (rawValue) => normalizeStatus(rawValue)\n * });\n *\n * // 使用方式与手写 mapFilterValue 一致\n * const filterValue = mapFilterValue(filter, Filter.getFilterValue);\n *\n * // 也可直接传给 BizUnit 的 options.mapFilterValue\n * <BizUnit options={{ mapFilterValue }} />\n */\nconst createFilterValueMapper = fieldMappers => {\n return (filter, getFilterValue) => {\n const value = getFilterValue(filter);\n\n Object.entries(fieldMappers).forEach(([fieldName, mapper]) => {\n const entry = filter.find(item => item.name === fieldName);\n\n if (mapper === 'string') {\n if (value[fieldName] != null && value[fieldName] !== '') {\n value[fieldName] = String(value[fieldName]);\n }\n } else if (mapper === 'multi') {\n if (entry) {\n const values = pickSelectValues(entry.value);\n if (values.length) {\n value[fieldName] = values;\n } else {\n delete value[fieldName];\n }\n }\n } else if (mapper === 'single') {\n if (entry) {\n const values = pickSelectValues(entry.value);\n if (values[0] != null) {\n value[fieldName] = values[0];\n } else {\n delete value[fieldName];\n }\n } else if (value[fieldName] != null && typeof value[fieldName] === 'object') {\n const values = pickSelectValues(value[fieldName]);\n if (values.length) {\n value[fieldName] = values[0];\n } else {\n delete value[fieldName];\n }\n }\n } else if (typeof mapper === 'function') {\n let rawValue = value[fieldName];\n if (rawValue != null && typeof rawValue === 'object' && 'value' in rawValue) {\n rawValue = rawValue.value;\n }\n if (rawValue != null && rawValue !== '') {\n const result = mapper(rawValue, { entry, filter, value });\n if (result != null && result !== '') {\n value[fieldName] = result;\n } else {\n delete value[fieldName];\n }\n }\n }\n });\n\n return value;\n };\n};\n\nexport default createFilterValueMapper;\n","import { useState, useRef, useEffect } from 'react';\nimport { useSearchParams } from 'react-router-dom';\n\n/**\n * 创建 URL 参数读取器,自动追踪已消费的参数 key。\n *\n * @param {URLSearchParams} searchParams - React Router 的 searchParams 对象\n * @returns {{ take: (key: string) => string|null, getConsumedKeys: () => string[] }}\n *\n * @example\n * const { take, getConsumedKeys } = createUrlParamsReader(searchParams);\n * const orgId = take('tenantOrgId');\n * const orgName = take('orgName');\n * // getConsumedKeys() => ['tenantOrgId', 'orgName']\n */\nexport const createUrlParamsReader = searchParams => {\n const consumedKeys = [];\n const take = key => {\n if (!searchParams.has(key)) return null;\n consumedKeys.push(key);\n return searchParams.get(key);\n };\n const getConsumedKeys = () => consumedKeys;\n return { take, getConsumedKeys };\n};\n\n/**\n * 从 URL 参数中移除已消费的 key,返回新的 URLSearchParams 或 null(无变化时)。\n *\n * @param {URLSearchParams} searchParams - 当前 URL 参数\n * @param {string[]} consumedKeys - 需要移除的 key 列表\n * @returns {URLSearchParams|null}\n */\nexport const stripConsumedUrlParams = (searchParams, consumedKeys) => {\n if (!consumedKeys?.length) return null;\n const next = new URLSearchParams(searchParams);\n let changed = false;\n consumedKeys.forEach(key => {\n if (next.has(key)) {\n next.delete(key);\n changed = true;\n }\n });\n return changed ? next : null;\n};\n\n/**\n * 从 URL 参数初始化 Filter 状态的 hook。\n *\n * 读取 URL 参数构建初始筛选值,并在挂载后自动清除已消费的 URL 参数。\n *\n * @param {Object} options\n * @param {Function} options.readUrlParams - 读取 URL 参数并返回 { consumedKeys: string[], ...data }\n * @param {Function} options.buildFilter - 接收 readUrlParams 的返回值,构建初始 filter 数组\n * @returns {[Array, Function]} - [filter, setFilter]\n *\n * @example\n * const [filter, setFilter] = useUrlFilter({\n * readUrlParams: (searchParams) => {\n * const { take, getConsumedKeys } = createUrlParamsReader(searchParams);\n * const orgId = take('tenantOrgId');\n * return { consumedKeys: getConsumedKeys(), orgId };\n * },\n * buildFilter: ({ orgId }) => [\n * { name: 'status', value: { label: '开启', value: 'open' } },\n * ...(orgId ? [{ name: 'tenantOrgId', value: { label: orgId, value: orgId } }] : [])\n * ]\n * });\n */\nconst useUrlFilter = ({ readUrlParams, buildFilter }) => {\n const [searchParams, setSearchParams] = useSearchParams();\n const urlFilterSnapshotRef = useRef(null);\n\n if (urlFilterSnapshotRef.current === null) {\n urlFilterSnapshotRef.current = readUrlParams(searchParams);\n }\n\n const [filter, setFilter] = useState(() => buildFilter(urlFilterSnapshotRef.current));\n\n const urlStrippedRef = useRef(false);\n useEffect(() => {\n if (urlStrippedRef.current) return;\n urlStrippedRef.current = true;\n const nextParams = stripConsumedUrlParams(searchParams, urlFilterSnapshotRef.current?.consumedKeys);\n if (nextParams) {\n setSearchParams(nextParams, { replace: true });\n }\n }, [searchParams, setSearchParams]);\n\n return [filter, setFilter];\n};\n\nexport default useUrlFilter;\n","/**\n * 将筛选值数组序列化为 URLSearchParams,保留 label 信息以便反序列化还原完整筛选状态。\n *\n * 序列化格式(使用冒号分隔 label 和 value,逗号分隔多值):\n * - 单值且 label === value:prefix[name]=value(如输入框)\n * - 单值且 label !== value:prefix[name]=label:value\n * - 多值:prefix[name]=label1:value1,label2:value2\n *\n * @param {Array} filterValue - 筛选值数组,格式为 [{ name, label, value }, ...]\n * @param {Object} [options] - 选项\n * @param {string} [options.prefix='filterParams'] - URL 参数前缀,设为空字符串则不加前缀\n * @returns {URLSearchParams}\n *\n * @example\n * const params = filterToUrlParams([\n * { name: 'keyword', label: '关键词', value: { label: '测试', value: '测试' } },\n * { name: 'city', label: '城市', value: [{ label: '上海', value: '010' }, { label: '北京', value: '020' }] },\n * { name: 'status', label: '状态', value: { label: '启用', value: 'active' } },\n * ]);\n * // params.toString() => 'filterParams[keyword]=测试&filterParams[city]=上海:010,北京:020&filterParams[status]=启用:active'\n *\n * // 自定义前缀\n * filterToUrlParams(filterValue, { prefix: 'f' })\n * // => 'f[keyword]=测试&f[city]=上海:010,北京:020'\n *\n * // 无前缀(直接平铺)\n * filterToUrlParams(filterValue, { prefix: '' })\n * // => 'keyword=测试&city=上海:010,北京:020'\n */\nconst filterToUrlParams = (filterValue, { prefix = 'filterParams' } = {}) => {\n const params = new URLSearchParams();\n\n if (!Array.isArray(filterValue)) return params;\n\n filterValue.forEach(({ name, value }) => {\n if (value == null || value === '') return;\n\n const key = prefix ? `${prefix}[${name}]` : name;\n\n if (Array.isArray(value)) {\n if (value.length === 0) return;\n const serialized = value\n .map(item => serializeEntry(item))\n .filter(Boolean)\n .join(',');\n if (serialized) params.set(key, serialized);\n } else {\n const serialized = serializeEntry(value);\n if (serialized) params.set(key, serialized);\n }\n });\n\n return params;\n};\n\n/**\n * 序列化单个筛选值项。\n * - label === value 时返回 value(简化格式)\n * - 否则返回 label:value\n */\nconst serializeEntry = item => {\n if (item == null) return null;\n if (typeof item !== 'object') return String(item);\n\n const label = item.label ?? item.name;\n const value = item.value ?? item.id;\n\n if (value == null || value === '') return null;\n if (label === value) return String(value);\n return `${label}:${value}`;\n};\n\n/**\n * 解析 URL 参数中的单个筛选值项,反序列化为 { label, value } 对象。\n * 与 filterToUrlParams 配合使用。\n *\n * 解析规则:\n * - 无冒号:label 和 value 相同,如 \"测试\" → { label: '测试', value: '测试' }\n * - 有冒号:冒号前为 label,冒号后为 value,如 \"启用:active\" → { label: '启用', value: 'active' }\n *\n * @param {string} str - URL 参数中的原始字符串\n * @returns {{ label: string, value: string }}\n *\n * @example\n * parseFilterEntry('测试')\n * // => { label: '测试', value: '测试' }\n *\n * parseFilterEntry('启用:active')\n * // => { label: '启用', value: 'active' }\n */\nconst parseFilterEntry = str => {\n const colonIndex = str.indexOf(':');\n if (colonIndex === -1) {\n return { label: str, value: str };\n }\n return {\n label: str.slice(0, colonIndex),\n value: str.slice(colonIndex + 1)\n };\n};\n\n/**\n * 从 URL 参数中读取筛选值项,返回单选 { label, value } 或多选数组。\n *\n * @param {URLSearchParams} searchParams - URL 参数对象\n * @param {string} key - 参数名(不含前缀)\n * @param {Object} [options] - 选项\n * @param {boolean} [options.multi=false] - 是否多选,多选返回数组\n * @param {string} [options.prefix='filterParams'] - URL 参数前缀,设为空字符串则不加前缀\n * @returns {{ label: string, value: string } | { label: string, value: string }[] | null}\n *\n * @example\n * // URL: ?filterParams[city]=上海:010,北京:020&filterParams[status]=启用:active\n * takeFilterEntry(searchParams, 'city', { multi: true })\n * // => [{ label: '上海', value: '010' }, { label: '北京', value: '020' }]\n *\n * // 无前缀\n * takeFilterEntry(searchParams, 'keyword', { prefix: '' })\n * // => { label: '测试', value: '测试' }\n */\nconst takeFilterEntry = (searchParams, key, { multi = false, prefix = 'filterParams' } = {}) => {\n const fullKey = prefix ? `${prefix}[${key}]` : key;\n if (!searchParams.has(fullKey)) return null;\n\n const raw = searchParams.get(fullKey);\n if (!raw) return null;\n\n if (multi) {\n return raw.split(',').map(parseFilterEntry);\n }\n\n // 单选时,如果包含逗号,只取第一个\n const firstEntry = raw.includes(',') ? raw.split(',')[0] : raw;\n return parseFilterEntry(firstEntry);\n};\n\n/**\n * 创建 URL 筛选参数读取器,自动追踪已消费的参数 key。\n * 配合 useUrlFilter 使用,readUrlParams 返回的 consumedKeys 可被自动清除。\n *\n * @param {URLSearchParams} searchParams - React Router 的 searchParams 对象\n * @param {Object} [options] - 选项\n * @param {string} [options.prefix='filterParams'] - URL 参数前缀\n * @returns {{ takeFilterEntry, getConsumedKeys }}\n *\n * @example\n * const { takeFilterEntry, getConsumedKeys } = createUrlFilterReader(searchParams);\n * const keyword = takeFilterEntry('keyword');\n * const city = takeFilterEntry('city', { multi: true });\n * const status = takeFilterEntry('status');\n * // getConsumedKeys() => ['filterParams[keyword]', 'filterParams[city]', 'filterParams[status]']\n *\n * // 配合 useUrlFilter 使用\n * const [filter, setFilter] = useUrlFilter({\n * readUrlParams: (searchParams) => {\n * const { takeFilterEntry, getConsumedKeys } = createUrlFilterReader(searchParams);\n * const keyword = takeFilterEntry('keyword');\n * const city = takeFilterEntry('city', { multi: true });\n * return { consumedKeys: getConsumedKeys(), keyword, city };\n * },\n * buildFilter: ({ keyword, city }) => [\n * ...(keyword ? [{ name: 'keyword', label: '关键词', value: keyword }] : []),\n * ...(city ? [{ name: 'city', label: '城市', value: city }] : []),\n * ],\n * });\n */\nconst createUrlFilterReader = (searchParams, { prefix = 'filterParams' } = {}) => {\n const consumedKeys = [];\n\n const takeFilterEntry = (key, { multi = false } = {}) => {\n const fullKey = prefix ? `${prefix}[${key}]` : key;\n if (!searchParams.has(fullKey)) return null;\n\n consumedKeys.push(fullKey);\n const raw = searchParams.get(fullKey);\n if (!raw) return null;\n\n if (multi) {\n return raw.split(',').map(parseFilterEntry);\n }\n\n const firstEntry = raw.includes(',') ? raw.split(',')[0] : raw;\n return parseFilterEntry(firstEntry);\n };\n\n const getConsumedKeys = () => consumedKeys;\n\n return { takeFilterEntry, getConsumedKeys };\n};\n\nexport default filterToUrlParams;\nexport { parseFilterEntry, takeFilterEntry, createUrlFilterReader };\n","import useUrlFilter from './useUrlFilter';\nimport { createUrlFilterReader } from './filterToUrlParams';\n\n/**\n * 从 URL 参数初始化 Filter 状态的 hook(简化版)。\n *\n * 基于 useUrlFilter 封装,使用 createUrlFilterReader 解析 filterParams[key] 格式的 URL 参数,\n * 自动解析 label:value 格式,支持单选和多选。\n *\n * @param {string[]|Object} mapping - URL 参数映射\n * - 数组: ['tenantOrgId', 'orgName'],默认单选,自动创建 { name: key, value: { label, value } }\n * - 对象:\n * - 值为 true: 单选,使用默认转换 { name: key, value: { label, value } }\n * - 值为 { multi: true }: 多选,value 为 [{ label, value }, ...] 数组\n * - 值为函数: 自定义转换,接收解析后的值(单选为 { label, value },多选为数组),返回 filter 项或 null/falsy 跳过\n * @returns {[Array, Function]} - [filter, setFilter]\n *\n * @example\n * // 数组形式(默认单选)\n * const [filter, setFilter] = useUrlFilterValue(['keyword', 'status']);\n * // URL: ?filterParams[keyword]=前端开发&filterParams[status]=招聘中:active\n * // → filter: [\n * // { name: 'keyword', value: { label: '前端开发', value: '前端开发' } },\n * // { name: 'status', value: { label: '招聘中', value: 'active' } }\n * // ]\n *\n * @example\n * // 对象形式(多选 + 自定义)\n * const [filter, setFilter] = useUrlFilterValue({\n * keyword: true,\n * city: { multi: true },\n * status: (parsed) => parsed ? { name: 'status', value: parsed } : null\n * });\n * // URL: ?filterParams[keyword]=测试&filterParams[city]=上海:010,北京:020\n * // → keyword: { label: '测试', value: '测试' }\n * // → city: [{ label: '上海', value: '010' }, { label: '北京', value: '020' }]\n */\nconst useUrlFilterValue = mapping => {\n const normalizedMapping = Array.isArray(mapping)\n ? mapping.reduce((acc, item) => {\n const key = typeof item === 'string' ? item : item.name;\n acc[key] = typeof item === 'string' ? true : item;\n return acc;\n }, {})\n : mapping;\n\n return useUrlFilter({\n readUrlParams: searchParams => {\n const { takeFilterEntry, getConsumedKeys } = createUrlFilterReader(searchParams);\n const data = {};\n Object.entries(normalizedMapping).forEach(([key, config]) => {\n const multi = typeof config === 'object' && config !== null && config.multi;\n const val = takeFilterEntry(key, { multi });\n if (val !== null) data[key] = val;\n });\n return { consumedKeys: getConsumedKeys(), ...data };\n },\n buildFilter: data => {\n const { consumedKeys, ...values } = data;\n const filters = [];\n Object.entries(normalizedMapping).forEach(([key, config]) => {\n if (values[key] === undefined) return;\n const parsedValue = values[key];\n if (typeof config === 'function') {\n const result = config(parsedValue);\n if (result) filters.push(result);\n } else {\n const label = typeof config === 'object' && config !== null ? config.label : key;\n filters.push({ name: key, label, value: parsedValue });\n }\n });\n return filters;\n }\n });\n};\n\nexport default useUrlFilterValue;\n","const toIdName = item => {\n if (!item) {\n return null;\n }\n if (item.id != null) {\n return item;\n }\n if (item.value != null) {\n return { id: item.value, name: item.label };\n }\n return item;\n};\n\nconst toLabelValue = item => {\n if (!item) {\n return null;\n }\n return {\n label: item.name ?? item.label,\n value: item.id ?? item.value\n };\n};\n\n/**\n * 单选 SuperSelect interceptor:{id, name} ↔ {label, value}\n * 适用于 valueKey=\"id\" labelKey=\"name\" 的单选场景\n */\nexport const singleSelectInterceptor = {\n input: value => {\n if (!value) {\n return value;\n }\n const item = Array.isArray(value) ? value[0] : value;\n const result = toIdName(item);\n return result;\n },\n output: selected => {\n if (!selected) {\n return selected;\n }\n const item = Array.isArray(selected) ? selected[0] : selected;\n return toLabelValue(item);\n }\n};\n\n/**\n * 多选 SuperSelect interceptor:[{id, name}] ↔ [{label, value}]\n * 适用于 valueKey=\"id\" labelKey=\"name\" 的多选场景\n */\nexport const multiSelectInterceptor = {\n input: value => {\n if (!value) {\n return value;\n }\n const list = Array.isArray(value) ? value : [value];\n return list.map(toIdName).filter(Boolean);\n },\n output: selected => {\n if (!selected) {\n return selected;\n }\n const list = Array.isArray(selected) ? selected : [selected];\n return list.map(toLabelValue).filter(Boolean);\n }\n};\n\nexport default { single: singleSelectInterceptor, multi: multiSelectInterceptor };\n","import { Input, Space, Button } from 'antd';\nimport { useState, useEffect, useRef } from 'react';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from '../../withLocale';\n\nconst InputFilterItem = withLocale(({ value, label, onChange, ...props }) => {\n const propsValue = value?.value;\n const [inputValue, setInputValue] = useState(propsValue || '');\n const [active, setActive] = useState(false);\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n\n const searchHandler = () => {\n onChange(inputValue ? { label: inputValue, value: inputValue } : null);\n };\n\n const handleBlur = () => {\n setActive(false);\n searchHandler();\n };\n\n const inputValueRef = useRef('');\n inputValueRef.current = inputValue;\n\n useEffect(() => {\n if (propsValue !== inputValueRef.current) {\n setInputValue(propsValue);\n }\n }, [propsValue]);\n\n return (\n <Space.Compact>\n <Input\n placeholder={`${formatMessage({ id: 'pleaseInput' })}${label}`}\n {...props}\n size=\"small\"\n value={inputValue}\n onFocus={() => {\n setActive(true);\n }}\n onBlur={handleBlur}\n onChange={e => {\n setInputValue(e.target.value);\n }}\n onPressEnter={searchHandler}\n />\n {active && (\n <Button size=\"small\" type=\"primary\" onClick={searchHandler}>\n {formatMessage({ id: 'determineText' })}\n </Button>\n )}\n </Space.Compact>\n );\n});\n\nexport default InputFilterItem;\n","import { Tag, App, Space } from 'antd';\nimport isEqual from 'lodash/isEqual';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from '../../withLocale';\n\nconst { CheckableTag } = Tag;\n\nconst ListFilterItem = withLocale(({ value, onChange, label, single = false, maxLength = 5, items = [] }) => {\n const { message } = App.useApp();\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n\n return (\n <Space size={4} wrap block>\n {items.map(({ label: itemLabel, value: itemValue }) => {\n return (\n <CheckableTag\n key={itemLabel}\n size=\"small\"\n checked={single ? isEqual(itemValue, value?.value) : !!(value || []).find(({ value }) => isEqual(itemValue, value))}\n onChange={checked => {\n if (single) {\n onChange(checked ? { value: itemValue, label: itemLabel } : null);\n return;\n }\n const newValue = (value || []).slice(0);\n if (checked) {\n newValue.push({ value: itemValue, label: itemLabel });\n } else {\n const index = newValue.findIndex(({ value }) => isEqual(itemValue, value));\n if (index > -1) {\n newValue.splice(index, 1);\n }\n }\n if (newValue.length > maxLength) {\n message.error(formatMessage({ id: 'maxSelectedCount' }, { count: maxLength }));\n return;\n }\n onChange(newValue);\n }}\n >\n {itemLabel}\n </CheckableTag>\n );\n })}\n </Space>\n );\n});\n\nexport default ListFilterItem;\n","import { App, Tag, Space } from 'antd';\nimport { SelectAddress, createAddressApi } from '@kne/super-select-plus';\nimport '@kne/super-select-plus/dist/index.css';\nimport { useIntl } from '@kne/react-intl';\nimport { useMemo, useState, useEffect } from 'react';\nimport withLocale from '../../withLocale';\nimport style from '../../style.module.scss';\n\nconst { CheckableTag } = Tag;\n\nconst getLabelForLocal = (item, locale) => {\n if (locale === 'en-US') {\n return item?.enName || item?.name;\n }\n return item?.name;\n};\n\nconst CityFilterItemInner = ({ value, onChange, single = false, maxLength = 5, ...props }) => {\n const { message } = App.useApp();\n const { locale } = useIntl();\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n const [addressApi, setAddressApi] = useState(null);\n\n useEffect(() => {\n let cancelled = false;\n SelectAddress.defaultData().then(data => {\n if (!cancelled && data) {\n setAddressApi(createAddressApi(data));\n }\n });\n return () => {\n cancelled = true;\n };\n }, []);\n\n const cityList = useMemo(() => {\n return addressApi ? addressApi.getChinaHotCities() : [];\n }, [addressApi]);\n\n return (\n <Space size={4} wrap block>\n {cityList.map(city => {\n const label = getLabelForLocal(city, locale);\n return (\n <CheckableTag\n key={city.code}\n size=\"small\"\n checked={single ? value?.value === city.code : !!(value || []).find(({ value }) => value === city.code)}\n onChange={checked => {\n if (single) {\n onChange(checked ? city : null);\n return;\n }\n const newValue = (value || []).slice(0);\n checked\n ? newValue.push(Object.assign({}, city, { label, value: city.code }))\n : (() => {\n const index = newValue.findIndex(({ value }) => value === city.code);\n newValue.splice(index, 1);\n })();\n if (newValue.length > maxLength) {\n message.error(formatMessage({ id: 'maxSelectedCount' }, { count: maxLength }));\n return;\n }\n onChange(newValue);\n }}\n >\n {label}\n </CheckableTag>\n );\n })}\n <CheckableTag\n className={style['filter-advanced-item-other']}\n size=\"small\"\n checked={(single ? value?.value : value?.length > 0) && !cityList.find(({ code }) => (single ? value?.value === code : !!(value || []).find(({ value }) => value === code)))}\n >\n {formatMessage({ id: 'otherText' })}\n <SelectAddress\n {...props}\n className={style['filter-advanced-item-other-inner']}\n maxLength={maxLength}\n allowClear={false}\n value={value}\n single={single}\n onChange={value => {\n if (value.length > maxLength) {\n message.error(formatMessage({ id: 'maxSelectedCount' }, { count: maxLength }));\n return;\n }\n onChange(value);\n }}\n />\n </CheckableTag>\n </Space>\n );\n};\n\nconst CityFilterItem = withLocale(CityFilterItemInner);\n\nexport default CityFilterItem;\n","import InputFilterItem from './InputFilterItem';\nimport ListFilterItem from './ListFilterItem';\nimport CityFilterItem from './CityFilterItem';\n\nconst fields = { InputFilterItem, ListFilterItem, CityFilterItem };\n\nexport default fields;\n","import FilterOuter from '../FilterOuter';\nimport FilterLines from '../FilterLines';\nimport { Flex } from 'antd';\nimport advancedFields from './fields';\nimport { useIntl } from '@kne/react-intl';\nimport { useContext } from '../context';\nimport style from '../style.module.scss';\nimport FilterValueDisplay from '../FilterValueDisplay';\nimport withLocale from '../withLocale';\nimport get from 'lodash/get';\n\nconst Line = ({ list }) => {\n const { value, onChange } = useContext();\n return (\n <Flex gap={8}>\n {list.map((item, index) => {\n const ComponentItem = item.type;\n return (\n <Flex gap={16} key={item.key || item.props.name || index} align=\"center\">\n <div className={style['filter-label']}>{item.props.label}:</div>\n <Flex wrap={true} align=\"center\">\n <ComponentItem\n {...item.props}\n value={value ? get(value.get(item.props.name), 'value') : item.props.value}\n onChange={\n onChange\n ? value =>\n onChange({\n name: item.props.name,\n label: item.props.label,\n value\n })\n : item.props.onChange\n }\n />\n </Flex>\n </Flex>\n );\n })}\n </Flex>\n );\n};\n\nconst AdvancedFilter = withLocale(props => {\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n return (\n <FilterOuter {...props}>\n {({ value, onChange, props: filterProps = {} }) => {\n const { list, more } = filterProps;\n return (\n <div>\n <Flex gap={8} vertical className={style['filter-advanced']}>\n {list &&\n list.map((item, index) => {\n return <Line key={index} list={item} />;\n })}\n {more && <FilterLines className={style['filter-advanced-more']} label={`${formatMessage({ id: 'moreText' })}:`} list={[more]} />}\n </Flex>\n {value && value.length > 0 && <FilterValueDisplay value={value} onChange={onChange} />}\n </div>\n );\n }}\n </FilterOuter>\n );\n});\n\nAdvancedFilter.fields = advancedFields;\nexport default AdvancedFilter;\n\nexport { advancedFields };\n","const FilterItemContainer = ({ children, ...props }) => {\n return children(props);\n};\n\nexport default FilterItemContainer;\n","import Filter from './Filter';\nimport * as fields from './fields';\nimport getFilterValue from './getFilterValue';\nimport { useContext as useFilter } from './context';\nimport withFilterValue from './withFilterValue';\nimport SearchInput from './SearchInput';\nimport FilterProvider from './FilterProvider';\nimport pickSelectValues from './pickSelectValues';\nimport createFilterValueMapper from './createFilterValueMapper';\nimport useUrlFilter, { createUrlParamsReader, stripConsumedUrlParams } from './useUrlFilter';\nimport useUrlFilterValue from './useUrlFilterValue';\nimport filterToUrlParams, { parseFilterEntry, takeFilterEntry, createUrlFilterReader } from './filterToUrlParams';\nimport filterInterceptors, { singleSelectInterceptor, multiSelectInterceptor } from './filterInterceptors';\n\nFilter.fields = fields;\nFilter.getFilterValue = getFilterValue;\nFilter.useFilter = useFilter;\nFilter.SearchInput = SearchInput;\nFilter.withFilterValue = withFilterValue;\nFilter.FilterProvider = FilterProvider;\n\nFilter.pickSelectValues = pickSelectValues;\nFilter.createFilterValueMapper = createFilterValueMapper;\nFilter.useUrlFilter = useUrlFilter;\nFilter.useUrlFilterValue = useUrlFilterValue;\nFilter.createUrlParamsReader = createUrlParamsReader;\nFilter.stripConsumedUrlParams = stripConsumedUrlParams;\nFilter.filterToUrlParams = filterToUrlParams;\nFilter.parseFilterEntry = parseFilterEntry;\nFilter.takeFilterEntry = takeFilterEntry;\nFilter.createUrlFilterReader = createUrlFilterReader;\nFilter.filterInterceptors = filterInterceptors;\nFilter.singleSelectInterceptor = singleSelectInterceptor;\nFilter.multiSelectInterceptor = multiSelectInterceptor;\n\nexport default Filter;\nexport {\n fields,\n getFilterValue,\n useFilter,\n withFilterValue,\n SearchInput,\n FilterProvider,\n pickSelectValues,\n createFilterValueMapper,\n useUrlFilter,\n useUrlFilterValue,\n createUrlParamsReader,\n stripConsumedUrlParams,\n filterToUrlParams,\n parseFilterEntry,\n takeFilterEntry,\n createUrlFilterReader,\n filterInterceptors,\n singleSelectInterceptor,\n multiSelectInterceptor\n};\nexport { default as AdvancedFilter } from './AdvancedFilter';\nexport { default as FilterValueDisplay } from './FilterValueDisplay';\nexport { default as FilterItem } from './FilterItem';\nexport { default as FilterLines } from './FilterLines';\nexport { default as PopoverItem } from './PopoverItem';\nexport { default as withFieldItem } from './withFieldItem';\nexport { default as FilterItemContainer } from './FilterItemContainer';\nexport { default as TypeDateRangePickerField } from './common/TypeDateRangePickerField';\nexport {\n NumberRangeFilterItem,\n InputFilterItem,\n DatePickerFilterItem,\n DateRangePickerFilterItem,\n TypeDateRangePickerFilterItem,\n SuperSelectFilterItem,\n SelectFunctionFilterItem,\n SelectIndustryFilterItem,\n SelectAddressFilterItem\n} from './fields';\n"],"names":["context","createContext","Provider","useContext","useReactContext","useMobile","isMobile","setIsMobile","useState","useEffect","window","mediaQuery","matchMedia","updateIsMobile","matches","addEventListener","addListener","removeEventListener","removeListener","useHorizontalScrollShadows","enabled","suspend","preserveOverflowOnSuspend","refreshKey","scrollRef","useRef","isOverflow","setIsOverflow","showScrollPrev","setShowScrollPrev","showScrollNext","setShowScrollNext","update","useCallback","el","current","scrollWidth","clientWidth","scrollLeft","rafId","requestAnimationFrame","cancelAnimationFrame","updateScrollShadowVisible","Line","_ref","list","children","_useContext","value","onChange","_jsxs","className","style","filter","item","type","map","index","props","get","name","label","ComponentItem","_createElement","_extends","Object","assign","key","FilterLines","_ref2","_ref2$list","_ref2$displayLine","displayLine","extra","hasMore","length","mobileList","reduce","result","concat","Array","isArray","_useState","isExpand","setIsExpand","_useHorizontalScrollS","_useIntl","useIntl","moduleName","formatMessage","scrollToNext","scrollTo","left","behavior","scrollItemIntoView","e","container","target","closest","scrollIntoView","block","inline","_Fragment","Space","classnames","align","size","_jsx","id","Row","justify","wrap","Col","flex","ref","onClick","slice","message","filterText","moreText","selectedText","clearAllText","toggleUpText","selectedTextAdvanced","clearText","otherText","cancelText","determineText","year","over","lessThan","inputPlaceholder","pleaseInput","defaultInputPlaceholder","maxSelectedCount","customTime","monthly","weekly","last7Days","thisMonth","last3Months","thisYear","fullYear","pleaseSelect","withLocale","createWithIntlProvider","defaultLocale","messages","zhCN","enUS","namespace","FilterValueDisplay","filterValue","extraExpand","tags","valueLabel","join","Tag","closable","onClose","newValue","splice","Button","icon","UpOutlined","DownOutlined","isNotEmpty","undefined","trim","FilterProvider","valueBase","_ref$defaultValue","defaultValue","useMemo","Map","newFilterValue","clone","set","delete","from","values","FilterOuter","Filter","_objectWithoutPropertiesLoose","_excluded","_ref2$props","filterProps","others","_excluded2","FilterItem","open","active","MASK_ANIMATION_DURATION","FIELD_MOBILE_POPUP_CLASS","MOBILE_POPUP_OFFSET","withFieldItem","WrappedComponent","options","interceptor","render","setOpen","_useState2","_useState3","renderMask","setRenderMask","_useState4","maskClosing","setMaskClosing","_useState5","top","pageTop","height","popupMetrics","setPopupMetrics","triggerRef","setMobilePopupVariables","metrics","document","body","setProperty","updatePopupMetrics","rect","getBoundingClientRect","Math","max","bottom","innerHeight","removeProperty","timer","setTimeout","clearTimeout","closeFieldItem","onOpenChange","onDropdownVisibleChange","handleOpenChange","mobilePopupStyle","mergePopupClassNames","classNames","_classNames$popup","popup","root","mergePopupStyles","styles","_styles$popup","renderChildren","otherProps","inputValue","input","fieldValue","forcePopup","single","allowClear","output","call","arguments","valueType","popupClassName","dropdownClassName","overlayClassName","overlayStyle","popupStyle","dropdownStyle","transitionName","autoAdjustOverflow","offset","isPopup","overlayWidth","innerWidth","createPortal","onTouchMove","preventDefault","PopoverItem","onValidate","_ref$placement","placement","state","setState","_useState6","disabled","closeDropdown","mobileOverlayStyle","overlayContent","stopPropagation","gutter","Dropdown","trigger","menu","items","dropdownRender","InputFilterItem","placeholder","Input","computedFilterValue","range","unit","isNumber","count","defaultPropsOnValidate","NumberRangeFilterItem","Compact","InputNumber","width","borderLeft","borderRight","pointerEvents","DatePickerFilterItem","picker","DatePicker","inputReadOnly","dayjs","format","startOf","endOf","Date","valueOf","DateRangePickerFilterItem","header","Flex","vertical","RangePicker","allowEmpty","TypeDateRangePickerField","valueProp","onChangeProp","_ref$shortcuts","shortcuts","shortcutOptions","typeList","defaultShortcuts","getValue","subtract","currentShortcuts","isControlled","innerValueRef","handleShortcutClick","shortcut","_shortcut$getValue","start","end","toDate","isShortcutActive","_shortcut$getValue2","valueStart","valueEnd","shortcutStart","shortcutEnd","isSame","renderShortcuts","gap","Select","typeValue","currentValue","_currentValue$value","startTime","endTime","isValid","val","dateValue","TypeDateRangePickerFilterItem","itemValue","pickerValue","displayLabel","withInputDefaultPlaceholder","InputFilterItemField","NumberRangeFilterItemField","SuperSelectFilterItem","SuperSelect","SelectFunctionFilterItem","SelectFunction","SelectIndustryFilterItem","SelectIndustry","SelectAddressFilterItem","SelectAddress","getFilterValue","transform","withFilterValue","Search","SearchInput","_ref$searchDelay","searchDelay","propsValue","setInputValue","inputValueRef","onChangeRef","searchTimerRef","isComposingRef","clearSearchTimer","submitSearch","searchValue","scheduleSearch","nextValue","onCompositionStart","onCompositionEnd","onSearch","pickSelectValues","String","Boolean","createFilterValueMapper","fieldMappers","entries","forEach","fieldName","mapper","entry","find","rawValue","createUrlParamsReader","searchParams","consumedKeys","take","has","push","getConsumedKeys","stripConsumedUrlParams","next","URLSearchParams","changed","useUrlFilter","readUrlParams","buildFilter","_useSearchParams","useSearchParams","setSearchParams","urlFilterSnapshotRef","setFilter","urlStrippedRef","_urlFilterSnapshotRef","nextParams","replace","filterToUrlParams","_temp","_ref$prefix","prefix","params","serialized","serializeEntry","_item$label","_item$value","parseFilterEntry","str","colonIndex","indexOf","takeFilterEntry","_temp2","_ref3","_ref3$multi","multi","_ref3$prefix","fullKey","raw","split","firstEntry","includes","createUrlFilterReader","_temp3","_ref4","_ref4$prefix","_temp4","_ref5","_ref5$multi","useUrlFilterValue","mapping","normalizedMapping","acc","_createUrlFilterReade","data","config","filters","parsedValue","toIdName","toLabelValue","_item$name","_item$id","singleSelectInterceptor","selected","multiSelectInterceptor","setActive","searchHandler","handleBlur","onFocus","onBlur","onPressEnter","CheckableTag","ListFilterItem","maxLength","App","useApp","itemLabel","checked","isEqual","findIndex","error","getLabelForLocal","locale","enName","CityFilterItemInner","addressApi","setAddressApi","cancelled","defaultData","then","createAddressApi","cityList","getChinaHotCities","city","code","CityFilterItem","fields","AdvancedFilter","more","advancedFields","FilterItemContainer","useFilter","filterInterceptors"],"mappings":"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"}
|