@kne/react-filter 1.0.0 → 1.0.1
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 +22 -9
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +22 -9
- package/dist/index.modern.js.map +1 -1
- package/package.json +2 -2
package/dist/index.modern.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.modern.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","list","children","value","onChange","_jsxs","className","style","filter","item","type","map","index","props","get","name","label","ComponentItem","_createElement","_extends","Object","assign","key","FilterLines","displayLine","extra","hasMore","length","mobileList","reduce","result","concat","Array","isArray","isExpand","setIsExpand","useState","isMobile","setIsMobile","showScrollNext","setShowScrollNext","scrollRef","useRef","formatMessage","useIntl","moduleName","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","defaultValue","useMemo","Map","newFilterValue","clone","set","delete","from","values","FilterOuter","_ref","_objectWithoutPropertiesLoose","_excluded","Filter","filterProps","others","_excluded2","FilterItem","open","active","MASK_ANIMATION_DURATION","FIELD_MOBILE_POPUP_CLASS","MOBILE_POPUP_OFFSET","withFieldItem","WrappedComponent","options","interceptor","render","setOpen","renderMask","setRenderMask","maskClosing","setMaskClosing","popupMetrics","setPopupMetrics","top","pageTop","height","triggerRef","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","args","valueType","popupClassName","dropdownClassName","overlayClassName","popupStyle","dropdownStyle","transitionName","isPopup","forcePopup","overlayWidth","innerWidth","createPortal","PopoverItem","onValidate","placement","state","setState","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","_props$classNames","_props$classNames2","picker","DatePicker","dayjs","format","startOf","endOf","Date","valueOf","DateRangePickerFilterItem","header","Flex","vertical","RangePicker","allowEmpty","TypeDateRangePickerField","valueProp","onChangeProp","shortcuts","shortcutOptions","typeList","defaultShortcuts","getValue","subtract","currentShortcuts","isControlled","innerValueRef","handleShortcutClick","shortcut","start","end","toDate","isShortcutActive","valueStart","valueEnd","shortcutStart","shortcutEnd","isSame","renderShortcuts","gap","Select","typeValue","currentValue","_currentValue$value","startTime","endTime","isValid","val","dateValue","TypeDateRangePickerFilterItem","itemValue","pickerValue","displayLabel","withInputDefaultPlaceholder","InputFilterItemField","NumberRangeFilterItemField","SuperSelectFilterItem","SuperSelect","SelectFunctionFilterItem","SelectFunction","SelectIndustryFilterItem","SelectIndustry","SelectAddressFilterItem","SelectAddress","getFilterValue","transform","withFilterValue","Search","SearchInput","onSearch","pickSelectValues","String","Boolean","createFilterValueMapper","fieldMappers","entries","forEach","fieldName","mapper","entry","find","rawValue","createUrlParamsReader","searchParams","consumedKeys","take","has","push","getConsumedKeys","stripConsumedUrlParams","next","URLSearchParams","changed","useUrlFilter","readUrlParams","buildFilter","setSearchParams","useSearchParams","urlFilterSnapshotRef","setFilter","urlStrippedRef","_urlFilterSnapshotRef","nextParams","replace","filterToUrlParams","prefix","params","serialized","serializeEntry","_item$label","_item$value","parseFilterEntry","str","colonIndex","indexOf","takeFilterEntry","multi","fullKey","raw","split","firstEntry","includes","createUrlFilterReader","useUrlFilterValue","mapping","normalizedMapping","acc","data","config","filters","parsedValue","toIdName","toLabelValue","_item$name","_item$id","singleSelectInterceptor","selected","multiSelectInterceptor","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.modern.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 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 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","list","children","value","onChange","_jsxs","className","style","filter","item","type","map","index","props","get","name","label","ComponentItem","_createElement","_extends","Object","assign","key","FilterLines","displayLine","extra","hasMore","length","mobileList","reduce","result","concat","Array","isArray","isExpand","setIsExpand","useState","isMobile","setIsMobile","showScrollNext","setShowScrollNext","scrollRef","useRef","formatMessage","useIntl","moduleName","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","defaultValue","useMemo","Map","newFilterValue","clone","set","delete","from","values","FilterOuter","_ref","_objectWithoutPropertiesLoose","_excluded","Filter","filterProps","others","_excluded2","FilterItem","open","active","MASK_ANIMATION_DURATION","FIELD_MOBILE_POPUP_CLASS","MOBILE_POPUP_OFFSET","withFieldItem","WrappedComponent","options","interceptor","render","setOpen","renderMask","setRenderMask","maskClosing","setMaskClosing","popupMetrics","setPopupMetrics","top","pageTop","height","triggerRef","setMobilePopupVariables","metrics","document","body","setProperty","updatePopupMetrics","rect","getBoundingClientRect","Math","max","bottom","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","args","valueType","popupClassName","dropdownClassName","overlayClassName","overlayStyle","popupStyle","dropdownStyle","transitionName","autoAdjustOverflow","offset","isPopup","forcePopup","overlayWidth","innerWidth","createPortal","PopoverItem","onValidate","placement","state","setState","disabled","closeDropdown","mobileOverlayStyle","overlayContent","stopPropagation","gutter","Dropdown","trigger","menu","items","dropdownRender","InputFilterItem","placeholder","Input","computedFilterValue","range","unit","isNumber","count","defaultPropsOnValidate","NumberRangeFilterItem","Compact","InputNumber","width","borderLeft","borderRight","pointerEvents","DatePickerFilterItem","_props$classNames","_props$classNames2","picker","DatePicker","dayjs","format","startOf","endOf","Date","valueOf","DateRangePickerFilterItem","header","Flex","vertical","RangePicker","allowEmpty","TypeDateRangePickerField","valueProp","onChangeProp","shortcuts","shortcutOptions","typeList","defaultShortcuts","getValue","subtract","currentShortcuts","isControlled","innerValueRef","handleShortcutClick","shortcut","start","end","toDate","isShortcutActive","valueStart","valueEnd","shortcutStart","shortcutEnd","isSame","renderShortcuts","gap","Select","typeValue","currentValue","_currentValue$value","startTime","endTime","isValid","val","dateValue","TypeDateRangePickerFilterItem","itemValue","pickerValue","displayLabel","withInputDefaultPlaceholder","InputFilterItemField","NumberRangeFilterItemField","SuperSelectFilterItem","SuperSelect","SelectFunctionFilterItem","SelectFunction","SelectIndustryFilterItem","SelectIndustry","SelectAddressFilterItem","SelectAddress","getFilterValue","transform","withFilterValue","Search","SearchInput","onSearch","pickSelectValues","String","Boolean","createFilterValueMapper","fieldMappers","entries","forEach","fieldName","mapper","entry","find","rawValue","createUrlParamsReader","searchParams","consumedKeys","take","has","push","getConsumedKeys","stripConsumedUrlParams","next","URLSearchParams","changed","useUrlFilter","readUrlParams","buildFilter","setSearchParams","useSearchParams","urlFilterSnapshotRef","setFilter","urlStrippedRef","_urlFilterSnapshotRef","nextParams","replace","filterToUrlParams","prefix","params","serialized","serializeEntry","_item$label","_item$value","parseFilterEntry","str","colonIndex","indexOf","takeFilterEntry","multi","fullKey","raw","split","firstEntry","includes","createUrlFilterReader","useUrlFilterValue","mapping","normalizedMapping","acc","data","config","filters","parsedValue","toIdName","toLabelValue","_item$name","_item$id","singleSelectInterceptor","selected","multiSelectInterceptor","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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"}
|