@tendaui/react 1.3.0 → 1.3.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.
Files changed (51) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +1 -1
  3. package/es/_chunks/dep-BK4_iOSv.js.map +1 -1
  4. package/es/_chunks/dep-CHpQ3xhh.js.map +1 -1
  5. package/es/_chunks/dep-DbVHGoUC.js.map +1 -1
  6. package/es/_chunks/dep-UHQn9biR.js.map +1 -1
  7. package/es/alert/style/css.js +1 -0
  8. package/es/badge/style/css.js +1 -0
  9. package/es/button/__tests__/Button.test.js.map +1 -1
  10. package/es/button/_example/ghost.js +1 -5
  11. package/es/button/_example/ghost.js.map +1 -1
  12. package/es/button/style/css.js +1 -0
  13. package/es/checkbox/style/css.js +1 -0
  14. package/es/color-picker/style/css.js +1 -0
  15. package/es/color-picker/utils/color-picker/index.js.map +1 -1
  16. package/es/config-provider/ConfigContext.js.map +1 -1
  17. package/es/dialog/Dialog.js.map +1 -1
  18. package/es/dialog/style/css.js +1 -0
  19. package/es/drawer/style/css.js +1 -0
  20. package/es/fireworks/style/css.js +0 -0
  21. package/es/form/style/css.js +1 -0
  22. package/es/input/style/css.js +1 -0
  23. package/es/input-number/InputNumber.js.map +1 -1
  24. package/es/input-number/index.js.map +1 -1
  25. package/es/input-number/style/css.js +1 -0
  26. package/es/input-number/useInputNumber.js.map +1 -1
  27. package/es/ip-input/style/css.js +1 -0
  28. package/es/layout/style/css.js +1 -0
  29. package/es/list/List.js.map +1 -1
  30. package/es/list/ListItem.js.map +1 -1
  31. package/es/list/ListItemMeta.js.map +1 -1
  32. package/es/list/style/css.js +1 -0
  33. package/es/loading/style/css.js +1 -0
  34. package/es/notification/style/css.js +1 -0
  35. package/es/popup/style/css.js +1 -0
  36. package/es/radio/_example/default.js +6 -1
  37. package/es/radio/_example/default.js.map +1 -1
  38. package/es/radio/style/css.js +0 -0
  39. package/es/select/style/css.js +1 -0
  40. package/es/select-input/style/css.js +1 -0
  41. package/es/slider/Slider.js.map +1 -1
  42. package/es/slider/SliderHandleButton.js.map +1 -1
  43. package/es/slider/style/css.js +1 -0
  44. package/es/switch/_example/with-label.js +7 -1
  45. package/es/switch/_example/with-label.js.map +1 -1
  46. package/es/switch/style/css.js +1 -0
  47. package/es/table/style/css.js +1 -0
  48. package/es/tag/style/css.js +1 -0
  49. package/es/tag-input/style/css.js +1 -0
  50. package/es/utils/log/index.js.map +1 -1
  51. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","sources":["../../../utils/js/log/log.ts","../../../utils/js/input-number/large-number.ts","../../../components/utils/number.ts","../../../components/slider/defaultProps.ts","../../../components/slider/Slider.tsx"],"sourcesContent":["import { Log } from \"./types\";\r\n\r\nconst logSet = new Set();\r\n\r\nconst log: Log = {\r\n warn(componentName, message): void {\r\n console.warn(`TDesign ${componentName} Warn: ${message}`);\r\n },\r\n warnOnce(componentName, message): void {\r\n const msgContent = `TDesign ${componentName} Warn: ${message}`;\r\n if (logSet.has(msgContent)) return;\r\n logSet.add(msgContent);\r\n console.warn(msgContent);\r\n },\r\n error(componentName, message): void {\r\n console.error(`TDesign ${componentName} Error: ${message}`);\r\n },\r\n errorOnce(componentName, message): void {\r\n const msgContent = `TDesign ${componentName} Error: ${message}`;\r\n if (logSet.has(msgContent)) return;\r\n logSet.add(msgContent);\r\n console.error(msgContent);\r\n },\r\n info(componentName, message): void {\r\n console.info(`TDesign ${componentName} Info: ${message}`);\r\n }\r\n};\r\n\r\nexport default log;\r\n","import { isString, isNumber, isObject } from \"lodash-es\";\r\nimport log from \"../log/log\";\r\n\r\nexport type InputNumberDecimalPlaces = number | { enableRound: boolean; places: number };\r\n\r\nexport function fillZero(length: number) {\r\n return new Array(length).fill(0).join(\"\");\r\n}\r\n\r\n/**\r\n * 大数,是否是一个数字,数字字符包括 - . e [0-9]\r\n */\r\nexport function isInputNumber(num: number | string): boolean {\r\n if (!num) return true;\r\n if (isNumber(num)) return !Number.isNaN(num);\r\n const r = /^[0-9|e|E|-]+\\.*[0-9|e|E|-]*$/.test(num);\r\n if (!r) return false;\r\n // only allow one [.e] and two [-]\r\n let eCount = 0;\r\n let negativeCount = 0;\r\n let dotCount = 0;\r\n for (let i = 0, len = num.length; i < len; i++) {\r\n if (num[i] === \".\") {\r\n dotCount += 1;\r\n if (dotCount > 1) return false;\r\n }\r\n if (/(e|E)+/.test(num[i])) {\r\n eCount += 1;\r\n if (eCount > 1) return false;\r\n }\r\n if (num[i] === \"-\") {\r\n negativeCount += 1;\r\n if (negativeCount > 2) return false;\r\n }\r\n }\r\n return true;\r\n}\r\n\r\n// 整数,去除前面的无效 0(本身是 0 除外);小数去除末尾的无效 0\r\nexport function removeInvalidZero(num: string, decimal = false) {\r\n if (num.indexOf(\".\") !== -1) {\r\n log.error(\"InputNumber\", \"num is not a integer number.\");\r\n return num;\r\n }\r\n if (!num || (num === \"0\" && decimal)) return \"\";\r\n if (num === \"0\") return num;\r\n return (decimal ? num.replace(/0+$/, \"\") : num.replace(/^0+/, \"\")) || \"0\";\r\n}\r\n\r\n/**\r\n * 大数加法,仅支持正整数(没有精度问题)\r\n * @param num1 被加数\r\n * @param num2 加数\r\n */\r\nexport function largeIntNumberAdd(num1: string, num2: string, decimal = false): string {\r\n const number1 = removeInvalidZero(num1, decimal);\r\n const number2 = removeInvalidZero(num2, decimal);\r\n const isFirstLarger = number1.length > number2.length;\r\n const maxNumber = isFirstLarger ? number1 : number2;\r\n const minNumber = isFirstLarger ? number2 : number1;\r\n const newNumber: string[] = [];\r\n const step = [];\r\n const diff = decimal ? 0 : maxNumber.length - minNumber.length;\r\n const len = decimal ? minNumber.length : maxNumber.length;\r\n for (let i = len - 1; i >= 0; i--) {\r\n const minIndex = i - diff;\r\n // 第一个数,加第二个数,加进位\r\n const count = Number(maxNumber[i]) + (Number(minNumber[minIndex]) || 0) + (step[i] || 0);\r\n if (count >= 10) {\r\n step[i - 1] = 1;\r\n }\r\n newNumber.unshift(String(count % 10));\r\n }\r\n // 999 + 1 = 1000,之类的进位\r\n if (step[-1]) {\r\n newNumber.unshift(\"1\");\r\n }\r\n if (decimal) {\r\n return newNumber.concat(maxNumber.slice(len, maxNumber.length)).join(\"\");\r\n }\r\n return newNumber.join(\"\");\r\n}\r\n\r\n/**\r\n * 大数加法,支持小数和整数(没有精度问题)\r\n * @param num1 被加数\r\n * @param num2 加数\r\n */\r\nexport function largePositiveNumberAdd(num1: string, num2: string): string {\r\n const [intNumber1 = \"0\", decimalNumber1 = \"0\"] = num1.split(\".\");\r\n const [intNumber2 = \"0\", decimalNumber2 = \"0\"] = num2.split(\".\");\r\n const integerSum = largeIntNumberAdd(intNumber1, intNumber2);\r\n // 如果不存在小数,则直接返回整数相加结果\r\n if (decimalNumber1 === \"0\" && decimalNumber2 === \"0\") return integerSum;\r\n const newDecimalNumber1 = removeInvalidZero(decimalNumber1, true);\r\n const newDecimalNumber2 = removeInvalidZero(decimalNumber2, true);\r\n // 小数点相加\r\n const decimalNumberSum = largeIntNumberAdd(newDecimalNumber1, newDecimalNumber2, true);\r\n // 组合整数部分和小数部分\r\n const decimalLength = decimalNumberSum.length;\r\n // 如果小数相加进位\r\n if (decimalLength > newDecimalNumber1.length && decimalLength > newDecimalNumber2.length) {\r\n return [removeInvalidZero(largeIntNumberAdd(integerSum, \"1\")), removeInvalidZero(decimalNumberSum.slice(1), true)]\r\n .filter((v: string) => v)\r\n .join(\".\");\r\n }\r\n return [removeInvalidZero(integerSum), removeInvalidZero(decimalNumberSum, true)].filter((v: string) => v).join(\".\");\r\n}\r\n\r\n/**\r\n * 比较两个大数的大小,仅正整数有效\r\n */\r\nfunction compareLargeIntegerNumber(num1: string, num2: string): 1 | -1 | 0 {\r\n const number1 = removeInvalidZero(num1);\r\n const number2 = removeInvalidZero(num2);\r\n if (number1.length === number2.length) {\r\n for (let i = 0, len = number1.length; i < len; i++) {\r\n if (number1[i] > number2[i]) return 1;\r\n if (number1[i] < number2[i]) return -1;\r\n }\r\n return 0;\r\n }\r\n return number1.length > number2.length ? 1 : -1;\r\n}\r\n\r\nfunction compareLargeDecimalNumber(num1: string, num2: string) {\r\n const number1 = num1 && num1 !== \"0\" ? num1.replace(/0+$/, \"\") : \"0\";\r\n const number2 = num2 && num2 !== \"0\" ? num2.replace(/0+$/, \"\") : \"0\";\r\n const maxLength = Math.max(number1.length, number2.length);\r\n for (let i = 0, len = maxLength; i < len; i++) {\r\n if ((number1[i] || 0) > (number2[i] || 0)) return 1;\r\n if ((number1[i] || 0) < (number2[i] || 0)) return -1;\r\n }\r\n return 0;\r\n}\r\n\r\n/**\r\n * 2e3 => 2000\r\n * 0.2e3 => 200\r\n */\r\nexport function formatENumber(num: string): string {\r\n const [num1, num2] = num.split(\"e\");\r\n if (!num2) return num;\r\n const [integer, initDecimal = \"\"] = num.split(\".\");\r\n const zeroCount = Number(num2);\r\n const [decimal] = initDecimal.split(\"e\");\r\n if (zeroCount > decimal.length) {\r\n const multipleZero = fillZero(zeroCount - decimal.length);\r\n return num1.replace(/(^0+|\\.)/g, \"\") + multipleZero;\r\n }\r\n const n1 = integer.replace(/^0+/, \"\") + decimal.slice(0, zeroCount);\r\n const d2 = decimal.slice(zeroCount);\r\n return d2 ? [n1, d2].join(\".\") : n1;\r\n}\r\n\r\n/**\r\n * 比较两个大数的大小\r\n */\r\nexport function compareLargeNumber(num1: string, num2: string): 1 | -1 | 0 {\r\n const [integer1, decimal1] = formatENumber(num1).split(\".\");\r\n const [integer2, decimal2] = formatENumber(num2).split(\".\");\r\n const result = compareLargeIntegerNumber(integer1.replace(\"-\", \"\"), integer2.replace(\"-\", \"\"));\r\n const integer1IsNegative = integer1.includes(\"-\");\r\n const integer2IsNegative = integer2.includes(\"-\");\r\n if (integer1IsNegative && !integer2IsNegative) return -1;\r\n if (!integer1IsNegative && integer2IsNegative) return 1;\r\n if (integer1IsNegative && integer2IsNegative) {\r\n if (result === 0) return 0;\r\n return result > 0 ? -1 : 1;\r\n }\r\n if (result === 0) {\r\n return compareLargeDecimalNumber(decimal1, decimal2);\r\n }\r\n return result;\r\n}\r\n\r\n// 确认是否为无限大/小\r\nexport function isInfinity(num: number | string) {\r\n return [-Infinity, Infinity].includes(Number(num));\r\n}\r\n\r\n// 确认是否是大数\r\nexport function isSafeNumber(num: string | number) {\r\n return Number(num) < Number.MAX_SAFE_INTEGER && Number(num) > Number.MIN_SAFE_INTEGER;\r\n}\r\n\r\n/**\r\n * 比较两个数的大小\r\n */\r\nexport function compareNumber(num1: string | number, num2: string | number, largeNumber?: boolean) {\r\n const isSafeNumberCompare = isSafeNumber(num1) && isSafeNumber(num2) && !largeNumber;\r\n const isInfinityCompare = isInfinity(num1) || isInfinity(num2);\r\n if (isSafeNumberCompare || isInfinityCompare) {\r\n // 比较两个非大数或涉及无穷的大小\r\n if (Number(num1) === Number(num2)) return 0;\r\n return Number(num1) > Number(num2) ? 1 : -1;\r\n }\r\n // 比较两个大数的大小\r\n return compareLargeNumber(String(num1), String(num2));\r\n}\r\n\r\n/**\r\n * 大数减法,仅支持整数\r\n * @param num1 被减数\r\n * @param num2 减数\r\n * @param decimal 是否为小数位相减\r\n */\r\nexport function largeIntegerNumberSubtract(\r\n num1: string,\r\n num2: string,\r\n p?: { decimal?: boolean; stayZero?: boolean }\r\n): string {\r\n if (num1 === num2) return \"0\";\r\n const { decimal, stayZero } = p || {};\r\n const number1 = removeInvalidZero(num1);\r\n const number2 = removeInvalidZero(num2);\r\n const isFirstLarger = compareLargeIntegerNumber(number1, number2) > 0;\r\n const maxNumber = isFirstLarger ? number1 : number2;\r\n const minNumber = isFirstLarger ? number2 : number1;\r\n const newNumber: string[] = [];\r\n // step 存储借位信息\r\n const step = [];\r\n const diff = decimal ? 0 : maxNumber.length - minNumber.length;\r\n const len = decimal ? minNumber.length : maxNumber.length;\r\n for (let i = len - 1; i >= 0; i--) {\r\n const minIndex = i - diff;\r\n // 第一个数,减第二个数,减借位\r\n let count = Number(maxNumber[i]) - (Number(minNumber[minIndex]) || 0) - (step[i] || 0);\r\n if (count < 0) {\r\n step[i - 1] = 1;\r\n count += 10;\r\n }\r\n newNumber.unshift(String(count));\r\n }\r\n if (decimal) {\r\n return newNumber.concat(maxNumber.slice(len, maxNumber.length)).join(\"\");\r\n }\r\n let finalNumber = newNumber.join(\"\");\r\n if (!stayZero) {\r\n finalNumber = finalNumber.replace(/^0+/, \"\");\r\n }\r\n return removeInvalidZero(isFirstLarger ? finalNumber : `-${finalNumber}`);\r\n}\r\n\r\n/**\r\n * 大数减法,支持整数和小数(无精度问题)\r\n * @param num1 被减数\r\n * @param num2 减数\r\n * @param decimal 是否为小数位相减\r\n */\r\nexport function largePositiveNumberSubtract(num1: string, num2: string): string {\r\n if (num1 === num2) return \"0\";\r\n const isFirstLarger = compareNumber(num1, num2, true) > 0;\r\n const maxNumber = isFirstLarger ? num1 : num2;\r\n const minNumber = isFirstLarger ? num2 : num1;\r\n // 整数部分和小数部分分开处理\r\n const [intNumber1, decimalNumber1 = \"0\"] = maxNumber.split(\".\");\r\n const [intNumber2, decimalNumber2 = \"0\"] = minNumber.split(\".\");\r\n let integerNumber = largeIntegerNumberSubtract(intNumber1, intNumber2);\r\n // 如果不存在小数,则直接返回整数相加结果\r\n if (decimalNumber1 === \"0\" && decimalNumber2 === \"0\") {\r\n return isFirstLarger ? integerNumber : `-${integerNumber}`;\r\n }\r\n // 小数点相减\r\n let decimalNumber = \"\";\r\n let addOneNumber = decimalNumber1;\r\n // 第一个数字的小数位数比第二个少,需补足 0\r\n if (decimalNumber1.length < decimalNumber2.length) {\r\n addOneNumber = `${decimalNumber1}${fillZero(decimalNumber2.length - decimalNumber1.length)}`;\r\n }\r\n // 第一个小数位更小,是否需要借位\r\n if (compareLargeDecimalNumber(addOneNumber, decimalNumber2) >= 0) {\r\n decimalNumber = largeIntegerNumberSubtract(addOneNumber, decimalNumber2, { decimal: true });\r\n } else {\r\n if (decimalNumber1.length < decimalNumber2.length || decimalNumber1 === \"0\") {\r\n decimalNumber = largeIntegerNumberSubtract(`1${addOneNumber}`, decimalNumber2, { stayZero: true });\r\n decimalNumber = fillZero(decimalNumber2.length - decimalNumber.length) + decimalNumber;\r\n } else {\r\n decimalNumber = largeIntegerNumberSubtract(decimalNumber1, decimalNumber2, { decimal: true });\r\n }\r\n integerNumber = largeIntegerNumberSubtract(integerNumber, \"1\");\r\n }\r\n const finalNumber = decimalNumber ? [integerNumber, decimalNumber].join(\".\") : integerNumber;\r\n return isFirstLarger ? finalNumber : `-${finalNumber}`;\r\n}\r\n\r\n/**\r\n * -0.6 - 0.8 => -(0.6 + 0.8)\r\n * -0.6 - (-0.8) => 0.8 - 0.6\r\n * 0.6 - (-0.8) => 0.6 + 0.8\r\n * 0.6 - 0.8 => 0.6 - 0.8\r\n */\r\nexport function largeNumberSubtract(num1: string, num2: string): string {\r\n const isFirstNegative = num1[0] === \"-\";\r\n const isSecondNegative = num2[0] === \"-\";\r\n if (isFirstNegative && !isSecondNegative) {\r\n const r = largePositiveNumberAdd(num1.slice(1), num2);\r\n return `-${r}`;\r\n }\r\n if (isFirstNegative && isSecondNegative) {\r\n return largePositiveNumberSubtract(num2.slice(1), num1.slice(1));\r\n }\r\n if (!isFirstNegative && isSecondNegative) {\r\n return largePositiveNumberAdd(num1, num2.slice(1));\r\n }\r\n return largePositiveNumberSubtract(num1, num2);\r\n}\r\n\r\n/**\r\n * -0.6 + 0.8 => 0.8 - 0.6\r\n * -0.6 + (-0.8) => -(0.6 + 0.8)\r\n * 0.6 + (-0.8) => 0.6 - 0.8\r\n * 0.6 + 0.8 => 0.6 + 0.8\r\n */\r\nexport function largeNumberAdd(num1: string, num2: string): string {\r\n const isFirstNegative = num1[0] === \"-\";\r\n const isSecondNegative = num2[0] === \"-\";\r\n if (isFirstNegative && !isSecondNegative) {\r\n return largePositiveNumberSubtract(num2, num1.slice(1));\r\n }\r\n if (isFirstNegative && isSecondNegative) {\r\n const r = largePositiveNumberAdd(num2.slice(1), num1.slice(1));\r\n return `-${r}`;\r\n }\r\n if (!isFirstNegative && isSecondNegative) {\r\n return largePositiveNumberSubtract(num1, num2.slice(1));\r\n }\r\n return largePositiveNumberAdd(num1, num2);\r\n}\r\n\r\n/**\r\n * 格式化小数,并且可以控制小数点后的位数和是否进行四舍五入。\r\n *\r\n * @param {number} num - 要格式化的数字。\r\n * @param {number} places - 小数点后的位数。\r\n * @param {boolean} rounding - 是否进行四舍五入。\r\n * @returns {string} 格式化后的数字字符串。\r\n */\r\nexport function formatDecimal(num: number, places: number, enableRound: boolean = true) {\r\n // 开启四舍五入 直接用 toFixed\r\n if (enableRound) {\r\n return num.toFixed(places);\r\n }\r\n\r\n const [integer, decimal] = num.toString().split(\".\");\r\n // 保留 0 位小数\r\n if (places === 0) {\r\n return integer;\r\n }\r\n // 补足小数位数\r\n if (decimal) {\r\n let decimalNumber = decimal.slice(0, places);\r\n if (decimal.length < places) {\r\n decimalNumber += fillZero(places - decimal.length);\r\n }\r\n return [integer, decimalNumber].join(\".\");\r\n }\r\n\r\n return [integer, fillZero(places)].join(\".\");\r\n}\r\n\r\nexport function decimalPlacesToFixedNum(num: number, decimalPlaces: InputNumberDecimalPlaces) {\r\n if (isObject(decimalPlaces)) {\r\n return formatDecimal(num, decimalPlaces.places, decimalPlaces.enableRound ?? true);\r\n }\r\n return formatDecimal(num, decimalPlaces, true);\r\n}\r\n\r\n/**\r\n * 大数保留 N 位小数(没有精度问题)\r\n * @param {String} number 大数(只能使用字符串表示)\r\n * @param {Number} decimalPlaces 保留的小数位数\r\n * @param {Boolean} largeNumber 是否为大数\r\n */\r\nexport function largeNumberToFixed(\r\n number: string | number,\r\n decimalPlaces: InputNumberDecimalPlaces = 0,\r\n largeNumber: boolean = true\r\n): string {\r\n if (Number.isNaN(Number(number))) return \"\";\r\n if (!largeNumber) {\r\n return decimalPlacesToFixedNum(Number(number), decimalPlaces);\r\n }\r\n const places = isObject(decimalPlaces) ? decimalPlaces.places : decimalPlaces;\r\n const enableRound = isObject(decimalPlaces) ? decimalPlaces.enableRound ?? true : true;\r\n if (!isString(number)) return String(number);\r\n\r\n let [num1, num2] = number.split(\".\");\r\n // 如果不存在小数点,则补足位数\r\n if (!num2) {\r\n return places > 0 && enableRound ? [number, fillZero(places)].join(\".\") : number;\r\n }\r\n // 存在小数点,保留 0 位小数,灵活配置四舍五入\r\n if (places === 0) {\r\n return enableRound && Number(num2[0]) >= 5 ? largePositiveNumberAdd(num1, \"1\") : num1;\r\n }\r\n // 存在小数点,保留 > 0 位小数,灵活配置四舍五入\r\n let decimalNumber = num2.slice(0, places);\r\n if (num2.length < places) {\r\n decimalNumber += fillZero(places - num2.length);\r\n } else if (enableRound) {\r\n // 用于判断是否处于 1.08 这种小数为0开始的边界情况\r\n const leadZeroNum = decimalNumber.match(/^0+/)?.[0].length;\r\n // 用于判断是否处于 0.99/1.99 等需要往非0位进位的场景\r\n const leadNineNum = decimalNumber.match(/^9+/);\r\n // 决定是否需要四舍五入\r\n const needAdded = Number(num2[places]) >= 5;\r\n\r\n // 四舍五入后的结果\r\n decimalNumber = needAdded ? largePositiveNumberAdd(decimalNumber, \"1\") : decimalNumber;\r\n\r\n // 边界场景1(1.08 这种小数为0开始的边界情况):计算后有误判的可能,如008 +1 误判为 8+1,需要手动补 0\r\n if (leadZeroNum && needAdded && leadZeroNum + decimalNumber.length >= places) {\r\n decimalNumber = `${fillZero(places - decimalNumber.length)}${decimalNumber}`;\r\n }\r\n // 边界场景2:(0.99 这种可能进位的边界情况):计算后有误判的可能,如995 四舍五入后需进位\r\n if (leadNineNum && decimalNumber.length > places) {\r\n num1 = (Number(num1) + 1).toString();\r\n decimalNumber = fillZero(places);\r\n }\r\n }\r\n return [num1, decimalNumber].join(\".\");\r\n}\r\n","export const numberToPercent = (number: number) => `${number * 100}%`;\n\n/**\n * 精确加法函数,避免 JavaScript 浮点误差\n * - 浮点运算会导致类似 0.1 + 0.2 = 0.30000000000000004 的问题\n * - 该函数通过将数字放大为整数进行运算,再缩小回原精度,得到更精确的结果\n */\nexport function accAdd(num1: number, num2: number): number {\n // 获取每个数字的小数位长度\n const precision1 = (num1.toString().split(\".\")[1] || \"\").length;\n const precision2 = (num2.toString().split(\".\")[1] || \"\").length;\n\n // 取两者中较大的小数位长度,用于计算放大倍数\n const scale = 10 ** Math.max(precision1, precision2);\n\n // 将小数放大为整数\n const sum = Math.round(num1 * scale) + Math.round(num2 * scale);\n\n // 缩放回原精度,得到最终结果\n return sum / scale;\n}\n","/**\r\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\r\n * */\r\n\r\nimport { TdSliderProps } from \"./type\";\r\n\r\nexport const sliderDefaultProps: TdSliderProps = {\r\n inputNumberProps: false,\r\n label: true,\r\n layout: \"horizontal\",\r\n max: 100,\r\n min: 0,\r\n range: false,\r\n step: 1\r\n};\r\n","import React, { useMemo, useRef } from \"react\";\nimport classNames from \"classnames\";\nimport { isFunction, isNumber, isString } from \"lodash-es\";\n\nimport { largeNumberToFixed } from \"@tendaui/utils/js/input-number/large-number\";\nimport { accAdd, numberToPercent } from \"../utils/number\";\nimport useConfig from \"../hooks/useConfig\";\nimport useControlled from \"../hooks/useControlled\";\nimport useDefaultProps from \"../hooks/useDefaultProps\";\nimport InputNumber from \"../input-number/InputNumber\";\nimport { sliderDefaultProps } from \"./defaultProps\";\nimport SliderHandleButton from \"./SliderHandleButton\";\n\nimport type { StyledProps, TNode } from \"../common\";\nimport type { MouseCallback } from \"../hooks/useMouseEvent\";\nimport type { SliderValue, TdSliderProps } from \"./type\";\n\nexport interface SliderProps<T extends SliderValue = SliderValue> extends TdSliderProps<T>, StyledProps {}\n\nconst LEFT_NODE = 0;\nconst RIGHT_NODE = 1;\ntype SliderHandleNode = typeof LEFT_NODE | typeof RIGHT_NODE;\n\nconst Slider = React.forwardRef<HTMLDivElement, SliderProps>((originalProps, ref) => {\n const { classPrefix, direction } = useConfig();\n const props = useDefaultProps(originalProps, sliderDefaultProps);\n const {\n disabled,\n inputNumberProps,\n label,\n layout,\n marks,\n max,\n min,\n range,\n step,\n tooltipProps,\n className,\n style,\n onChange\n } = props;\n\n const sliderRef = useRef<HTMLDivElement>(null);\n const [value, internalOnChange] = useControlled(props, \"value\", onChange);\n const isVertical = layout === \"vertical\";\n const isRtl = direction === \"rtl\";\n\n const renderValue = Array.isArray(value) ? value : [min, Math.min(max, value)];\n const start = (renderValue[LEFT_NODE] - min) / (max - min);\n const width = (renderValue[RIGHT_NODE] - renderValue[LEFT_NODE]) / (max - min);\n const end = start + width;\n\n const precision = useMemo(() => {\n if (!Number.isInteger(step)) return step.toString().split(\".\")[1].length;\n return undefined;\n }, [step]);\n\n const dots = useMemo<{ value: number; label: TNode; position: number }[]>(() => {\n // 当 marks 为数字数组\n if (Array.isArray(marks)) {\n if (marks.some((mark) => typeof mark !== \"number\")) {\n console.warn('The props \"marks\" only support number!');\n return [];\n }\n return marks.map((mark) => ({ value: mark, position: (mark - min) / (max - min), label: mark }));\n }\n // 当 marks 为对象\n if (marks && typeof marks === \"object\") {\n const result = [];\n Object.keys(marks).forEach((key) => {\n const numberKey = Number(key);\n if (typeof numberKey !== \"number\") {\n console.warn('The props \"marks\" key only support number!');\n } else {\n result.push({\n value: numberKey,\n label: marks[numberKey],\n position: (numberKey - min) / (max - min)\n });\n }\n });\n return result;\n }\n return [];\n }, [max, min, marks]);\n\n const allDots = useMemo(() => {\n // 默认\n const result = [];\n for (let i = min; i <= max; i = accAdd(i, step)) {\n result.push({\n value: i,\n position: (i - min) / (max - min)\n });\n }\n return result;\n }, [max, min, step]);\n\n const startDirection = isVertical ? \"bottom\" : isRtl ? \"right\" : \"left\";\n const stepDirection = isVertical ? \"top\" : isRtl ? \"right\" : \"left\";\n const sizeKey = isVertical ? \"height\" : \"width\";\n const renderDots = isVertical ? dots.map((item) => ({ ...item, position: 1 - item.position })) : dots;\n\n const handleInputChange = (newValue: number, nodeIndex: SliderHandleNode) => {\n const safeValue = Number(newValue.toFixed(32));\n let resultValue = Math.max(Math.min(max, safeValue), min);\n if (precision) resultValue = Number(largeNumberToFixed(String(resultValue), precision));\n // 判断是否出现左值大于右值\n if (nodeIndex === LEFT_NODE && value && safeValue > value[RIGHT_NODE]) resultValue = value[RIGHT_NODE];\n // 判断是否出现右值大于左值\n if (nodeIndex === RIGHT_NODE && value && safeValue < value[LEFT_NODE]) resultValue = value[LEFT_NODE];\n if (Array.isArray(value)) {\n const arrValue = value.slice();\n arrValue[nodeIndex] = resultValue;\n internalOnChange(arrValue);\n } else {\n internalOnChange(resultValue);\n }\n };\n\n const createInput = (nodeIndex: SliderHandleNode) => {\n const inputProps = typeof inputNumberProps === \"object\" ? inputNumberProps : {};\n const currentValue = renderValue[nodeIndex];\n\n return (\n <InputNumber\n value={currentValue}\n onChange={(v: number) => {\n if (typeof v !== \"undefined\") {\n handleInputChange(Number(v), nodeIndex);\n }\n }}\n className={classNames(`${classPrefix}-slider-input`, { \"is-vertical\": isVertical })}\n disabled={disabled}\n theme=\"column\"\n min={min}\n max={max}\n {...inputProps}\n />\n );\n };\n\n const nearbyValueChange = (value: number) => {\n const buttonBias =\n Math.abs(value - renderValue[LEFT_NODE]) > Math.abs(value - renderValue[RIGHT_NODE]) ? RIGHT_NODE : LEFT_NODE;\n handleInputChange(value, buttonBias);\n };\n\n const setPosition = (position: number, nodeIndex?: SliderHandleNode) => {\n let index = 0;\n let minDistance = 1;\n for (let i = 0; i < allDots.length; i++) {\n const diff = Math.abs(allDots[i].position - position);\n if (minDistance > diff) {\n index = i;\n minDistance = diff;\n }\n }\n const { value } = allDots[index];\n if (nodeIndex === undefined && range) {\n nearbyValueChange(value);\n } else {\n handleInputChange(value, nodeIndex);\n }\n };\n\n const onSliderChange = (event: MouseCallback, nodeIndex?: SliderHandleNode) => {\n if (disabled || !sliderRef.current) return;\n\n const clientKey = isVertical ? \"clientY\" : \"clientX\";\n const sliderPositionInfo = sliderRef.current.getBoundingClientRect();\n let position = 0;\n if (isVertical) {\n const sliderOffset = sliderPositionInfo[startDirection];\n position = ((event[clientKey] - sliderOffset) / sliderPositionInfo[sizeKey]) * -1;\n } else if (isRtl) {\n position = (sliderPositionInfo.right - event[clientKey]) / sliderPositionInfo.width;\n } else {\n position = (event[clientKey] - sliderPositionInfo.left) / sliderPositionInfo.width;\n }\n setPosition(position, nodeIndex);\n };\n\n const handleClickMarks = (event: React.MouseEvent, value: number) => {\n event.stopPropagation();\n nearbyValueChange(value);\n };\n\n const createHandleButton = (nodeIndex: SliderHandleNode, style: React.CSSProperties) => {\n const currentValue = renderValue[nodeIndex];\n // 模板替换\n let tipLabel: React.ReactNode = currentValue;\n\n if (isFunction(label)) {\n tipLabel = label({ value: currentValue, position: nodeIndex === LEFT_NODE ? \"start\" : \"end\" });\n }\n if (isString(label)) {\n tipLabel = label.replace(/\\$\\{value\\}/g, currentValue.toString());\n }\n if (isNumber(tipLabel) && precision) tipLabel = largeNumberToFixed(String(tipLabel), precision);\n\n return (\n <SliderHandleButton\n toolTipProps={{ content: tipLabel, ...tooltipProps }}\n hideTips={label === false}\n classPrefix={classPrefix}\n style={style}\n onChange={(e) => onSliderChange(e, nodeIndex)}\n />\n );\n };\n\n return (\n <div\n style={{ ...style }}\n className={classNames(`${classPrefix}-slider__container`, { \"is-vertical\": isVertical })}\n ref={ref}\n >\n <div\n ref={sliderRef}\n className={classNames(`${classPrefix}-slider`, className, {\n [`${classPrefix}-is-disabled`]: disabled,\n [`${classPrefix}-slider--vertical`]: isVertical,\n [`${classPrefix}-slider--with-input`]: inputNumberProps\n })}\n onClick={onSliderChange}\n >\n <div className={classNames(`${classPrefix}-slider__rail`)}>\n <div\n style={{ [startDirection]: numberToPercent(start), [sizeKey]: numberToPercent(width) }}\n className={classNames(`${classPrefix}-slider__track`)}\n ></div>\n {range ? createHandleButton(LEFT_NODE, { [startDirection]: numberToPercent(start) }) : null}\n {createHandleButton(RIGHT_NODE, { [startDirection]: numberToPercent(end) })}\n <div className={`${classPrefix}-slider__stops`}>\n {renderDots.map(({ position, value }) => {\n if (position === 0 || position === 1) {\n return null;\n }\n return (\n <div\n key={value}\n style={{ [stepDirection]: numberToPercent(position) }}\n className={classNames(`${classPrefix}-slider__stop`)}\n ></div>\n );\n })}\n </div>\n <div className={classNames(`${classPrefix}-slider__mark`)}>\n {renderDots.map(({ position, value, label }) => (\n <div\n key={value}\n onClick={(event) => handleClickMarks(event, value)}\n style={{ [stepDirection]: numberToPercent(position) }}\n className={classNames(`${classPrefix}-slider__mark-text`)}\n >\n {label}\n </div>\n ))}\n </div>\n </div>\n </div>\n {inputNumberProps ? (\n <div className={classNames(`${classPrefix}-slider__input-container`, { \"is-vertical\": isVertical })}>\n {range && createInput(LEFT_NODE)}\n {range && <div className={`${classPrefix}-slider__center-line`}></div>}\n {createInput(RIGHT_NODE)}\n </div>\n ) : null}\n </div>\n );\n});\n\nSlider.displayName = \"Slider\";\n\nexport default Slider as <T extends SliderValue = SliderValue>(\n props: SliderProps<T> & React.RefAttributes<HTMLDivElement>\n) => React.ReactElement;\n"],"names":["logSet","Set","log","warn","componentName","message","console","concat","warnOnce","msgContent","has","add","error","errorOnce","info","fillZero","length","Array","fill","join","isInputNumber","num","isNumber","Number","isNaN","r","test","eCount","negativeCount","dotCount","i","len","removeInvalidZero","decimal","arguments","undefined","indexOf","replace","largeIntNumberAdd","num1","num2","number1","number2","isFirstLarger","maxNumber","minNumber","newNumber","step","diff","minIndex","count","unshift","String","slice","largePositiveNumberAdd","_num1$split","split","_num1$split2","_slicedToArray","_num1$split2$","intNumber1","_num1$split2$2","decimalNumber1","_num2$split","_num2$split2","_num2$split2$","intNumber2","_num2$split2$2","decimalNumber2","integerSum","newDecimalNumber1","newDecimalNumber2","decimalNumberSum","decimalLength","filter","v","compareLargeIntegerNumber","compareLargeDecimalNumber","maxLength","Math","max","formatENumber","_num$split","_num$split2","_num$split3","_num$split4","integer","_num$split4$","initDecimal","zeroCount","_initDecimal$split","_initDecimal$split2","multipleZero","n1","d2","compareLargeNumber","_formatENumber$split","_formatENumber$split2","integer1","decimal1","_formatENumber$split3","_formatENumber$split4","integer2","decimal2","result","integer1IsNegative","includes","integer2IsNegative","isInfinity","Infinity","isSafeNumber","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","compareNumber","largeNumber","isSafeNumberCompare","isInfinityCompare","largeIntegerNumberSubtract","p","_ref","stayZero","finalNumber","largePositiveNumberSubtract","_maxNumber$split","_maxNumber$split2","_maxNumber$split2$","_minNumber$split","_minNumber$split2","_minNumber$split2$","integerNumber","decimalNumber","addOneNumber","largeNumberSubtract","isFirstNegative","isSecondNegative","largeNumberAdd","formatDecimal","places","enableRound","toFixed","_num$toString$split","toString","_num$toString$split2","decimalPlacesToFixedNum","decimalPlaces","isObject","_decimalPlaces$enable","largeNumberToFixed","number","_decimalPlaces$enable2","isString","_number$split","_number$split2","_decimalNumber$match","leadZeroNum","match","leadNineNum","needAdded","numberToPercent","accAdd","precision1","precision2","scale","pow","sum","round","sliderDefaultProps","inputNumberProps","label","layout","min","range","LEFT_NODE","RIGHT_NODE","Slider","React","forwardRef","originalProps","ref","_useConfig","useConfig","classPrefix","direction","props","useDefaultProps","disabled","marks","tooltipProps","className","style","onChange","sliderRef","useRef","_useControlled","useControlled","_useControlled2","value","internalOnChange","isVertical","isRtl","renderValue","isArray","start","width","end","precision","useMemo","isInteger","dots","some","mark","map","position","_typeof","Object","keys","forEach","key","numberKey","push","allDots","startDirection","stepDirection","sizeKey","renderDots","item","_objectSpread","handleInputChange","newValue","nodeIndex","safeValue","resultValue","arrValue","createInput","inputProps","currentValue","createElement","InputNumber","classNames","theme","nearbyValueChange","buttonBias","abs","setPosition","index","minDistance","onSliderChange","event","current","clientKey","sliderPositionInfo","getBoundingClientRect","sliderOffset","right","left","handleClickMarks","stopPropagation","createHandleButton","tipLabel","isFunction","SliderHandleButton","toolTipProps","content","hideTips","e","_defineProperty","onClick","_ref2","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Slider.js","sources":["../../../utils/js/log/log.ts","../../../utils/js/input-number/large-number.ts","../../../components/utils/number.ts","../../../components/slider/defaultProps.ts","../../../components/slider/Slider.tsx"],"sourcesContent":["import { Log } from \"./types\";\n\nconst logSet = new Set();\n\nconst log: Log = {\n warn(componentName, message): void {\n console.warn(`TDesign ${componentName} Warn: ${message}`);\n },\n warnOnce(componentName, message): void {\n const msgContent = `TDesign ${componentName} Warn: ${message}`;\n if (logSet.has(msgContent)) return;\n logSet.add(msgContent);\n console.warn(msgContent);\n },\n error(componentName, message): void {\n console.error(`TDesign ${componentName} Error: ${message}`);\n },\n errorOnce(componentName, message): void {\n const msgContent = `TDesign ${componentName} Error: ${message}`;\n if (logSet.has(msgContent)) return;\n logSet.add(msgContent);\n console.error(msgContent);\n },\n info(componentName, message): void {\n console.info(`TDesign ${componentName} Info: ${message}`);\n }\n};\n\nexport default log;\n","import { isString, isNumber, isObject } from \"lodash-es\";\nimport log from \"../log/log\";\n\nexport type InputNumberDecimalPlaces = number | { enableRound: boolean; places: number };\n\nexport function fillZero(length: number) {\n return new Array(length).fill(0).join(\"\");\n}\n\n/**\n * 大数,是否是一个数字,数字字符包括 - . e [0-9]\n */\nexport function isInputNumber(num: number | string): boolean {\n if (!num) return true;\n if (isNumber(num)) return !Number.isNaN(num);\n const r = /^[0-9|e|E|-]+\\.*[0-9|e|E|-]*$/.test(num);\n if (!r) return false;\n // only allow one [.e] and two [-]\n let eCount = 0;\n let negativeCount = 0;\n let dotCount = 0;\n for (let i = 0, len = num.length; i < len; i++) {\n if (num[i] === \".\") {\n dotCount += 1;\n if (dotCount > 1) return false;\n }\n if (/(e|E)+/.test(num[i])) {\n eCount += 1;\n if (eCount > 1) return false;\n }\n if (num[i] === \"-\") {\n negativeCount += 1;\n if (negativeCount > 2) return false;\n }\n }\n return true;\n}\n\n// 整数,去除前面的无效 0(本身是 0 除外);小数去除末尾的无效 0\nexport function removeInvalidZero(num: string, decimal = false) {\n if (num.indexOf(\".\") !== -1) {\n log.error(\"InputNumber\", \"num is not a integer number.\");\n return num;\n }\n if (!num || (num === \"0\" && decimal)) return \"\";\n if (num === \"0\") return num;\n return (decimal ? num.replace(/0+$/, \"\") : num.replace(/^0+/, \"\")) || \"0\";\n}\n\n/**\n * 大数加法,仅支持正整数(没有精度问题)\n * @param num1 被加数\n * @param num2 加数\n */\nexport function largeIntNumberAdd(num1: string, num2: string, decimal = false): string {\n const number1 = removeInvalidZero(num1, decimal);\n const number2 = removeInvalidZero(num2, decimal);\n const isFirstLarger = number1.length > number2.length;\n const maxNumber = isFirstLarger ? number1 : number2;\n const minNumber = isFirstLarger ? number2 : number1;\n const newNumber: string[] = [];\n const step = [];\n const diff = decimal ? 0 : maxNumber.length - minNumber.length;\n const len = decimal ? minNumber.length : maxNumber.length;\n for (let i = len - 1; i >= 0; i--) {\n const minIndex = i - diff;\n // 第一个数,加第二个数,加进位\n const count = Number(maxNumber[i]) + (Number(minNumber[minIndex]) || 0) + (step[i] || 0);\n if (count >= 10) {\n step[i - 1] = 1;\n }\n newNumber.unshift(String(count % 10));\n }\n // 999 + 1 = 1000,之类的进位\n if (step[-1]) {\n newNumber.unshift(\"1\");\n }\n if (decimal) {\n return newNumber.concat(maxNumber.slice(len, maxNumber.length)).join(\"\");\n }\n return newNumber.join(\"\");\n}\n\n/**\n * 大数加法,支持小数和整数(没有精度问题)\n * @param num1 被加数\n * @param num2 加数\n */\nexport function largePositiveNumberAdd(num1: string, num2: string): string {\n const [intNumber1 = \"0\", decimalNumber1 = \"0\"] = num1.split(\".\");\n const [intNumber2 = \"0\", decimalNumber2 = \"0\"] = num2.split(\".\");\n const integerSum = largeIntNumberAdd(intNumber1, intNumber2);\n // 如果不存在小数,则直接返回整数相加结果\n if (decimalNumber1 === \"0\" && decimalNumber2 === \"0\") return integerSum;\n const newDecimalNumber1 = removeInvalidZero(decimalNumber1, true);\n const newDecimalNumber2 = removeInvalidZero(decimalNumber2, true);\n // 小数点相加\n const decimalNumberSum = largeIntNumberAdd(newDecimalNumber1, newDecimalNumber2, true);\n // 组合整数部分和小数部分\n const decimalLength = decimalNumberSum.length;\n // 如果小数相加进位\n if (decimalLength > newDecimalNumber1.length && decimalLength > newDecimalNumber2.length) {\n return [removeInvalidZero(largeIntNumberAdd(integerSum, \"1\")), removeInvalidZero(decimalNumberSum.slice(1), true)]\n .filter((v: string) => v)\n .join(\".\");\n }\n return [removeInvalidZero(integerSum), removeInvalidZero(decimalNumberSum, true)].filter((v: string) => v).join(\".\");\n}\n\n/**\n * 比较两个大数的大小,仅正整数有效\n */\nfunction compareLargeIntegerNumber(num1: string, num2: string): 1 | -1 | 0 {\n const number1 = removeInvalidZero(num1);\n const number2 = removeInvalidZero(num2);\n if (number1.length === number2.length) {\n for (let i = 0, len = number1.length; i < len; i++) {\n if (number1[i] > number2[i]) return 1;\n if (number1[i] < number2[i]) return -1;\n }\n return 0;\n }\n return number1.length > number2.length ? 1 : -1;\n}\n\nfunction compareLargeDecimalNumber(num1: string, num2: string) {\n const number1 = num1 && num1 !== \"0\" ? num1.replace(/0+$/, \"\") : \"0\";\n const number2 = num2 && num2 !== \"0\" ? num2.replace(/0+$/, \"\") : \"0\";\n const maxLength = Math.max(number1.length, number2.length);\n for (let i = 0, len = maxLength; i < len; i++) {\n if ((number1[i] || 0) > (number2[i] || 0)) return 1;\n if ((number1[i] || 0) < (number2[i] || 0)) return -1;\n }\n return 0;\n}\n\n/**\n * 2e3 => 2000\n * 0.2e3 => 200\n */\nexport function formatENumber(num: string): string {\n const [num1, num2] = num.split(\"e\");\n if (!num2) return num;\n const [integer, initDecimal = \"\"] = num.split(\".\");\n const zeroCount = Number(num2);\n const [decimal] = initDecimal.split(\"e\");\n if (zeroCount > decimal.length) {\n const multipleZero = fillZero(zeroCount - decimal.length);\n return num1.replace(/(^0+|\\.)/g, \"\") + multipleZero;\n }\n const n1 = integer.replace(/^0+/, \"\") + decimal.slice(0, zeroCount);\n const d2 = decimal.slice(zeroCount);\n return d2 ? [n1, d2].join(\".\") : n1;\n}\n\n/**\n * 比较两个大数的大小\n */\nexport function compareLargeNumber(num1: string, num2: string): 1 | -1 | 0 {\n const [integer1, decimal1] = formatENumber(num1).split(\".\");\n const [integer2, decimal2] = formatENumber(num2).split(\".\");\n const result = compareLargeIntegerNumber(integer1.replace(\"-\", \"\"), integer2.replace(\"-\", \"\"));\n const integer1IsNegative = integer1.includes(\"-\");\n const integer2IsNegative = integer2.includes(\"-\");\n if (integer1IsNegative && !integer2IsNegative) return -1;\n if (!integer1IsNegative && integer2IsNegative) return 1;\n if (integer1IsNegative && integer2IsNegative) {\n if (result === 0) return 0;\n return result > 0 ? -1 : 1;\n }\n if (result === 0) {\n return compareLargeDecimalNumber(decimal1, decimal2);\n }\n return result;\n}\n\n// 确认是否为无限大/小\nexport function isInfinity(num: number | string) {\n return [-Infinity, Infinity].includes(Number(num));\n}\n\n// 确认是否是大数\nexport function isSafeNumber(num: string | number) {\n return Number(num) < Number.MAX_SAFE_INTEGER && Number(num) > Number.MIN_SAFE_INTEGER;\n}\n\n/**\n * 比较两个数的大小\n */\nexport function compareNumber(num1: string | number, num2: string | number, largeNumber?: boolean) {\n const isSafeNumberCompare = isSafeNumber(num1) && isSafeNumber(num2) && !largeNumber;\n const isInfinityCompare = isInfinity(num1) || isInfinity(num2);\n if (isSafeNumberCompare || isInfinityCompare) {\n // 比较两个非大数或涉及无穷的大小\n if (Number(num1) === Number(num2)) return 0;\n return Number(num1) > Number(num2) ? 1 : -1;\n }\n // 比较两个大数的大小\n return compareLargeNumber(String(num1), String(num2));\n}\n\n/**\n * 大数减法,仅支持整数\n * @param num1 被减数\n * @param num2 减数\n * @param decimal 是否为小数位相减\n */\nexport function largeIntegerNumberSubtract(\n num1: string,\n num2: string,\n p?: { decimal?: boolean; stayZero?: boolean }\n): string {\n if (num1 === num2) return \"0\";\n const { decimal, stayZero } = p || {};\n const number1 = removeInvalidZero(num1);\n const number2 = removeInvalidZero(num2);\n const isFirstLarger = compareLargeIntegerNumber(number1, number2) > 0;\n const maxNumber = isFirstLarger ? number1 : number2;\n const minNumber = isFirstLarger ? number2 : number1;\n const newNumber: string[] = [];\n // step 存储借位信息\n const step = [];\n const diff = decimal ? 0 : maxNumber.length - minNumber.length;\n const len = decimal ? minNumber.length : maxNumber.length;\n for (let i = len - 1; i >= 0; i--) {\n const minIndex = i - diff;\n // 第一个数,减第二个数,减借位\n let count = Number(maxNumber[i]) - (Number(minNumber[minIndex]) || 0) - (step[i] || 0);\n if (count < 0) {\n step[i - 1] = 1;\n count += 10;\n }\n newNumber.unshift(String(count));\n }\n if (decimal) {\n return newNumber.concat(maxNumber.slice(len, maxNumber.length)).join(\"\");\n }\n let finalNumber = newNumber.join(\"\");\n if (!stayZero) {\n finalNumber = finalNumber.replace(/^0+/, \"\");\n }\n return removeInvalidZero(isFirstLarger ? finalNumber : `-${finalNumber}`);\n}\n\n/**\n * 大数减法,支持整数和小数(无精度问题)\n * @param num1 被减数\n * @param num2 减数\n * @param decimal 是否为小数位相减\n */\nexport function largePositiveNumberSubtract(num1: string, num2: string): string {\n if (num1 === num2) return \"0\";\n const isFirstLarger = compareNumber(num1, num2, true) > 0;\n const maxNumber = isFirstLarger ? num1 : num2;\n const minNumber = isFirstLarger ? num2 : num1;\n // 整数部分和小数部分分开处理\n const [intNumber1, decimalNumber1 = \"0\"] = maxNumber.split(\".\");\n const [intNumber2, decimalNumber2 = \"0\"] = minNumber.split(\".\");\n let integerNumber = largeIntegerNumberSubtract(intNumber1, intNumber2);\n // 如果不存在小数,则直接返回整数相加结果\n if (decimalNumber1 === \"0\" && decimalNumber2 === \"0\") {\n return isFirstLarger ? integerNumber : `-${integerNumber}`;\n }\n // 小数点相减\n let decimalNumber = \"\";\n let addOneNumber = decimalNumber1;\n // 第一个数字的小数位数比第二个少,需补足 0\n if (decimalNumber1.length < decimalNumber2.length) {\n addOneNumber = `${decimalNumber1}${fillZero(decimalNumber2.length - decimalNumber1.length)}`;\n }\n // 第一个小数位更小,是否需要借位\n if (compareLargeDecimalNumber(addOneNumber, decimalNumber2) >= 0) {\n decimalNumber = largeIntegerNumberSubtract(addOneNumber, decimalNumber2, { decimal: true });\n } else {\n if (decimalNumber1.length < decimalNumber2.length || decimalNumber1 === \"0\") {\n decimalNumber = largeIntegerNumberSubtract(`1${addOneNumber}`, decimalNumber2, { stayZero: true });\n decimalNumber = fillZero(decimalNumber2.length - decimalNumber.length) + decimalNumber;\n } else {\n decimalNumber = largeIntegerNumberSubtract(decimalNumber1, decimalNumber2, { decimal: true });\n }\n integerNumber = largeIntegerNumberSubtract(integerNumber, \"1\");\n }\n const finalNumber = decimalNumber ? [integerNumber, decimalNumber].join(\".\") : integerNumber;\n return isFirstLarger ? finalNumber : `-${finalNumber}`;\n}\n\n/**\n * -0.6 - 0.8 => -(0.6 + 0.8)\n * -0.6 - (-0.8) => 0.8 - 0.6\n * 0.6 - (-0.8) => 0.6 + 0.8\n * 0.6 - 0.8 => 0.6 - 0.8\n */\nexport function largeNumberSubtract(num1: string, num2: string): string {\n const isFirstNegative = num1[0] === \"-\";\n const isSecondNegative = num2[0] === \"-\";\n if (isFirstNegative && !isSecondNegative) {\n const r = largePositiveNumberAdd(num1.slice(1), num2);\n return `-${r}`;\n }\n if (isFirstNegative && isSecondNegative) {\n return largePositiveNumberSubtract(num2.slice(1), num1.slice(1));\n }\n if (!isFirstNegative && isSecondNegative) {\n return largePositiveNumberAdd(num1, num2.slice(1));\n }\n return largePositiveNumberSubtract(num1, num2);\n}\n\n/**\n * -0.6 + 0.8 => 0.8 - 0.6\n * -0.6 + (-0.8) => -(0.6 + 0.8)\n * 0.6 + (-0.8) => 0.6 - 0.8\n * 0.6 + 0.8 => 0.6 + 0.8\n */\nexport function largeNumberAdd(num1: string, num2: string): string {\n const isFirstNegative = num1[0] === \"-\";\n const isSecondNegative = num2[0] === \"-\";\n if (isFirstNegative && !isSecondNegative) {\n return largePositiveNumberSubtract(num2, num1.slice(1));\n }\n if (isFirstNegative && isSecondNegative) {\n const r = largePositiveNumberAdd(num2.slice(1), num1.slice(1));\n return `-${r}`;\n }\n if (!isFirstNegative && isSecondNegative) {\n return largePositiveNumberSubtract(num1, num2.slice(1));\n }\n return largePositiveNumberAdd(num1, num2);\n}\n\n/**\n * 格式化小数,并且可以控制小数点后的位数和是否进行四舍五入。\n *\n * @param {number} num - 要格式化的数字。\n * @param {number} places - 小数点后的位数。\n * @param {boolean} rounding - 是否进行四舍五入。\n * @returns {string} 格式化后的数字字符串。\n */\nexport function formatDecimal(num: number, places: number, enableRound: boolean = true) {\n // 开启四舍五入 直接用 toFixed\n if (enableRound) {\n return num.toFixed(places);\n }\n\n const [integer, decimal] = num.toString().split(\".\");\n // 保留 0 位小数\n if (places === 0) {\n return integer;\n }\n // 补足小数位数\n if (decimal) {\n let decimalNumber = decimal.slice(0, places);\n if (decimal.length < places) {\n decimalNumber += fillZero(places - decimal.length);\n }\n return [integer, decimalNumber].join(\".\");\n }\n\n return [integer, fillZero(places)].join(\".\");\n}\n\nexport function decimalPlacesToFixedNum(num: number, decimalPlaces: InputNumberDecimalPlaces) {\n if (isObject(decimalPlaces)) {\n return formatDecimal(num, decimalPlaces.places, decimalPlaces.enableRound ?? true);\n }\n return formatDecimal(num, decimalPlaces, true);\n}\n\n/**\n * 大数保留 N 位小数(没有精度问题)\n * @param {String} number 大数(只能使用字符串表示)\n * @param {Number} decimalPlaces 保留的小数位数\n * @param {Boolean} largeNumber 是否为大数\n */\nexport function largeNumberToFixed(\n number: string | number,\n decimalPlaces: InputNumberDecimalPlaces = 0,\n largeNumber: boolean = true\n): string {\n if (Number.isNaN(Number(number))) return \"\";\n if (!largeNumber) {\n return decimalPlacesToFixedNum(Number(number), decimalPlaces);\n }\n const places = isObject(decimalPlaces) ? decimalPlaces.places : decimalPlaces;\n const enableRound = isObject(decimalPlaces) ? decimalPlaces.enableRound ?? true : true;\n if (!isString(number)) return String(number);\n\n let [num1, num2] = number.split(\".\");\n // 如果不存在小数点,则补足位数\n if (!num2) {\n return places > 0 && enableRound ? [number, fillZero(places)].join(\".\") : number;\n }\n // 存在小数点,保留 0 位小数,灵活配置四舍五入\n if (places === 0) {\n return enableRound && Number(num2[0]) >= 5 ? largePositiveNumberAdd(num1, \"1\") : num1;\n }\n // 存在小数点,保留 > 0 位小数,灵活配置四舍五入\n let decimalNumber = num2.slice(0, places);\n if (num2.length < places) {\n decimalNumber += fillZero(places - num2.length);\n } else if (enableRound) {\n // 用于判断是否处于 1.08 这种小数为0开始的边界情况\n const leadZeroNum = decimalNumber.match(/^0+/)?.[0].length;\n // 用于判断是否处于 0.99/1.99 等需要往非0位进位的场景\n const leadNineNum = decimalNumber.match(/^9+/);\n // 决定是否需要四舍五入\n const needAdded = Number(num2[places]) >= 5;\n\n // 四舍五入后的结果\n decimalNumber = needAdded ? largePositiveNumberAdd(decimalNumber, \"1\") : decimalNumber;\n\n // 边界场景1(1.08 这种小数为0开始的边界情况):计算后有误判的可能,如008 +1 误判为 8+1,需要手动补 0\n if (leadZeroNum && needAdded && leadZeroNum + decimalNumber.length >= places) {\n decimalNumber = `${fillZero(places - decimalNumber.length)}${decimalNumber}`;\n }\n // 边界场景2:(0.99 这种可能进位的边界情况):计算后有误判的可能,如995 四舍五入后需进位\n if (leadNineNum && decimalNumber.length > places) {\n num1 = (Number(num1) + 1).toString();\n decimalNumber = fillZero(places);\n }\n }\n return [num1, decimalNumber].join(\".\");\n}\n","export const numberToPercent = (number: number) => `${number * 100}%`;\n\n/**\n * 精确加法函数,避免 JavaScript 浮点误差\n * - 浮点运算会导致类似 0.1 + 0.2 = 0.30000000000000004 的问题\n * - 该函数通过将数字放大为整数进行运算,再缩小回原精度,得到更精确的结果\n */\nexport function accAdd(num1: number, num2: number): number {\n // 获取每个数字的小数位长度\n const precision1 = (num1.toString().split(\".\")[1] || \"\").length;\n const precision2 = (num2.toString().split(\".\")[1] || \"\").length;\n\n // 取两者中较大的小数位长度,用于计算放大倍数\n const scale = 10 ** Math.max(precision1, precision2);\n\n // 将小数放大为整数\n const sum = Math.round(num1 * scale) + Math.round(num2 * scale);\n\n // 缩放回原精度,得到最终结果\n return sum / scale;\n}\n","/**\n * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC\n * */\n\nimport { TdSliderProps } from \"./type\";\n\nexport const sliderDefaultProps: TdSliderProps = {\n inputNumberProps: false,\n label: true,\n layout: \"horizontal\",\n max: 100,\n min: 0,\n range: false,\n step: 1\n};\n","import React, { useMemo, useRef } from \"react\";\nimport classNames from \"classnames\";\nimport { isFunction, isNumber, isString } from \"lodash-es\";\n\nimport { largeNumberToFixed } from \"@tendaui/utils/js/input-number/large-number\";\nimport { accAdd, numberToPercent } from \"../utils/number\";\nimport useConfig from \"../hooks/useConfig\";\nimport useControlled from \"../hooks/useControlled\";\nimport useDefaultProps from \"../hooks/useDefaultProps\";\nimport InputNumber from \"../input-number/InputNumber\";\nimport { sliderDefaultProps } from \"./defaultProps\";\nimport SliderHandleButton from \"./SliderHandleButton\";\n\nimport type { StyledProps, TNode } from \"../common\";\nimport type { MouseCallback } from \"../hooks/useMouseEvent\";\nimport type { SliderValue, TdSliderProps } from \"./type\";\n\nexport interface SliderProps<T extends SliderValue = SliderValue> extends TdSliderProps<T>, StyledProps {}\n\nconst LEFT_NODE = 0;\nconst RIGHT_NODE = 1;\ntype SliderHandleNode = typeof LEFT_NODE | typeof RIGHT_NODE;\n\nconst Slider = React.forwardRef<HTMLDivElement, SliderProps>((originalProps, ref) => {\n const { classPrefix, direction } = useConfig();\n const props = useDefaultProps(originalProps, sliderDefaultProps);\n const {\n disabled,\n inputNumberProps,\n label,\n layout,\n marks,\n max,\n min,\n range,\n step,\n tooltipProps,\n className,\n style,\n onChange\n } = props;\n\n const sliderRef = useRef<HTMLDivElement>(null);\n const [value, internalOnChange] = useControlled(props, \"value\", onChange);\n const isVertical = layout === \"vertical\";\n const isRtl = direction === \"rtl\";\n\n const renderValue = Array.isArray(value) ? value : [min, Math.min(max, value)];\n const start = (renderValue[LEFT_NODE] - min) / (max - min);\n const width = (renderValue[RIGHT_NODE] - renderValue[LEFT_NODE]) / (max - min);\n const end = start + width;\n\n const precision = useMemo(() => {\n if (!Number.isInteger(step)) return step.toString().split(\".\")[1].length;\n return undefined;\n }, [step]);\n\n const dots = useMemo<{ value: number; label: TNode; position: number }[]>(() => {\n // 当 marks 为数字数组\n if (Array.isArray(marks)) {\n if (marks.some((mark) => typeof mark !== \"number\")) {\n console.warn('The props \"marks\" only support number!');\n return [];\n }\n return marks.map((mark) => ({ value: mark, position: (mark - min) / (max - min), label: mark }));\n }\n // 当 marks 为对象\n if (marks && typeof marks === \"object\") {\n const result = [];\n Object.keys(marks).forEach((key) => {\n const numberKey = Number(key);\n if (typeof numberKey !== \"number\") {\n console.warn('The props \"marks\" key only support number!');\n } else {\n result.push({\n value: numberKey,\n label: marks[numberKey],\n position: (numberKey - min) / (max - min)\n });\n }\n });\n return result;\n }\n return [];\n }, [max, min, marks]);\n\n const allDots = useMemo(() => {\n // 默认\n const result = [];\n for (let i = min; i <= max; i = accAdd(i, step)) {\n result.push({\n value: i,\n position: (i - min) / (max - min)\n });\n }\n return result;\n }, [max, min, step]);\n\n const startDirection = isVertical ? \"bottom\" : isRtl ? \"right\" : \"left\";\n const stepDirection = isVertical ? \"top\" : isRtl ? \"right\" : \"left\";\n const sizeKey = isVertical ? \"height\" : \"width\";\n const renderDots = isVertical ? dots.map((item) => ({ ...item, position: 1 - item.position })) : dots;\n\n const handleInputChange = (newValue: number, nodeIndex: SliderHandleNode) => {\n const safeValue = Number(newValue.toFixed(32));\n let resultValue = Math.max(Math.min(max, safeValue), min);\n if (precision) resultValue = Number(largeNumberToFixed(String(resultValue), precision));\n // 判断是否出现左值大于右值\n if (nodeIndex === LEFT_NODE && value && safeValue > value[RIGHT_NODE]) resultValue = value[RIGHT_NODE];\n // 判断是否出现右值大于左值\n if (nodeIndex === RIGHT_NODE && value && safeValue < value[LEFT_NODE]) resultValue = value[LEFT_NODE];\n if (Array.isArray(value)) {\n const arrValue = value.slice();\n arrValue[nodeIndex] = resultValue;\n internalOnChange(arrValue);\n } else {\n internalOnChange(resultValue);\n }\n };\n\n const createInput = (nodeIndex: SliderHandleNode) => {\n const inputProps = typeof inputNumberProps === \"object\" ? inputNumberProps : {};\n const currentValue = renderValue[nodeIndex];\n\n return (\n <InputNumber\n value={currentValue}\n onChange={(v: number) => {\n if (typeof v !== \"undefined\") {\n handleInputChange(Number(v), nodeIndex);\n }\n }}\n className={classNames(`${classPrefix}-slider-input`, { \"is-vertical\": isVertical })}\n disabled={disabled}\n theme=\"column\"\n min={min}\n max={max}\n {...inputProps}\n />\n );\n };\n\n const nearbyValueChange = (value: number) => {\n const buttonBias =\n Math.abs(value - renderValue[LEFT_NODE]) > Math.abs(value - renderValue[RIGHT_NODE]) ? RIGHT_NODE : LEFT_NODE;\n handleInputChange(value, buttonBias);\n };\n\n const setPosition = (position: number, nodeIndex?: SliderHandleNode) => {\n let index = 0;\n let minDistance = 1;\n for (let i = 0; i < allDots.length; i++) {\n const diff = Math.abs(allDots[i].position - position);\n if (minDistance > diff) {\n index = i;\n minDistance = diff;\n }\n }\n const { value } = allDots[index];\n if (nodeIndex === undefined && range) {\n nearbyValueChange(value);\n } else {\n handleInputChange(value, nodeIndex);\n }\n };\n\n const onSliderChange = (event: MouseCallback, nodeIndex?: SliderHandleNode) => {\n if (disabled || !sliderRef.current) return;\n\n const clientKey = isVertical ? \"clientY\" : \"clientX\";\n const sliderPositionInfo = sliderRef.current.getBoundingClientRect();\n let position = 0;\n if (isVertical) {\n const sliderOffset = sliderPositionInfo[startDirection];\n position = ((event[clientKey] - sliderOffset) / sliderPositionInfo[sizeKey]) * -1;\n } else if (isRtl) {\n position = (sliderPositionInfo.right - event[clientKey]) / sliderPositionInfo.width;\n } else {\n position = (event[clientKey] - sliderPositionInfo.left) / sliderPositionInfo.width;\n }\n setPosition(position, nodeIndex);\n };\n\n const handleClickMarks = (event: React.MouseEvent, value: number) => {\n event.stopPropagation();\n nearbyValueChange(value);\n };\n\n const createHandleButton = (nodeIndex: SliderHandleNode, style: React.CSSProperties) => {\n const currentValue = renderValue[nodeIndex];\n // 模板替换\n let tipLabel: React.ReactNode = currentValue;\n\n if (isFunction(label)) {\n tipLabel = label({ value: currentValue, position: nodeIndex === LEFT_NODE ? \"start\" : \"end\" });\n }\n if (isString(label)) {\n tipLabel = label.replace(/\\$\\{value\\}/g, currentValue.toString());\n }\n if (isNumber(tipLabel) && precision) tipLabel = largeNumberToFixed(String(tipLabel), precision);\n\n return (\n <SliderHandleButton\n toolTipProps={{ content: tipLabel, ...tooltipProps }}\n hideTips={label === false}\n classPrefix={classPrefix}\n style={style}\n onChange={(e) => onSliderChange(e, nodeIndex)}\n />\n );\n };\n\n return (\n <div\n style={{ ...style }}\n className={classNames(`${classPrefix}-slider__container`, { \"is-vertical\": isVertical })}\n ref={ref}\n >\n <div\n ref={sliderRef}\n className={classNames(`${classPrefix}-slider`, className, {\n [`${classPrefix}-is-disabled`]: disabled,\n [`${classPrefix}-slider--vertical`]: isVertical,\n [`${classPrefix}-slider--with-input`]: inputNumberProps\n })}\n onClick={onSliderChange}\n >\n <div className={classNames(`${classPrefix}-slider__rail`)}>\n <div\n style={{ [startDirection]: numberToPercent(start), [sizeKey]: numberToPercent(width) }}\n className={classNames(`${classPrefix}-slider__track`)}\n ></div>\n {range ? createHandleButton(LEFT_NODE, { [startDirection]: numberToPercent(start) }) : null}\n {createHandleButton(RIGHT_NODE, { [startDirection]: numberToPercent(end) })}\n <div className={`${classPrefix}-slider__stops`}>\n {renderDots.map(({ position, value }) => {\n if (position === 0 || position === 1) {\n return null;\n }\n return (\n <div\n key={value}\n style={{ [stepDirection]: numberToPercent(position) }}\n className={classNames(`${classPrefix}-slider__stop`)}\n ></div>\n );\n })}\n </div>\n <div className={classNames(`${classPrefix}-slider__mark`)}>\n {renderDots.map(({ position, value, label }) => (\n <div\n key={value}\n onClick={(event) => handleClickMarks(event, value)}\n style={{ [stepDirection]: numberToPercent(position) }}\n className={classNames(`${classPrefix}-slider__mark-text`)}\n >\n {label}\n </div>\n ))}\n </div>\n </div>\n </div>\n {inputNumberProps ? (\n <div className={classNames(`${classPrefix}-slider__input-container`, { \"is-vertical\": isVertical })}>\n {range && createInput(LEFT_NODE)}\n {range && <div className={`${classPrefix}-slider__center-line`}></div>}\n {createInput(RIGHT_NODE)}\n </div>\n ) : null}\n </div>\n );\n});\n\nSlider.displayName = \"Slider\";\n\nexport default Slider as <T extends SliderValue = SliderValue>(\n props: SliderProps<T> & React.RefAttributes<HTMLDivElement>\n) => React.ReactElement;\n"],"names":["logSet","Set","log","warn","componentName","message","console","concat","warnOnce","msgContent","has","add","error","errorOnce","info","fillZero","length","Array","fill","join","isInputNumber","num","isNumber","Number","isNaN","r","test","eCount","negativeCount","dotCount","i","len","removeInvalidZero","decimal","arguments","undefined","indexOf","replace","largeIntNumberAdd","num1","num2","number1","number2","isFirstLarger","maxNumber","minNumber","newNumber","step","diff","minIndex","count","unshift","String","slice","largePositiveNumberAdd","_num1$split","split","_num1$split2","_slicedToArray","_num1$split2$","intNumber1","_num1$split2$2","decimalNumber1","_num2$split","_num2$split2","_num2$split2$","intNumber2","_num2$split2$2","decimalNumber2","integerSum","newDecimalNumber1","newDecimalNumber2","decimalNumberSum","decimalLength","filter","v","compareLargeIntegerNumber","compareLargeDecimalNumber","maxLength","Math","max","formatENumber","_num$split","_num$split2","_num$split3","_num$split4","integer","_num$split4$","initDecimal","zeroCount","_initDecimal$split","_initDecimal$split2","multipleZero","n1","d2","compareLargeNumber","_formatENumber$split","_formatENumber$split2","integer1","decimal1","_formatENumber$split3","_formatENumber$split4","integer2","decimal2","result","integer1IsNegative","includes","integer2IsNegative","isInfinity","Infinity","isSafeNumber","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","compareNumber","largeNumber","isSafeNumberCompare","isInfinityCompare","largeIntegerNumberSubtract","p","_ref","stayZero","finalNumber","largePositiveNumberSubtract","_maxNumber$split","_maxNumber$split2","_maxNumber$split2$","_minNumber$split","_minNumber$split2","_minNumber$split2$","integerNumber","decimalNumber","addOneNumber","largeNumberSubtract","isFirstNegative","isSecondNegative","largeNumberAdd","formatDecimal","places","enableRound","toFixed","_num$toString$split","toString","_num$toString$split2","decimalPlacesToFixedNum","decimalPlaces","isObject","_decimalPlaces$enable","largeNumberToFixed","number","_decimalPlaces$enable2","isString","_number$split","_number$split2","_decimalNumber$match","leadZeroNum","match","leadNineNum","needAdded","numberToPercent","accAdd","precision1","precision2","scale","pow","sum","round","sliderDefaultProps","inputNumberProps","label","layout","min","range","LEFT_NODE","RIGHT_NODE","Slider","React","forwardRef","originalProps","ref","_useConfig","useConfig","classPrefix","direction","props","useDefaultProps","disabled","marks","tooltipProps","className","style","onChange","sliderRef","useRef","_useControlled","useControlled","_useControlled2","value","internalOnChange","isVertical","isRtl","renderValue","isArray","start","width","end","precision","useMemo","isInteger","dots","some","mark","map","position","_typeof","Object","keys","forEach","key","numberKey","push","allDots","startDirection","stepDirection","sizeKey","renderDots","item","_objectSpread","handleInputChange","newValue","nodeIndex","safeValue","resultValue","arrValue","createInput","inputProps","currentValue","createElement","InputNumber","classNames","theme","nearbyValueChange","buttonBias","abs","setPosition","index","minDistance","onSliderChange","event","current","clientKey","sliderPositionInfo","getBoundingClientRect","sliderOffset","right","left","handleClickMarks","stopPropagation","createHandleButton","tipLabel","isFunction","SliderHandleButton","toolTipProps","content","hideTips","e","_defineProperty","onClick","_ref2","displayName"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SliderHandleButton.js","sources":["../../../components/slider/SliderHandleButton.tsx"],"sourcesContent":["import React, { useRef, useState } from \"react\";\r\nimport classNames from \"classnames\";\r\nimport useMouseEvent, { type MouseCallback } from \"../hooks/useMouseEvent\";\r\n\r\ninterface SliderHandleButtonProps {\r\n onChange: (event: MouseCallback) => void;\r\n classPrefix: string;\r\n style: React.CSSProperties;\r\n hideTips: boolean;\r\n toolTipProps?: any;\r\n}\r\n\r\nconst SliderHandleButton: React.FC<SliderHandleButtonProps> = ({ onChange, style, classPrefix }) => {\r\n const sliderNodeRef = useRef<HTMLDivElement>(null);\r\n const [popupVisible, setPopupVisible] = useState(false);\r\n\r\n const { isMoving } = useMouseEvent(sliderNodeRef, {\r\n onEnter() {\r\n setPopupVisible(true);\r\n },\r\n onDown: () => {\r\n setPopupVisible(true);\r\n },\r\n onMove: (e) => {\r\n setPopupVisible(true);\r\n onChange(e);\r\n },\r\n onLeave: () => {\r\n setPopupVisible(false);\r\n },\r\n onUp: (e) => {\r\n setPopupVisible(false);\r\n onChange(e);\r\n }\r\n });\r\n\r\n const handleNode = (\r\n <div ref={sliderNodeRef} style={style} className={`${classPrefix}-slider__button-wrapper`}>\r\n <div\r\n className={classNames(`${classPrefix}-slider__button`, {\r\n [`${classPrefix}-slider__button--dragging`]: isMoving\r\n })}\r\n ></div>\r\n </div>\r\n );\r\n\r\n return handleNode;\r\n};\r\n\r\nexport default SliderHandleButton;\r\n"],"names":["SliderHandleButton","onChange","_ref","style","classPrefix","sliderNodeRef","useRef","_useState","useState","_useState2","_slicedToArray","popupVisible","setPopupVisible","_useMouseEvent","useMouseEvent","onEnter","onDown","onMove","e","onLeave","onUp","isMoving","handleNode","ref","className","concat","React","createElement","classNames","_defineProperty"],"mappings":";;;;;;;AAYA,IAAMA,qBAAwD,SAAxDA,yBAA8F;AAAA,EAAA,IAAnCC,QAAA,GAAAC,IAAA,CAAAD,QAAA;IAAUE,KAAA,GAAAD,IAAA,CAAAC,KAAA;IAAOC,mBAAAA;AAChF,EAAA,IAAMC,aAAA,GAAgBC,OAAuB,IAAI,CAAA;AACjD,EAAA,IAAAC,SAAA,GAAwCC,SAAS,KAAK,CAAA;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA/CI,IAAAA,YAAA,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAcG,IAAAA,eAAe,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEpC,EAAA,IAAAI,cAAA,GAAqBC,aAAA,CAAcT,aAAA,EAAe;MAChDU,OAAA,EAAA,SAAAA,OAAAA,GAAU;QACRH,eAAA,CAAgB,IAAI,CAAA;MACtB,CAAA;AACAI,MAAAA,QAAQ,SAARA,SAAc;QACZJ,eAAA,CAAgB,IAAI,CAAA;MACtB,CAAA;AACAK,MAAAA,MAAA,EAAQ,SAARA,MAAAA,CAASC,CAAA,EAAM;QACbN,eAAA,CAAgB,IAAI,CAAA;QACpBX,QAAA,CAASiB,CAAC,CAAA;MACZ,CAAA;AACAC,MAAAA,SAAS,SAATA,UAAe;QACbP,eAAA,CAAgB,KAAK,CAAA;MACvB,CAAA;AACAQ,MAAAA,IAAA,EAAM,SAANA,IAAAA,CAAOF,CAAA,EAAM;QACXN,eAAA,CAAgB,KAAK,CAAA;QACrBX,QAAA,CAASiB,CAAC,CAAA;AACZ,MAAA;AACF,KAAC,CAAA;IAlBOG,QAAA,GAAAR,cAAA,CAAAQ,QAAA;EAoBR,IAAMC,UAAA,+CACH,KAAA,EAAA;AAAIC,IAAAA,GAAA,EAAKlB;AAAeF,IAAAA,KAAA,EAAAA,KAAA;IAAcqB,SAAA,EAAA,EAAA,CAAAC,MAAA,CAAcrB,WAAW,EAAA,yBAAA;AAAA,GAAA,iBAC9DsB,cAAA,CAAAC,aAAA,CAAC,KAAA,EAAA;AACCH,IAAAA,SAAA,EAAWI,UAAA,CAAA,EAAA,CAAAH,MAAA,CAAcrB,WAAW,EAAA,iBAAA,CAAA,EAAAyB,eAAA,CAAA,EAAA,EAAA,EAAA,CAAAJ,MAAA,CAC9BrB,WAAW,EAAA,2BAAA,CAAA,EAA8BiB,QAAA,CAC9C;AAAA,GACF,CACH,CAAA;AAGF,EAAA,OAAOC,UAAA;AACT;;;;"}
