@kne/react-filter 1.0.5 → 1.0.6
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 +280 -62
- package/dist/index.css +38 -3
- package/dist/index.css.map +1 -1
- package/dist/index.js +409 -97
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +403 -92
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.modern.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.modern.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","list","children","value","onChange","_jsxs","className","style","filter","item","type","map","index","props","get","name","label","ComponentItem","_createElement","_extends","Object","assign","key","FilterLines","displayLine","extra","hasMore","length","mobileList","reduce","result","concat","Array","isArray","isExpand","setIsExpand","formatMessage","useIntl","moduleName","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","defaultValue","useMemo","Map","newFilterValue","clone","set","delete","from","values","FilterOuter","_ref","_objectWithoutPropertiesLoose","_excluded","Filter","filterProps","others","_excluded2","FilterItem","open","active","MASK_ANIMATION_DURATION","FIELD_MOBILE_POPUP_CLASS","MOBILE_POPUP_OFFSET","withFieldItem","WrappedComponent","options","interceptor","render","setOpen","renderMask","setRenderMask","maskClosing","setMaskClosing","popupMetrics","setPopupMetrics","top","pageTop","height","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","args","valueType","popupClassName","dropdownClassName","overlayClassName","overlayStyle","popupStyle","dropdownStyle","transitionName","autoAdjustOverflow","offset","isPopup","overlayWidth","innerWidth","createPortal","onTouchMove","preventDefault","PopoverItem","onValidate","placement","state","setState","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","_props$classNames","_props$classNames2","picker","DatePicker","inputReadOnly","dayjs","format","startOf","endOf","Date","valueOf","DateRangePickerFilterItem","header","Flex","vertical","RangePicker","allowEmpty","TypeDateRangePickerField","valueProp","onChangeProp","shortcuts","shortcutOptions","typeList","defaultShortcuts","getValue","subtract","currentShortcuts","isControlled","innerValueRef","handleShortcutClick","shortcut","start","end","toDate","isShortcutActive","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","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","setSearchParams","useSearchParams","urlFilterSnapshotRef","setFilter","urlStrippedRef","_urlFilterSnapshotRef","nextParams","replace","filterToUrlParams","prefix","params","serialized","serializeEntry","_item$label","_item$value","parseFilterEntry","str","colonIndex","indexOf","takeFilterEntry","multi","fullKey","raw","split","firstEntry","includes","createUrlFilterReader","useUrlFilterValue","mapping","normalizedMapping","acc","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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"}
|
|
1
|
+
{"version":3,"file":"index.modern.js","sources":["../src/context.js","../src/hooks/useMobile.js","../src/hooks/useHorizontalScrollShadows.js","../src/hooks/useVisibleItemCount.js","../src/normalizeFilterList.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 { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\n\nconst GAP = 8;\nconst SAFETY_GAP = 2;\n\nconst useVisibleItemCount = ({ items, enabled, strategy = 'asc' }) => {\n const containerRef = useRef(null);\n const measureRef = useRef(null);\n const moreMeasureRef = useRef(null);\n const rafRef = useRef(null);\n const lastWidthRef = useRef(0);\n const [containerEl, setContainerEl] = useState(null);\n const [visibleCount, setVisibleCount] = useState(() => (items.length > 0 ? 1 : 0));\n\n const setContainerRef = useCallback(node => {\n containerRef.current = node;\n setContainerEl(node || null);\n }, []);\n\n const setMeasureRef = useCallback(node => {\n measureRef.current = node;\n }, []);\n\n const setMoreMeasureRef = useCallback(node => {\n moreMeasureRef.current = node;\n }, []);\n\n const getWidths = useCallback(() => {\n const container = containerRef.current;\n const measureEl = measureRef.current;\n if (!container || !measureEl) {\n return null;\n }\n\n const containerWidth = container.clientWidth;\n if (containerWidth <= 0) {\n return null;\n }\n\n const itemNodes = measureEl.querySelectorAll('[data-filter-measure-item]');\n if (!itemNodes.length) {\n return null;\n }\n\n const moreButtonWidth = moreMeasureRef.current?.getBoundingClientRect().width || 0;\n if (items.length > 1 && moreButtonWidth <= 0) {\n return null;\n }\n\n const itemWidths = Array.from(itemNodes, node => node.getBoundingClientRect().width);\n return { containerWidth, itemWidths, moreButtonWidth };\n }, [items.length]);\n\n const getWidthForCount = useCallback(\n (itemWidths, moreButtonWidth, count) => {\n let usedWidth = 0;\n for (let i = 0; i < count; i++) {\n usedWidth += itemWidths[i] + (i > 0 ? GAP : 0);\n }\n\n if (count < items.length) {\n usedWidth += GAP + moreButtonWidth;\n }\n\n return usedWidth;\n },\n [items.length]\n );\n\n const resolveVisibleCount = useCallback(\n widths => {\n const { containerWidth, itemWidths, moreButtonWidth } = widths;\n const maxCount = Math.min(items.length, itemWidths.length);\n let count = 1;\n\n if (strategy === 'desc') {\n count = maxCount;\n while (count > 1) {\n const usedWidth = getWidthForCount(itemWidths, moreButtonWidth, count);\n if (usedWidth + SAFETY_GAP <= containerWidth) {\n break;\n }\n count -= 1;\n }\n } else {\n count = 1;\n while (count < maxCount) {\n const nextCount = count + 1;\n const usedWidth = getWidthForCount(itemWidths, moreButtonWidth, nextCount);\n if (usedWidth + SAFETY_GAP > containerWidth) {\n break;\n }\n count = nextCount;\n }\n }\n\n return Math.max(1, count);\n },\n [getWidthForCount, items.length, strategy]\n );\n\n const calculateByWidth = useCallback(() => {\n if (!enabled || !items.length) {\n setVisibleCount(prev => (prev === items.length ? prev : items.length));\n return;\n }\n\n const widths = getWidths();\n if (!widths) {\n return;\n }\n\n const nextCount = resolveVisibleCount(widths);\n setVisibleCount(prev => (prev === nextCount ? prev : nextCount));\n }, [enabled, getWidths, items.length, resolveVisibleCount]);\n\n const scheduleCalculate = useCallback(() => {\n if (rafRef.current) {\n window.cancelAnimationFrame(rafRef.current);\n }\n\n rafRef.current = window.requestAnimationFrame(() => {\n rafRef.current = null;\n calculateByWidth();\n });\n }, [calculateByWidth]);\n\n useLayoutEffect(() => {\n scheduleCalculate();\n return () => {\n if (rafRef.current) {\n window.cancelAnimationFrame(rafRef.current);\n rafRef.current = null;\n }\n };\n }, [items, scheduleCalculate]);\n\n useEffect(() => {\n if (!enabled || !containerEl) {\n return undefined;\n }\n\n const observer = new ResizeObserver(entries => {\n const entry = entries.find(item => item.target === containerEl);\n const nextWidth = entry?.contentRect.width ?? containerEl.clientWidth;\n\n if (Math.abs(nextWidth - lastWidthRef.current) < 1) {\n return;\n }\n\n lastWidthRef.current = nextWidth;\n scheduleCalculate();\n });\n\n lastWidthRef.current = containerEl.clientWidth;\n observer.observe(containerEl);\n window.addEventListener('resize', scheduleCalculate);\n\n return () => {\n observer.disconnect();\n window.removeEventListener('resize', scheduleCalculate);\n if (rafRef.current) {\n window.cancelAnimationFrame(rafRef.current);\n rafRef.current = null;\n }\n };\n }, [containerEl, enabled, scheduleCalculate]);\n\n return { setContainerRef, setMeasureRef, setMoreMeasureRef, visibleCount };\n};\n\nexport default useVisibleItemCount;\n","export const isFilterListItem = item => {\n if (!item) return false;\n if (typeof item === 'function') return true;\n return !!item.type;\n};\n\nexport const isNestedFilterList = list => {\n if (!Array.isArray(list) || list.length === 0) return false;\n return Array.isArray(list[0]) && !isFilterListItem(list[0]);\n};\n\nexport const normalizeFilterList = list => {\n const safeList = Array.isArray(list) ? list : [];\n if (!safeList.length) {\n return { mode: 'flat', items: [], lines: [] };\n }\n if (isNestedFilterList(safeList)) {\n return { mode: 'nested', items: null, lines: safeList };\n }\n return { mode: 'flat', items: safeList, lines: null };\n};\n\nexport const getMobileFilterList = list => {\n const { mode, items, lines } = normalizeFilterList(list);\n if (mode === 'flat') return items;\n return lines.reduce((result, line) => result.concat(line), []);\n};\n","import classnames from 'classnames';\nimport { useCallback, useMemo, 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';\nimport useVisibleItemCount from './hooks/useVisibleItemCount';\nimport { getMobileFilterList, normalizeFilterList } from './normalizeFilterList';\n\nconst isValidFilterItem = item => !!item && (item.type || typeof item === 'function');\n\nconst useFilterItemRenderer = () => {\n const { value, onChange } = useContext();\n\n return useCallback(\n (item, index) => {\n if (typeof item === 'function') {\n return item(props => ({\n index,\n value: value ? get(value.get(props?.name), 'value') : props?.value,\n onChange: onChange\n ? nextValue =>\n onChange({\n name: props?.name,\n label: props?.label,\n value: nextValue\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 ? nextValue =>\n onChange({\n name: item.props.name,\n label: item.props.label,\n value: nextValue\n })\n : item.props.onChange\n })}\n key={item.key || item.props.name || index}\n />\n );\n },\n [onChange, value]\n );\n};\n\nconst Line = ({ list, children, innerRef, nowrap }) => {\n const renderItem = useFilterItemRenderer();\n\n return (\n <div\n ref={innerRef}\n className={classnames(style['filter-line'], {\n [style['filter-line-nowrap']]: nowrap\n })}\n >\n {list.filter(isValidFilterItem).map((item, index) => renderItem(item, index))}\n {children}\n </div>\n );\n};\n\nconst CollapseButtons = ({ onClick, toggleUpText }) => (\n <>\n <Space size={4} className={classnames(style['un-expand-shadow'])}>\n <Space size={4} className={classnames(style['option'], style['filter-item'])}>\n {toggleUpText}\n <span className={style['filter-item-option-icon']}>▲</span>\n </Space>\n </Space>\n <Space size={4} className={classnames(style['un-expand'])} onClick={onClick}>\n <Space size={4} className={classnames(style['option'], style['filter-item'])}>\n {toggleUpText}\n <span className={style['filter-item-option-icon']}>▲</span>\n </Space>\n </Space>\n </>\n);\n\nconst FilterLines = ({ className, list = [], displayLine = 1, label, extra, children, visibleCountStrategy = 'asc' }) => {\n const { mode, items: flatItems, lines } = useMemo(() => normalizeFilterList(list), [list]);\n const mobileList = useMemo(() => getMobileFilterList(list), [list]);\n const isFlatMode = mode === 'flat';\n const [isExpand, setIsExpand] = useState(false);\n const isMobile = useMobile();\n const { scrollRef, showScrollPrev, showScrollNext } = useHorizontalScrollShadows({ enabled: isMobile, refreshKey: list });\n const { setContainerRef, setMeasureRef, setMoreMeasureRef, visibleCount } = useVisibleItemCount({\n items: flatItems,\n enabled: !isMobile && isFlatMode,\n strategy: visibleCountStrategy\n });\n const renderItem = useFilterItemRenderer();\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n\n const visibleFlatItems = isFlatMode ? flatItems.slice(0, visibleCount) : [];\n const hiddenFlatItems = isFlatMode ? flatItems.slice(visibleCount) : [];\n const hasMoreFlat = hiddenFlatItems.length > 0;\n const hasMoreNested = !isFlatMode && lines.length > displayLine;\n const hasMore = isFlatMode ? hasMoreFlat : hasMoreNested;\n const visibleLines = !isFlatMode ? lines.slice(0, displayLine) : [];\n const hiddenLines = !isFlatMode ? lines.slice(displayLine) : [];\n const showLabel = isFlatMode ? flatItems.length > 0 : lines.length > 0;\n\n const setScrollContainerRef = useCallback(\n node => {\n scrollRef.current = node;\n },\n [scrollRef]\n );\n\n const setMeasureContainerRef = useCallback(\n node => {\n if (!isMobile && isFlatMode) {\n setContainerRef(node);\n } else {\n setContainerRef(null);\n }\n },\n [isFlatMode, isMobile, setContainerRef]\n );\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\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 const toggleExpand = useCallback(() => {\n setIsExpand(value => !value);\n }, []);\n\n const moreButtonLabel = (\n <>\n {formatMessage({ id: 'moreText' })}\n <span className={style['filter-item-option-icon']}>▼</span>\n </>\n );\n\n const moreButton = (\n <Space size={4} className={classnames(style['filter-item'], style['option'])} onClick={toggleExpand}>\n {moreButtonLabel}\n </Space>\n );\n\n const renderDesktopContent = () => {\n if (isFlatMode) {\n return (\n <Line list={visibleFlatItems} nowrap={hasMoreFlat && !isExpand}>\n {hasMoreFlat && !isExpand ? <span data-filter-more>{moreButton}</span> : null}\n </Line>\n );\n }\n\n return visibleLines.map((line, index) => (\n <Line key={index} list={line}>\n {hasMoreNested && !isExpand && index === displayLine - 1 ? moreButton : null}\n </Line>\n ));\n };\n\n const renderExpandedContent = () => {\n if (isFlatMode) {\n if (!hiddenFlatItems.length) return null;\n return (\n <Line list={hiddenFlatItems}>\n <CollapseButtons onClick={toggleExpand} toggleUpText={formatMessage({ id: 'toggleUpText' })} />\n </Line>\n );\n }\n\n return hiddenLines.map((line, index) => (\n <Line key={index} list={line}>\n {index === hiddenLines.length - 1 ? <CollapseButtons onClick={toggleExpand} toggleUpText={formatMessage({ id: 'toggleUpText' })} /> : null}\n </Line>\n ));\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']}>{showLabel && (label || formatMessage({ id: 'filterText' }))}</span>\n <Row justify=\"space-between\" wrap={false} align=\"top\">\n <Col className={style['filter-list']} flex={1}>\n <div\n ref={setMeasureContainerRef}\n className={classnames(style['filter-list-scroll-wrap'], {\n [style['filter-list-constrained']]: !isMobile && isFlatMode\n })}\n >\n {!isMobile && isFlatMode ? (\n <div ref={setMeasureRef} className={classnames(style['filter-line'], style['filter-line-measure'])} aria-hidden>\n {flatItems.filter(isValidFilterItem).map((item, index) => (\n <div key={item.key || item.props?.name || index} data-filter-measure-item>\n {renderItem(item, index)}\n </div>\n ))}\n <div ref={setMoreMeasureRef} data-filter-measure-more>\n <Space size={4} className={classnames(style['filter-item'], style['option'])}>\n {moreButtonLabel}\n </Space>\n </div>\n </div>\n ) : null}\n {isMobile && showScrollPrev ? <div className={style['filter-scroll-prev-shadow']} /> : null}\n <div className={style['filter-list-scroll']} ref={setScrollContainerRef} onClick={scrollItemIntoView}>\n {isMobile ? mobileList.map((item, index) => <Line key={index} list={[item]} />) : renderDesktopContent()}\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']}>{renderExpandedContent()}</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, { SelectCascader, SelectTableList, SelectTree } from '@kne/super-select';\nimport { SelectAddress, SelectFunction, SelectIndustry } from '@kne/super-select-plus';\nimport '@kne/super-select/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 SelectTableListFilterItem = withFieldItem(SelectTableList, { forcePopup: true });\nexport const SelectTreeFilterItem = withFieldItem(SelectTree, { forcePopup: true });\nexport const SelectCascaderFilterItem = withFieldItem(SelectCascader, { 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 SelectTableListFilterItem,\n SelectTreeFilterItem,\n SelectCascaderFilterItem,\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","GAP","SAFETY_GAP","useVisibleItemCount","items","strategy","containerRef","measureRef","moreMeasureRef","rafRef","lastWidthRef","containerEl","setContainerEl","visibleCount","setVisibleCount","length","setContainerRef","node","setMeasureRef","setMoreMeasureRef","getWidths","_moreMeasureRef$curre","container","measureEl","containerWidth","itemNodes","querySelectorAll","moreButtonWidth","getBoundingClientRect","width","itemWidths","Array","from","getWidthForCount","count","usedWidth","i","resolveVisibleCount","widths","maxCount","Math","min","nextCount","max","calculateByWidth","prev","scheduleCalculate","useLayoutEffect","undefined","observer","ResizeObserver","entries","_entry$contentRect$wi","entry","find","item","target","nextWidth","contentRect","abs","observe","disconnect","isFilterListItem","type","isNestedFilterList","list","isArray","normalizeFilterList","safeList","mode","lines","getMobileFilterList","reduce","result","line","concat","isValidFilterItem","useFilterItemRenderer","value","onChange","index","props","get","name","nextValue","label","ComponentItem","_createElement","_extends","Object","assign","key","Line","children","innerRef","nowrap","renderItem","_jsxs","ref","className","classnames","style","filter","map","CollapseButtons","onClick","toggleUpText","_Fragment","_jsx","Space","size","FilterLines","displayLine","extra","visibleCountStrategy","flatItems","useMemo","mobileList","isFlatMode","isExpand","setIsExpand","formatMessage","useIntl","moduleName","visibleFlatItems","slice","hiddenFlatItems","hasMoreFlat","hasMoreNested","hasMore","visibleLines","hiddenLines","showLabel","setScrollContainerRef","setMeasureContainerRef","scrollToNext","scrollTo","left","behavior","scrollItemIntoView","e","closest","scrollIntoView","block","inline","toggleExpand","moreButtonLabel","id","moreButton","renderDesktopContent","renderExpandedContent","align","Row","justify","wrap","Col","flex","_item$props","message","filterText","moreText","selectedText","clearAllText","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","trim","FilterProvider","valueBase","defaultValue","Map","newFilterValue","clone","set","delete","values","FilterOuter","_ref","_objectWithoutPropertiesLoose","_excluded","Filter","filterProps","others","_excluded2","FilterItem","open","active","MASK_ANIMATION_DURATION","FIELD_MOBILE_POPUP_CLASS","MOBILE_POPUP_OFFSET","withFieldItem","WrappedComponent","options","interceptor","render","setOpen","renderMask","setRenderMask","maskClosing","setMaskClosing","popupMetrics","setPopupMetrics","top","pageTop","height","triggerRef","setMobilePopupVariables","metrics","document","body","setProperty","updatePopupMetrics","rect","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","args","valueType","popupClassName","dropdownClassName","overlayClassName","overlayStyle","popupStyle","dropdownStyle","transitionName","autoAdjustOverflow","offset","isPopup","overlayWidth","innerWidth","createPortal","onTouchMove","preventDefault","PopoverItem","onValidate","placement","state","setState","disabled","closeDropdown","mobileOverlayStyle","overlayContent","stopPropagation","gutter","Dropdown","trigger","menu","dropdownRender","InputFilterItem","placeholder","Input","computedFilterValue","range","unit","isNumber","defaultPropsOnValidate","NumberRangeFilterItem","Compact","InputNumber","borderLeft","borderRight","pointerEvents","DatePickerFilterItem","_props$classNames","_props$classNames2","picker","DatePicker","inputReadOnly","dayjs","format","startOf","endOf","Date","valueOf","DateRangePickerFilterItem","header","Flex","vertical","RangePicker","allowEmpty","TypeDateRangePickerField","valueProp","onChangeProp","shortcuts","shortcutOptions","typeList","defaultShortcuts","getValue","subtract","currentShortcuts","isControlled","innerValueRef","handleShortcutClick","shortcut","start","end","toDate","isShortcutActive","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","SelectTableListFilterItem","SelectTableList","SelectTreeFilterItem","SelectTree","SelectCascaderFilterItem","SelectCascader","SelectFunctionFilterItem","SelectFunction","SelectIndustryFilterItem","SelectIndustry","SelectAddressFilterItem","SelectAddress","getFilterValue","transform","withFilterValue","Search","SearchInput","searchDelay","propsValue","setInputValue","inputValueRef","onChangeRef","searchTimerRef","isComposingRef","clearSearchTimer","submitSearch","searchValue","scheduleSearch","onCompositionStart","onCompositionEnd","onSearch","pickSelectValues","String","Boolean","createFilterValueMapper","fieldMappers","forEach","fieldName","mapper","rawValue","createUrlParamsReader","searchParams","consumedKeys","take","has","push","getConsumedKeys","stripConsumedUrlParams","next","URLSearchParams","changed","useUrlFilter","readUrlParams","buildFilter","setSearchParams","useSearchParams","urlFilterSnapshotRef","setFilter","urlStrippedRef","_urlFilterSnapshotRef","nextParams","replace","filterToUrlParams","prefix","params","serialized","serializeEntry","_item$label","_item$value","parseFilterEntry","str","colonIndex","indexOf","takeFilterEntry","multi","fullKey","raw","split","firstEntry","includes","createUrlFilterReader","useUrlFilterValue","mapping","normalizedMapping","acc","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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"}
|