PromoCursed/node_modules/.cache/babel-loader/bff190c80744d0a6c95e5affed487e6f5f1337fb6a7c79a117169b23f8a38cba.json
2024-08-20 23:25:37 +04:00

1 line
27 KiB
JSON

{"ast":null,"code":"\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nconst MeasureText = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n style,\n children\n } = _ref;\n const spanRef = React.useRef(null);\n React.useImperativeHandle(ref, () => ({\n isExceed: () => {\n const span = spanRef.current;\n return span.scrollHeight > span.clientHeight;\n },\n getHeight: () => spanRef.current.clientHeight\n }));\n return /*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": true,\n ref: spanRef,\n style: Object.assign({\n position: 'fixed',\n display: 'block',\n left: 0,\n top: 0,\n pointerEvents: 'none',\n backgroundColor: 'rgba(255, 0, 0, 0.65)'\n }, style)\n }, children);\n});\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}\n// Measure for the `text` is exceed the `rows` or not\nconst STATUS_MEASURE_NONE = 0;\nconst STATUS_MEASURE_PREPARE = 1;\nconst STATUS_MEASURE_START = 2;\nconst STATUS_MEASURE_NEED_ELLIPSIS = 3;\nconst STATUS_MEASURE_NO_NEED_ELLIPSIS = 4;\nconst lineClipStyle = {\n display: '-webkit-box',\n overflow: 'hidden',\n WebkitBoxOrient: 'vertical'\n};\nexport default function EllipsisMeasure(props) {\n const {\n enableMeasure,\n width,\n text,\n children,\n rows,\n expanded,\n miscDeps,\n onEllipsis\n } = props;\n const nodeList = React.useMemo(() => toArray(text), [text]);\n const nodeLen = React.useMemo(() => getNodesLen(nodeList), [text]);\n // ========================= Full Content =========================\n // Used for measure only, which means it's always render as no need ellipsis\n const fullContent = React.useMemo(() => children(nodeList, false), [text]);\n // ========================= Cut Content ==========================\n const [ellipsisCutIndex, setEllipsisCutIndex] = React.useState(null);\n const cutMidRef = React.useRef(null);\n // ========================= NeedEllipsis =========================\n const measureWhiteSpaceRef = React.useRef(null);\n const needEllipsisRef = React.useRef(null);\n // Measure for `rows-1` height, to avoid operation exceed the line height\n const descRowsEllipsisRef = React.useRef(null);\n const symbolRowEllipsisRef = React.useRef(null);\n const [canEllipsis, setCanEllipsis] = React.useState(false);\n const [needEllipsis, setNeedEllipsis] = React.useState(STATUS_MEASURE_NONE);\n const [ellipsisHeight, setEllipsisHeight] = React.useState(0);\n const [parentWhiteSpace, setParentWhiteSpace] = React.useState(null);\n // Trigger start measure\n useLayoutEffect(() => {\n if (enableMeasure && width && nodeLen) {\n setNeedEllipsis(STATUS_MEASURE_PREPARE);\n } else {\n setNeedEllipsis(STATUS_MEASURE_NONE);\n }\n }, [width, text, rows, enableMeasure, nodeList]);\n // Measure process\n useLayoutEffect(() => {\n var _a, _b, _c, _d;\n if (needEllipsis === STATUS_MEASURE_PREPARE) {\n setNeedEllipsis(STATUS_MEASURE_START);\n // Parent ref `white-space`\n const nextWhiteSpace = measureWhiteSpaceRef.current && getComputedStyle(measureWhiteSpaceRef.current).whiteSpace;\n setParentWhiteSpace(nextWhiteSpace);\n } else if (needEllipsis === STATUS_MEASURE_START) {\n const isOverflow = !!((_a = needEllipsisRef.current) === null || _a === void 0 ? void 0 : _a.isExceed());\n setNeedEllipsis(isOverflow ? STATUS_MEASURE_NEED_ELLIPSIS : STATUS_MEASURE_NO_NEED_ELLIPSIS);\n setEllipsisCutIndex(isOverflow ? [0, nodeLen] : null);\n setCanEllipsis(isOverflow);\n // Get the basic height of ellipsis rows\n const baseRowsEllipsisHeight = ((_b = needEllipsisRef.current) === null || _b === void 0 ? void 0 : _b.getHeight()) || 0;\n // Get the height of `rows - 1` + symbol height\n const descRowsEllipsisHeight = rows === 1 ? 0 : ((_c = descRowsEllipsisRef.current) === null || _c === void 0 ? void 0 : _c.getHeight()) || 0;\n const symbolRowEllipsisHeight = ((_d = symbolRowEllipsisRef.current) === null || _d === void 0 ? void 0 : _d.getHeight()) || 0;\n const rowsWithEllipsisHeight = descRowsEllipsisHeight + symbolRowEllipsisHeight;\n const maxRowsHeight = Math.max(baseRowsEllipsisHeight, rowsWithEllipsisHeight);\n setEllipsisHeight(maxRowsHeight + 1);\n onEllipsis(isOverflow);\n }\n }, [needEllipsis]);\n // ========================= Cut Measure ==========================\n const cutMidIndex = ellipsisCutIndex ? Math.ceil((ellipsisCutIndex[0] + ellipsisCutIndex[1]) / 2) : 0;\n useLayoutEffect(() => {\n var _a;\n const [minIndex, maxIndex] = ellipsisCutIndex || [0, 0];\n if (minIndex !== maxIndex) {\n const midHeight = ((_a = cutMidRef.current) === null || _a === void 0 ? void 0 : _a.getHeight()) || 0;\n const isOverflow = midHeight > ellipsisHeight;\n let targetMidIndex = cutMidIndex;\n if (maxIndex - minIndex === 1) {\n targetMidIndex = isOverflow ? minIndex : maxIndex;\n }\n if (isOverflow) {\n setEllipsisCutIndex([minIndex, targetMidIndex]);\n } else {\n setEllipsisCutIndex([targetMidIndex, maxIndex]);\n }\n }\n }, [ellipsisCutIndex, cutMidIndex]);\n // ========================= Text Content =========================\n const finalContent = React.useMemo(() => {\n if (needEllipsis !== STATUS_MEASURE_NEED_ELLIPSIS || !ellipsisCutIndex || ellipsisCutIndex[0] !== ellipsisCutIndex[1]) {\n const content = children(nodeList, false);\n // Limit the max line count to avoid scrollbar blink\n // https://github.com/ant-design/ant-design/issues/42958\n if (needEllipsis !== STATUS_MEASURE_NO_NEED_ELLIPSIS && needEllipsis !== STATUS_MEASURE_NONE) {\n return /*#__PURE__*/React.createElement(\"span\", {\n style: Object.assign(Object.assign({}, lineClipStyle), {\n WebkitLineClamp: rows\n })\n }, content);\n }\n return content;\n }\n return children(expanded ? nodeList : sliceNodes(nodeList, ellipsisCutIndex[0]), canEllipsis);\n }, [expanded, needEllipsis, ellipsisCutIndex, nodeList].concat(_toConsumableArray(miscDeps)));\n // ============================ Render ============================\n const measureStyle = {\n width,\n margin: 0,\n padding: 0,\n whiteSpace: parentWhiteSpace === 'nowrap' ? 'normal' : 'inherit'\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, finalContent, needEllipsis === STATUS_MEASURE_START && ( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MeasureText, {\n style: Object.assign(Object.assign(Object.assign({}, measureStyle), lineClipStyle), {\n WebkitLineClamp: rows\n }),\n ref: needEllipsisRef\n }, fullContent), /*#__PURE__*/React.createElement(MeasureText, {\n style: Object.assign(Object.assign(Object.assign({}, measureStyle), lineClipStyle), {\n WebkitLineClamp: rows - 1\n }),\n ref: descRowsEllipsisRef\n }, fullContent), /*#__PURE__*/React.createElement(MeasureText, {\n style: Object.assign(Object.assign(Object.assign({}, measureStyle), lineClipStyle), {\n WebkitLineClamp: 1\n }),\n ref: symbolRowEllipsisRef\n }, children([], true)))), needEllipsis === STATUS_MEASURE_NEED_ELLIPSIS && ellipsisCutIndex && ellipsisCutIndex[0] !== ellipsisCutIndex[1] && ( /*#__PURE__*/React.createElement(MeasureText, {\n style: Object.assign(Object.assign({}, measureStyle), {\n top: 400\n }),\n ref: cutMidRef\n }, children(sliceNodes(nodeList, cutMidIndex), true))), needEllipsis === STATUS_MEASURE_PREPARE && ( /*#__PURE__*/React.createElement(\"span\", {\n style: {\n whiteSpace: 'inherit'\n },\n ref: measureWhiteSpaceRef\n })));\n}","map":{"version":3,"names":["_toConsumableArray","React","toArray","useLayoutEffect","MeasureText","forwardRef","_ref","ref","style","children","spanRef","useRef","useImperativeHandle","isExceed","span","current","scrollHeight","clientHeight","getHeight","createElement","Object","assign","position","display","left","top","pointerEvents","backgroundColor","cuttable","node","type","getNodesLen","nodeList","totalLen","forEach","String","length","sliceNodes","len","currLen","currentNodeList","i","canCut","nodeLen","nextLen","restLen","push","slice","STATUS_MEASURE_NONE","STATUS_MEASURE_PREPARE","STATUS_MEASURE_START","STATUS_MEASURE_NEED_ELLIPSIS","STATUS_MEASURE_NO_NEED_ELLIPSIS","lineClipStyle","overflow","WebkitBoxOrient","EllipsisMeasure","props","enableMeasure","width","text","rows","expanded","miscDeps","onEllipsis","useMemo","fullContent","ellipsisCutIndex","setEllipsisCutIndex","useState","cutMidRef","measureWhiteSpaceRef","needEllipsisRef","descRowsEllipsisRef","symbolRowEllipsisRef","canEllipsis","setCanEllipsis","needEllipsis","setNeedEllipsis","ellipsisHeight","setEllipsisHeight","parentWhiteSpace","setParentWhiteSpace","_a","_b","_c","_d","nextWhiteSpace","getComputedStyle","whiteSpace","isOverflow","baseRowsEllipsisHeight","descRowsEllipsisHeight","symbolRowEllipsisHeight","rowsWithEllipsisHeight","maxRowsHeight","Math","max","cutMidIndex","ceil","minIndex","maxIndex","midHeight","targetMidIndex","finalContent","content","WebkitLineClamp","concat","measureStyle","margin","padding","Fragment"],"sources":["C:/Users/Аришина)/Desktop/promo/node_modules/antd/es/typography/Base/Ellipsis.js"],"sourcesContent":["\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nconst MeasureText = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n style,\n children\n } = _ref;\n const spanRef = React.useRef(null);\n React.useImperativeHandle(ref, () => ({\n isExceed: () => {\n const span = spanRef.current;\n return span.scrollHeight > span.clientHeight;\n },\n getHeight: () => spanRef.current.clientHeight\n }));\n return /*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": true,\n ref: spanRef,\n style: Object.assign({\n position: 'fixed',\n display: 'block',\n left: 0,\n top: 0,\n pointerEvents: 'none',\n backgroundColor: 'rgba(255, 0, 0, 0.65)'\n }, style)\n }, children);\n});\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}\n// Measure for the `text` is exceed the `rows` or not\nconst STATUS_MEASURE_NONE = 0;\nconst STATUS_MEASURE_PREPARE = 1;\nconst STATUS_MEASURE_START = 2;\nconst STATUS_MEASURE_NEED_ELLIPSIS = 3;\nconst STATUS_MEASURE_NO_NEED_ELLIPSIS = 4;\nconst lineClipStyle = {\n display: '-webkit-box',\n overflow: 'hidden',\n WebkitBoxOrient: 'vertical'\n};\nexport default function EllipsisMeasure(props) {\n const {\n enableMeasure,\n width,\n text,\n children,\n rows,\n expanded,\n miscDeps,\n onEllipsis\n } = props;\n const nodeList = React.useMemo(() => toArray(text), [text]);\n const nodeLen = React.useMemo(() => getNodesLen(nodeList), [text]);\n // ========================= Full Content =========================\n // Used for measure only, which means it's always render as no need ellipsis\n const fullContent = React.useMemo(() => children(nodeList, false), [text]);\n // ========================= Cut Content ==========================\n const [ellipsisCutIndex, setEllipsisCutIndex] = React.useState(null);\n const cutMidRef = React.useRef(null);\n // ========================= NeedEllipsis =========================\n const measureWhiteSpaceRef = React.useRef(null);\n const needEllipsisRef = React.useRef(null);\n // Measure for `rows-1` height, to avoid operation exceed the line height\n const descRowsEllipsisRef = React.useRef(null);\n const symbolRowEllipsisRef = React.useRef(null);\n const [canEllipsis, setCanEllipsis] = React.useState(false);\n const [needEllipsis, setNeedEllipsis] = React.useState(STATUS_MEASURE_NONE);\n const [ellipsisHeight, setEllipsisHeight] = React.useState(0);\n const [parentWhiteSpace, setParentWhiteSpace] = React.useState(null);\n // Trigger start measure\n useLayoutEffect(() => {\n if (enableMeasure && width && nodeLen) {\n setNeedEllipsis(STATUS_MEASURE_PREPARE);\n } else {\n setNeedEllipsis(STATUS_MEASURE_NONE);\n }\n }, [width, text, rows, enableMeasure, nodeList]);\n // Measure process\n useLayoutEffect(() => {\n var _a, _b, _c, _d;\n if (needEllipsis === STATUS_MEASURE_PREPARE) {\n setNeedEllipsis(STATUS_MEASURE_START);\n // Parent ref `white-space`\n const nextWhiteSpace = measureWhiteSpaceRef.current && getComputedStyle(measureWhiteSpaceRef.current).whiteSpace;\n setParentWhiteSpace(nextWhiteSpace);\n } else if (needEllipsis === STATUS_MEASURE_START) {\n const isOverflow = !!((_a = needEllipsisRef.current) === null || _a === void 0 ? void 0 : _a.isExceed());\n setNeedEllipsis(isOverflow ? STATUS_MEASURE_NEED_ELLIPSIS : STATUS_MEASURE_NO_NEED_ELLIPSIS);\n setEllipsisCutIndex(isOverflow ? [0, nodeLen] : null);\n setCanEllipsis(isOverflow);\n // Get the basic height of ellipsis rows\n const baseRowsEllipsisHeight = ((_b = needEllipsisRef.current) === null || _b === void 0 ? void 0 : _b.getHeight()) || 0;\n // Get the height of `rows - 1` + symbol height\n const descRowsEllipsisHeight = rows === 1 ? 0 : ((_c = descRowsEllipsisRef.current) === null || _c === void 0 ? void 0 : _c.getHeight()) || 0;\n const symbolRowEllipsisHeight = ((_d = symbolRowEllipsisRef.current) === null || _d === void 0 ? void 0 : _d.getHeight()) || 0;\n const rowsWithEllipsisHeight = descRowsEllipsisHeight + symbolRowEllipsisHeight;\n const maxRowsHeight = Math.max(baseRowsEllipsisHeight, rowsWithEllipsisHeight);\n setEllipsisHeight(maxRowsHeight + 1);\n onEllipsis(isOverflow);\n }\n }, [needEllipsis]);\n // ========================= Cut Measure ==========================\n const cutMidIndex = ellipsisCutIndex ? Math.ceil((ellipsisCutIndex[0] + ellipsisCutIndex[1]) / 2) : 0;\n useLayoutEffect(() => {\n var _a;\n const [minIndex, maxIndex] = ellipsisCutIndex || [0, 0];\n if (minIndex !== maxIndex) {\n const midHeight = ((_a = cutMidRef.current) === null || _a === void 0 ? void 0 : _a.getHeight()) || 0;\n const isOverflow = midHeight > ellipsisHeight;\n let targetMidIndex = cutMidIndex;\n if (maxIndex - minIndex === 1) {\n targetMidIndex = isOverflow ? minIndex : maxIndex;\n }\n if (isOverflow) {\n setEllipsisCutIndex([minIndex, targetMidIndex]);\n } else {\n setEllipsisCutIndex([targetMidIndex, maxIndex]);\n }\n }\n }, [ellipsisCutIndex, cutMidIndex]);\n // ========================= Text Content =========================\n const finalContent = React.useMemo(() => {\n if (needEllipsis !== STATUS_MEASURE_NEED_ELLIPSIS || !ellipsisCutIndex || ellipsisCutIndex[0] !== ellipsisCutIndex[1]) {\n const content = children(nodeList, false);\n // Limit the max line count to avoid scrollbar blink\n // https://github.com/ant-design/ant-design/issues/42958\n if (needEllipsis !== STATUS_MEASURE_NO_NEED_ELLIPSIS && needEllipsis !== STATUS_MEASURE_NONE) {\n return /*#__PURE__*/React.createElement(\"span\", {\n style: Object.assign(Object.assign({}, lineClipStyle), {\n WebkitLineClamp: rows\n })\n }, content);\n }\n return content;\n }\n return children(expanded ? nodeList : sliceNodes(nodeList, ellipsisCutIndex[0]), canEllipsis);\n }, [expanded, needEllipsis, ellipsisCutIndex, nodeList].concat(_toConsumableArray(miscDeps)));\n // ============================ Render ============================\n const measureStyle = {\n width,\n margin: 0,\n padding: 0,\n whiteSpace: parentWhiteSpace === 'nowrap' ? 'normal' : 'inherit'\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, finalContent, needEllipsis === STATUS_MEASURE_START && ( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MeasureText, {\n style: Object.assign(Object.assign(Object.assign({}, measureStyle), lineClipStyle), {\n WebkitLineClamp: rows\n }),\n ref: needEllipsisRef\n }, fullContent), /*#__PURE__*/React.createElement(MeasureText, {\n style: Object.assign(Object.assign(Object.assign({}, measureStyle), lineClipStyle), {\n WebkitLineClamp: rows - 1\n }),\n ref: descRowsEllipsisRef\n }, fullContent), /*#__PURE__*/React.createElement(MeasureText, {\n style: Object.assign(Object.assign(Object.assign({}, measureStyle), lineClipStyle), {\n WebkitLineClamp: 1\n }),\n ref: symbolRowEllipsisRef\n }, children([], true)))), needEllipsis === STATUS_MEASURE_NEED_ELLIPSIS && ellipsisCutIndex && ellipsisCutIndex[0] !== ellipsisCutIndex[1] && ( /*#__PURE__*/React.createElement(MeasureText, {\n style: Object.assign(Object.assign({}, measureStyle), {\n top: 400\n }),\n ref: cutMidRef\n }, children(sliceNodes(nodeList, cutMidIndex), true))), needEllipsis === STATUS_MEASURE_PREPARE && ( /*#__PURE__*/React.createElement(\"span\", {\n style: {\n whiteSpace: 'inherit'\n },\n ref: measureWhiteSpaceRef\n })));\n}"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}