{"ast":null,"code":"\"use client\";\n\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport useIsomorphicLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nfunction cuttable(node) {\n  const type = typeof node;\n  return type === 'string' || type === 'number';\n}\nfunction getNodesLen(nodeList) {\n  let totalLen = 0;\n  nodeList.forEach(node => {\n    if (cuttable(node)) {\n      totalLen += String(node).length;\n    } else {\n      totalLen += 1;\n    }\n  });\n  return totalLen;\n}\nfunction sliceNodes(nodeList, len) {\n  let currLen = 0;\n  const currentNodeList = [];\n  for (let i = 0; i < nodeList.length; i += 1) {\n    // Match to return\n    if (currLen === len) {\n      return currentNodeList;\n    }\n    const node = nodeList[i];\n    const canCut = cuttable(node);\n    const nodeLen = canCut ? String(node).length : 1;\n    const nextLen = currLen + nodeLen;\n    // Exceed but current not which means we need cut this\n    // This will not happen on validate ReactElement\n    if (nextLen > len) {\n      const restLen = len - currLen;\n      currentNodeList.push(String(node).slice(0, restLen));\n      return currentNodeList;\n    }\n    currentNodeList.push(node);\n    currLen = nextLen;\n  }\n  return nodeList;\n}\nconst NONE = 0;\nconst PREPARE = 1;\nconst WALKING = 2;\nconst DONE_WITH_ELLIPSIS = 3;\nconst DONE_WITHOUT_ELLIPSIS = 4;\nconst Ellipsis = _ref => {\n  let {\n    enabledMeasure,\n    children,\n    text,\n    width,\n    fontSize,\n    rows,\n    onEllipsis\n  } = _ref;\n  const [[startLen, midLen, endLen], setCutLength] = React.useState([0, 0, 0]);\n  // record last done with ellipsis width\n  const [lastLen, setLastLen] = React.useState(0);\n  const [walkingState, setWalkingState] = React.useState(NONE);\n  const [singleRowHeight, setSingleRowHeight] = React.useState(0);\n  const singleRowRef = React.useRef(null);\n  const midRowRef = React.useRef(null);\n  const nodeList = React.useMemo(() => toArray(text), [text]);\n  const totalLen = React.useMemo(() => getNodesLen(nodeList), [nodeList]);\n  const mergedChildren = React.useMemo(() => {\n    if (!enabledMeasure || walkingState !== DONE_WITH_ELLIPSIS) {\n      // if has lastLen, use it as temporary width to avoid lots of text to squeeze space.\n      if (lastLen && walkingState !== DONE_WITHOUT_ELLIPSIS && enabledMeasure) return children(sliceNodes(nodeList, lastLen), lastLen < totalLen);\n      return children(nodeList, false);\n    }\n    return children(sliceNodes(nodeList, midLen), midLen < totalLen);\n  }, [enabledMeasure, walkingState, children, nodeList, midLen, totalLen]);\n  // ======================== Walk ========================\n  useIsomorphicLayoutEffect(() => {\n    if (enabledMeasure && width && fontSize && totalLen) {\n      setWalkingState(PREPARE);\n      setCutLength([0, Math.ceil(totalLen / 2), totalLen]);\n    }\n  }, [enabledMeasure, width, fontSize, text, totalLen, rows]);\n  useIsomorphicLayoutEffect(() => {\n    var _a;\n    if (walkingState === PREPARE) {\n      setSingleRowHeight(((_a = singleRowRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0);\n    }\n  }, [walkingState]);\n  useIsomorphicLayoutEffect(() => {\n    var _a, _b;\n    if (singleRowHeight) {\n      if (walkingState === PREPARE) {\n        // Ignore if position is enough\n        const midHeight = ((_a = midRowRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0;\n        const maxHeight = rows * singleRowHeight;\n        if (midHeight <= maxHeight) {\n          setWalkingState(DONE_WITHOUT_ELLIPSIS);\n          onEllipsis(false);\n        } else {\n          setWalkingState(WALKING);\n        }\n      } else if (walkingState === WALKING) {\n        if (startLen !== endLen) {\n          const midHeight = ((_b = midRowRef.current) === null || _b === void 0 ? void 0 : _b.offsetHeight) || 0;\n          const maxHeight = rows * singleRowHeight;\n          let nextStartLen = startLen;\n          let nextEndLen = endLen;\n          // We reach the last round\n          if (startLen === endLen - 1) {\n            nextEndLen = startLen;\n          } else if (midHeight <= maxHeight) {\n            nextStartLen = midLen;\n          } else {\n            nextEndLen = midLen;\n          }\n          const nextMidLen = Math.ceil((nextStartLen + nextEndLen) / 2);\n          setCutLength([nextStartLen, nextMidLen, nextEndLen]);\n        } else {\n          setWalkingState(DONE_WITH_ELLIPSIS);\n          setLastLen(midLen);\n          onEllipsis(true);\n        }\n      }\n    }\n  }, [walkingState, startLen, endLen, rows, singleRowHeight]);\n  // ======================= Render =======================\n  const measureStyle = {\n    width,\n    whiteSpace: 'normal',\n    margin: 0,\n    padding: 0\n  };\n  const renderMeasure = (content, ref, style) => /*#__PURE__*/React.createElement(\"span\", {\n    \"aria-hidden\": true,\n    ref: ref,\n    style: Object.assign({\n      position: 'fixed',\n      display: 'block',\n      left: 0,\n      top: 0,\n      zIndex: -9999,\n      visibility: 'hidden',\n      pointerEvents: 'none',\n      fontSize: Math.ceil(fontSize / 2) * 2\n    }, style)\n  }, content);\n  const renderMeasureSlice = (len, ref) => {\n    const sliceNodeList = sliceNodes(nodeList, len);\n    return renderMeasure(children(sliceNodeList, true), ref, measureStyle);\n  };\n  return /*#__PURE__*/React.createElement(React.Fragment, null, mergedChildren, enabledMeasure && walkingState !== DONE_WITH_ELLIPSIS && walkingState !== DONE_WITHOUT_ELLIPSIS && /*#__PURE__*/React.createElement(React.Fragment, null, renderMeasure('lg', singleRowRef, {\n    wordBreak: 'keep-all',\n    whiteSpace: 'nowrap'\n  }), walkingState === PREPARE ? renderMeasure(children(nodeList, false), midRowRef, measureStyle) : renderMeasureSlice(midLen, midRowRef)));\n};\nif (process.env.NODE_ENV !== 'production') {\n  Ellipsis.displayName = 'Ellipsis';\n}\nexport default Ellipsis;","map":{"version":3,"names":["React","toArray","useIsomorphicLayoutEffect","cuttable","node","type","getNodesLen","nodeList","totalLen","forEach","String","length","sliceNodes","len","currLen","currentNodeList","i","canCut","nodeLen","nextLen","restLen","push","slice","NONE","PREPARE","WALKING","DONE_WITH_ELLIPSIS","DONE_WITHOUT_ELLIPSIS","Ellipsis","_ref","enabledMeasure","children","text","width","fontSize","rows","onEllipsis","startLen","midLen","endLen","setCutLength","useState","lastLen","setLastLen","walkingState","setWalkingState","singleRowHeight","setSingleRowHeight","singleRowRef","useRef","midRowRef","useMemo","mergedChildren","Math","ceil","_a","current","offsetHeight","_b","midHeight","maxHeight","nextStartLen","nextEndLen","nextMidLen","measureStyle","whiteSpace","margin","padding","renderMeasure","content","ref","style","createElement","Object","assign","position","display","left","top","zIndex","visibility","pointerEvents","renderMeasureSlice","sliceNodeList","Fragment","wordBreak","process","env","NODE_ENV","displayName"],"sources":["/var/www/gavt/node_modules/antd/es/typography/Base/Ellipsis.js"],"sourcesContent":["\"use client\";\n\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport useIsomorphicLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nfunction cuttable(node) {\n  const type = typeof node;\n  return type === 'string' || type === 'number';\n}\nfunction getNodesLen(nodeList) {\n  let totalLen = 0;\n  nodeList.forEach(node => {\n    if (cuttable(node)) {\n      totalLen += String(node).length;\n    } else {\n      totalLen += 1;\n    }\n  });\n  return totalLen;\n}\nfunction sliceNodes(nodeList, len) {\n  let currLen = 0;\n  const currentNodeList = [];\n  for (let i = 0; i < nodeList.length; i += 1) {\n    // Match to return\n    if (currLen === len) {\n      return currentNodeList;\n    }\n    const node = nodeList[i];\n    const canCut = cuttable(node);\n    const nodeLen = canCut ? String(node).length : 1;\n    const nextLen = currLen + nodeLen;\n    // Exceed but current not which means we need cut this\n    // This will not happen on validate ReactElement\n    if (nextLen > len) {\n      const restLen = len - currLen;\n      currentNodeList.push(String(node).slice(0, restLen));\n      return currentNodeList;\n    }\n    currentNodeList.push(node);\n    currLen = nextLen;\n  }\n  return nodeList;\n}\nconst NONE = 0;\nconst PREPARE = 1;\nconst WALKING = 2;\nconst DONE_WITH_ELLIPSIS = 3;\nconst DONE_WITHOUT_ELLIPSIS = 4;\nconst Ellipsis = _ref => {\n  let {\n    enabledMeasure,\n    children,\n    text,\n    width,\n    fontSize,\n    rows,\n    onEllipsis\n  } = _ref;\n  const [[startLen, midLen, endLen], setCutLength] = React.useState([0, 0, 0]);\n  // record last done with ellipsis width\n  const [lastLen, setLastLen] = React.useState(0);\n  const [walkingState, setWalkingState] = React.useState(NONE);\n  const [singleRowHeight, setSingleRowHeight] = React.useState(0);\n  const singleRowRef = React.useRef(null);\n  const midRowRef = React.useRef(null);\n  const nodeList = React.useMemo(() => toArray(text), [text]);\n  const totalLen = React.useMemo(() => getNodesLen(nodeList), [nodeList]);\n  const mergedChildren = React.useMemo(() => {\n    if (!enabledMeasure || walkingState !== DONE_WITH_ELLIPSIS) {\n      // if has lastLen, use it as temporary width to avoid lots of text to squeeze space.\n      if (lastLen && walkingState !== DONE_WITHOUT_ELLIPSIS && enabledMeasure) return children(sliceNodes(nodeList, lastLen), lastLen < totalLen);\n      return children(nodeList, false);\n    }\n    return children(sliceNodes(nodeList, midLen), midLen < totalLen);\n  }, [enabledMeasure, walkingState, children, nodeList, midLen, totalLen]);\n  // ======================== Walk ========================\n  useIsomorphicLayoutEffect(() => {\n    if (enabledMeasure && width && fontSize && totalLen) {\n      setWalkingState(PREPARE);\n      setCutLength([0, Math.ceil(totalLen / 2), totalLen]);\n    }\n  }, [enabledMeasure, width, fontSize, text, totalLen, rows]);\n  useIsomorphicLayoutEffect(() => {\n    var _a;\n    if (walkingState === PREPARE) {\n      setSingleRowHeight(((_a = singleRowRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0);\n    }\n  }, [walkingState]);\n  useIsomorphicLayoutEffect(() => {\n    var _a, _b;\n    if (singleRowHeight) {\n      if (walkingState === PREPARE) {\n        // Ignore if position is enough\n        const midHeight = ((_a = midRowRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0;\n        const maxHeight = rows * singleRowHeight;\n        if (midHeight <= maxHeight) {\n          setWalkingState(DONE_WITHOUT_ELLIPSIS);\n          onEllipsis(false);\n        } else {\n          setWalkingState(WALKING);\n        }\n      } else if (walkingState === WALKING) {\n        if (startLen !== endLen) {\n          const midHeight = ((_b = midRowRef.current) === null || _b === void 0 ? void 0 : _b.offsetHeight) || 0;\n          const maxHeight = rows * singleRowHeight;\n          let nextStartLen = startLen;\n          let nextEndLen = endLen;\n          // We reach the last round\n          if (startLen === endLen - 1) {\n            nextEndLen = startLen;\n          } else if (midHeight <= maxHeight) {\n            nextStartLen = midLen;\n          } else {\n            nextEndLen = midLen;\n          }\n          const nextMidLen = Math.ceil((nextStartLen + nextEndLen) / 2);\n          setCutLength([nextStartLen, nextMidLen, nextEndLen]);\n        } else {\n          setWalkingState(DONE_WITH_ELLIPSIS);\n          setLastLen(midLen);\n          onEllipsis(true);\n        }\n      }\n    }\n  }, [walkingState, startLen, endLen, rows, singleRowHeight]);\n  // ======================= Render =======================\n  const measureStyle = {\n    width,\n    whiteSpace: 'normal',\n    margin: 0,\n    padding: 0\n  };\n  const renderMeasure = (content, ref, style) => /*#__PURE__*/React.createElement(\"span\", {\n    \"aria-hidden\": true,\n    ref: ref,\n    style: Object.assign({\n      position: 'fixed',\n      display: 'block',\n      left: 0,\n      top: 0,\n      zIndex: -9999,\n      visibility: 'hidden',\n      pointerEvents: 'none',\n      fontSize: Math.ceil(fontSize / 2) * 2\n    }, style)\n  }, content);\n  const renderMeasureSlice = (len, ref) => {\n    const sliceNodeList = sliceNodes(nodeList, len);\n    return renderMeasure(children(sliceNodeList, true), ref, measureStyle);\n  };\n  return /*#__PURE__*/React.createElement(React.Fragment, null, mergedChildren, enabledMeasure && walkingState !== DONE_WITH_ELLIPSIS && walkingState !== DONE_WITHOUT_ELLIPSIS && /*#__PURE__*/React.createElement(React.Fragment, null, renderMeasure('lg', singleRowRef, {\n    wordBreak: 'keep-all',\n    whiteSpace: 'nowrap'\n  }), walkingState === PREPARE ? renderMeasure(children(nodeList, false), midRowRef, measureStyle) : renderMeasureSlice(midLen, midRowRef)));\n};\nif (process.env.NODE_ENV !== 'production') {\n  Ellipsis.displayName = 'Ellipsis';\n}\nexport default Ellipsis;"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}