1
+ {"version":3,"file":"SliderHandleButton.js","sources":["../../../components/slider/SliderHandleButton.tsx"],"sourcesContent":["import React, { useRef, useState } from \"react\";\nimport classNames from \"classnames\";\nimport useMouseEvent, { type MouseCallback } from \"../hooks/useMouseEvent\";\n\ninterface SliderHandleButtonProps {\n onChange: (event: MouseCallback) => void;\n classPrefix: string;\n style: React.CSSProperties;\n hideTips: boolean;\n toolTipProps?: any;\n}\n\nconst SliderHandleButton: React.FC<SliderHandleButtonProps> = ({ onChange, style, classPrefix }) => {\n const sliderNodeRef = useRef<HTMLDivElement>(null);\n const [popupVisible, setPopupVisible] = useState(false);\n\n const { isMoving } = useMouseEvent(sliderNodeRef, {\n onEnter() {\n setPopupVisible(true);\n },\n onDown: () => {\n setPopupVisible(true);\n },\n onMove: (e) => {\n setPopupVisible(true);\n onChange(e);\n },\n onLeave: () => {\n setPopupVisible(false);\n },\n onUp: (e) => {\n setPopupVisible(false);\n onChange(e);\n }\n });\n\n const handleNode = (\n <div ref={sliderNodeRef} style={style} className={`${classPrefix}-slider__button-wrapper`}>\n <div\n className={classNames(`${classPrefix}-slider__button`, {\n [`${classPrefix}-slider__button--dragging`]: isMoving\n })}\n ></div>\n </div>\n );\n\n return handleNode;\n};\n\nexport default SliderHandleButton;\n"],"names":["SliderHandleButton","onChange","_ref","style","classPrefix","sliderNodeRef","useRef","_useState","useState","_useState2","_slicedToArray","popupVisible","setPopupVisible","_useMouseEvent","useMouseEvent","onEnter","onDown","onMove","e","onLeave","onUp","isMoving","handleNode","ref","className","concat","React","createElement","classNames","_defineProperty"],"mappings":";;;;;;;AAYA,IAAMA,qBAAwD,SAAxDA,yBAA8F;AAAA,EAAA,IAAnCC,QAAA,GAAAC,IAAA,CAAAD,QAAA;IAAUE,KAAA,GAAAD,IAAA,CAAAC,KAAA;IAAOC,mBAAAA;AAChF,EAAA,IAAMC,aAAA,GAAgBC,OAAuB,IAAI,CAAA;AACjD,EAAA,IAAAC,SAAA,GAAwCC,SAAS,KAAK,CAAA;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA/CI,IAAAA,YAAA,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAcG,IAAAA,eAAe,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEpC,EAAA,IAAAI,cAAA,GAAqBC,aAAA,CAAcT,aAAA,EAAe;MAChDU,OAAA,EAAA,SAAAA,OAAAA,GAAU;QACRH,eAAA,CAAgB,IAAI,CAAA;MACtB,CAAA;AACAI,MAAAA,QAAQ,SAARA,SAAc;QACZJ,eAAA,CAAgB,IAAI,CAAA;MACtB,CAAA;AACAK,MAAAA,MAAA,EAAQ,SAARA,MAAAA,CAASC,CAAA,EAAM;QACbN,eAAA,CAAgB,IAAI,CAAA;QACpBX,QAAA,CAASiB,CAAC,CAAA;MACZ,CAAA;AACAC,MAAAA,SAAS,SAATA,UAAe;QACbP,eAAA,CAAgB,KAAK,CAAA;MACvB,CAAA;AACAQ,MAAAA,IAAA,EAAM,SAANA,IAAAA,CAAOF,CAAA,EAAM;QACXN,eAAA,CAAgB,KAAK,CAAA;QACrBX,QAAA,CAASiB,CAAC,CAAA;AACZ,MAAA;AACF,KAAC,CAAA;IAlBOG,QAAA,GAAAR,cAAA,CAAAQ,QAAA;EAoBR,IAAMC,UAAA,+CACH,KAAA,EAAA;AAAIC,IAAAA,GAAA,EAAKlB;AAAeF,IAAAA,KAAA,EAAAA,KAAA;IAAcqB,SAAA,EAAA,EAAA,CAAAC,MAAA,CAAcrB,WAAW,EAAA,yBAAA;AAAA,GAAA,iBAC9DsB,cAAA,CAAAC,aAAA,CAAC,KAAA,EAAA;AACCH,IAAAA,SAAA,EAAWI,UAAA,CAAA,EAAA,CAAAH,MAAA,CAAcrB,WAAW,EAAA,iBAAA,CAAA,EAAAyB,eAAA,CAAA,EAAA,EAAA,EAAA,CAAAJ,MAAA,CAC9BrB,WAAW,EAAA,2BAAA,CAAA,EAA8BiB,QAAA,CAC9C;AAAA,GACF,CACH,CAAA;AAGF,EAAA,OAAOC,UAAA;AACT;;;;"}
@@ -0,0 +1 @@
1
+ import "./index.css";
@@ -2,7 +2,13 @@ import React__default from 'react';
2
2
  import { Switch } from '@tendaui/react';
