@kne/react-filter 1.0.0 → 1.0.2

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