UNPKG

tdesign-mobile-vue

Version:
1 lines 17.8 kB
{"version":3,"file":"helper.mjs","sources":["../../../../src/_common/js/utils/helper.ts"],"sourcesContent":["import { isString, isNull, isUndefined, isNumber, isArray } from 'lodash-es';\n\nexport function omit(obj: Record<string, any>, fields: string[]) {\n const shallowCopy = {\n ...obj,\n };\n for (let i = 0; i < fields.length; i++) {\n const key = fields[i];\n delete shallowCopy[key];\n }\n return shallowCopy;\n}\n\nexport function getValidAttrs<T extends Record<string, any>>(obj: T): Partial<T> {\n const newObj: Partial<T> = {};\n\n Object.keys(obj).forEach((key) => {\n if (!isUndefined(obj[key]) || isNull(obj[key])) {\n newObj[key as keyof T] = obj[key];\n }\n });\n\n return newObj;\n}\n\nexport function removeEmptyAttrs<T extends Record<string, any>>(obj: T): Partial<T> {\n const newObj: Partial<T> = {};\n\n Object.keys(obj).forEach((key) => {\n if (!isUndefined(obj[key]) || isNull(obj[key])) {\n newObj[key as keyof T] = obj[key];\n }\n });\n\n return newObj;\n}\n\nexport function getTabElementByValue(tabs: [] = [], value: string): object {\n const [result] = tabs.filter((item) => {\n const { id } = item as any;\n return id === value;\n });\n return result || null;\n}\n\nexport function firstUpperCase(str: string): string {\n return str.toLowerCase().replace(/( |^)[a-z]/g, (char: string) => char.toUpperCase());\n}\n\nexport type Gradients = { [percent: string]: string };\nexport type FromTo = { from: string; to: string };\nexport type LinearGradient = { direction?: string } & (Gradients | FromTo);\nexport function getBackgroundColor(color: string | string[] | LinearGradient): string {\n if (isString(color)) {\n return color;\n }\n if (isArray(color)) {\n if (color[0] && color[0][0] === '#') {\n color.unshift('90deg');\n }\n return `linear-gradient( ${color.join(',')} )`;\n }\n const {\n from, to, direction = 'to right', ...rest\n } = color;\n let keys = Object.keys(rest);\n if (keys.length) {\n keys = keys.sort((a, b) => {\n const c = parseFloat(a.substr(0, a.length - 1)) - parseFloat(b.substr(0, b.length - 1));\n return c;\n });\n const tempArr = keys.map((key: any) => `${rest[key as keyof typeof rest]} ${key}`);\n return `linear-gradient(${direction}, ${tempArr.join(',')})`;\n }\n return `linear-gradient(${direction}, ${from}, ${to})`;\n}\n\n/**\n *\n * @returns 获取 ie 浏览器版本\n */\nexport function getIEVersion() {\n if (typeof navigator === 'undefined' || !navigator) return Number.MAX_SAFE_INTEGER;\n\n const { userAgent } = navigator;\n // 判断是否IE<11浏览器\n const isIE = userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1;\n // 判断是否IE11浏览器\n const isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf('rv:11.0') > -1;\n if (isIE) {\n const reIE = new RegExp('MSIE (\\\\d+\\\\.\\\\d+);');\n const match = userAgent.match(reIE);\n if (!match) return -1;\n const fIEVersion = parseFloat(match[1]);\n return fIEVersion < 7 ? 6 : fIEVersion;\n }\n if (isIE11) {\n // IE11\n return 11;\n }\n // 不是ie浏览器\n return Number.MAX_SAFE_INTEGER;\n}\n\n/**\n * Safari Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.5 Safari/605.1.15\n * FireFox Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/114.0\n * Chrome Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36\n * Chrome 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.3\n * 搜狗 Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.\n * 360 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.6045.9 Safari/537.36 QIHU 360EE\n */\nexport function getFlexGapPolyFill() {\n if (typeof navigator === 'undefined' || !navigator) return false;\n const ua = navigator.userAgent;\n const chromeMatch = ua.match(/AppleWebKit.+Chrome\\/(.+) Safari\\/.+/i);\n if (Number(chromeMatch?.[1]?.split('.')[0]) < 100) return true;\n const safariMatch = ua.match(/AppleWebKit.+Version\\/(.+) Safari\\/.+/i);\n if (Number(safariMatch?.[1]?.split('.')[0]) < 12) return true;\n const ieVersion = getIEVersion();\n if (ieVersion <= 11) return true;\n const fireFoxMatch = ua.match(/Firefox\\/(.+)/i);\n if (Number(fireFoxMatch?.[1]?.split('.')[0]) < 100) return true;\n return false;\n}\n\n/**\n * 计算字符串字符的长度并可以截取字符串。\n * @param str 传入字符串\n * @param maxCharacter 规定最大字符串长度\n * @returns 当没有传入maxCharacter时返回字符串字符长度,当传入maxCharacter时返回截取之后的字符串和长度。\n */\nexport function getCharacterLength(str: string): number;\nexport function getCharacterLength(str: string, maxCharacter?: number): { length: number; characters: string }\nexport function getCharacterLength(str: string, maxCharacter?: number) {\n const hasMaxCharacter = isNumber(maxCharacter);\n if (!str || str.length === 0) {\n if (hasMaxCharacter) {\n return {\n length: 0,\n characters: str,\n };\n }\n return 0;\n }\n let len = 0;\n for (let i = 0; i < str.length; i++) {\n let currentStringLength = 0;\n if (str.charCodeAt(i) > 127) {\n currentStringLength = 2;\n } else {\n currentStringLength = 1;\n }\n if (hasMaxCharacter && len + currentStringLength > maxCharacter) {\n return {\n length: len,\n characters: str.slice(0, i),\n };\n }\n len += currentStringLength;\n }\n if (hasMaxCharacter) {\n return {\n length: len,\n characters: str,\n };\n }\n return len;\n}\n\n/**\n * 返回 Unicode 字符长度\n * '👨'.length === 2\n * getUnicodeLength('👨') === 1\n * @param str\n * @returns {number}\n */\nexport function getUnicodeLength(str?: string): number {\n return [...(str ?? '')].length;\n}\n\n/**\n * 修正 Unicode 最大字符长度\n * '👨👨👨'.slice(0, 2) === '👨'\n * limitUnicodeMaxLength('👨👨👨', 2) === '👨👨'\n * @param str\n * @param maxLength\n * @param oldStr\n * @returns {string}\n */\nexport function limitUnicodeMaxLength(\n str?: string,\n maxLength?: number,\n oldStr?: string\n): string {\n // 旧字符满足字数要求则返回\n if ([...(oldStr ?? '')].slice().length === maxLength) return oldStr || '';\n return [...(str ?? '')].slice(0, maxLength).join('');\n}\n\n/**\n * 兼容样式中支持number/string类型的传值 得出最后的结果。\n * @param param number或string类型的可用于样式上的值\n * @returns 可使用的样式值。\n */\nexport function pxCompat(param: string | number) {\n return isNumber(param) ? `${param}px` : param;\n}\n\n/**\n * 计算dom元素盒模型尺寸\n * @param targetElement 需要计算盒模型尺寸的元素\n * @returns 计算出各维度尺寸。\n */\nconst DOM_STYLE_PROPS = [\n 'padding-top',\n 'padding-bottom',\n 'padding-left',\n 'padding-right',\n 'font-family',\n 'font-weight',\n 'font-size',\n 'font-variant',\n 'text-rendering',\n 'text-transform',\n 'width',\n 'text-indent',\n 'border-width',\n 'box-sizing',\n 'line-height',\n 'letter-spacing',\n];\n\nexport function calculateNodeSize(targetElement: HTMLElement) {\n if (typeof window === 'undefined') {\n return {\n paddingSize: 0,\n borderSize: 0,\n boxSizing: 0,\n sizingStyle: '',\n };\n }\n\n const style = window.getComputedStyle(targetElement);\n\n const boxSizing = style.getPropertyValue('box-sizing')\n || style.getPropertyValue('-moz-box-sizing')\n || style.getPropertyValue('-webkit-box-sizing');\n\n const paddingSize = (\n parseFloat(style.getPropertyValue('padding-bottom'))\n + parseFloat(style.getPropertyValue('padding-top'))\n );\n\n const borderSize = (\n parseFloat(style.getPropertyValue('border-bottom-width'))\n + parseFloat(style.getPropertyValue('border-top-width'))\n );\n\n const sizingStyle = DOM_STYLE_PROPS\n .map((name) => `${name}:${style.getPropertyValue(name)}`)\n .join(';');\n\n return {\n paddingSize, borderSize, boxSizing, sizingStyle,\n };\n}\n"],"names":["omit","obj","fields","shallowCopy","_objectSpread","i","length","key","getValidAttrs","newObj","Object","keys","forEach","isUndefined","isNull","removeEmptyAttrs","getTabElementByValue","tabs","arguments","undefined","value","_tabs$filter","filter","item","id","_tabs$filter2","_slicedToArray","result","firstUpperCase","str","toLowerCase","replace","char","toUpperCase","getBackgroundColor","color","isString","isArray","unshift","concat","join","from","to","_color$direction","direction","rest","_objectWithoutProperties","_excluded","sort","a","b","c","parseFloat","substr","tempArr","map","getIEVersion","navigator","Number","MAX_SAFE_INTEGER","_navigator","userAgent","isIE","indexOf","isIE11","reIE","RegExp","match","fIEVersion","getFlexGapPolyFill","_chromeMatch$","_safariMatch$","_fireFoxMatch$","ua","chromeMatch","split","safariMatch","ieVersion","fireFoxMatch","getCharacterLength","maxCharacter","hasMaxCharacter","isNumber","characters","len","currentStringLength","charCodeAt","slice","getUnicodeLength","_toConsumableArray","limitUnicodeMaxLength","maxLength","oldStr","pxCompat","param","DOM_STYLE_PROPS","calculateNodeSize","targetElement","window","paddingSize","borderSize","boxSizing","sizingStyle","style","getComputedStyle","getPropertyValue","name"],"mappings":"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"}