{"version":3,"file":"index.de88d65f.js","sources":["../../src/utils/ZUtils.ts","../../src/components/ZCUtil/index.tsx","../../src/components/SelectArea/hotoptions/index.tsx","../../src/components/SelectArea/AreaStorge.ts","../../src/components/SelectArea/options/index.tsx","../../src/components/SelectArea/index.tsx","../../src/components/Empty/index.tsx","../../src/components/Html2text/index.tsx","../../src/components/FbaWareSelect/index.tsx"],"sourcesContent":["// 生成随机数\r\nexport const getRandomKey = ()=>{\r\n return Date.now()+Math.ceil(Math.random()*10);\r\n}\r\n\r\nexport const arr2tree = (source: any, filer?: { parentCode?: string, code?: any }) => {\r\n // return\r\n const {parentCode = 'parentId', code = 'id'} = filer || {}\r\n let jsonMap = new Map()\r\n // 匹配上下级 保存map {\r\n // 父级 : [子级]\r\n // }\r\n source.forEach((item: any) => {\r\n if (jsonMap.has(item[parentCode])) {\r\n jsonMap.get(item[parentCode]).push(item)\r\n } else {\r\n jsonMap.set(item[parentCode], [item])\r\n }\r\n })\r\n // 上下级 挂载\r\n const newArr = source.reduce((result: any, item: any) => {\r\n result.push(\r\n {\r\n ...item,\r\n productDtos: jsonMap.get(item[code]) || []\r\n }\r\n )\r\n return result\r\n }, [])\r\n // 筛选 第一级\r\n return newArr.filter((i: any) => !i.hasOwnProperty(parentCode))\r\n}\r\nexport const isEmpty = (val: any) => {\r\n // null or undefined\r\n if (val == null) return true;\r\n\r\n if (typeof val === 'boolean') return false;\r\n\r\n if (typeof val === 'number') {\r\n if (val == 0) {\r\n return false\r\n } else {\r\n return !val;\r\n }\r\n }else{\r\n return val\r\n }\r\n}\r\n\r\n\r\nexport const object2Query = (params:{})=>{\r\n return Object.keys(params).reduce((t,k,i)=>{\r\n return `${t}${i==0?'':'&'}${k}=${params[k]}`\r\n },'?')\r\n}\r\n","\r\n/**\r\n * 判断当前节点是否为子节点\r\n * @param child 子节点\r\n * @param Parent 父节点\r\n * @returns \r\n */\r\nexport const isParentDom = (child:any,Parent:any)=>{\r\n while (child != undefined && child != null && child.tagName.toUpperCase() != 'BODY'){\r\n if (child == Parent){\r\n return true;\r\n }\r\n child = child.parentNode;\r\n }\r\n return false;\r\n}\r\n","import { Api } from \"@/api\";\r\nimport React, { useEffect, useState } from \"react\";\r\n\r\n\r\ninterface IProps{\r\n onChange:(params?:any)=>void,\r\n active?:boolean ,\r\n data:any \r\n}\r\n\r\n\r\nexport const HotOptions = (props:IProps)=>{\r\n const { onChange,active,data } = props;\r\n const [dataSource,setDataSource] = useState<{label?:any,value?:string}[]>([]);\r\n useEffect(()=>{\r\n Api.Division.GetHotCitys().then((res:any)=>{\r\n if(res.state){\r\n const result = res.data.map((item:{code:string,name:string,parentCode:string})=>{ \r\n return {label:item.name,value:item.code,pid:item.parentCode} \r\n })\r\n setDataSource(result);\r\n }\r\n }) \r\n },[])\r\n return (\r\n
\r\n {dataSource.map((item,index)=>{\r\n return (\r\n { \r\n onChange(item)\r\n }}>\r\n {item.label}\r\n \r\n )\r\n })}\r\n
\r\n ) \r\n}\r\n\r\nexport default HotOptions;","import { Api } from \"@/api\"\r\n\r\n\r\n\r\nexport const getDataByPid = (pid: string) => {\r\n return new Promise((reslove, reject) => {\r\n let beforeData: any = localStorage.getItem('areadata');\r\n if (beforeData) {\r\n beforeData = JSON.parse(beforeData);\r\n // 60 天过期\r\n if ((new Date().getTime() - beforeData.time * 1) > 1000 * 60 * 60 * 24 * 60) {\r\n localStorage.removeItem('areadata');\r\n }\r\n if (beforeData?.data) {\r\n const areaMap = beforeData.data;\r\n const result = areaMap[pid];\r\n if (result) {\r\n reslove(result)\r\n } else {\r\n Api.Division.GetDivisions({ ParentCode: pid || \"0\" }).then((res: any) => {\r\n beforeData.data[pid] = res.data;\r\n reslove(res.data)\r\n localStorage.setItem('areadata', JSON.stringify(beforeData))\r\n })\r\n }\r\n } \r\n }else {\r\n Api.Division.GetDivisions({ ParentCode: pid || \"0\" }).then((res: any) => {\r\n reslove(res.data)\r\n const storageData = { time: new Date().getTime(), data: { [pid]: res.data } }\r\n localStorage.setItem('areadata', JSON.stringify(storageData))\r\n })\r\n }\r\n })\r\n}\r\n\r\n\r\n\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { ISelectArea } from \"..\";\r\nimport { getDataByPid } from \"../AreaStorge\";\r\n\r\n\r\ninterface IProps{\r\n value?: any,\r\n onChange: (params?: any) => void,\r\n active?: boolean,\r\n data: ISelectArea,\r\n onLoadData: any,\r\n onLabelChange: any\r\n}\r\n\r\n\r\nexport const Option = (props: IProps) => {\r\n\r\n const {onChange, active, data, onLoadData, onLabelChange} = props;\r\n const pid: any = data.pid;\r\n const [dataSource, setDataSource] = useState<{ label?: any, value?: string }[]>([]);\r\n\r\n useEffect(() => {\r\n if (pid || pid == '0') {\r\n getDataByPid(pid || \"0\").then((res: any) => {\r\n if (res) {\r\n const result = res.map((item: { code: string, name: string }) => {\r\n return {label: item.name, value: item.code}\r\n })\r\n setDataSource(result);\r\n if (onLoadData) {\r\n props.onLoadData({[pid]: result})\r\n }\r\n\r\n\r\n }\r\n })\r\n } else {\r\n setDataSource([])\r\n }\r\n }, [pid])\r\n\r\n useEffect(() => {\r\n if (dataSource.length > 0 && data) {\r\n if (data?.select?.value && !data?.select?.label) {\r\n const select = dataSource.find((item: any) => {\r\n return props.data.select.value == item.value\r\n })\r\n if (select) {\r\n onLabelChange(select);\r\n }\r\n }\r\n }\r\n }, [dataSource, data])\r\n\r\n return (\r\n
\r\n {dataSource.map((item, index) => {\r\n return (\r\n {\r\n onChange(item)\r\n }}>\r\n {item.label}\r\n \r\n )\r\n })}\r\n
\r\n )\r\n}","import {isParentDom} from \"@/components/ZCUtil\";\r\nimport React, {useEffect, useRef, useState} from \"react\";\r\nimport {IFormItemProps} from \"../FormItemEx/interface\";\r\nimport HotOptions from \"./hotoptions\";\r\nimport './index.less';\r\nimport {Option} from \"./options\";\r\n\r\ntype borderedType = 'all' | 'bottom' | 'none'\r\n\r\nconst borderedMap = {\r\n 'all': 'zc-area-input-wrap',\r\n 'bottom': 'zc-area-input-bottom-wrap',\r\n 'none': 'zc-input-none'\r\n}\r\nconst activeMap = {\r\n 'all': 'zc-area-input-wrap-active',\r\n 'bottom': 'zc-area-input-bottom-wrap-active',\r\n 'none': 'input-bottom-active'\r\n}\r\n// const errMap = {\r\n// 'all': 'errorMsg',\r\n// 'bottom': 'errorMsg-bottom',\r\n// 'none': 'errorMsg-bottom'\r\n// }\r\n\r\n\r\nexport interface ISelectArea {\r\n key: string,\r\n title: string,\r\n select: any,\r\n pid?: number,\r\n}\r\n\r\ninterface Props extends IFormItemProps {\r\n onSelect?: any\r\n value?: any\r\n hotcity?: boolean\r\n labelInValue?: boolean\r\n style?: any\r\n hidelabel?: boolean\r\n bordered?: borderedType\r\n}\r\nconst ZSelectArea = (props:Props)=> {\r\n const {extra = {}, bordered = 'all', size} = props\r\n\r\n\r\n const {getLabel} = extra\r\n\r\n const [visible, setVisible] = useState(false);\r\n const [inputValue, setInputValue] = useState('');\r\n const [inputIds, setInputIds] = useState('');\r\n const [activeIndex, setActvieIndex] = useState(6);\r\n const [provinceData, setPrivinceData] = useState([]);\r\n const baseData = [\r\n {key: 'province', title: '省份', pid: 0, select: {}},\r\n {key: 'city', title: '城市', select: {}},\r\n {key: 'area', title: '区/县', select: {}}\r\n ]\r\n const [options, setOptions] = useState(baseData)\r\n const [isArrowHover, setIsArrowHover] = useState(false);\r\n\r\n const containerRef = useRef();\r\n useEffect(() => {\r\n window.addEventListener('click', (e: any) => {\r\n if (!isParentDom(e.target, containerRef.current)) {\r\n setVisible(false)\r\n }\r\n })\r\n }, [])\r\n\r\n\r\n useEffect(() => {\r\n const initVal = props.value?.value || props.value\r\n\r\n if (initVal) {\r\n setInputIds(initVal);\r\n const pidList = [0].concat(initVal.split('/'));\r\n const newOptions = options.map((item: ISelectArea, index: number) => {\r\n return {...item, pid: pidList[index], select: {value: initVal.split('/')[index]}}\r\n })\r\n setOptions(newOptions);\r\n }\r\n },[props?.value])\r\n\r\n useEffect(() => {\r\n // 获取label 创建订单使用\r\n const names = options.reduce((result: any,i:any) => {\r\n result[i.key] = i.select.label\r\n return result\r\n },{})\r\n getLabel?.(names)\r\n },[options])\r\n\r\n const onOpenSelect = ()=>{\r\n if(!visible){\r\n setVisible(true);\r\n setActvieIndex(props.hotcity ? 6 : 0);\r\n }\r\n }\r\n const sizeClass = {\r\n wrap: `${borderedMap[bordered]} ${visible ? activeMap[bordered] : ''} zc-area-wrap-height-${size}`,\r\n optionWrap: `zc-area-option-wrap ${!visible ? 'zc-area-option-wrap-hide' : ''} zc-area-option-top-${size}`,\r\n inputWrap: `${!props.hidelabel ? \"zc-area-input-pdl\" : \"zc-area-input\"} zc-area-wrap-height-${size}`,\r\n }\r\n\r\n // 选中某一项\r\n const onOptionSelect = (index:number,params:any)=>{\r\n if(params){\r\n let optionsData = options;\r\n optionsData[index] = {...optionsData[index],select:params};\r\n const nextIndex = index+1;\r\n if(nextIndex <= options.length-1){\r\n optionsData = optionsData.map((item:any,i:number)=>{\r\n const needClear = i>index;\r\n return needClear?{...item,select:{},pid:undefined}:item\r\n })\r\n optionsData[nextIndex] = {...optionsData[nextIndex],pid:params.value};\r\n //选了 前面的项 需要清空后面的 pid 让组件\r\n setOptions(optionsData);\r\n setActvieIndex(nextIndex);\r\n } else {\r\n setVisible(false)\r\n }\r\n const names = optionsData.filter((item: any) => {\r\n return item.select?.label\r\n }).map((item: any) => {\r\n return item?.select?.label\r\n }).join('/');\r\n const ids = optionsData.filter((item: any) => {\r\n return item.select?.label\r\n }).map((item: any) => {\r\n return item?.select?.value\r\n }).join('/');\r\n\r\n if (index === 2) {\r\n if (props.onChange) {\r\n setInputValue(names);\r\n setInputIds(ids);\r\n if (props.labelInValue) {\r\n props.onChange({label: names, value: ids})\r\n } else {\r\n props.onChange(ids)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n const onHostCitySelect = (e:any)=> {\r\n const baseOptions = options;\r\n const privinceData: any = provinceData?.find((item: any) => {\r\n return item.value == e.pid\r\n });\r\n baseOptions[0] = {...baseOptions[0], select: {label: privinceData.label, value: e.pid}};\r\n baseOptions[1] = {...baseOptions[1], pid: e.pid, select: {label: e.label, value: e.value}};\r\n baseOptions[2] = {...baseOptions[1], pid: e.value};\r\n setOptions(baseOptions);\r\n setActvieIndex(2)\r\n }\r\n\r\n const onAreaDataLoad = (e:any)=>{\r\n if(e[0]){\r\n setPrivinceData(e[0])\r\n }\r\n }\r\n\r\n const onFillLabel = (index:number,data:any)=>{\r\n let optionsData = options;\r\n optionsData[index] = {...optionsData[index],select:data};\r\n setOptions(JSON.parse(JSON.stringify(optionsData)));\r\n const names = options.map((item:any)=>{ return item.select.label }).join('/');\r\n const ids = options.map((item:any)=>{ return item.select.value }).join('/')\r\n setInputIds(ids);\r\n setInputValue(names);\r\n\r\n }\r\n const toggle = () => {\r\n if (props?.disabled) {\r\n return\r\n }\r\n setInputValue('');\r\n setInputIds('');\r\n setOptions(baseData);\r\n props.onChange?.('')\r\n }\r\n return (\r\n
\r\n
{\r\n if (!props.disabled) {\r\n onOpenSelect()\r\n }\r\n }}\r\n onMouseEnter={() => {\r\n if (!props.disabled) {\r\n setIsArrowHover(true)\r\n }\r\n }}\r\n onMouseLeave={() => {\r\n if (!props.disabled) {\r\n setIsArrowHover(false)\r\n }\r\n }}>\r\n \r\n
\r\n {inputValue || {props.placeholder}}\r\n
\r\n
\r\n {!(isArrowHover && inputValue) &&\r\n }\r\n {(isArrowHover && inputValue) && }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {props.hotcity &&
setActvieIndex(6)}\r\n className={activeIndex == 6 ? \"zc-area-top-active\" : \"zc-area-top\"}>热门城市
}\r\n {\r\n baseData?.map((item: ISelectArea, index: number) => {\r\n return (
setActvieIndex(index)}\r\n className={index == activeIndex ? \"zc-area-top-active\" : \"zc-area-top\"}>{item.title}
)\r\n })\r\n }\r\n
\r\n {props.hotcity && 2 && options[1]}\r\n onChange={onHostCitySelect}/>}\r\n {\r\n options?.map((item: ISelectArea, index: number) =>\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ZSelectArea;","import React from \"react\"\r\nimport \"./index.less\"\r\n\r\ninterface IProps{\r\n text?:string,\r\n className?:string,\r\n style?:any\r\n}\r\n\r\n\r\nexport const Empty = (props:IProps)=>{\r\n return (\r\n
\r\n \"\"/\r\n
暂无数据
\r\n
\r\n )\r\n}","import React,{useState,useEffect} from \"react\";\r\n\r\nexport interface Props{\r\n data: any, // 源数据\r\n color?: string,\r\n keyword: any, // 关键字\r\n flags?: boolean // 区分大小写 true 区分 false- 不区分\r\n}\r\nconst Html2Text = (props:Props) => {\r\n const {\r\n data,\r\n color = 'red',\r\n keyword,\r\n flags = false\r\n } = props\r\n const [item, setItem] = useState(data)\r\n const pattern = /<(\\S*)[^>]*>[^<]*<\\/(\\1)>/gi;\r\n\r\n const c = /<[^>]+>/gi;\r\n const getArr = (data: string[], textLen: number, j: number) => {\r\n if (textLen > 1) {\r\n data[j + 1 - textLen] = ''\r\n getArr(data, textLen - 1, j)\r\n }\r\n }\r\n\r\n const getKey = (key: any) => {\r\n if (!key) {\r\n return ''\r\n }\r\n const isString: any = typeof key === \"string\"\r\n if (isString) {\r\n return key\r\n } else {\r\n return `(${key.join('|')})`\r\n }\r\n }\r\n\r\n const getResult = () => {\r\n const reg = new RegExp(getKey(keyword), !flags && 'i' || '');\r\n const contentArr = data?.match(reg || pattern) // 获取符合条件的字符\r\n if (contentArr) {\r\n const dataString = data.replace(c, '') // 去除标签后的字符串\r\n const text = contentArr[0].replace(c, '') // 字符串内的内容\r\n const str2arr = dataString.split('');\r\n const len = str2arr.length\r\n const textLen = text.length\r\n for (let i = 0; i < len; i++) {\r\n let s = ''\r\n for (let j = i; j < len; j++) {\r\n s += str2arr[j]\r\n if (s === text) {\r\n str2arr[j] = text\r\n getArr(str2arr,textLen, j)\r\n break\r\n }\r\n }\r\n }\r\n str2arr.map((item: any, index: number) => {\r\n if (item === text) {\r\n str2arr[index] = {text}\r\n return item\r\n }\r\n })\r\n return str2arr.map((i: any) => i)\r\n } else {\r\n return data\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n setItem(getResult())\r\n }, [data, keyword])\r\n return item\r\n}\r\nexport default Html2Text\r\n","import {Api} from \"@/api\";\r\nimport {ISelect} from \"@/components/Select/helper\";\r\nimport {isParentDom} from \"@/components/ZCUtil\";\r\nimport React, {useEffect, useRef, useState} from \"react\";\r\nimport {Empty} from \"../Empty\";\r\nimport {IFomItemSize} from \"../FormItemEx/interface\";\r\nimport Html2Text from \"../Html2text\";\r\nimport './index.less';\r\nimport {IDestination, IFbaWareResp} from \"./interface\";\r\n\r\ntype borderedType = 'all' | 'bottom' | 'none'\r\n\r\nconst borderedMap = {\r\n 'all': 'zc-fla-select-input-wrap',\r\n 'bottom': 'zc-fla-select-input-wrap-bottom',\r\n 'none': 'zc-input-none'\r\n}\r\nconst activeMap = {\r\n 'all': 'zc-fla-select-input-wrap-active',\r\n 'bottom': 'zc-fla-select-input-wrap-bottom-active',\r\n 'none': 'input-bottom-active'\r\n}\r\n\r\n\r\ninterface Props {\r\n onVal?: any\r\n placeholder?: string\r\n width?: number,\r\n options?: ISelect[],\r\n display?: 'grid' | 'line',\r\n label?: string,\r\n name?: any,\r\n hidelabel?: boolean,\r\n hidechart?: boolean,\r\n size?: IFomItemSize,\r\n fld?: any,\r\n value?: any,\r\n onChange?: any\r\n style?: any\r\n setFilterOptions?: any\r\n onAlt?: any\r\n filter?: any\r\n disabled?: boolean\r\n bordered?: borderedType\r\n}\r\nconst FbaWareSelect = (props: Props) => {\r\n const {placeholder, label, hidelabel, hidechart, fld, filter, disabled = false, bordered = 'all'} = props;\r\n const [visible, setVisible] = useState(false);\r\n\r\n const [inputValue, setInputValue] = useState('');\r\n const [resultValue, setResultValue] = useState('');\r\n const [alt, setAlt] = useState('')\r\n const [isArrowHover, setIsArrowHover] = useState(false);\r\n const containerRef = useRef()\r\n const [options, setOptions] = useState([]);\r\n const [currentIndex, setCurrentIndex] = useState(0);\r\n const [filterOptions, setFilterOptions] = useState([]);\r\n const [itemData, setItemData] = useState({});\r\n\r\n useEffect(() => {\r\n window.addEventListener('click', (e: any) => {\r\n if (!isParentDom(e.target, containerRef.current)) {\r\n setVisible(false)\r\n }\r\n })\r\n }, [])\r\n useEffect(() => {\r\n const val = props.value?.[fld] || props.value\r\n if (val?.includes('||')) {\r\n setResultValue(val?.split('||')[1])\r\n } else {\r\n setResultValue(val)\r\n }\r\n setAlt(val)\r\n\r\n }, [props.value]);\r\n\r\n useEffect(() => {\r\n if ((inputValue || resultValue) && options.length) {\r\n const json = options.reduce((result: boolean, item: any) => {\r\n const s = item.destinations.find((sub: any) => sub.code.toUpperCase() === (resultValue.toUpperCase() || inputValue.toUpperCase()))\r\n if (s) {\r\n result = true\r\n }\r\n return result\r\n }, false)\r\n props?.setFilterOptions?.(json)\r\n }\r\n // console.log(options.find((i: any) =>))\r\n }, [resultValue, inputValue, options])\r\n\r\n const sizeClass = {\r\n wrap: `${borderedMap[bordered]} ${visible ? activeMap[bordered] : ''} zc-fla-select-wrap-height-${props.size}`,\r\n optionWrap: `zc-fla-select-grid-option-wrap ${!visible ? 'zc-fla-select-option-wrap-hide' : ''} zc-fla-select-option-top-${props.size}`,\r\n inputWrap: `zc-fla-select-input zc-fla-select-wrap-height-${props.size}`,\r\n }\r\n const onSelectChange = (item: any) => {\r\n setResultValue(item.code);\r\n setAlt(`${item.country}||${item.code}`)\r\n setVisible(false);\r\n setInputValue('');\r\n fld && props?.onChange?.({\r\n [fld]: item?.code\r\n })\r\n fld && props?.onAlt?.({\r\n [fld]: `${item.country}||${item.code}`\r\n })\r\n fld && props?.onVal?.(`${item.country}||${item.code}`)\r\n }\r\n\r\n\r\n\r\n useEffect(() => {\r\n Api.Ware.GetWareAndGroup().then((res: IFbaWareResp) => {\r\n if (res.state) {\r\n const json = res.data.reduce((result: any, item: any) => {\r\n result[item.code] = item.countryName\r\n return result\r\n }, {})\r\n sessionStorage.setItem('country', JSON.stringify(json))\r\n if (filter && res.data?.filter((i: any) => i.code === filter)) {\r\n setOptions(res.data?.filter((i: any) => i.code === filter));\r\n } else {\r\n setOptions(res.data);\r\n }\r\n }\r\n })\r\n }, [filter])\r\n\r\n const onInputChange = (e: any) => {\r\n if (!visible) {\r\n setVisible(true)\r\n }\r\n if (e.target.value.trim() != resultValue) {\r\n setResultValue('')\r\n setAlt('')\r\n }\r\n const key = e.target.value;\r\n setInputValue(key);\r\n if (e.target.value) {\r\n const result: IDestination[] = [];\r\n for (let i = 0; i < options.length; i++) {\r\n const item = options[i];\r\n item.destinations.filter((subItem: any) => {\r\n if (subItem.code.toLocaleLowerCase().includes(key.toLocaleLowerCase())) {\r\n result.push({...subItem, countryName: item.countryName, index: i})\r\n }\r\n })\r\n }\r\n setFilterOptions(result);\r\n }\r\n }\r\n\r\n const onSeachSelect = (item: IDestination) => {\r\n setCurrentIndex(item.index);\r\n setResultValue(item.code);\r\n setAlt(`${item.country}||${item.code}`)\r\n fld && props?.onAlt?.({\r\n [fld]: `${item.country}||${item.code}`\r\n })\r\n fld && props?.onVal?.(`${item.country}||${item.code}`)\r\n\r\n setInputValue('')\r\n }\r\n\r\n const getValidKey = () => {\r\n if (!options) {\r\n return;\r\n }\r\n const letterMap = Array.from({length: 26})\r\n .reduce((t: any, i: any, index: number) => {\r\n const name = String.fromCharCode(65 + index);\r\n t[name] = {key: name};\r\n return t;\r\n }, {});\r\n if (options.length > 0) {\r\n const dataMap: any = options[currentIndex]?.destinations?.reduce((t: any, i: IDestination) => {\r\n const key = i.code.slice(0, 1);\r\n if (key != '/') {\r\n const prev = t[key]&&t[key].values;\r\n t[key].values = !prev ? [i] : [...prev, i];\r\n }\r\n return t;\r\n }, letterMap);\r\n Object.values(dataMap).forEach((item:any)=>{\r\n if(!item.values){\r\n delete dataMap[item.key];\r\n }\r\n })\r\n setItemData(dataMap);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n getValidKey();\r\n }, [currentIndex, options])\r\n\r\n // 回车事件\r\n const onKeyDown = (e: any) => {\r\n if (e.keyCode === 13) {\r\n const k_json: any = filterOptions.find((i: IDestination) => inputValue.toUpperCase() === i.code)\r\n setResultValue(k_json.code);\r\n setAlt(`${k_json.country}||${k_json.code}`)\r\n setVisible(false);\r\n setInputValue('');\r\n fld && props?.onChange?.({\r\n [fld]: k_json?.code\r\n })\r\n fld && props?.onAlt?.({\r\n [fld]: `${k_json.country}||${k_json.code}`\r\n })\r\n fld && props?.onVal?.(`${k_json.country}||${k_json.code}`)\r\n\r\n }\r\n }\r\n\r\n const onFocus = () => {\r\n if (disabled) {\r\n return\r\n }\r\n setVisible(true)\r\n }\r\n\r\n return (\r\n
\r\n
{\r\n setIsArrowHover(true)\r\n }} onMouseLeave={() => setIsArrowHover(false)}>\r\n {!hidelabel && {label}{!hidechart && ':'}}\r\n \r\n \r\n
setInputValue('')}>\r\n {!(isArrowHover && inputValue) &&\r\n }\r\n {(isArrowHover && inputValue) && }\r\n
\r\n
\r\n {!inputValue &&
\r\n
\r\n {options?.map?.((item: any, index: number) =>\r\n
setCurrentIndex(index)}\r\n className={index == currentIndex ? \"zc-fba-select-header-item-active\" : \"zc-fba-select-header-item\"}>{item.countryName}
\r\n )\r\n }\r\n
\r\n
\r\n {options.length > 0 && options[currentIndex].destinations.length > 20 &&\r\n
\r\n {\r\n Object.values(itemData).map((item: any) =>\r\n
\r\n {item.key}\r\n
\r\n {\r\n item.values.map((item: IDestination, index: number) =>\r\n
onSelectChange(item)}>{item.code}
\r\n )\r\n }\r\n
\r\n
\r\n )\r\n }\r\n
}\r\n {options.length > 0 && options[currentIndex].destinations.length <= 20 &&\r\n
\r\n {\r\n options[currentIndex]?.destinations.map((item: IDestination, index: number) =>\r\n
onSelectChange(item)}>{item.code}
\r\n )\r\n }\r\n
}\r\n
\r\n
}\r\n {inputValue &&
\r\n
\r\n {\r\n filterOptions.map((item: IDestination, index: number) =>\r\n
onSeachSelect(item)}>\r\n ({item.countryName})\r\n
\r\n )\r\n }\r\n {filterOptions.length == 0 && }\r\n
\r\n
}\r\n
\r\n )\r\n}\r\n\r\nexport default FbaWareSelect;"],"names":["getRandomKey","Date","now","Math","ceil","random","arr2tree","source","filer","parentCode","code","jsonMap","Map","forEach","item","has","get","push","set","newArr","reduce","result","productDtos","filter","i","hasOwnProperty","object2Query","params","Object","keys","t","k","isParentDom","child","Parent","undefined","tagName","toUpperCase","parentNode","HotOptions","props","onChange","active","data","dataSource","setDataSource","useState","Division","GetHotCitys","then","res","state","map","label","name","value","pid","index","select","getDataByPid","Promise","reslove","reject","beforeData","localStorage","getItem","JSON","parse","getTime","time","removeItem","areaMap","GetDivisions","ParentCode","setItem","stringify","storageData","Option","onLoadData","onLabelChange","length","find","borderedMap","activeMap","ZSelectArea","extra","bordered","size","getLabel","visible","setVisible","inputValue","setInputValue","inputIds","setInputIds","activeIndex","setActvieIndex","provinceData","setPrivinceData","baseData","key","title","options","setOptions","isArrowHover","setIsArrowHover","containerRef","useRef","addEventListener","e","target","current","initVal","pidList","concat","split","newOptions","names","onOpenSelect","hotcity","sizeClass","wrap","optionWrap","inputWrap","hidelabel","onOptionSelect","optionsData","nextIndex","needClear","join","ids","labelInValue","onHostCitySelect","baseOptions","privinceData","onAreaDataLoad","onFillLabel","toggle","disabled","width","style","display","fld","color","placeholder","Empty","Html2Text","keyword","flags","pattern","c","getArr","textLen","j","getKey","getResult","reg","RegExp","contentArr","match","dataString","replace","text","str2arr","len","s","FbaWareSelect","hidechart","resultValue","setResultValue","alt","setAlt","currentIndex","setCurrentIndex","filterOptions","setFilterOptions","itemData","setItemData","val","includes","json","destinations","sub","onSelectChange","country","onAlt","onVal","Ware","GetWareAndGroup","countryName","onInputChange","trim","subItem","toLocaleLowerCase","onSeachSelect","getValidKey","letterMap","Array","from","String","fromCharCode","dataMap","slice","prev","values","onKeyDown","keyCode","k_json","onFocus","fontSize"],"mappings":"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"}