@kne/super-select-plus 0.1.0 → 0.1.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/README.md +160 -20
- package/dist/{city-230db4c1.js → city-39702d3a.js} +1 -1
- package/dist/{city-230db4c1.js.map → city-39702d3a.js.map} +1 -1
- package/dist/{function-9db71e91.js → function-871311da.js} +1 -1
- package/dist/{function-9db71e91.js.map → function-871311da.js.map} +1 -1
- package/dist/index.css +32 -32
- package/dist/index.js +298 -232
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +92 -25
- package/dist/index.modern.js.map +1 -1
- package/dist/{industry-2e3bda15.js → industry-f570d549.js} +1 -1
- package/dist/{industry-2e3bda15.js.map → industry-f570d549.js.map} +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/locale/zh-CN.js","../src/locale/en-US.js","../src/withLocale.js","../src/EnumDisplay/index.js","../src/SelectFunction/FunctionEnum.js","../src/SelectFunction/index.js","../src/SelectIndustry/IndustryEnum.js","../src/SelectIndustry/index.js","../src/SelectAddress/AddressEnum.js","../node_modules/classnames/index.js","../src/SelectAddress/Address.js","../src/index.js"],"sourcesContent":["const locale = {\n placeholder: '请选择',\n searchPlaceholder: '搜索',\n // FunctionSelectField\n functionPlaceholder: '请选择职能',\n functionSearchPlaceholder: '搜索职能',\n // IndustrySelectField\n industryPlaceholder: '请选择行业',\n industrySearchPlaceholder: '搜索行业',\n // AddressSelectField\n addressPlaceholder: '请选择城市',\n addressSearchPlaceholder: '搜索城市',\n domestic: '国内',\n abroad: '国外'\n};\n\nexport default locale;\n","const locale = {\n placeholder: 'Please select',\n searchPlaceholder: 'Search',\n // FunctionSelectField\n functionPlaceholder: 'Please select function',\n functionSearchPlaceholder: 'Search function',\n // IndustrySelectField\n industryPlaceholder: 'Please select industry',\n industrySearchPlaceholder: 'Search industry',\n // AddressSelectField\n addressPlaceholder: 'Please select city',\n addressSearchPlaceholder: 'Search city',\n domestic: 'Domestic',\n abroad: 'Abroad'\n};\n\nexport default locale;\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: 'super-select-plus'\n});\n\nexport default withLocale;\n","import { useMemo } from 'react';\nimport { withFetch } from '@kne/react-fetch';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from '../withLocale';\nimport get from 'lodash/get';\n\n// 统一缓存映射\nconst enumCache = new Map();\n\n// 默认子组件渲染函数\nconst defaultChildren = item => get(item, 'label', '');\n\n/**\n * 默认获取标签函数\n */\nconst defaultGetLabel = (item, locale) => {\n if (locale === 'en-US') {\n return get(item, 'enName') || get(item, 'name') || get(item, 'chName');\n }\n return get(item, 'name') || get(item, 'chName');\n};\n\n/**\n * 默认数据格式化函数\n */\nconst defaultDataFormat = data => data.data || data;\n\n/**\n * 默认映射项转换函数\n */\nconst defaultTransformItem = (item, label) => ({\n ...item,\n id: item.code,\n label,\n parentId: item.parentCode || null\n});\n\n/**\n * 内部枚举显示组件\n */\nconst EnumDisplayInner = withFetch(({ data, name, type, cache: cacheKey, children, getLabel, dataFormat, transformItem, ...props }) => {\n const { locale } = useIntl();\n\n // 格式化数据\n const formattedData = useMemo(() => dataFormat(data), [data, dataFormat]);\n\n // 创建映射表\n const mapping = useMemo(() => {\n return new Map(\n formattedData.map(item => {\n const label = getLabel(item, locale);\n const transformedItem = transformItem(item, label);\n return [item.code, transformedItem];\n })\n );\n }, [formattedData, getLabel, locale, transformItem]);\n\n // 获取枚举值\n const output = mapping.get(name);\n\n // 缓存结果\n if (output && cacheKey && type) {\n enumCache.set(`${cacheKey}_${type}_${name}`, output);\n }\n\n return children(output, { ...props, locale, mapping });\n});\n\n/**\n * 枚举显示组件\n */\nexport const EnumDisplay = withLocale(props => {\n const { locale } = useIntl();\n const { name, type = 'default', cache: cacheKey = 'ENUM_DATA', force = false, getLabel = defaultGetLabel, dataFormat = defaultDataFormat, transformItem = defaultTransformItem, children = defaultChildren } = props;\n\n // 检查缓存\n const key = `${cacheKey}_${type}_${name}`;\n const cached = enumCache.get(key);\n\n if (cached && !force) {\n return children(cached, { locale: props.locale });\n }\n\n return <EnumDisplayInner {...props} type={type} cache={cacheKey} getLabel={getLabel} dataFormat={dataFormat} transformItem={transformItem} children={children} />;\n});\n\n/**\n * 创建特定枚举组件的工厂函数\n * @param {Object} options 配置选项\n * @param {string} options.type 枚举类型标识\n * @param {string} options.cache 缓存键\n * @param {Function} options.getLabel 获取标签函数\n * @param {Function} options.dataFormat 数据格式化函数\n * @param {Function} options.transformItem 映射项转换函数\n * @param {Object} options.defaultApi 默认API配置\n * @returns {React.Component} 枚举组件\n */\nexport const createEnumComponent = options => {\n const { type, cache, getLabel = defaultGetLabel, dataFormat = defaultDataFormat, transformItem = defaultTransformItem, defaultApi } = options;\n\n const EnumComponent = withLocale(props => {\n const { name, force = false, children = defaultChildren } = props;\n\n // 检查缓存\n const key = `${cache}_${type}_${name}`;\n const cached = enumCache.get(key);\n\n if (cached && !force) {\n return children(cached, { locale: props.locale });\n }\n\n return <EnumDisplayInner {...props} {...defaultApi} type={type} cache={cache} getLabel={getLabel} dataFormat={dataFormat} transformItem={transformItem} children={children} />;\n });\n\n // 附加静态属性\n EnumComponent.getLabel = getLabel;\n EnumComponent.defaultApi = defaultApi;\n EnumComponent.type = type;\n EnumComponent.cache = cache;\n\n return EnumComponent;\n};\n\n// 导出缓存实例供外部使用\nEnumDisplay.cache = enumCache;\n\nexport default EnumDisplay;\n","import { createEnumComponent } from '../EnumDisplay';\nimport get from 'lodash/get';\n\n/**\n * 获取本地化标签\n */\nexport const getLabelForLocal = (item, locale) => {\n if (locale === 'en-US') {\n return get(item, 'enName') || get(item, 'chName');\n }\n return get(item, 'chName');\n};\n\n/**\n * 默认职能数据加载器\n */\nexport const defaultFunctionApi = {\n cache: 'FUNCTION_DATA',\n isLocal: true,\n ttl: 1000 * 60 * 60 * 24, // 24小时\n loader: () => {\n return import('./function.json').then(module => (module['__esModule'] ? module.default : module));\n }\n};\n\n/**\n * 职能枚举显示组件\n */\nexport const FunctionEnum = createEnumComponent({\n type: 'function',\n cache: 'FUNCTION_DATA',\n getLabel: getLabelForLocal,\n defaultApi: defaultFunctionApi\n});\n\nexport default FunctionEnum;\n","import { SelectCascader } from '@kne/super-select';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from '../withLocale';\nimport { useState, useEffect, useMemo } from 'react';\nimport get from 'lodash/get';\nimport FunctionEnum, { getLabelForLocal } from './FunctionEnum';\n\nconst defaultFunctionData = () => {\n return import('./function.json').then(module => (module['__esModule'] ? module.default : module));\n};\n\nconst transformToCascaderData = (data, locale) => {\n // 创建映射表\n const mapping = new Map();\n data.forEach(item => {\n mapping.set(item.code, {\n ...item,\n id: item.code,\n name: getLabelForLocal(item, locale),\n children: []\n });\n });\n\n // 构建嵌套结构\n const roots = [];\n data.forEach(item => {\n const node = mapping.get(item.code);\n if (!item.parentCode || !mapping.has(item.parentCode)) {\n roots.push(node);\n } else {\n const parent = mapping.get(item.parentCode);\n parent.children.push(node);\n }\n });\n\n // 清理空的 children 数组\n const cleanEmptyChildren = nodes => {\n nodes.forEach(node => {\n if (node.children && node.children.length === 0) {\n delete node.children;\n } else if (node.children && node.children.length > 0) {\n cleanEmptyChildren(node.children);\n }\n });\n };\n cleanEmptyChildren(roots);\n\n return roots;\n};\n\nconst SelectFunctionInner = ({ value, onChange, single = false, placeholder, isPopup = true, overlayWidth = 320, apis: currentApis, onSearch, ...props }) => {\n const { locale, formatMessage } = useIntl();\n const [data, setData] = useState([]);\n\n useEffect(() => {\n defaultFunctionData().then(result => {\n setData(result.data || result);\n });\n }, []);\n\n const options = useMemo(() => transformToCascaderData(data, locale), [data, locale]);\n\n const handleSearch = (searchText, { mapping }) => {\n if (!searchText) return Array.from(mapping.values());\n const keyword = searchText.toLowerCase();\n return Array.from(mapping.values()).filter(item => {\n return (\n (item.chName && item.chName.toLowerCase().includes(keyword)) ||\n (item.enName && item.enName.toLowerCase().includes(keyword)) ||\n (item.pinyin && item.pinyin.toLowerCase().includes(keyword)) ||\n (item.spelling && item.spelling.toLowerCase().includes(keyword))\n );\n });\n };\n\n return (\n <SelectCascader\n {...props}\n value={value}\n onChange={onChange}\n single={single}\n placeholder={placeholder || formatMessage({ id: 'placeholder' }, { defaultMessage: '请选择职能' })}\n isPopup={isPopup}\n menuItemWidth={200}\n style={{ width: overlayWidth, ...props.style }}\n options={options}\n valueKey=\"id\"\n labelKey=\"name\"\n onSearch={onSearch || handleSearch}\n />\n );\n};\n\nconst SelectFunction = withLocale(SelectFunctionInner);\n\nSelectFunction.defaultData = defaultFunctionData;\nSelectFunction.Enum = FunctionEnum;\n\nexport default SelectFunction;\nexport { FunctionEnum };\n","import { createEnumComponent } from '../EnumDisplay';\nimport get from 'lodash/get';\n\n/**\n * 获取本地化标签\n */\nexport const getLabelForLocal = (item, locale) => {\n if (locale === 'en-US') {\n return get(item, 'enName') || get(item, 'chName');\n }\n return get(item, 'chName');\n};\n\n/**\n * 默认行业数据加载器\n */\nexport const defaultIndustryApi = {\n cache: 'INDUSTRY_DATA',\n isLocal: true,\n ttl: 1000 * 60 * 60 * 24, // 24小时\n loader: () => {\n return import('./industry.json').then(module => (module['__esModule'] ? module.default : module));\n }\n};\n\n/**\n * 行业枚举显示组件\n */\nexport const IndustryEnum = createEnumComponent({\n type: 'industry',\n cache: 'INDUSTRY_DATA',\n getLabel: getLabelForLocal,\n defaultApi: defaultIndustryApi\n});\n\nexport default IndustryEnum;\n","import { SelectCascader } from '@kne/super-select';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from '../withLocale';\nimport { useState, useEffect, useMemo } from 'react';\nimport get from 'lodash/get';\nimport IndustryEnum, { getLabelForLocal } from './IndustryEnum';\n\nconst defaultIndustryData = () => {\n return import('./industry.json').then(module => (module['__esModule'] ? module.default : module));\n};\n\nconst transformToCascaderData = (data, locale) => {\n // 过滤掉\"全部行业\"\n const filteredData = data.filter(item => item.code !== '000');\n\n // 创建映射表\n const mapping = new Map();\n filteredData.forEach(item => {\n mapping.set(item.code, {\n ...item,\n id: item.code,\n name: getLabelForLocal(item, locale),\n children: []\n });\n });\n\n // 构建嵌套结构\n const roots = [];\n filteredData.forEach(item => {\n const node = mapping.get(item.code);\n if (!item.parentCode || !mapping.has(item.parentCode)) {\n roots.push(node);\n } else {\n const parent = mapping.get(item.parentCode);\n parent.children.push(node);\n }\n });\n\n // 清理空的 children 数组\n const cleanEmptyChildren = nodes => {\n nodes.forEach(node => {\n if (node.children && node.children.length === 0) {\n delete node.children;\n } else if (node.children && node.children.length > 0) {\n cleanEmptyChildren(node.children);\n }\n });\n };\n cleanEmptyChildren(roots);\n\n return roots;\n};\n\nconst SelectIndustryInner = ({ value, onChange, single = false, placeholder, isPopup = true, overlayWidth = 320, apis: currentApis, onSearch, ...props }) => {\n const { locale, formatMessage } = useIntl();\n const [data, setData] = useState([]);\n\n useEffect(() => {\n defaultIndustryData().then(result => {\n setData(result.data || result);\n });\n }, []);\n\n const options = useMemo(() => transformToCascaderData(data, locale), [data, locale]);\n\n const handleSearch = (searchText, { mapping }) => {\n if (!searchText) return Array.from(mapping.values());\n const keyword = searchText.toLowerCase();\n return Array.from(mapping.values()).filter(item => {\n return (\n (item.chName && item.chName.toLowerCase().includes(keyword)) ||\n (item.enName && item.enName.toLowerCase().includes(keyword)) ||\n (item.pinyin && item.pinyin.toLowerCase().includes(keyword)) ||\n (item.spelling && item.spelling.toLowerCase().includes(keyword))\n );\n });\n };\n\n return (\n <SelectCascader\n {...props}\n value={value}\n onChange={onChange}\n single={single}\n placeholder={placeholder || formatMessage({ id: 'placeholder' }, { defaultMessage: '请选择行业' })}\n isPopup={isPopup}\n menuItemWidth={200}\n style={{ width: overlayWidth, ...props.style }}\n options={options}\n valueKey=\"id\"\n labelKey=\"name\"\n onSearch={onSearch || handleSearch}\n />\n );\n};\n\nconst SelectIndustry = withLocale(SelectIndustryInner);\n\nSelectIndustry.defaultData = defaultIndustryData;\nSelectIndustry.Enum = IndustryEnum;\n\nexport default SelectIndustry;\nexport { IndustryEnum };\n","import { useMemo } from 'react';\nimport { withFetch } from '@kne/react-fetch';\nimport { useIntl } from '@kne/react-intl';\nimport get from 'lodash/get';\nimport { createAddressApi } from './Address';\nimport withLocale from '../withLocale';\n\n/**\n * 获取本地化标签\n */\nexport const getLabelForLocal = (item, locale) => {\n if (locale === 'en-US') {\n return get(item, 'enName') || get(item, 'name');\n }\n return get(item, 'name');\n};\n\n/**\n * 默认地址数据加载器\n */\nexport const addressDefaultApi = {\n cache: 'CITY_DATA',\n isLocal: true,\n ttl: 1000 * 60 * 60 * 24, // 24小时\n loader: () => {\n return import('./city.json').then(module => (module['__esModule'] ? module.default : module));\n }\n};\n\n/**\n * 地址枚举显示组件\n */\nconst AddressEnumInner = withFetch(({ data, name, children, displayParent, ...props }) => {\n const { locale } = useIntl();\n const addressApi = useMemo(() => createAddressApi(data), [data]);\n\n // 获取城市数据\n const cityData = addressApi.getCity(name);\n const { city, parent } = cityData;\n\n // 如果提供了自定义渲染函数\n if (children) {\n return children(cityData, { displayParent, locale, getLabelForLocal, ...props });\n }\n\n // 默认渲染逻辑\n if (!city) {\n return '';\n }\n\n if (displayParent && parent) {\n return `${getLabelForLocal(parent, locale)}·${getLabelForLocal(city, locale)}`;\n }\n\n return getLabelForLocal(city, locale);\n});\n\nexport const AddressEnum = withLocale(props => {\n const { displayParent = false, ...restProps } = props;\n\n return <AddressEnumInner {...addressDefaultApi} displayParent={displayParent} {...restProps} />;\n});\n\nAddressEnum.addressDefaultApi = addressDefaultApi;\n\nexport default AddressEnum;\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { SelectInput } from '@kne/super-select';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from '../withLocale';\nimport { useState, useEffect, useMemo, useCallback, forwardRef } from 'react';\nimport get from 'lodash/get';\nimport memoize from 'lodash/memoize';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { Col, Divider, List, Row, Space, Tabs, Tag } from 'antd';\nimport AddressEnum from './AddressEnum';\nimport SearchInput from '@kne/search-input';\nimport '@kne/search-input/dist/index.css';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\n\nconst getLabelForLocal = (item, locale) => {\n if (locale === 'en-US') {\n return get(item, 'enName') || get(item, 'name');\n }\n return get(item, 'name');\n};\n\nexport const defaultCityData = () => {\n return import('./city.json').then(module => (module['__esModule'] ? module.default : module));\n};\n\nconst createAddressApi = ({ city, province, country }) => {\n const getSearchList = memoize(() => {\n const list = [];\n ['gangaotai', 'municipality'].forEach(name => {\n list.push(...(city.relations[name] || []));\n });\n ['provinces', 'continents'].forEach(name => {\n (city.relations[name] || []).forEach(id => {\n list.push(id);\n list.push(...(city.relations[id] || []));\n });\n });\n\n return list.map(id => city.list[id]).filter(Boolean);\n });\n\n const apis = {\n getCity: memoize(id => {\n const item = city.list[id] || apis.getCityByName(id);\n if (!item) {\n return { city: null, parent: null };\n }\n return {\n city: item,\n parent: item.parentCode ? city.list[item.parentCode] : null\n };\n }),\n getChinaHotCities: memoize(() => {\n return (city.relations['2'] || []).map(id => city.list[id]).filter(Boolean);\n }),\n getChinaCities: memoize(() => {\n return ['2', ...(province.relations.municipality || []), ...(province.relations.provinces || []), 'gangaotai'].map(id => Object.assign({ id }, city.list[id])).filter(item => item.code);\n }),\n getCountries: memoize(() => {\n return ['1', ...(country.relations.continents || [])].map(id => Object.assign({ id }, country.list[id])).filter(item => item.code);\n }),\n getList: memoize((pid, options) => {\n const { showChinaQuan, showForeignQuan } = Object.assign({}, options);\n if (pid === 'gangaotai') {\n return (province.relations['gangaotai'] || []).map(id => city.list[id]).filter(Boolean);\n }\n const current = Object.assign({}, city.list[pid]);\n if ((province.relations.municipality || []).indexOf(pid) > -1) {\n current.name = `${showChinaQuan ? '全' : ''}${current.name}`;\n return [current];\n }\n\n const list = (city.relations[pid] || []).map(id => city.list[id]).filter(Boolean);\n if ((province.relations.provinces || []).indexOf(pid) > -1 && showChinaQuan) {\n current.name = `全${current.name}`;\n list.splice(0, 0, current);\n }\n if ((country.relations.continents || []).indexOf(pid) > -1 && showForeignQuan) {\n current.name = `全${current.name}`;\n list.splice(0, 0, current);\n }\n return list;\n }),\n getNationalityList: memoize(pid => {\n let _city = cloneDeep(city);\n if (pid === '1') {\n _city.relations['1'].unshift('410');\n }\n if (pid === '350') {\n _city.relations['350'].unshift('410');\n }\n return _city.relations[pid].filter(id => _city.list[id]).map(id => _city.list[id]);\n }),\n getCityByName: memoize(name => {\n const searchList = getSearchList();\n let item;\n [item => item.name === name, item => item.name === name.replace(/(省|市)$/, ''), item => name.indexOf(item.name) === 0].find(func => {\n item = searchList.find(func);\n return item;\n });\n return item;\n }),\n combineCities: memoize((currentId, list) => {\n return [\n ...list.filter(item => {\n return city.list[item].parentCode !== currentId && city.list[currentId].parentCode !== item && currentId !== item;\n }),\n currentId\n ];\n }),\n searchCities: memoize(value => {\n if (!value) {\n return [];\n }\n const searchList = getSearchList();\n return searchList\n .filter(item => {\n return ['pinyin', 'name', 'enName', 'spelling'].some(name => {\n return (item[name] || '').toUpperCase().indexOf(value.toUpperCase()) > -1;\n });\n })\n .map(item => {\n const parent = item.parentCode ? city.list[item.parentCode] : null;\n return {\n label: parent ? `${parent.name}·${item.name}` : item.name,\n value: item.code,\n ...item\n };\n });\n }),\n getCityList: memoize(() => {\n return Object.values(city.list).map(item => ({\n ...item,\n value: item.code,\n label: item.name\n }));\n })\n };\n\n return apis;\n};\n\nconst AddressInner = ({ value, setValue, props }) => {\n const { locale, formatMessage } = useIntl();\n const [searchText, setSearchText] = useState('');\n const [menuKey, setMenuKey] = useState('2');\n const [cityData, setCityData] = useState(null);\n\n useEffect(() => {\n defaultCityData().then(result => {\n setCityData(result);\n });\n }, []);\n\n const addressApi = useMemo(() => {\n if (!cityData) return null;\n return createAddressApi(cityData);\n }, [cityData]);\n\n const { getCity, getChinaCities, getCountries, getList, searchCities } = addressApi || {};\n\n const onSelect = useCallback(\n code => {\n const cityInfo = cityData?.city?.list?.[code];\n if (!cityInfo) return;\n\n const item = {\n value: code,\n label: cityInfo.name,\n ...cityInfo\n };\n\n if (props.single) {\n setValue([item]);\n return;\n }\n\n setValue(prev => {\n const newValue = prev.slice(0);\n const index = newValue.findIndex(v => v.value === code);\n if (index > -1) {\n newValue.splice(index, 1);\n } else {\n newValue.push(item);\n }\n return newValue;\n });\n },\n [cityData, props.single, setValue]\n );\n\n if (!addressApi) {\n return null;\n }\n\n const selectedValues = (value || []).map(v => v.value);\n\n const searchInner = searchText && (\n <div className={style['scroll-plus-box']}>\n <List\n className={style['list']}\n size=\"small\"\n dataSource={searchCities(searchText)}\n rowKey=\"value\"\n renderItem={item => (\n <List.Item\n className={style['list-item']}\n onClick={() => {\n onSelect(item.value);\n setSearchText('');\n }}\n >\n <span className={style['item-label']}>{item.label}</span>\n </List.Item>\n )}\n />\n </div>\n );\n\n const currentCity = getCity?.(menuKey);\n\n return (\n <div\n className={classnames(style['address'], {\n [style['is-popup']]: props.isPopup\n })}\n >\n <SearchInput\n className={classnames(style['search-input'], {\n [style['is-popup']]: props.isPopup,\n 'is-popup': props.isPopup\n })}\n placeholder={props.searchPlaceholder || formatMessage({ id: 'addressSearchPlaceholder' }, { defaultMessage: '搜索城市' })}\n value={searchText}\n onChange={e => {\n setSearchText(e.target.value);\n }}\n onSearch={value => {\n setSearchText(value);\n }}\n />\n <div className={style['content']}>\n {searchInner || (\n <Row wrap={false}>\n <Col className={style['col-left']}>\n <Tabs\n centered\n onChange={activeKey => {\n setMenuKey(activeKey);\n }}\n items={[\n {\n key: '2',\n label: formatMessage({ id: 'domestic' }, { defaultMessage: '国内' }),\n children: (\n <div className={style['scroll-box']}>\n <List\n className={style['menu-list']}\n dataSource={getChinaCities()}\n rowKey=\"id\"\n renderItem={item => (\n <List.Item\n className={menuKey === item.id ? 'selected' : ''}\n onClick={() => {\n setMenuKey(item.id);\n }}\n >\n {getLabelForLocal(item, locale)}\n </List.Item>\n )}\n />\n </div>\n )\n },\n {\n key: '1',\n label: formatMessage({ id: 'abroad' }, { defaultMessage: '国外' }),\n children: (\n <div className={style['scroll-box']}>\n <List\n className={style['menu-list']}\n dataSource={getCountries()}\n rowKey=\"id\"\n renderItem={item => (\n <List.Item\n className={menuKey === item.id ? 'selected' : ''}\n onClick={() => {\n setMenuKey(item.id);\n }}\n >\n {getLabelForLocal(item, locale)}\n </List.Item>\n )}\n />\n </div>\n )\n }\n ]}\n />\n </Col>\n <Col flex={1} className={style['col-right']}>\n <Divider className={style['title']} orientation=\"left\">\n {currentCity?.city ? getLabelForLocal(currentCity.city, locale) : ''}\n </Divider>\n <div className={style['scroll-box']}>\n <Space wrap>\n {getList(menuKey, {\n showChinaQuan: props.showChinaQuan,\n showForeignQuan: props.showForeignQuan\n }).map(item => (\n <Tag.CheckableTag\n checked={selectedValues.indexOf(item.code) > -1}\n onChange={() => {\n onSelect(item.code);\n }}\n key={item.code}\n >\n {getLabelForLocal(item, locale)}\n </Tag.CheckableTag>\n ))}\n </Space>\n </div>\n </Col>\n </Row>\n )}\n </div>\n </div>\n );\n};\n\nconst SelectAddressInner = forwardRef((props, ref) => {\n const { formatMessage } = useIntl();\n\n return (\n <SelectInput ref={ref} {...props} placeholder={props.placeholder || formatMessage({ id: 'addressPlaceholder' }, { defaultMessage: '请选择城市' })}>\n {contextProps => {\n const { value, setValue } = contextProps;\n return <AddressInner value={value} setValue={setValue} props={props} />;\n }}\n </SelectInput>\n );\n});\n\nconst SelectAddress = withLocale(({ single = false, isPopup = true, showChinaQuan = false, showForeignQuan = false, ...props }) => {\n return <SelectAddressInner single={single} isPopup={isPopup} showChinaQuan={showChinaQuan} showForeignQuan={showForeignQuan} {...props} />;\n}, 'SelectAddress');\n\nSelectAddress.defaultData = defaultCityData;\nSelectAddress.createAddressApi = createAddressApi;\nSelectAddress.Enum = AddressEnum;\n\nexport default SelectAddress;\nexport { createAddressApi };\n","import SelectFunction, { FunctionEnum } from './SelectFunction';\nimport SelectIndustry, { IndustryEnum } from './SelectIndustry';\nimport SelectAddress, { AddressEnum, createAddressApi } from './SelectAddress';\nimport EnumDisplay from './EnumDisplay';\nimport '@kne/super-select/dist/index.css';\n\n// 导出组件\nexport { SelectFunction, SelectIndustry, SelectAddress, AddressEnum, createAddressApi, FunctionEnum, IndustryEnum, EnumDisplay };\n\n// 默认导出\nexport default {\n SelectFunction,\n SelectIndustry,\n SelectAddress,\n AddressEnum,\n FunctionEnum,\n IndustryEnum,\n EnumDisplay\n};\n"],"names":["locale","placeholder","searchPlaceholder","functionPlaceholder","functionSearchPlaceholder","industryPlaceholder","industrySearchPlaceholder","addressPlaceholder","addressSearchPlaceholder","domestic","abroad","withLocale","createWithIntlProvider","defaultLocale","messages","zhCN","enUS","namespace","enumCache","Map","defaultChildren","item","get","defaultGetLabel","defaultDataFormat","data","defaultTransformItem","label","id","code","parentId","parentCode","EnumDisplayInner","withFetch","_ref","name","type","cache","cacheKey","children","getLabel","dataFormat","transformItem","props","useIntl","formattedData","useMemo","mapping","map","transformedItem","output","set","EnumDisplay","force","key","cached","_jsx","createEnumComponent","options","defaultApi","EnumComponent","getLabelForLocal","defaultFunctionApi","isLocal","ttl","loader","then","module","default","FunctionEnum","defaultFunctionData","transformToCascaderData","forEach","roots","node","has","push","parent","cleanEmptyChildren","nodes","length","SelectFunctionInner","value","onChange","single","isPopup","overlayWidth","apis","currentApis","onSearch","formatMessage","setData","useState","useEffect","result","handleSearch","searchText","_ref2","Array","from","values","keyword","toLowerCase","filter","chName","includes","enName","pinyin","spelling","SelectCascader","defaultMessage","menuItemWidth","style","width","valueKey","labelKey","SelectFunction","defaultData","Enum","defaultIndustryApi","IndustryEnum","defaultIndustryData","filteredData","SelectIndustryInner","SelectIndustry","addressDefaultApi","AddressEnumInner","displayParent","addressApi","createAddressApi","cityData","getCity","city","AddressEnum","restProps","defaultCityData","province","country","getSearchList","memoize","list","relations","Boolean","getCityByName","getChinaHotCities","getChinaCities","municipality","provinces","Object","assign","getCountries","continents","getList","pid","showChinaQuan","showForeignQuan","current","indexOf","splice","getNationalityList","_city","cloneDeep","unshift","searchList","replace","find","func","combineCities","currentId","searchCities","some","toUpperCase","getCityList","AddressInner","setValue","setSearchText","menuKey","setMenuKey","setCityData","onSelect","useCallback","cityInfo","prev","newValue","slice","index","findIndex","v","selectedValues","searchInner","className","List","size","dataSource","rowKey","renderItem","Item","onClick","currentCity","_jsxs","classnames","SearchInput","e","target","Row","wrap","Col","Tabs","centered","activeKey","items","flex","Divider","orientation","Space","Tag","CheckableTag","checked","SelectAddressInner","forwardRef","ref","SelectInput","contextProps","SelectAddress","_ref3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/locale/zh-CN.js","../src/locale/en-US.js","../src/withLocale.js","../src/EnumDisplay/index.js","../src/SelectFunction/FunctionEnum.js","../src/SelectFunction/index.js","../src/SelectIndustry/IndustryEnum.js","../src/SelectIndustry/index.js","../src/SelectAddress/AddressEnum.js","../node_modules/classnames/index.js","../src/SelectAddress/Address.js","../src/index.js"],"sourcesContent":["const locale = {\n placeholder: '请选择',\n searchPlaceholder: '搜索',\n // FunctionSelectField\n functionPlaceholder: '请选择职能',\n functionSearchPlaceholder: '搜索职能',\n // IndustrySelectField\n industryPlaceholder: '请选择行业',\n industrySearchPlaceholder: '搜索行业',\n // AddressSelectField\n addressPlaceholder: '请选择城市',\n addressSearchPlaceholder: '搜索城市',\n domestic: '国内',\n abroad: '国外'\n};\n\nexport default locale;\n","const locale = {\n placeholder: 'Please select',\n searchPlaceholder: 'Search',\n // FunctionSelectField\n functionPlaceholder: 'Please select function',\n functionSearchPlaceholder: 'Search function',\n // IndustrySelectField\n industryPlaceholder: 'Please select industry',\n industrySearchPlaceholder: 'Search industry',\n // AddressSelectField\n addressPlaceholder: 'Please select city',\n addressSearchPlaceholder: 'Search city',\n domestic: 'Domestic',\n abroad: 'Abroad'\n};\n\nexport default locale;\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: 'super-select-plus'\n});\n\nexport default withLocale;\n","import { useMemo } from 'react';\nimport { withFetch } from '@kne/react-fetch';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from '../withLocale';\nimport get from 'lodash/get';\n\n// 统一缓存映射\nconst enumCache = new Map();\n\n// 默认子组件渲染函数\nconst defaultChildren = output => {\n if (Array.isArray(output)) {\n return output\n .map(item => get(item, 'label', ''))\n .filter(Boolean)\n .toString();\n }\n return get(output, 'label', '');\n};\n\nconst getLabels = output => (Array.isArray(output) ? output.map(item => get(item, 'label', '')).filter(Boolean) : output ? [get(output, 'label', '')].filter(Boolean) : []);\n\nconst resolveOutput = (mapping, name, names) => {\n if (names) {\n return names.map(code => mapping.get(code));\n }\n return mapping.get(name);\n};\n\nconst cacheOutput = (output, { cacheKey, type, name, names }) => {\n if (!cacheKey || !type) {\n return;\n }\n if (names) {\n names.forEach((code, index) => {\n const item = output[index];\n if (item) {\n enumCache.set(`${cacheKey}_${type}_${code}`, item);\n }\n });\n return;\n }\n if (output) {\n enumCache.set(`${cacheKey}_${type}_${name}`, output);\n }\n};\n\nconst getCachedOutput = ({ cacheKey, type, name, names, force }) => {\n if (force) {\n return null;\n }\n if (names?.length) {\n const items = names.map(code => enumCache.get(`${cacheKey}_${type}_${code}`));\n return items.every(Boolean) ? items : null;\n }\n if (name == null) {\n return null;\n }\n return enumCache.get(`${cacheKey}_${type}_${name}`) ?? null;\n};\n\n/**\n * 默认获取标签函数\n */\nconst defaultGetLabel = (item, locale) => {\n if (locale === 'en-US') {\n return get(item, 'enName') || get(item, 'name') || get(item, 'chName');\n }\n return get(item, 'name') || get(item, 'chName');\n};\n\n/**\n * 默认数据格式化函数\n */\nconst defaultDataFormat = data => data.data || data;\n\n/**\n * 默认映射项转换函数\n */\nconst defaultTransformItem = (item, label) => ({\n ...item,\n id: item.code,\n label,\n parentId: item.parentCode || null\n});\n\n/**\n * 内部枚举显示组件\n */\nconst EnumDisplayInner = withFetch(({ data, name, names, type, cache: cacheKey, children, getLabel, dataFormat, transformItem, ...props }) => {\n const { locale } = useIntl();\n\n // 格式化数据\n const formattedData = useMemo(() => dataFormat(data), [data, dataFormat]);\n\n // 创建映射表\n const mapping = useMemo(() => {\n return new Map(\n formattedData.map(item => {\n const label = getLabel(item, locale);\n const transformedItem = transformItem(item, label);\n return [item.code, transformedItem];\n })\n );\n }, [formattedData, getLabel, locale, transformItem]);\n\n const output = useMemo(() => resolveOutput(mapping, name, names), [mapping, name, names]);\n\n cacheOutput(output, { cacheKey, type, name, names });\n\n return children(output, { ...props, locale, mapping, names, labels: getLabels(output) });\n});\n\n/**\n * 枚举显示组件\n */\nexport const EnumDisplay = withLocale(props => {\n const { name, names, type = 'default', cache: cacheKey = 'ENUM_DATA', force = false, getLabel = defaultGetLabel, dataFormat = defaultDataFormat, transformItem = defaultTransformItem, children = defaultChildren } = props;\n\n const cached = getCachedOutput({ cacheKey, type, name, names, force });\n\n if (cached) {\n return children(cached, { locale: props.locale, names, labels: getLabels(cached) });\n }\n\n return <EnumDisplayInner {...props} type={type} cache={cacheKey} getLabel={getLabel} dataFormat={dataFormat} transformItem={transformItem} children={children} />;\n});\n\n/**\n * 创建特定枚举组件的工厂函数\n * @param {Object} options 配置选项\n * @param {string} options.type 枚举类型标识\n * @param {string} options.cache 缓存键\n * @param {Function} options.getLabel 获取标签函数\n * @param {Function} options.dataFormat 数据格式化函数\n * @param {Function} options.transformItem 映射项转换函数\n * @param {Object} options.defaultApi 默认API配置\n * @returns {React.Component} 枚举组件\n */\nexport const createEnumComponent = options => {\n const { type, cache, getLabel = defaultGetLabel, dataFormat = defaultDataFormat, transformItem = defaultTransformItem, defaultApi } = options;\n\n const EnumComponent = withLocale(props => {\n const { name, names, force = false, children = defaultChildren } = props;\n\n const cached = getCachedOutput({ cacheKey: cache, type, name, names, force });\n\n if (cached) {\n return children(cached, { locale: props.locale, names, labels: getLabels(cached) });\n }\n\n return <EnumDisplayInner {...props} {...defaultApi} type={type} cache={cache} getLabel={getLabel} dataFormat={dataFormat} transformItem={transformItem} children={children} />;\n });\n\n // 附加静态属性\n EnumComponent.getLabel = getLabel;\n EnumComponent.defaultApi = defaultApi;\n EnumComponent.type = type;\n EnumComponent.cache = cache;\n\n return EnumComponent;\n};\n\n// 导出缓存实例供外部使用\nEnumDisplay.cache = enumCache;\n\nexport default EnumDisplay;\n","import { createEnumComponent } from '../EnumDisplay';\nimport get from 'lodash/get';\n\n/**\n * 获取本地化标签\n */\nexport const getLabelForLocal = (item, locale) => {\n if (locale === 'en-US') {\n return get(item, 'enName') || get(item, 'chName');\n }\n return get(item, 'chName');\n};\n\n/**\n * 默认职能数据加载器\n */\nexport const defaultFunctionApi = {\n cache: 'FUNCTION_DATA',\n isLocal: true,\n ttl: 1000 * 60 * 60 * 24, // 24小时\n loader: () => {\n return import('./function.json').then(module => (module['__esModule'] ? module.default : module));\n }\n};\n\n/**\n * 职能枚举显示组件\n */\nexport const FunctionEnum = createEnumComponent({\n type: 'function',\n cache: 'FUNCTION_DATA',\n getLabel: getLabelForLocal,\n defaultApi: defaultFunctionApi\n});\n\nexport default FunctionEnum;\n","import { SelectCascader } from '@kne/super-select';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from '../withLocale';\nimport { useState, useEffect, useMemo } from 'react';\nimport get from 'lodash/get';\nimport FunctionEnum, { getLabelForLocal } from './FunctionEnum';\n\nconst defaultFunctionData = () => {\n return import('./function.json').then(module => (module['__esModule'] ? module.default : module));\n};\n\nconst transformToCascaderData = (data, locale) => {\n // 创建映射表\n const mapping = new Map();\n data.forEach(item => {\n mapping.set(item.code, {\n ...item,\n id: item.code,\n name: getLabelForLocal(item, locale),\n children: []\n });\n });\n\n // 构建嵌套结构\n const roots = [];\n data.forEach(item => {\n const node = mapping.get(item.code);\n if (!item.parentCode || !mapping.has(item.parentCode)) {\n roots.push(node);\n } else {\n const parent = mapping.get(item.parentCode);\n parent.children.push(node);\n }\n });\n\n // 清理空的 children 数组\n const cleanEmptyChildren = nodes => {\n nodes.forEach(node => {\n if (node.children && node.children.length === 0) {\n delete node.children;\n } else if (node.children && node.children.length > 0) {\n cleanEmptyChildren(node.children);\n }\n });\n };\n cleanEmptyChildren(roots);\n\n return roots;\n};\n\nconst SelectFunctionInner = ({ value, onChange, single = false, placeholder, isPopup = true, overlayWidth = 320, apis: currentApis, onSearch, ...props }) => {\n const { locale, formatMessage } = useIntl();\n const [data, setData] = useState([]);\n\n useEffect(() => {\n defaultFunctionData().then(result => {\n setData(result.data || result);\n });\n }, []);\n\n const options = useMemo(() => transformToCascaderData(data, locale), [data, locale]);\n\n const handleSearch = (searchText, { mapping }) => {\n if (!searchText) return Array.from(mapping.values());\n const keyword = searchText.toLowerCase();\n return Array.from(mapping.values()).filter(item => {\n return (\n (item.chName && item.chName.toLowerCase().includes(keyword)) ||\n (item.enName && item.enName.toLowerCase().includes(keyword)) ||\n (item.pinyin && item.pinyin.toLowerCase().includes(keyword)) ||\n (item.spelling && item.spelling.toLowerCase().includes(keyword))\n );\n });\n };\n\n return (\n <SelectCascader\n {...props}\n value={value}\n onChange={onChange}\n single={single}\n placeholder={placeholder || formatMessage({ id: 'placeholder' }, { defaultMessage: '请选择职能' })}\n isPopup={isPopup}\n menuItemWidth={200}\n style={{ width: overlayWidth, ...props.style }}\n options={options}\n valueKey=\"id\"\n labelKey=\"name\"\n onSearch={onSearch || handleSearch}\n />\n );\n};\n\nconst SelectFunction = withLocale(SelectFunctionInner);\n\nSelectFunction.defaultData = defaultFunctionData;\nSelectFunction.Enum = FunctionEnum;\n\nexport default SelectFunction;\nexport { FunctionEnum };\n","import { createEnumComponent } from '../EnumDisplay';\nimport get from 'lodash/get';\n\n/**\n * 获取本地化标签\n */\nexport const getLabelForLocal = (item, locale) => {\n if (locale === 'en-US') {\n return get(item, 'enName') || get(item, 'chName');\n }\n return get(item, 'chName');\n};\n\n/**\n * 默认行业数据加载器\n */\nexport const defaultIndustryApi = {\n cache: 'INDUSTRY_DATA',\n isLocal: true,\n ttl: 1000 * 60 * 60 * 24, // 24小时\n loader: () => {\n return import('./industry.json').then(module => (module['__esModule'] ? module.default : module));\n }\n};\n\n/**\n * 行业枚举显示组件\n */\nexport const IndustryEnum = createEnumComponent({\n type: 'industry',\n cache: 'INDUSTRY_DATA',\n getLabel: getLabelForLocal,\n defaultApi: defaultIndustryApi\n});\n\nexport default IndustryEnum;\n","import { SelectCascader } from '@kne/super-select';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from '../withLocale';\nimport { useState, useEffect, useMemo } from 'react';\nimport get from 'lodash/get';\nimport IndustryEnum, { getLabelForLocal } from './IndustryEnum';\n\nconst defaultIndustryData = () => {\n return import('./industry.json').then(module => (module['__esModule'] ? module.default : module));\n};\n\nconst transformToCascaderData = (data, locale) => {\n // 过滤掉\"全部行业\"\n const filteredData = data.filter(item => item.code !== '000');\n\n // 创建映射表\n const mapping = new Map();\n filteredData.forEach(item => {\n mapping.set(item.code, {\n ...item,\n id: item.code,\n name: getLabelForLocal(item, locale),\n children: []\n });\n });\n\n // 构建嵌套结构\n const roots = [];\n filteredData.forEach(item => {\n const node = mapping.get(item.code);\n if (!item.parentCode || !mapping.has(item.parentCode)) {\n roots.push(node);\n } else {\n const parent = mapping.get(item.parentCode);\n parent.children.push(node);\n }\n });\n\n // 清理空的 children 数组\n const cleanEmptyChildren = nodes => {\n nodes.forEach(node => {\n if (node.children && node.children.length === 0) {\n delete node.children;\n } else if (node.children && node.children.length > 0) {\n cleanEmptyChildren(node.children);\n }\n });\n };\n cleanEmptyChildren(roots);\n\n return roots;\n};\n\nconst SelectIndustryInner = ({ value, onChange, single = false, placeholder, isPopup = true, overlayWidth = 320, apis: currentApis, onSearch, ...props }) => {\n const { locale, formatMessage } = useIntl();\n const [data, setData] = useState([]);\n\n useEffect(() => {\n defaultIndustryData().then(result => {\n setData(result.data || result);\n });\n }, []);\n\n const options = useMemo(() => transformToCascaderData(data, locale), [data, locale]);\n\n const handleSearch = (searchText, { mapping }) => {\n if (!searchText) return Array.from(mapping.values());\n const keyword = searchText.toLowerCase();\n return Array.from(mapping.values()).filter(item => {\n return (\n (item.chName && item.chName.toLowerCase().includes(keyword)) ||\n (item.enName && item.enName.toLowerCase().includes(keyword)) ||\n (item.pinyin && item.pinyin.toLowerCase().includes(keyword)) ||\n (item.spelling && item.spelling.toLowerCase().includes(keyword))\n );\n });\n };\n\n return (\n <SelectCascader\n {...props}\n value={value}\n onChange={onChange}\n single={single}\n placeholder={placeholder || formatMessage({ id: 'placeholder' }, { defaultMessage: '请选择行业' })}\n isPopup={isPopup}\n menuItemWidth={200}\n style={{ width: overlayWidth, ...props.style }}\n options={options}\n valueKey=\"id\"\n labelKey=\"name\"\n onSearch={onSearch || handleSearch}\n />\n );\n};\n\nconst SelectIndustry = withLocale(SelectIndustryInner);\n\nSelectIndustry.defaultData = defaultIndustryData;\nSelectIndustry.Enum = IndustryEnum;\n\nexport default SelectIndustry;\nexport { IndustryEnum };\n","import { useMemo } from 'react';\nimport { withFetch } from '@kne/react-fetch';\nimport { useIntl } from '@kne/react-intl';\nimport get from 'lodash/get';\nimport { createAddressApi } from './Address';\nimport withLocale from '../withLocale';\n\n/**\n * 获取本地化标签\n */\nexport const getLabelForLocal = (item, locale) => {\n if (locale === 'en-US') {\n return get(item, 'enName') || get(item, 'name');\n }\n return get(item, 'name');\n};\n\n/**\n * 默认地址数据加载器\n */\nexport const addressDefaultApi = {\n cache: 'CITY_DATA',\n isLocal: true,\n ttl: 1000 * 60 * 60 * 24, // 24小时\n loader: () => {\n return import('./city.json').then(module => (module['__esModule'] ? module.default : module));\n }\n};\n\n/**\n * 地址枚举显示组件\n */\nconst AddressEnumInner = withFetch(({ data, name, children, displayParent, ...props }) => {\n const { locale } = useIntl();\n const addressApi = useMemo(() => createAddressApi(data), [data]);\n\n // 获取城市数据\n const cityData = addressApi.getCity(name);\n const { city, parent } = cityData;\n\n // 如果提供了自定义渲染函数\n if (children) {\n return children(cityData, { displayParent, locale, getLabelForLocal, ...props });\n }\n\n // 默认渲染逻辑\n if (!city) {\n return '';\n }\n\n if (displayParent && parent) {\n return `${getLabelForLocal(parent, locale)}·${getLabelForLocal(city, locale)}`;\n }\n\n return getLabelForLocal(city, locale);\n});\n\nexport const AddressEnum = withLocale(props => {\n const { displayParent = false, ...restProps } = props;\n\n return <AddressEnumInner {...addressDefaultApi} displayParent={displayParent} {...restProps} />;\n});\n\nAddressEnum.addressDefaultApi = addressDefaultApi;\n\nexport default AddressEnum;\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { SelectInput } from '@kne/super-select';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from '../withLocale';\nimport { useState, useEffect, useMemo, useCallback, forwardRef } from 'react';\nimport get from 'lodash/get';\nimport memoize from 'lodash/memoize';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { Col, Divider, List, Row, Space, Tabs, Tag } from 'antd';\nimport AddressEnum from './AddressEnum';\nimport SearchInput from '@kne/search-input';\nimport '@kne/search-input/dist/index.css';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\n\nconst getLabelForLocal = (item, locale) => {\n if (locale === 'en-US') {\n return get(item, 'enName') || get(item, 'name');\n }\n return get(item, 'name');\n};\n\nexport const defaultCityData = () => {\n return import('./city.json').then(module => (module['__esModule'] ? module.default : module));\n};\n\nconst createAddressApi = ({ city, province, country }) => {\n const getSearchList = memoize(() => {\n const list = [];\n ['gangaotai', 'municipality'].forEach(name => {\n list.push(...(city.relations[name] || []));\n });\n ['provinces', 'continents'].forEach(name => {\n (city.relations[name] || []).forEach(id => {\n list.push(id);\n list.push(...(city.relations[id] || []));\n });\n });\n\n return list.map(id => city.list[id]).filter(Boolean);\n });\n\n const apis = {\n getCity: memoize(id => {\n const item = city.list[id] || apis.getCityByName(id);\n if (!item) {\n return { city: null, parent: null };\n }\n return {\n city: item,\n parent: item.parentCode ? city.list[item.parentCode] : null\n };\n }),\n getChinaHotCities: memoize(() => {\n return (city.relations['2'] || []).map(id => city.list[id]).filter(Boolean);\n }),\n getChinaCities: memoize(() => {\n return ['2', ...(province.relations.municipality || []), ...(province.relations.provinces || []), 'gangaotai'].map(id => Object.assign({ id }, city.list[id])).filter(item => item.code);\n }),\n getCountries: memoize(() => {\n return ['1', ...(country.relations.continents || [])].map(id => Object.assign({ id }, country.list[id])).filter(item => item.code);\n }),\n getList: memoize((pid, options) => {\n const { showChinaQuan, showForeignQuan } = Object.assign({}, options);\n if (pid === 'gangaotai') {\n return (province.relations['gangaotai'] || []).map(id => city.list[id]).filter(Boolean);\n }\n const current = Object.assign({}, city.list[pid]);\n if ((province.relations.municipality || []).indexOf(pid) > -1) {\n current.name = `${showChinaQuan ? '全' : ''}${current.name}`;\n return [current];\n }\n\n const list = (city.relations[pid] || []).map(id => city.list[id]).filter(Boolean);\n if ((province.relations.provinces || []).indexOf(pid) > -1 && showChinaQuan) {\n current.name = `全${current.name}`;\n list.splice(0, 0, current);\n }\n if ((country.relations.continents || []).indexOf(pid) > -1 && showForeignQuan) {\n current.name = `全${current.name}`;\n list.splice(0, 0, current);\n }\n return list;\n }),\n getNationalityList: memoize(pid => {\n let _city = cloneDeep(city);\n if (pid === '1') {\n _city.relations['1'].unshift('410');\n }\n if (pid === '350') {\n _city.relations['350'].unshift('410');\n }\n return _city.relations[pid].filter(id => _city.list[id]).map(id => _city.list[id]);\n }),\n getCityByName: memoize(name => {\n const searchList = getSearchList();\n let item;\n [item => item.name === name, item => item.name === name.replace(/(省|市)$/, ''), item => name.indexOf(item.name) === 0].find(func => {\n item = searchList.find(func);\n return item;\n });\n return item;\n }),\n combineCities: memoize((currentId, list) => {\n return [\n ...list.filter(item => {\n return city.list[item].parentCode !== currentId && city.list[currentId].parentCode !== item && currentId !== item;\n }),\n currentId\n ];\n }),\n searchCities: memoize(value => {\n if (!value) {\n return [];\n }\n const searchList = getSearchList();\n return searchList\n .filter(item => {\n return ['pinyin', 'name', 'enName', 'spelling'].some(name => {\n return (item[name] || '').toUpperCase().indexOf(value.toUpperCase()) > -1;\n });\n })\n .map(item => {\n const parent = item.parentCode ? city.list[item.parentCode] : null;\n return {\n label: parent ? `${parent.name}·${item.name}` : item.name,\n value: item.code,\n ...item\n };\n });\n }),\n getCityList: memoize(() => {\n return Object.values(city.list).map(item => ({\n ...item,\n value: item.code,\n label: item.name\n }));\n })\n };\n\n return apis;\n};\n\nconst AddressInner = ({ value, setValue, props }) => {\n const { locale, formatMessage } = useIntl();\n const [searchText, setSearchText] = useState('');\n const [menuKey, setMenuKey] = useState('2');\n const [cityData, setCityData] = useState(null);\n\n useEffect(() => {\n defaultCityData().then(result => {\n setCityData(result);\n });\n }, []);\n\n const addressApi = useMemo(() => {\n if (!cityData) return null;\n return createAddressApi(cityData);\n }, [cityData]);\n\n const { getCity, getChinaCities, getCountries, getList, searchCities } = addressApi || {};\n\n const onSelect = useCallback(\n code => {\n const cityInfo = cityData?.city?.list?.[code];\n if (!cityInfo) return;\n\n const item = {\n value: code,\n label: cityInfo.name,\n ...cityInfo\n };\n\n if (props.single) {\n setValue([item]);\n return;\n }\n\n setValue(prev => {\n const newValue = prev.slice(0);\n const index = newValue.findIndex(v => v.value === code);\n if (index > -1) {\n newValue.splice(index, 1);\n } else {\n newValue.push(item);\n }\n return newValue;\n });\n },\n [cityData, props.single, setValue]\n );\n\n if (!addressApi) {\n return null;\n }\n\n const selectedValues = (value || []).map(v => v.value);\n\n const searchInner = searchText && (\n <div className={style['scroll-plus-box']}>\n <List\n className={style['list']}\n size=\"small\"\n dataSource={searchCities(searchText)}\n rowKey=\"value\"\n renderItem={item => (\n <List.Item\n className={style['list-item']}\n onClick={() => {\n onSelect(item.value);\n setSearchText('');\n }}\n >\n <span className={style['item-label']}>{item.label}</span>\n </List.Item>\n )}\n />\n </div>\n );\n\n const currentCity = getCity?.(menuKey);\n\n return (\n <div\n className={classnames(style['address'], {\n [style['is-popup']]: props.isPopup\n })}\n >\n <SearchInput\n className={classnames(style['search-input'], {\n [style['is-popup']]: props.isPopup,\n 'is-popup': props.isPopup\n })}\n placeholder={props.searchPlaceholder || formatMessage({ id: 'addressSearchPlaceholder' }, { defaultMessage: '搜索城市' })}\n value={searchText}\n onChange={e => {\n setSearchText(e.target.value);\n }}\n onSearch={value => {\n setSearchText(value);\n }}\n />\n <div className={style['content']}>\n {searchInner || (\n <Row wrap={false}>\n <Col className={style['col-left']}>\n <Tabs\n centered\n onChange={activeKey => {\n setMenuKey(activeKey);\n }}\n items={[\n {\n key: '2',\n label: formatMessage({ id: 'domestic' }, { defaultMessage: '国内' }),\n children: (\n <div className={style['scroll-box']}>\n <List\n className={style['menu-list']}\n dataSource={getChinaCities()}\n rowKey=\"id\"\n renderItem={item => (\n <List.Item\n className={menuKey === item.id ? 'selected' : ''}\n onClick={() => {\n setMenuKey(item.id);\n }}\n >\n {getLabelForLocal(item, locale)}\n </List.Item>\n )}\n />\n </div>\n )\n },\n {\n key: '1',\n label: formatMessage({ id: 'abroad' }, { defaultMessage: '国外' }),\n children: (\n <div className={style['scroll-box']}>\n <List\n className={style['menu-list']}\n dataSource={getCountries()}\n rowKey=\"id\"\n renderItem={item => (\n <List.Item\n className={menuKey === item.id ? 'selected' : ''}\n onClick={() => {\n setMenuKey(item.id);\n }}\n >\n {getLabelForLocal(item, locale)}\n </List.Item>\n )}\n />\n </div>\n )\n }\n ]}\n />\n </Col>\n <Col flex={1} className={style['col-right']}>\n <Divider className={style['title']} orientation=\"left\">\n {currentCity?.city ? getLabelForLocal(currentCity.city, locale) : ''}\n </Divider>\n <div className={style['scroll-box']}>\n <Space wrap>\n {getList(menuKey, {\n showChinaQuan: props.showChinaQuan,\n showForeignQuan: props.showForeignQuan\n }).map(item => (\n <Tag.CheckableTag\n checked={selectedValues.indexOf(item.code) > -1}\n onChange={() => {\n onSelect(item.code);\n }}\n key={item.code}\n >\n {getLabelForLocal(item, locale)}\n </Tag.CheckableTag>\n ))}\n </Space>\n </div>\n </Col>\n </Row>\n )}\n </div>\n </div>\n );\n};\n\nconst SelectAddressInner = forwardRef((props, ref) => {\n const { formatMessage } = useIntl();\n\n return (\n <SelectInput ref={ref} {...props} placeholder={props.placeholder || formatMessage({ id: 'addressPlaceholder' }, { defaultMessage: '请选择城市' })}>\n {contextProps => {\n const { value, setValue } = contextProps;\n return <AddressInner value={value} setValue={setValue} props={props} />;\n }}\n </SelectInput>\n );\n});\n\nconst SelectAddress = withLocale(({ single = false, isPopup = true, showChinaQuan = false, showForeignQuan = false, ...props }) => {\n return <SelectAddressInner single={single} isPopup={isPopup} showChinaQuan={showChinaQuan} showForeignQuan={showForeignQuan} {...props} />;\n}, 'SelectAddress');\n\nSelectAddress.defaultData = defaultCityData;\nSelectAddress.createAddressApi = createAddressApi;\nSelectAddress.Enum = AddressEnum;\n\nexport default SelectAddress;\nexport { createAddressApi };\n","import SelectFunction, { FunctionEnum } from './SelectFunction';\nimport SelectIndustry, { IndustryEnum } from './SelectIndustry';\nimport SelectAddress, { AddressEnum, createAddressApi } from './SelectAddress';\nimport EnumDisplay from './EnumDisplay';\nimport '@kne/super-select/dist/index.css';\n\n// 导出组件\nexport { SelectFunction, SelectIndustry, SelectAddress, AddressEnum, createAddressApi, FunctionEnum, IndustryEnum, EnumDisplay };\n\n// 默认导出\nexport default {\n SelectFunction,\n SelectIndustry,\n SelectAddress,\n AddressEnum,\n FunctionEnum,\n IndustryEnum,\n EnumDisplay\n};\n"],"names":["locale","placeholder","searchPlaceholder","functionPlaceholder","functionSearchPlaceholder","industryPlaceholder","industrySearchPlaceholder","addressPlaceholder","addressSearchPlaceholder","domestic","abroad","withLocale","createWithIntlProvider","defaultLocale","messages","zhCN","enUS","namespace","enumCache","Map","defaultChildren","output","Array","isArray","map","item","get","filter","Boolean","toString","getLabels","resolveOutput","mapping","name","names","code","cacheOutput","_ref","cacheKey","type","forEach","index","set","getCachedOutput","_ref2","_enumCache$get","force","length","items","every","defaultGetLabel","defaultDataFormat","data","defaultTransformItem","label","_extends","id","parentId","parentCode","EnumDisplayInner","withFetch","_ref3","cache","children","getLabel","dataFormat","transformItem","props","_objectWithoutPropertiesLoose","_excluded","_useIntl","useIntl","formattedData","useMemo","transformedItem","labels","EnumDisplay","_props$type","_props$cache","_props$force","_props$getLabel","_props$dataFormat","_props$transformItem","_props$children","cached","_jsx","createEnumComponent","options","_options$getLabel","_options$dataFormat","_options$transformIte","defaultApi","EnumComponent","_props$force2","_props$children2","getLabelForLocal","defaultFunctionApi","isLocal","ttl","loader","then","module","default","FunctionEnum","defaultFunctionData","transformToCascaderData","roots","node","has","push","parent","cleanEmptyChildren","nodes","SelectFunctionInner","value","onChange","_ref$single","single","_ref$isPopup","isPopup","_ref$overlayWidth","overlayWidth","onSearch","formatMessage","_useState","useState","setData","useEffect","result","handleSearch","searchText","from","values","keyword","toLowerCase","chName","includes","enName","pinyin","spelling","SelectCascader","defaultMessage","menuItemWidth","style","width","valueKey","labelKey","SelectFunction","defaultData","Enum","defaultIndustryApi","IndustryEnum","defaultIndustryData","filteredData","SelectIndustryInner","SelectIndustry","addressDefaultApi","AddressEnumInner","displayParent","addressApi","createAddressApi","cityData","getCity","city","AddressEnum","_props$displayParent","restProps","_excluded2","defaultCityData","province","country","getSearchList","memoize","list","relations","apis","getCityByName","getChinaHotCities","getChinaCities","municipality","provinces","Object","assign","getCountries","continents","getList","pid","_Object$assign","showChinaQuan","showForeignQuan","current","indexOf","splice","getNationalityList","_city","cloneDeep","unshift","searchList","replace","find","func","combineCities","currentId","searchCities","some","toUpperCase","getCityList","AddressInner","setValue","setSearchText","_useState2","menuKey","setMenuKey","_useState3","setCityData","onSelect","useCallback","_cityData$city","cityInfo","prev","newValue","slice","findIndex","v","selectedValues","searchInner","className","List","size","dataSource","rowKey","renderItem","Item","onClick","currentCity","_jsxs","classnames","SearchInput","e","target","Row","wrap","Col","Tabs","centered","activeKey","key","flex","Divider","orientation","Space","Tag","CheckableTag","checked","SelectAddressInner","forwardRef","ref","_useIntl2","SelectInput","contextProps","SelectAddress","_ref4","_ref4$single","_ref4$isPopup","_ref4$showChinaQuan","_ref4$showForeignQuan"],"mappings":"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"}
|
package/dist/index.modern.js
CHANGED
|
@@ -71,11 +71,65 @@ const withLocale = createWithIntlProvider({
|
|
|
71
71
|
namespace: 'super-select-plus'
|
|
72
72
|
});
|
|
73
73
|
|
|
74
|
-
const _excluded$4 = ["data", "name", "type", "cache", "children", "getLabel", "dataFormat", "transformItem"];
|
|
74
|
+
const _excluded$4 = ["data", "name", "names", "type", "cache", "children", "getLabel", "dataFormat", "transformItem"];
|
|
75
75
|
const enumCache = new Map();
|
|
76
76
|
|
|
77
77
|
// 默认子组件渲染函数
|
|
78
|
-
const defaultChildren =
|
|
78
|
+
const defaultChildren = output => {
|
|
79
|
+
if (Array.isArray(output)) {
|
|
80
|
+
return output.map(item => get(item, 'label', '')).filter(Boolean).toString();
|
|
81
|
+
}
|
|
82
|
+
return get(output, 'label', '');
|
|
83
|
+
};
|
|
84
|
+
const getLabels = output => Array.isArray(output) ? output.map(item => get(item, 'label', '')).filter(Boolean) : output ? [get(output, 'label', '')].filter(Boolean) : [];
|
|
85
|
+
const resolveOutput = (mapping, name, names) => {
|
|
86
|
+
if (names) {
|
|
87
|
+
return names.map(code => mapping.get(code));
|
|
88
|
+
}
|
|
89
|
+
return mapping.get(name);
|
|
90
|
+
};
|
|
91
|
+
const cacheOutput = (output, {
|
|
92
|
+
cacheKey,
|
|
93
|
+
type,
|
|
94
|
+
name,
|
|
95
|
+
names
|
|
96
|
+
}) => {
|
|
97
|
+
if (!cacheKey || !type) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
if (names) {
|
|
101
|
+
names.forEach((code, index) => {
|
|
102
|
+
const item = output[index];
|
|
103
|
+
if (item) {
|
|
104
|
+
enumCache.set(`${cacheKey}_${type}_${code}`, item);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (output) {
|
|
110
|
+
enumCache.set(`${cacheKey}_${type}_${name}`, output);
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
const getCachedOutput = ({
|
|
114
|
+
cacheKey,
|
|
115
|
+
type,
|
|
116
|
+
name,
|
|
117
|
+
names,
|
|
118
|
+
force
|
|
119
|
+
}) => {
|
|
120
|
+
var _enumCache$get;
|
|
121
|
+
if (force) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
if (names != null && names.length) {
|
|
125
|
+
const items = names.map(code => enumCache.get(`${cacheKey}_${type}_${code}`));
|
|
126
|
+
return items.every(Boolean) ? items : null;
|
|
127
|
+
}
|
|
128
|
+
if (name == null) {
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
return (_enumCache$get = enumCache.get(`${cacheKey}_${type}_${name}`)) != null ? _enumCache$get : null;
|
|
132
|
+
};
|
|
79
133
|
|
|
80
134
|
/**
|
|
81
135
|
* 默认获取标签函数
|
|
@@ -108,6 +162,7 @@ const EnumDisplayInner = withFetch(_ref => {
|
|
|
108
162
|
let {
|
|
109
163
|
data,
|
|
110
164
|
name,
|
|
165
|
+
names,
|
|
111
166
|
type,
|
|
112
167
|
cache: cacheKey,
|
|
113
168
|
children,
|
|
@@ -131,17 +186,18 @@ const EnumDisplayInner = withFetch(_ref => {
|
|
|
131
186
|
return [item.code, transformedItem];
|
|
132
187
|
}));
|
|
133
188
|
}, [formattedData, getLabel, locale, transformItem]);
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
}
|
|
189
|
+
const output = useMemo(() => resolveOutput(mapping, name, names), [mapping, name, names]);
|
|
190
|
+
cacheOutput(output, {
|
|
191
|
+
cacheKey,
|
|
192
|
+
type,
|
|
193
|
+
name,
|
|
194
|
+
names
|
|
195
|
+
});
|
|
142
196
|
return children(output, _extends({}, props, {
|
|
143
197
|
locale,
|
|
144
|
-
mapping
|
|
198
|
+
mapping,
|
|
199
|
+
names,
|
|
200
|
+
labels: getLabels(output)
|
|
145
201
|
}));
|
|
146
202
|
});
|
|
147
203
|
|
|
@@ -149,9 +205,9 @@ const EnumDisplayInner = withFetch(_ref => {
|
|
|
149
205
|
* 枚举显示组件
|
|
150
206
|
*/
|
|
151
207
|
const EnumDisplay = withLocale(props => {
|
|
152
|
-
useIntl();
|
|
153
208
|
const {
|
|
154
209
|
name,
|
|
210
|
+
names,
|
|
155
211
|
type = 'default',
|
|
156
212
|
cache: cacheKey = 'ENUM_DATA',
|
|
157
213
|
force = false,
|
|
@@ -160,13 +216,18 @@ const EnumDisplay = withLocale(props => {
|
|
|
160
216
|
transformItem = defaultTransformItem,
|
|
161
217
|
children = defaultChildren
|
|
162
218
|
} = props;
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
219
|
+
const cached = getCachedOutput({
|
|
220
|
+
cacheKey,
|
|
221
|
+
type,
|
|
222
|
+
name,
|
|
223
|
+
names,
|
|
224
|
+
force
|
|
225
|
+
});
|
|
226
|
+
if (cached) {
|
|
168
227
|
return children(cached, {
|
|
169
|
-
locale: props.locale
|
|
228
|
+
locale: props.locale,
|
|
229
|
+
names,
|
|
230
|
+
labels: getLabels(cached)
|
|
170
231
|
});
|
|
171
232
|
}
|
|
172
233
|
return /*#__PURE__*/jsx(EnumDisplayInner, _extends({}, props, {
|
|
@@ -202,16 +263,22 @@ const createEnumComponent = options => {
|
|
|
202
263
|
const EnumComponent = withLocale(props => {
|
|
203
264
|
const {
|
|
204
265
|
name,
|
|
266
|
+
names,
|
|
205
267
|
force = false,
|
|
206
268
|
children = defaultChildren
|
|
207
269
|
} = props;
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
270
|
+
const cached = getCachedOutput({
|
|
271
|
+
cacheKey: cache,
|
|
272
|
+
type,
|
|
273
|
+
name,
|
|
274
|
+
names,
|
|
275
|
+
force
|
|
276
|
+
});
|
|
277
|
+
if (cached) {
|
|
213
278
|
return children(cached, {
|
|
214
|
-
locale: props.locale
|
|
279
|
+
locale: props.locale,
|
|
280
|
+
names,
|
|
281
|
+
labels: getLabels(cached)
|
|
215
282
|
});
|
|
216
283
|
}
|
|
217
284
|
return /*#__PURE__*/jsx(EnumDisplayInner, _extends({}, props, defaultApi, {
|
|
@@ -648,7 +715,7 @@ var classnames = createCommonjsModule(function (module) {
|
|
|
648
715
|
}());
|
|
649
716
|
});
|
|
650
717
|
|
|
651
|
-
var style = {"address":"
|
|
718
|
+
var style = {"address":"kne-super-select-plus_MMoPf","is-popup":"kne-super-select-plus_bYKMf","title":"kne-super-select-plus_pKOHI","scroll-box":"kne-super-select-plus_MObpF","scroll-plus-box":"kne-super-select-plus_iKm8i","content":"kne-super-select-plus_BfCap","col-left":"kne-super-select-plus_BEChX","menu-list":"kne-super-select-plus_gXzFG","menu-item":"kne-super-select-plus_LasXn","col-right":"kne-super-select-plus_1jQmu","search-input":"kne-super-select-plus_YB45l","list":"kne-super-select-plus_Y-MIq","list-item":"kne-super-select-plus_6JEMZ","item-label":"kne-super-select-plus_nlduJ"};
|
|
652
719
|
|
|
653
720
|
const _excluded = ["single", "isPopup", "showChinaQuan", "showForeignQuan"];
|
|
654
721
|
const getLabelForLocal = (item, locale) => {
|