@kne/react-filter 1.0.7 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +337 -240
- package/dist/index.css.map +1 -1
- package/dist/index.js +505 -323
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +285 -100
- package/dist/index.modern.js.map +1 -1
- package/package.json +2 -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/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 safeItems = Array.isArray(items) ? items : [];\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(() => (safeItems.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 (safeItems.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 }, [safeItems.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 < safeItems.length) {\n usedWidth += GAP + moreButtonWidth;\n }\n\n return usedWidth;\n },\n [safeItems.length]\n );\n\n const resolveVisibleCount = useCallback(\n widths => {\n const { containerWidth, itemWidths, moreButtonWidth } = widths;\n const maxCount = Math.min(safeItems.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, safeItems.length, strategy]\n );\n\n const calculateByWidth = useCallback(() => {\n if (!enabled || !safeItems.length) {\n setVisibleCount(prev => (prev === safeItems.length ? prev : safeItems.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, safeItems.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 }, [safeItems, 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: [], lines: safeList };\n }\n return { mode: 'flat', items: safeList, lines: [] };\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","safeItems","Array","isArray","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","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","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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"}
|
|
1
|
+
{"version":3,"file":"index.modern.js","sources":["../src/context.js","../src/hooks/useFilterIsMobile.js","../src/hooks/useResponsiveScrollListener.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/hooks/useFilterViewportVars.js","../src/FilterOuter.js","../src/Filter.js","../src/hooks/useMobileFixedMode.js","../src/FilterItem.js","../src/utils/getMobilePopupMetrics.js","../src/constants/mobilePopup.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 { IS_MOBILE_QUERY, MOBILE_BREAKPOINT, useMediaQuery, useResponsiveContext } from '@kne/responsive-utils';\n\n/**\n * Filter 移动端判定:默认按视口宽度,仅在 ResponsiveProvider container 模式下按预览容器宽度。\n * 避免 Filter 嵌入窄列时误用移动端布局。\n */\nconst useFilterIsMobile = () => {\n const { mode, containerWidth } = useResponsiveContext();\n const viewportIsMobile = useMediaQuery(IS_MOBILE_QUERY);\n\n if (mode === 'container' && typeof containerWidth === 'number') {\n return containerWidth < MOBILE_BREAKPOINT;\n }\n\n return viewportIsMobile;\n};\n\nexport default useFilterIsMobile;\n","import { useEffect } from 'react';\nimport { useScrollElement } from '@kne/responsive-utils';\n\nconst useResponsiveScrollListener = (callback, enabled = true) => {\n const getScrollElement = useScrollElement();\n\n useEffect(() => {\n if (!enabled || typeof callback !== 'function') {\n return undefined;\n }\n\n const scrollEl = getScrollElement();\n if (!scrollEl) {\n return undefined;\n }\n\n callback();\n\n const handleChange = () => {\n callback();\n };\n\n scrollEl.addEventListener('scroll', handleChange, { passive: true });\n window.addEventListener('resize', handleChange);\n\n let resizeObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(handleChange);\n resizeObserver.observe(scrollEl);\n }\n\n return () => {\n scrollEl.removeEventListener('scroll', handleChange);\n window.removeEventListener('resize', handleChange);\n resizeObserver?.disconnect();\n };\n }, [callback, enabled, getScrollElement]);\n};\n\nexport default useResponsiveScrollListener;\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport useResponsiveScrollListener from './useResponsiveScrollListener';\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 const rafId = window.requestAnimationFrame(update);\n return () => {\n el.removeEventListener('scroll', update);\n window.cancelAnimationFrame(rafId);\n };\n }, [enabled, refreshKey, suspend, update]);\n\n useResponsiveScrollListener(update, enabled && !suspend);\n\n return { scrollRef, isOverflow, showScrollPrev, showScrollNext, updateScrollShadowVisible: update };\n};\n\nexport default useHorizontalScrollShadows;\n","import { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport useResponsiveScrollListener from './useResponsiveScrollListener';\n\nconst GAP = 8;\nconst SAFETY_GAP = 2;\n\nconst useVisibleItemCount = ({ items, enabled, strategy = 'asc' }) => {\n const safeItems = Array.isArray(items) ? items : [];\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(() => (safeItems.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 (safeItems.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 }, [safeItems.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 < safeItems.length) {\n usedWidth += GAP + moreButtonWidth;\n }\n\n return usedWidth;\n },\n [safeItems.length]\n );\n\n const resolveVisibleCount = useCallback(\n widths => {\n const { containerWidth, itemWidths, moreButtonWidth } = widths;\n const maxCount = Math.min(safeItems.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, safeItems.length, strategy]\n );\n\n const calculateByWidth = useCallback(() => {\n if (!enabled || !safeItems.length) {\n setVisibleCount(prev => (prev === safeItems.length ? prev : safeItems.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, safeItems.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 }, [safeItems, 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\n return () => {\n observer.disconnect();\n if (rafRef.current) {\n window.cancelAnimationFrame(rafRef.current);\n rafRef.current = null;\n }\n };\n }, [containerEl, enabled, scheduleCalculate]);\n\n useResponsiveScrollListener(scheduleCalculate, enabled && !!containerEl);\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: [], lines: safeList };\n }\n return { mode: 'flat', items: safeList, lines: [] };\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 useFilterIsMobile from './hooks/useFilterIsMobile';\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 = useFilterIsMobile();\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 useFilterIsMobile from './hooks/useFilterIsMobile';\nimport useHorizontalScrollShadows from './hooks/useHorizontalScrollShadows';\n\nconst FilterValueDisplay = withLocale(({ value: filterValue, extraExpand, onChange, className, hideLabel, flush }) => {\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n const [isExpand, setIsExpand] = useState(false);\n const isMobile = useFilterIsMobile();\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\n className={classnames(\n style['filter-title'],\n style['filter-value-display'],\n 'filter-value-display-root',\n {\n [style['is-hide-label']]: hideLabel,\n [style['is-flush']]: flush\n },\n className\n )}\n align=\"top\"\n size={hideLabel ? 0 : 16}\n >\n {hideLabel ? null : <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 { useEffect, useRef } from 'react';\nimport { applyViewportCssVars, resetViewportCssVars, useResponsiveContext } from '@kne/responsive-utils';\n\nconst useFilterViewportVars = () => {\n const boundaryRef = useRef(null);\n const { mode } = useResponsiveContext();\n\n useEffect(() => {\n const el = boundaryRef.current;\n if (!el || typeof window === 'undefined' || mode === 'container') {\n return undefined;\n }\n\n const update = () => {\n applyViewportCssVars(el, {\n width: window.innerWidth,\n height: window.innerHeight\n });\n };\n\n update();\n window.addEventListener('resize', update, { passive: true });\n return () => {\n window.removeEventListener('resize', update);\n resetViewportCssVars(el);\n };\n }, [mode]);\n\n return boundaryRef;\n};\n\nexport default useFilterViewportVars;\n","import classnames from 'classnames';\nimport { RESPONSIVE_BOUNDARY_CLASS } from '@kne/responsive-utils';\nimport style from './style.module.scss';\nimport FilterProvider from './FilterProvider';\nimport useFilterIsMobile from './hooks/useFilterIsMobile';\nimport useFilterViewportVars from './hooks/useFilterViewportVars';\n\nconst FilterOuter = ({ children, className, ...props }) => {\n const isMobile = useFilterIsMobile();\n const boundaryRef = useFilterViewportVars();\n\n return (\n <FilterProvider {...props}>\n {context => (\n <div ref={boundaryRef} className={classnames(style['filter'], 'filter', RESPONSIVE_BOUNDARY_CLASS, isMobile && style['is-mobile'], className)}>\n {children({ ...context, props })}\n </div>\n )}\n </FilterProvider>\n );\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 { useResponsiveContext } from '@kne/responsive-utils';\nimport useFilterIsMobile from './useFilterIsMobile';\n\n/**\n * 与 system-layout Toolbar 一致:\n * - container 模式(example 手机预览):absolute + boundary 挂载\n * - viewport 模式(真实移动端):fixed + 视口坐标\n */\nconst useMobileFixedMode = () => {\n const isMobile = useFilterIsMobile();\n const { mode } = useResponsiveContext();\n const useBoundaryMount = isMobile && mode === 'container';\n const useViewportFixed = isMobile && mode !== 'container';\n\n return { isMobile, useBoundaryMount, useViewportFixed };\n};\n\nexport default useMobileFixedMode;\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","export const getMobilePopupMetrics = (triggerEl, { scrollEl, boundaryEl, useBoundaryMount, offset = 4 } = {}) => {\n if (typeof window === 'undefined' || !triggerEl) {\n return { top: 0, left: 0, height: 0, width: 0 };\n }\n\n const rect = triggerEl.getBoundingClientRect();\n\n if (useBoundaryMount && boundaryEl) {\n const boundaryRect = boundaryEl.getBoundingClientRect();\n const top = Math.max(rect.bottom - boundaryRect.top + offset, 0);\n\n return {\n top,\n left: 0,\n height: Math.max(boundaryRect.height - top, 0),\n width: boundaryRect.width\n };\n }\n\n const scrollRect = scrollEl?.getBoundingClientRect?.();\n const visibleTop = scrollRect?.top ?? 0;\n const visibleBottom = scrollRect?.bottom ?? window.innerHeight;\n const width = scrollRect?.width ?? window.innerWidth;\n const top = Math.max(rect.bottom + offset, visibleTop);\n\n return {\n top,\n left: 0,\n height: Math.max(visibleBottom - top, 0),\n width\n };\n};\n","export const MOBILE_MASK_Z_INDEX = 1000;\nexport const MOBILE_POPUP_Z_INDEX = 1050;\n","import { useState, useRef, useEffect, useCallback } from 'react';\nimport { createPortal } from 'react-dom';\nimport { usePopupContainer, useScrollElement } from '@kne/responsive-utils';\nimport useMobileFixedMode from './hooks/useMobileFixedMode';\nimport FilterItem from './FilterItem';\nimport style from './style.module.scss';\nimport classnames from 'classnames';\nimport useResponsiveScrollListener from './hooks/useResponsiveScrollListener';\nimport { getMobilePopupMetrics } from './utils/getMobilePopupMetrics';\nimport { MOBILE_MASK_Z_INDEX, MOBILE_POPUP_Z_INDEX } from './constants/mobilePopup';\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, useBoundaryMount } = useMobileFixedMode();\n const fixedModeClass = useBoundaryMount ? style['is-boundary'] : style['is-viewport'];\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 getBoundaryElement = usePopupContainer();\n const getScrollElement = useScrollElement();\n const resolveGetPopupContainer = useCallback(\n triggerNode => {\n if (typeof props.getPopupContainer === 'function') {\n const customContainer = props.getPopupContainer(triggerNode);\n if (customContainer) {\n return customContainer;\n }\n }\n if (!isMobile) {\n return getBoundaryElement();\n }\n if (useBoundaryMount) {\n return getBoundaryElement();\n }\n return typeof document !== 'undefined' ? document.body : null;\n },\n [getBoundaryElement, isMobile, props.getPopupContainer, useBoundaryMount]\n );\n const popupMountNode = typeof document !== 'undefined' ? (isMobile ? (useBoundaryMount ? getBoundaryElement() || document.body : document.body) : getBoundaryElement() || document.body) : 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 metrics = getMobilePopupMetrics(triggerRef.current, {\n scrollEl: getScrollElement(),\n boundaryEl: getBoundaryElement(),\n useBoundaryMount,\n offset: MOBILE_POPUP_OFFSET\n });\n setPopupMetrics(metrics);\n setMobilePopupVariables(metrics);\n }, [getBoundaryElement, getScrollElement, setMobilePopupVariables, useBoundaryMount]);\n\n useResponsiveScrollListener(updatePopupMetrics, open && isMobile);\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: popupMetrics.left ?? 0,\n zIndex: MOBILE_POPUP_Z_INDEX\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, fixedModeClass)\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 getPopupContainer={resolveGetPopupContainer}\n popupClassName={classnames(props.popupClassName, isMobile && style['field-item-mobile-popup'], isMobile && FIELD_MOBILE_POPUP_CLASS, isMobile && fixedModeClass)}\n dropdownClassName={classnames(props.dropdownClassName, isMobile && style['field-item-mobile-popup'], isMobile && FIELD_MOBILE_POPUP_CLASS, isMobile && fixedModeClass)}\n overlayClassName={classnames(props.overlayClassName, isMobile && style['field-item-mobile-popup'], isMobile && FIELD_MOBILE_POPUP_CLASS, isMobile && fixedModeClass)}\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 zIndex={isMobile ? MOBILE_POPUP_Z_INDEX : props.zIndex}\n overlayWidth={\n isMobile && options.forcePopup\n ? typeof window === 'undefined'\n ? props.overlayWidth\n : getMobilePopupMetrics(triggerRef.current, {\n scrollEl: getScrollElement(),\n boundaryEl: getBoundaryElement(),\n useBoundaryMount\n }).width || window.innerWidth\n : props.overlayWidth\n }\n />\n );\n };\n return (\n <>\n {renderMask &&\n popupMountNode &&\n createPortal(\n <div\n className={classnames(style['pop-util-mask'], maskClosing && style['pop-util-mask-leave'], fixedModeClass)}\n style={{\n top: popupMetrics.top,\n height: popupMetrics.height,\n zIndex: MOBILE_MASK_Z_INDEX\n }}\n onClick={closeFieldItem}\n onTouchMove={e => {\n e.preventDefault();\n }}\n />,\n popupMountNode\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 { usePopupContainer, useScrollElement } from '@kne/responsive-utils';\nimport useMobileFixedMode from './hooks/useMobileFixedMode';\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';\nimport useResponsiveScrollListener from './hooks/useResponsiveScrollListener';\nimport { getMobilePopupMetrics } from './utils/getMobilePopupMetrics';\nimport { MOBILE_MASK_Z_INDEX, MOBILE_POPUP_Z_INDEX } from './constants/mobilePopup';\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, getPopupContainer: customGetPopupContainer, children }) => {\n const [state, setState] = useState(value);\n const [open, setOpen] = useState(false);\n const { isMobile, useBoundaryMount } = useMobileFixedMode();\n const fixedModeClass = useBoundaryMount ? style['is-boundary'] : style['is-viewport'];\n const getBoundaryElement = usePopupContainer();\n const getScrollElement = useScrollElement();\n const resolveGetPopupContainer = useCallback(\n triggerNode => {\n if (typeof customGetPopupContainer === 'function') {\n const customContainer = customGetPopupContainer(triggerNode);\n if (customContainer) {\n return customContainer;\n }\n }\n if (!isMobile) {\n return getBoundaryElement();\n }\n if (useBoundaryMount) {\n return getBoundaryElement();\n }\n return typeof document !== 'undefined' ? document.body : null;\n },\n [customGetPopupContainer, getBoundaryElement, isMobile, useBoundaryMount]\n );\n const popupMountNode = typeof document !== 'undefined' ? (isMobile ? (useBoundaryMount ? getBoundaryElement() || document.body : document.body) : getBoundaryElement() || document.body) : null;\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 const updatePopupMetrics = useCallback(() => {\n if (typeof window === 'undefined' || !triggerRef.current) return;\n const metrics = getMobilePopupMetrics(triggerRef.current, {\n scrollEl: getScrollElement(),\n boundaryEl: getBoundaryElement(),\n useBoundaryMount,\n offset: MOBILE_POPUP_OFFSET\n });\n setPopupMetrics(metrics);\n }, [getBoundaryElement, getScrollElement, useBoundaryMount]);\n\n useResponsiveScrollListener(updatePopupMetrics, open && isMobile);\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: popupMetrics.left ?? 0,\n zIndex: MOBILE_POPUP_Z_INDEX\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 popupMountNode &&\n createPortal(\n <div\n className={classnames(style['pop-util-mask'], maskClosing && style['pop-util-mask-leave'], fixedModeClass)}\n style={{\n top: popupMetrics.top,\n height: popupMetrics.height,\n zIndex: MOBILE_MASK_Z_INDEX\n }}\n onClick={closeDropdown}\n onTouchMove={e => {\n e.preventDefault();\n }}\n />,\n popupMountNode\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 getPopupContainer={resolveGetPopupContainer}\n zIndex={isMobile ? MOBILE_POPUP_Z_INDEX : undefined}\n overlayClassName={classnames(style['pop-util-overlay'], overlayClassName, isMobile && fixedModeClass)}\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 { usePopupContainer } from '@kne/responsive-utils';\nimport { useRef, useCallback, useMemo } from 'react';\nimport dayjs from 'dayjs';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\nimport useMobileFixedMode from '../../hooks/useMobileFixedMode';\nimport { MOBILE_POPUP_Z_INDEX } from '../../constants/mobilePopup';\n\nconst FIELD_MOBILE_POPUP_CLASS = 'react-filter-field-mobile-popup';\n\nconst TypeDateRangePickerField = ({ value: valueProp, onChange: onChangeProp, defaultValue, shortcuts = true, shortcutOptions, ...props }) => {\n const { formatMessage } = useIntl({ moduleName: 'Filter' });\n const getPopupContainer = usePopupContainer();\n const { isMobile, useBoundaryMount } = useMobileFixedMode();\n const fixedModeClass = useBoundaryMount ? style['is-boundary'] : style['is-viewport'];\n const nestedPopupClassName = classnames(style['field-item-mobile-popup'], FIELD_MOBILE_POPUP_CLASS, fixedModeClass);\n const nestedPopupStyle = isMobile ? { zIndex: MOBILE_POPUP_Z_INDEX } : undefined;\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 getPopupContainer={getPopupContainer}\n popupClassName={isMobile ? nestedPopupClassName : undefined}\n classNames={isMobile ? { popup: { root: nestedPopupClassName } } : undefined}\n popupStyle={nestedPopupStyle}\n styles={isMobile ? { popup: { root: nestedPopupStyle } } : undefined}\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 getPopupContainer={getPopupContainer}\n classNames={\n isMobile\n ? {\n ...props.classNames,\n popup: {\n ...props.classNames?.popup,\n root: classnames(props.classNames?.popup?.root, nestedPopupClassName)\n }\n }\n : props.classNames\n }\n styles={\n isMobile\n ? {\n ...props.styles,\n popup: {\n ...props.styles?.popup,\n root: Object.assign({}, props.styles?.popup?.root, nestedPopupStyle)\n }\n }\n : props.styles\n }\n popupStyle={nestedPopupStyle}\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 { usePopupContainer } from '@kne/responsive-utils';\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 getPopupContainer = usePopupContainer();\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 getPopupContainer={getPopupContainer}\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","useFilterIsMobile","mode","containerWidth","useResponsiveContext","viewportIsMobile","useMediaQuery","IS_MOBILE_QUERY","MOBILE_BREAKPOINT","useResponsiveScrollListener","callback","enabled","getScrollElement","useScrollElement","useEffect","undefined","scrollEl","handleChange","addEventListener","passive","window","resizeObserver","ResizeObserver","observe","_resizeObserver","removeEventListener","disconnect","useHorizontalScrollShadows","suspend","preserveOverflowOnSuspend","refreshKey","scrollRef","useRef","isOverflow","setIsOverflow","useState","showScrollPrev","setShowScrollPrev","showScrollNext","setShowScrollNext","update","useCallback","el","current","scrollWidth","clientWidth","scrollLeft","rafId","requestAnimationFrame","cancelAnimationFrame","updateScrollShadowVisible","GAP","SAFETY_GAP","useVisibleItemCount","items","strategy","safeItems","Array","isArray","containerRef","measureRef","moreMeasureRef","rafRef","lastWidthRef","containerEl","setContainerEl","visibleCount","setVisibleCount","length","setContainerRef","node","setMeasureRef","setMoreMeasureRef","getWidths","_moreMeasureRef$curre","container","measureEl","itemNodes","querySelectorAll","moreButtonWidth","getBoundingClientRect","width","itemWidths","from","getWidthForCount","count","usedWidth","i","resolveVisibleCount","widths","maxCount","Math","min","nextCount","max","calculateByWidth","prev","scheduleCalculate","useLayoutEffect","observer","entries","_entry$contentRect$wi","entry","find","item","target","nextWidth","contentRect","abs","isFilterListItem","type","isNestedFilterList","list","normalizeFilterList","safeList","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","isMobile","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","hideLabel","flush","tags","valueLabel","join","Tag","closable","onClose","newValue","splice","Button","icon","UpOutlined","DownOutlined","isNotEmpty","trim","FilterProvider","valueBase","defaultValue","Map","newFilterValue","clone","set","delete","values","useFilterViewportVars","boundaryRef","applyViewportCssVars","innerWidth","height","innerHeight","resetViewportCssVars","FilterOuter","_ref","_objectWithoutPropertiesLoose","_excluded","RESPONSIVE_BOUNDARY_CLASS","Filter","filterProps","others","_excluded2","useMobileFixedMode","useBoundaryMount","useViewportFixed","FilterItem","open","active","getMobilePopupMetrics","triggerEl","boundaryEl","offset","_scrollRect$top","_scrollRect$bottom","_scrollRect$width","top","rect","boundaryRect","bottom","scrollRect","visibleTop","visibleBottom","MOBILE_MASK_Z_INDEX","MOBILE_POPUP_Z_INDEX","MASK_ANIMATION_DURATION","FIELD_MOBILE_POPUP_CLASS","MOBILE_POPUP_OFFSET","withFieldItem","WrappedComponent","options","_popupMetrics$left","interceptor","render","setOpen","fixedModeClass","renderMask","setRenderMask","maskClosing","setMaskClosing","popupMetrics","setPopupMetrics","pageTop","triggerRef","getBoundaryElement","usePopupContainer","resolveGetPopupContainer","triggerNode","getPopupContainer","customContainer","document","body","popupMountNode","setMobilePopupVariables","metrics","setProperty","updatePopupMetrics","removeProperty","timer","setTimeout","clearTimeout","closeFieldItem","onOpenChange","onDropdownVisibleChange","handleOpenChange","mobilePopupStyle","zIndex","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","isPopup","overlayWidth","createPortal","onTouchMove","preventDefault","PopoverItem","onValidate","placement","customGetPopupContainer","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","_props$styles","_props$styles2","valueProp","onChangeProp","shortcuts","shortcutOptions","nestedPopupClassName","nestedPopupStyle","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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"}
|