@kne/react-filter 1.0.10 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/context.js","../src/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/utils/resolveFilterPopupContainer.js","../src/hooks/useFilterPopupContainer.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 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', 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","/**\n * Filter Item 弹窗挂载(不使用 RESPONSIVE_BOUNDARY_CLASS,避免劫持全局 pop):\n * - useBoundaryMount(example container / 手机预览):ResponsiveProvider 的 boundary\n * - 真实移动端 viewport:document.body\n * - 桌面端:页面级 boundary(usePopupContainer)\n */\nexport const resolveFilterPopupContainer = ({ isMobile, useBoundaryMount, getBoundaryElement }) => {\n if (!isMobile || useBoundaryMount) {\n return typeof getBoundaryElement === 'function' ? getBoundaryElement() : null;\n }\n return typeof document !== 'undefined' ? document.body : null;\n};\n\nexport default resolveFilterPopupContainer;\n","import { useCallback } from 'react';\nimport { usePopupContainer } from '@kne/responsive-utils';\nimport useMobileFixedMode from './useMobileFixedMode';\nimport { resolveFilterPopupContainer } from '../utils/resolveFilterPopupContainer';\n\nconst useFilterPopupContainer = () => {\n const getBoundaryElement = usePopupContainer();\n const { isMobile, useBoundaryMount } = useMobileFixedMode();\n\n const getMountNode = useCallback(\n () =>\n resolveFilterPopupContainer({\n isMobile,\n useBoundaryMount,\n getBoundaryElement\n }),\n [getBoundaryElement, isMobile, useBoundaryMount]\n );\n\n const getPopupContainer = useCallback(() => getMountNode(), [getMountNode]);\n\n return {\n isMobile,\n useBoundaryMount,\n getMountNode,\n getPopupContainer\n };\n};\n\nexport default useFilterPopupContainer;\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 { useScrollElement } from '@kne/responsive-utils';\nimport useFilterPopupContainer from './hooks/useFilterPopupContainer';\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, getMountNode, getPopupContainer } = useFilterPopupContainer();\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 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 return getPopupContainer(triggerNode);\n },\n [getPopupContainer, props.getPopupContainer]\n );\n const popupMountNode = typeof document !== 'undefined' ? getMountNode() || 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: getMountNode(),\n useBoundaryMount,\n offset: MOBILE_POPUP_OFFSET\n });\n setPopupMetrics(metrics);\n setMobilePopupVariables(metrics);\n }, [getMountNode, 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: getMountNode(),\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 { useScrollElement } from '@kne/responsive-utils';\nimport useFilterPopupContainer from './hooks/useFilterPopupContainer';\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, getMountNode, getPopupContainer } = useFilterPopupContainer();\n const fixedModeClass = useBoundaryMount ? style['is-boundary'] : style['is-viewport'];\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 return getPopupContainer(triggerNode);\n },\n [customGetPopupContainer, getPopupContainer]\n );\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 popupMountNode = typeof document !== 'undefined' ? getMountNode() || document.body : 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: getMountNode(),\n useBoundaryMount,\n offset: MOBILE_POPUP_OFFSET\n });\n setPopupMetrics(metrics);\n }, [getMountNode, 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 { useRef, useCallback, useMemo } from 'react';\nimport dayjs from 'dayjs';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\nimport useFilterPopupContainer from '../../hooks/useFilterPopupContainer';\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 { isMobile, useBoundaryMount, getPopupContainer } = useFilterPopupContainer();\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 '@kne/super-select-plus/dist/index.css';\nimport { useIntl } from '@kne/react-intl';\nimport { useMemo, useState, useEffect } from 'react';\nimport withLocale from '../../withLocale';\nimport useFilterPopupContainer from '../../hooks/useFilterPopupContainer';\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 } = useFilterPopupContainer();\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 FilterOuter from './FilterOuter';\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;\nFilter.FilterOuter = FilterOuter;\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 FilterOuter } from './FilterOuter';\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","_useResponsiveContext","useResponsiveContext","mode","containerWidth","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","_temp","_ref","_ref$suspend","suspend","_ref$preserveOverflow","preserveOverflowOnSuspend","refreshKey","scrollRef","useRef","_useState","useState","isOverflow","setIsOverflow","_useState2","showScrollPrev","setShowScrollPrev","_useState3","showScrollNext","setShowScrollNext","update","useCallback","el","current","scrollWidth","clientWidth","scrollLeft","rafId","requestAnimationFrame","cancelAnimationFrame","updateScrollShadowVisible","GAP","SAFETY_GAP","useVisibleItemCount","items","_ref$strategy","strategy","safeItems","Array","isArray","containerRef","measureRef","moreMeasureRef","rafRef","lastWidthRef","containerEl","setContainerEl","length","visibleCount","setVisibleCount","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","_normalizeFilterList","reduce","result","line","concat","isValidFilterItem","useFilterItemRenderer","_useContext","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","_ref2","onClick","toggleUpText","_Fragment","_jsx","Space","size","FilterLines","_ref3","_ref3$list","_ref3$displayLine","displayLine","extra","_ref3$visibleCountStr","visibleCountStrategy","_useMemo","useMemo","flatItems","mobileList","isFlatMode","isExpand","setIsExpand","isMobile","_useHorizontalScrollS","_useVisibleItemCount","_useIntl","useIntl","moduleName","formatMessage","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","_ref$defaultValue","defaultValue","Map","newFilterValue","clone","set","delete","values","useFilterViewportVars","boundaryRef","applyViewportCssVars","innerWidth","height","innerHeight","resetViewportCssVars","FilterOuter","_objectWithoutPropertiesLoose","_excluded","Filter","_ref2$props","filterProps","others","_excluded2","useMobileFixedMode","useBoundaryMount","useViewportFixed","resolveFilterPopupContainer","getBoundaryElement","document","body","useFilterPopupContainer","usePopupContainer","_useMobileFixedMode","getMountNode","getPopupContainer","FilterItem","open","active","getMobilePopupMetrics","triggerEl","_scrollRect$top","_scrollRect$bottom","_scrollRect$width","boundaryEl","_ref$offset","offset","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","_useFilterPopupContai","fixedModeClass","renderMask","setRenderMask","maskClosing","setMaskClosing","_useState4","pageTop","popupMetrics","setPopupMetrics","triggerRef","resolveGetPopupContainer","triggerNode","customContainer","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","call","arguments","valueType","popupClassName","dropdownClassName","overlayClassName","overlayStyle","popupStyle","dropdownStyle","transitionName","autoAdjustOverflow","isPopup","overlayWidth","createPortal","onTouchMove","preventDefault","PopoverItem","onValidate","_ref$placement","placement","customGetPopupContainer","state","setState","_useState5","disabled","closeDropdown","mobileOverlayStyle","overlayContent","stopPropagation","gutter","Dropdown","trigger","menu","dropdownRender","InputFilterItem","placeholder","Input","computedFilterValue","range","unit","isNumber","defaultPropsOnValidate","NumberRangeFilterItem","_ref$onValidate","Compact","InputNumber","borderLeft","borderRight","pointerEvents","DatePickerFilterItem","_props$classNames","_props$classNames2","_ref$picker","picker","DatePicker","inputReadOnly","dayjs","_Object$assign","format","startOf","endOf","Date","valueOf","DateRangePickerFilterItem","header","Flex","vertical","RangePicker","allowEmpty","TypeDateRangePickerField","_props$styles","_props$styles2","valueProp","onChangeProp","_ref$shortcuts","shortcuts","shortcutOptions","nestedPopupClassName","nestedPopupStyle","typeList","defaultShortcuts","getValue","subtract","currentShortcuts","isControlled","innerValueRef","handleShortcutClick","shortcut","_shortcut$getValue","start","end","toDate","isShortcutActive","_shortcut$getValue2","valueStart","valueEnd","shortcutStart","shortcutEnd","isSame","renderShortcuts","gap","Select","typeValue","currentValue","_currentValue$value","startTime","endTime","isValid","val","dateValue","TypeDateRangePickerFilterItem","itemValue","pickerValue","_props$format","displayLabel","withInputDefaultPlaceholder","InputFilterItemField","NumberRangeFilterItemField","SuperSelectFilterItem","SuperSelect","SelectTableListFilterItem","SelectTableList","SelectTreeFilterItem","SelectTree","SelectCascaderFilterItem","SelectCascader","SelectFunctionFilterItem","SelectFunction","SelectIndustryFilterItem","SelectIndustry","SelectAddressFilterItem","SelectAddress","getFilterValue","transform","withFilterValue","Search","SearchInput","_ref$searchDelay","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","_useSearchParams","useSearchParams","setSearchParams","urlFilterSnapshotRef","setFilter","urlStrippedRef","_urlFilterSnapshotRef","nextParams","replace","filterToUrlParams","_ref$prefix","prefix","params","serialized","serializeEntry","_item$label","_item$value","parseFilterEntry","str","colonIndex","indexOf","takeFilterEntry","_temp2","_ref3$multi","multi","_ref3$prefix","fullKey","raw","split","firstEntry","includes","createUrlFilterReader","_temp3","_ref4","_ref4$prefix","_temp4","_ref5","_ref5$multi","useUrlFilterValue","mapping","normalizedMapping","acc","_createUrlFilterReade","data","config","filters","parsedValue","toIdName","toLabelValue","_item$name","_item$id","singleSelectInterceptor","selected","multiSelectInterceptor","setActive","searchHandler","handleBlur","onFocus","onBlur","onPressEnter","CheckableTag","ListFilterItem","maxLength","App","useApp","itemLabel","checked","isEqual","findIndex","error","getLabelForLocal","locale","enName","CityFilterItemInner","addressApi","setAddressApi","cancelled","defaultData","then","createAddressApi","cityList","getChinaHotCities","city","code","CityFilterItem","fields","AdvancedFilter","more","advancedFields","FilterItemContainer","useFilter","filterInterceptors"],"mappings":"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"}
1
+ {"version":3,"file":"index.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/utils/resolveFilterPopupContainer.js","../src/hooks/useFilterPopupContainer.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 scrollToPrev = useCallback(() => {\n const el = scrollRef.current;\n if (!el) return;\n el.scrollTo({\n left: Math.max(el.scrollLeft - el.clientWidth * 0.8, 0),\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 ? (\n <button type=\"button\" className={style['filter-scroll-prev']} onClick={scrollToPrev} aria-label=\"scroll prev\">\n <span className={style['filter-scroll-prev-icon']}>‹</span>\n </button>\n ) : 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 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', 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","/**\n * Filter Item 弹窗挂载(不使用 RESPONSIVE_BOUNDARY_CLASS,避免劫持全局 pop):\n * - useBoundaryMount(example container / 手机预览):ResponsiveProvider 的 boundary\n * - 真实移动端 viewport:document.body\n * - 桌面端:页面级 boundary(usePopupContainer)\n */\nexport const resolveFilterPopupContainer = ({ isMobile, useBoundaryMount, getBoundaryElement }) => {\n if (!isMobile || useBoundaryMount) {\n return typeof getBoundaryElement === 'function' ? getBoundaryElement() : null;\n }\n return typeof document !== 'undefined' ? document.body : null;\n};\n\nexport default resolveFilterPopupContainer;\n","import { useCallback } from 'react';\nimport { usePopupContainer } from '@kne/responsive-utils';\nimport useMobileFixedMode from './useMobileFixedMode';\nimport { resolveFilterPopupContainer } from '../utils/resolveFilterPopupContainer';\n\nconst useFilterPopupContainer = () => {\n const getBoundaryElement = usePopupContainer();\n const { isMobile, useBoundaryMount } = useMobileFixedMode();\n\n const getMountNode = useCallback(\n () =>\n resolveFilterPopupContainer({\n isMobile,\n useBoundaryMount,\n getBoundaryElement\n }),\n [getBoundaryElement, isMobile, useBoundaryMount]\n );\n\n const getPopupContainer = useCallback(() => getMountNode(), [getMountNode]);\n\n return {\n isMobile,\n useBoundaryMount,\n getMountNode,\n getPopupContainer\n };\n};\n\nexport default useFilterPopupContainer;\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 { useScrollElement } from '@kne/responsive-utils';\nimport useFilterPopupContainer from './hooks/useFilterPopupContainer';\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, getMountNode, getPopupContainer } = useFilterPopupContainer();\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 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 return getPopupContainer(triggerNode);\n },\n [getPopupContainer, props.getPopupContainer]\n );\n const popupMountNode = typeof document !== 'undefined' ? getMountNode() || 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: getMountNode(),\n useBoundaryMount,\n offset: MOBILE_POPUP_OFFSET\n });\n setPopupMetrics(metrics);\n setMobilePopupVariables(metrics);\n }, [getMountNode, 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: getMountNode(),\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 { useScrollElement } from '@kne/responsive-utils';\nimport useFilterPopupContainer from './hooks/useFilterPopupContainer';\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, getMountNode, getPopupContainer } = useFilterPopupContainer();\n const fixedModeClass = useBoundaryMount ? style['is-boundary'] : style['is-viewport'];\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 return getPopupContainer(triggerNode);\n },\n [customGetPopupContainer, getPopupContainer]\n );\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 popupMountNode = typeof document !== 'undefined' ? getMountNode() || document.body : 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: getMountNode(),\n useBoundaryMount,\n offset: MOBILE_POPUP_OFFSET\n });\n setPopupMetrics(metrics);\n }, [getMountNode, 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 { useRef, useCallback, useMemo } from 'react';\nimport dayjs from 'dayjs';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\nimport useFilterPopupContainer from '../../hooks/useFilterPopupContainer';\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 { isMobile, useBoundaryMount, getPopupContainer } = useFilterPopupContainer();\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 '@kne/super-select-plus/dist/index.css';\nimport { useIntl } from '@kne/react-intl';\nimport { useMemo, useState, useEffect } from 'react';\nimport withLocale from '../../withLocale';\nimport useFilterPopupContainer from '../../hooks/useFilterPopupContainer';\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 } = useFilterPopupContainer();\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 FilterOuter from './FilterOuter';\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;\nFilter.FilterOuter = FilterOuter;\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 FilterOuter } from './FilterOuter';\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","_useResponsiveContext","useResponsiveContext","mode","containerWidth","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","_temp","_ref","_ref$suspend","suspend","_ref$preserveOverflow","preserveOverflowOnSuspend","refreshKey","scrollRef","useRef","_useState","useState","isOverflow","setIsOverflow","_useState2","showScrollPrev","setShowScrollPrev","_useState3","showScrollNext","setShowScrollNext","update","useCallback","el","current","scrollWidth","clientWidth","scrollLeft","rafId","requestAnimationFrame","cancelAnimationFrame","updateScrollShadowVisible","GAP","SAFETY_GAP","useVisibleItemCount","items","_ref$strategy","strategy","safeItems","Array","isArray","containerRef","measureRef","moreMeasureRef","rafRef","lastWidthRef","containerEl","setContainerEl","length","visibleCount","setVisibleCount","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","_normalizeFilterList","reduce","result","line","concat","isValidFilterItem","useFilterItemRenderer","_useContext","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","_ref2","onClick","toggleUpText","_Fragment","_jsx","Space","size","FilterLines","_ref3","_ref3$list","_ref3$displayLine","displayLine","extra","_ref3$visibleCountStr","visibleCountStrategy","_useMemo","useMemo","flatItems","mobileList","isFlatMode","isExpand","setIsExpand","isMobile","_useHorizontalScrollS","_useVisibleItemCount","_useIntl","useIntl","moduleName","formatMessage","visibleFlatItems","slice","hiddenFlatItems","hasMoreFlat","hasMoreNested","hasMore","visibleLines","hiddenLines","showLabel","setScrollContainerRef","setMeasureContainerRef","scrollToNext","scrollTo","left","behavior","scrollToPrev","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","_ref$defaultValue","defaultValue","Map","newFilterValue","clone","set","delete","values","useFilterViewportVars","boundaryRef","applyViewportCssVars","innerWidth","height","innerHeight","resetViewportCssVars","FilterOuter","_objectWithoutPropertiesLoose","_excluded","Filter","_ref2$props","filterProps","others","_excluded2","useMobileFixedMode","useBoundaryMount","useViewportFixed","resolveFilterPopupContainer","getBoundaryElement","document","body","useFilterPopupContainer","usePopupContainer","_useMobileFixedMode","getMountNode","getPopupContainer","FilterItem","open","active","getMobilePopupMetrics","triggerEl","_scrollRect$top","_scrollRect$bottom","_scrollRect$width","boundaryEl","_ref$offset","offset","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","_useFilterPopupContai","fixedModeClass","renderMask","setRenderMask","maskClosing","setMaskClosing","_useState4","pageTop","popupMetrics","setPopupMetrics","triggerRef","resolveGetPopupContainer","triggerNode","customContainer","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","call","arguments","valueType","popupClassName","dropdownClassName","overlayClassName","overlayStyle","popupStyle","dropdownStyle","transitionName","autoAdjustOverflow","isPopup","overlayWidth","createPortal","onTouchMove","preventDefault","PopoverItem","onValidate","_ref$placement","placement","customGetPopupContainer","state","setState","_useState5","disabled","closeDropdown","mobileOverlayStyle","overlayContent","stopPropagation","gutter","Dropdown","trigger","menu","dropdownRender","InputFilterItem","placeholder","Input","computedFilterValue","range","unit","isNumber","defaultPropsOnValidate","NumberRangeFilterItem","_ref$onValidate","Compact","InputNumber","borderLeft","borderRight","pointerEvents","DatePickerFilterItem","_props$classNames","_props$classNames2","_ref$picker","picker","DatePicker","inputReadOnly","dayjs","_Object$assign","format","startOf","endOf","Date","valueOf","DateRangePickerFilterItem","header","Flex","vertical","RangePicker","allowEmpty","TypeDateRangePickerField","_props$styles","_props$styles2","valueProp","onChangeProp","_ref$shortcuts","shortcuts","shortcutOptions","nestedPopupClassName","nestedPopupStyle","typeList","defaultShortcuts","getValue","subtract","currentShortcuts","isControlled","innerValueRef","handleShortcutClick","shortcut","_shortcut$getValue","start","end","toDate","isShortcutActive","_shortcut$getValue2","valueStart","valueEnd","shortcutStart","shortcutEnd","isSame","renderShortcuts","gap","Select","typeValue","currentValue","_currentValue$value","startTime","endTime","isValid","val","dateValue","TypeDateRangePickerFilterItem","itemValue","pickerValue","_props$format","displayLabel","withInputDefaultPlaceholder","InputFilterItemField","NumberRangeFilterItemField","SuperSelectFilterItem","SuperSelect","SelectTableListFilterItem","SelectTableList","SelectTreeFilterItem","SelectTree","SelectCascaderFilterItem","SelectCascader","SelectFunctionFilterItem","SelectFunction","SelectIndustryFilterItem","SelectIndustry","SelectAddressFilterItem","SelectAddress","getFilterValue","transform","withFilterValue","Search","SearchInput","_ref$searchDelay","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","_useSearchParams","useSearchParams","setSearchParams","urlFilterSnapshotRef","setFilter","urlStrippedRef","_urlFilterSnapshotRef","nextParams","replace","filterToUrlParams","_ref$prefix","prefix","params","serialized","serializeEntry","_item$label","_item$value","parseFilterEntry","str","colonIndex","indexOf","takeFilterEntry","_temp2","_ref3$multi","multi","_ref3$prefix","fullKey","raw","split","firstEntry","includes","createUrlFilterReader","_temp3","_ref4","_ref4$prefix","_temp4","_ref5","_ref5$multi","useUrlFilterValue","mapping","normalizedMapping","acc","_createUrlFilterReade","data","config","filters","parsedValue","toIdName","toLabelValue","_item$name","_item$id","singleSelectInterceptor","selected","multiSelectInterceptor","setActive","searchHandler","handleBlur","onFocus","onBlur","onPressEnter","CheckableTag","ListFilterItem","maxLength","App","useApp","itemLabel","checked","isEqual","findIndex","error","getLabelForLocal","locale","enName","CityFilterItemInner","addressApi","setAddressApi","cancelled","defaultData","then","createAddressApi","cityList","getChinaHotCities","city","code","CityFilterItem","fields","AdvancedFilter","more","advancedFields","FilterItemContainer","useFilter","filterInterceptors"],"mappings":"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"}