3
3
 
4
4
  var WithLabelExample = function WithLabelExample() {
5
- return /* @__PURE__ */React__default.createElement("div", null, /* @__PURE__ */React__default.createElement("div", {
5
+ return /* @__PURE__ */React__default.createElement("div", {
6
+ style: {
7
+ display: "flex",
8
+ flexDirection: "column",
9
+ gap: "12px"
10
+ }
11
+ }, /* @__PURE__ */React__default.createElement("div", {
6
12
  style: {
7
13
  display: "flex",
8
14
  alignItems: "center",
@@ -1 +1 @@
1
- {"version":3,"file":"with-label.js","sources":["../../../../components/switch/_example/with-label.tsx"],"sourcesContent":["import React from \"react\";\nimport { Switch } from \"@tendaui/react\";\n\nconst WithLabelExample = () => (\n <div>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n <Switch label={[\"开\", \"关\"]} defaultValue={true} />\n <span style={{ color: \"#666\" }}>数组形式</span>\n </div>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n <Switch label={[\"ON\", \"OFF\"]} defaultValue={false} />\n <span style={{ color: \"#666\" }}>英文标签</span>\n </div>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n <Switch label={[\"1\", \"0\"]} defaultValue={true} />\n <span style={{ color: \"#666\" }}>数字标签</span>\n </div>\n </div>\n);\n\nexport default WithLabelExample;\n"],"names":["WithLabelExample","React","createElement","style","display","alignItems","gap","Switch","label","defaultValue","color"],"mappings":";;;AAGA,IAAMA,gBAAA,GAAmB,SAAnBA,gBAAAA,GAAA;AAAA,EAAA,sBACJC,cAAA,CAAAC,aAAA,CAAC,KAAA,EAAA,IAAA,8CACE,KAAA,EAAA;AAAIC,IAAAA,KAAA,EAAO;AAAEC,MAAAA,OAAA,EAAS,MAAA;AAAQC,MAAAA,YAAY,QAAA;AAAUC,MAAAA,GAAA,EAAK;AAAM;AAAA,GAAA,iBAC9DL,cAAA,CAAAC,aAAA,CAACK;AAAOC,IAAAA,KAAA,EAAO,CAAC,QAAA,EAAK,QAAG,CAAA;AAAGC,IAAAA,YAAA,EAAc;GAAM,CAAA,iBAC/CR,cAAA,CAAAC,aAAA,CAAC;AAAKC,IAAAA,KAAA,EAAO;AAAEO,MAAAA,OAAO;AAAO;GAAA,EAAG,0BAAI,CACtC,CAAA,8CACC,KAAA,EAAA;AAAIP,IAAAA,KAAA,EAAO;AAAEC,MAAAA,OAAA,EAAS,MAAA;AAAQC,MAAAA,YAAY,QAAA;AAAUC,MAAAA,GAAA,EAAK;AAAM;AAAA,GAAA,iBAC9DL,cAAA,CAAAC,aAAA,CAACK,MAAA,EAAA;AAAOC,IAAAA,OAAO,CAAC,IAAA,EAAM,KAAK,CAAA;AAAGC,IAAAA,YAAA,EAAc;GAAO,CAAA,iBACnDR,cAAA,CAAAC,aAAA,CAAC;AAAKC,IAAAA,KAAA,EAAO;AAAEO,MAAAA,OAAO;AAAO;GAAA,EAAG,0BAAI,CACtC,CAAA,8CACC,KAAA,EAAA;AAAIP,IAAAA,KAAA,EAAO;AAAEC,MAAAA,OAAA,EAAS,MAAA;AAAQC,MAAAA,UAAA,EAAY;AAAUC,MAAAA,GAAA,EAAK;AAAM;oBAC9DL,cAAA,CAAAC,aAAA,CAACK,MAAA,EAAA;AAAOC,IAAAA,OAAO,CAAC,GAAA,EAAK,GAAG,CAAA;AAAGC,IAAAA,YAAA,EAAc;GAAM,CAAA,iBAC/CR,cAAA,CAAAC,aAAA,CAAC;AAAKC,IAAAA,KAAA,EAAO;AAAEO,MAAAA,OAAO;AAAO;AAAA,GAAA,EAAG,0BAAI,CACtC,CACF,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"with-label.js","sources":["../../../../components/switch/_example/with-label.tsx"],"sourcesContent":["import React from \"react\";\nimport { Switch } from \"@tendaui/react\";\n\nconst WithLabelExample = () => (\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: \"12px\" }}>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n <Switch label={[\"开\", \"关\"]} defaultValue={true} />\n <span style={{ color: \"#666\" }}>数组形式</span>\n </div>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n <Switch label={[\"ON\", \"OFF\"]} defaultValue={false} />\n <span style={{ color: \"#666\" }}>英文标签</span>\n </div>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n <Switch label={[\"1\", \"0\"]} defaultValue={true} />\n <span style={{ color: \"#666\" }}>数字标签</span>\n </div>\n </div>\n);\n\nexport default WithLabelExample;\n"],"names":["WithLabelExample","React","createElement","style","display","flexDirection","gap","alignItems","Switch","label","defaultValue","color"],"mappings":";;;AAGA,IAAMA,gBAAA,GAAmB,SAAnBA,gBAAAA,GAAA;AAAA,EAAA,sBACJC,cAAA,CAAAC,aAAA,CAAC,KAAA,EAAA;AAAIC,IAAAA,OAAO;AAAEC,MAAAA,OAAA,EAAS,MAAA;AAAQC,MAAAA,aAAA,EAAe,QAAA;AAAUC,MAAAA,GAAA,EAAK;AAAO;AAAA,GAAA,iBAClEL,cAAA,CAAAC,aAAA,CAAC,KAAA,EAAA;AAAIC,IAAAA,KAAA,EAAO;AAAEC,MAAAA,OAAA,EAAS;AAAQG,MAAAA,UAAA,EAAY,QAAA;AAAUD,MAAAA,GAAA,EAAK;AAAM;AAAA,GAAA,iBAC9DL,cAAA,CAAAC,aAAA,CAACM;AAAOC,IAAAA,KAAA,EAAO,CAAC,UAAK,QAAG,CAAA;AAAGC,IAAAA,cAAc;GAAM,CAAA,iBAC/CT,cAAA,CAAAC,aAAA,CAAC,MAAA,EAAA;AAAKC,IAAAA,KAAA,EAAO;AAAEQ,MAAAA,OAAO;AAAO;GAAA,EAAG,0BAAI,CACtC,CAAA,iBACAV,cAAA,CAAAC,aAAA,CAAC;AAAIC,IAAAA,KAAA,EAAO;AAAEC,MAAAA,OAAA,EAAS,MAAA;AAAQG,MAAAA,UAAA,EAAY,QAAA;AAAUD,MAAAA,KAAK;AAAM;AAAA,GAAA,8CAC7DE,MAAA,EAAA;AAAOC,IAAAA,KAAA,EAAO,CAAC,IAAA,EAAM,KAAK,CAAA;AAAGC,IAAAA,YAAA,EAAc;GAAO,CAAA,8CAClD,MAAA,EAAA;AAAKP,IAAAA,KAAA,EAAO;AAAEQ,MAAAA,KAAA,EAAO;AAAO;GAAA,EAAG,0BAAI,CACtC,CAAA,iBACAV,cAAA,CAAAC,aAAA,CAAC,KAAA,EAAA;AAAIC,IAAAA,KAAA,EAAO;AAAEC,MAAAA,SAAS,MAAA;AAAQG,MAAAA,UAAA,EAAY,QAAA;AAAUD,MAAAA,GAAA,EAAK;AAAM;AAAA,GAAA,8CAC7DE,MAAA,EAAA;AAAOC,IAAAA,KAAA,EAAO,CAAC,GAAA,EAAK,GAAG,CAAA;AAAGC,IAAAA,cAAc;GAAM,CAAA,iBAC/CT,cAAA,CAAAC,aAAA,CAAC,MAAA,EAAA;AAAKC,IAAAA,KAAA,EAAO;AAAEQ,MAAAA,OAAO;AAAO;AAAA,GAAA,EAAG,0BAAI,CACtC,CACF,CAAA;AAAA;;;;"}
@@ -0,0 +1 @@
1
+ import "./index.css";
@@ -0,0 +1 @@
1
+ import "./index.css";
@@ -0,0 +1 @@
1
+ import "./index.css";
@@ -0,0 +1 @@
1
+ import "./index.css";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../components/utils/log/log.ts"],"sourcesContent":["import { Log } from \"./types\";\r\n\r\nconst logSet = new Set();\r\n\r\nconst log: Log = {\r\n warn(componentName, message): void {\r\n console.warn(`TDesign ${componentName} Warn: ${message}`);\r\n },\r\n warnOnce(componentName, message): void {\r\n const msgContent = `TDesign ${componentName} Warn: ${message}`;\r\n if (logSet.has(msgContent)) return;\r\n logSet.add(msgContent);\r\n console.warn(msgContent);\r\n },\r\n error(componentName, message): void {\r\n console.error(`TDesign ${componentName} Error: ${message}`);\r\n },\r\n errorOnce(componentName, message): void {\r\n const msgContent = `TDesign ${componentName} Error: ${message}`;\r\n if (logSet.has(msgContent)) return;\r\n logSet.add(msgContent);\r\n console.error(msgContent);\r\n },\r\n info(componentName, message): void {\r\n console.info(`TDesign ${componentName} Info: ${message}`);\r\n }\r\n};\r\n\r\nexport default log;\r\n"],"names":["logSet","Set","log","warn","componentName","message","console","concat","warnOnce","msgContent","has","add","error","errorOnce","info"],"mappings":"AAEA,IAAMA,MAAA,sBAAaC,GAAA,EAAI;AAEvB,IAAMC,GAAA,GAAW;AACfC,EAAAA,IAAA,WAAAA,IAAAA,CAAKC,eAAeC,OAAA,EAAe;IACjCC,OAAA,CAAQH,IAAA,CAAA,UAAA,CAAAI,MAAA,CAAgBH,aAAa,EAAA,SAAA,CAAA,CAAAG,MAAA,CAAUF,OAAO,CAAE,CAAA;EAC1D,CAAA;AACAG,EAAAA,QAAA,WAAAA,QAAAA,CAASJ,eAAeC,OAAA,EAAe;IACrC,IAAMI,UAAA,cAAAF,MAAA,CAAwBH,aAAa,EAAA,SAAA,CAAA,CAAAG,MAAA,CAAUF,OAAO,CAAA;AAC5D,IAAA,IAAIL,MAAA,CAAOU,GAAA,CAAID,UAAU,CAAA,EAAG;AAC5BT,IAAAA,MAAA,CAAOW,IAAIF,UAAU,CAAA;AACrBH,IAAAA,OAAA,CAAQH,KAAKM,UAAU,CAAA;EACzB,CAAA;AACAG,EAAAA,KAAA,WAAAA,KAAAA,CAAMR,eAAeC,OAAA,EAAe;IAClCC,OAAA,CAAQM,KAAA,CAAA,UAAA,CAAAL,MAAA,CAAiBH,aAAa,EAAA,UAAA,CAAA,CAAAG,MAAA,CAAWF,OAAO,CAAE,CAAA;EAC5D,CAAA;AACAQ,EAAAA,SAAA,WAAAA,SAAAA,CAAUT,eAAeC,OAAA,EAAe;IACtC,IAAMI,UAAA,cAAAF,MAAA,CAAwBH,aAAa,EAAA,UAAA,CAAA,CAAAG,MAAA,CAAWF,OAAO,CAAA;AAC7D,IAAA,IAAIL,MAAA,CAAOU,GAAA,CAAID,UAAU,CAAA,EAAG;AAC5BT,IAAAA,MAAA,CAAOW,IAAIF,UAAU,CAAA;AACrBH,IAAAA,OAAA,CAAQM,MAAMH,UAAU,CAAA;EAC1B,CAAA;AACAK,EAAAA,IAAA,WAAAA,IAAAA,CAAKV,eAAeC,OAAA,EAAe;IACjCC,OAAA,CAAQQ,IAAA,CAAA,UAAA,CAAAP,MAAA,CAAgBH,aAAa,EAAA,SAAA,CAAA,CAAAG,MAAA,CAAUF,OAAO,CAAE,CAAA;AAC1D,EAAA;AACF;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../components/utils/log/log.ts"],"sourcesContent":["import { Log } from \"./types\";\n\nconst logSet = new Set();\n\nconst log: Log = {\n warn(componentName, message): void {\n console.warn(`TDesign ${componentName} Warn: ${message}`);\n },\n warnOnce(componentName, message): void {\n const msgContent = `TDesign ${componentName} Warn: ${message}`;\n if (logSet.has(msgContent)) return;\n logSet.add(msgContent);\n console.warn(msgContent);\n },\n error(componentName, message): void {\n console.error(`TDesign ${componentName} Error: ${message}`);\n },\n errorOnce(componentName, message): void {\n const msgContent = `TDesign ${componentName} Error: ${message}`;\n if (logSet.has(msgContent)) return;\n logSet.add(msgContent);\n console.error(msgContent);\n },\n info(componentName, message): void {\n console.info(`TDesign ${componentName} Info: ${message}`);\n }\n};\n\nexport default log;\n"],"names":["logSet","Set","log","warn","componentName","message","console","concat","warnOnce","msgContent","has","add","error","errorOnce","info"],"mappings":"AAEA,IAAMA,MAAA,sBAAaC,GAAA,EAAI;AAEvB,IAAMC,GAAA,GAAW;AACfC,EAAAA,IAAA,WAAAA,IAAAA,CAAKC,eAAeC,OAAA,EAAe;IACjCC,OAAA,CAAQH,IAAA,CAAA,UAAA,CAAAI,MAAA,CAAgBH,aAAa,EAAA,SAAA,CAAA,CAAAG,MAAA,CAAUF,OAAO,CAAE,CAAA;EAC1D,CAAA;AACAG,EAAAA,QAAA,WAAAA,QAAAA,CAASJ,eAAeC,OAAA,EAAe;IACrC,IAAMI,UAAA,cAAAF,MAAA,CAAwBH,aAAa,EAAA,SAAA,CAAA,CAAAG,MAAA,CAAUF,OAAO,CAAA;AAC5D,IAAA,IAAIL,MAAA,CAAOU,GAAA,CAAID,UAAU,CAAA,EAAG;AAC5BT,IAAAA,MAAA,CAAOW,IAAIF,UAAU,CAAA;AACrBH,IAAAA,OAAA,CAAQH,KAAKM,UAAU,CAAA;EACzB,CAAA;AACAG,EAAAA,KAAA,WAAAA,KAAAA,CAAMR,eAAeC,OAAA,EAAe;IAClCC,OAAA,CAAQM,KAAA,CAAA,UAAA,CAAAL,MAAA,CAAiBH,aAAa,EAAA,UAAA,CAAA,CAAAG,MAAA,CAAWF,OAAO,CAAE,CAAA;EAC5D,CAAA;AACAQ,EAAAA,SAAA,WAAAA,SAAAA,CAAUT,eAAeC,OAAA,EAAe;IACtC,IAAMI,UAAA,cAAAF,MAAA,CAAwBH,aAAa,EAAA,UAAA,CAAA,CAAAG,MAAA,CAAWF,OAAO,CAAA;AAC7D,IAAA,IAAIL,MAAA,CAAOU,GAAA,CAAID,UAAU,CAAA,EAAG;AAC5BT,IAAAA,MAAA,CAAOW,IAAIF,UAAU,CAAA;AACrBH,IAAAA,OAAA,CAAQM,MAAMH,UAAU,CAAA;EAC1B,CAAA;AACAK,EAAAA,IAAA,WAAAA,IAAAA,CAAKV,eAAeC,OAAA,EAAe;IACjCC,OAAA,CAAQQ,IAAA,CAAA,UAAA,CAAAP,MAAA,CAAgBH,aAAa,EAAA,SAAA,CAAA,CAAAG,MAAA,CAAUF,OAAO,CAAE,CAAA;AAC1D,EAAA;AACF;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tendaui/react",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "a react ui component library",
5
5
  "main": "es/index.js",
6
6
  "module": "es/index.js",
@@ -55,5 +55,5 @@
55
55
  "tslib": "~2.3.1",
56
56
  "validator": "~13.15.0"
57
57
  },
58
- "gitHead": "3c98b020d36c078d64e7fc4f418874e8ab567cb2"
58
+ "gitHead": "8fe7140af3fafc6ed9347e24fc68577c370d6571"
59
59
  }