@salutejs/plasma-new-hope 0.326.0-canary.2006.15549711826.0 → 0.326.0-canary.2006.15550430455.0
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.
- package/cjs/components/Note/Note.js +1 -1
- package/cjs/components/Note/Note.js.map +1 -1
- package/emotion/cjs/components/Note/Note.js +1 -1
- package/emotion/es/components/Note/Note.js +1 -1
- package/es/components/Note/Note.js +1 -1
- package/es/components/Note/Note.js.map +1 -1
- package/package.json +5 -5
- package/styled-components/cjs/components/Note/Note.js +1 -1
- package/styled-components/es/components/Note/Note.js +1 -1
@@ -81,7 +81,7 @@ var noteRoot = function noteRoot(Root) {
|
|
81
81
|
setTruncatedText();
|
82
82
|
}, [text, contentBefore, contentBeforeSizing, stretch]);
|
83
83
|
React.useEffect(function () {
|
84
|
-
|
84
|
+
setTruncatedText();
|
85
85
|
}, [text]);
|
86
86
|
React.useEffect(function () {
|
87
87
|
if (!(contentBeforeRef !== null && contentBeforeRef !== void 0 && contentBeforeRef.current)) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Note.js","sources":["../../../src/components/Note/Note.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport type { CSSProperties } from 'react';\nimport { useResizeObserver } from '@salutejs/plasma-core';\n\nimport { canUseDOM, cx, getSizeValueFromProp } from '../../utils';\nimport type { RootProps } from '../../engines';\nimport { IconCrossThin } from '../_Icon/Icons/IconCrossThin';\n\nimport type { NoteProps } from './Note.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport {\n base,\n CloseIconWrapper,\n ContentBefore,\n ContentWrapper,\n Text,\n TextHelper,\n Title,\n TitleHelper,\n} from './Note.styles';\nimport { classes, privateTokens, tokens } from './Note.tokens';\n\nexport const noteRoot = (Root: RootProps<HTMLDivElement, NoteProps>) =>\n forwardRef<HTMLDivElement, NoteProps>(\n (\n {\n className,\n style,\n title,\n text,\n contentBefore,\n contentBeforeSizing = 'fixed',\n size,\n view,\n stretch,\n width,\n height,\n hasClose,\n onCloseButtonClick,\n ...rest\n },\n outerRef,\n ) => {\n const [innerText, setInnerText] = useState(text);\n const [contentBeforeWidth, setContentBeforeWidth] = useState(\n contentBefore ? `var(${tokens.fixedContentBeforeWidth})` : '0',\n );\n\n const contentWrapperRef = useRef<HTMLDivElement>(null);\n const contentBeforeRef = useRef<HTMLDivElement>(null);\n const titleHelperRef = useRef<HTMLDivElement>(null);\n const textRenderHelperRef = useRef<HTMLSpanElement>(null);\n\n const innerWidth = width ? getSizeValueFromProp(width) : 'fit-content';\n const innerHeight = height ? getSizeValueFromProp(height) : 'fit-content';\n\n const contentGapToken = contentBeforeSizing === 'scalable' ? tokens.gapScalable : tokens.gap;\n const contentWidthWithOffsetToken = contentBefore\n ? `calc(100% - ${contentBeforeWidth} - var(${contentGapToken}))`\n : '100%';\n\n const setTruncatedText = () => {\n if (\n !canUseDOM ||\n !text ||\n !contentWrapperRef?.current ||\n !textRenderHelperRef?.current ||\n (!width && !height)\n ) {\n return;\n }\n\n const contentHeight = contentWrapperRef.current.offsetHeight;\n const titleHeight = titleHelperRef.current?.offsetHeight || 0;\n\n const contentGap = Number(window.getComputedStyle(contentWrapperRef.current).rowGap.replace('px', ''));\n\n const textAvailableHeight = contentHeight - titleHeight - contentGap;\n\n textRenderHelperRef.current.textContent = text;\n\n if (textRenderHelperRef.current.offsetHeight <= textAvailableHeight) {\n setInnerText(text);\n return;\n }\n\n let fullText = `${text.slice(0, -3)}...`;\n\n for (let i = text.length - 1; i >= 0; i -= 1) {\n textRenderHelperRef.current.textContent = fullText;\n\n if (textRenderHelperRef.current.offsetHeight <= textAvailableHeight) {\n break;\n }\n\n fullText = `${fullText.slice(0, i)}...`;\n }\n\n setInnerText(fullText);\n };\n\n useResizeObserver(contentWrapperRef, setTruncatedText);\n\n useLayoutEffect(() => {\n setTruncatedText();\n }, [text, contentBefore, contentBeforeSizing, stretch]);\n\n useEffect(() => {\n setInnerText(text);\n }, [text]);\n\n useEffect(() => {\n if (!contentBeforeRef?.current) {\n return;\n }\n\n if (contentBeforeSizing === 'scalable') {\n setContentBeforeWidth(`${contentBeforeRef.current.offsetWidth}px`);\n return;\n }\n\n setContentBeforeWidth(`var(${tokens.fixedContentBeforeWidth})`);\n }, [contentBefore, contentBeforeSizing]);\n\n return (\n <Root\n ref={outerRef}\n className={cx(\n className,\n stretch && classes.stretch,\n contentBeforeSizing === 'scalable' && classes.contentAlignCenter,\n )}\n view={view}\n size={size}\n style={\n {\n ...style,\n [privateTokens.width]: innerWidth,\n [privateTokens.height]: innerHeight,\n [privateTokens.contentWidthWithOffset]: contentWidthWithOffsetToken,\n } as CSSProperties\n }\n {...rest}\n >\n {contentBefore && <ContentBefore ref={contentBeforeRef}>{contentBefore}</ContentBefore>}\n <ContentWrapper ref={contentWrapperRef}>\n {title && (\n <>\n <Title hasClose={hasClose}>{title}</Title>\n <TitleHelper ref={titleHelperRef}>C</TitleHelper>\n </>\n )}\n {innerText && (\n <>\n <Text>\n {innerText}\n <TextHelper ref={textRenderHelperRef}>C</TextHelper>\n </Text>\n </>\n )}\n </ContentWrapper>\n {hasClose && (\n <CloseIconWrapper\n view=\"clear\"\n size=\"s\"\n onClick={onCloseButtonClick}\n className={classes.closeIcon}\n >\n <IconCrossThin size=\"s\" sizeCustomProperty={tokens.closeIconSize} color=\"inherit\" />\n </CloseIconWrapper>\n )}\n </Root>\n );\n },\n );\n\nexport const noteConfig = {\n name: 'Note',\n tag: 'div',\n layout: noteRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["noteRoot","Root","forwardRef","_ref","outerRef","className","style","title","text","contentBefore","_ref$contentBeforeSiz","contentBeforeSizing","size","view","stretch","width","height","hasClose","onCloseButtonClick","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","innerText","setInnerText","_useState3","concat","tokens","fixedContentBeforeWidth","_useState4","contentBeforeWidth","setContentBeforeWidth","contentWrapperRef","useRef","contentBeforeRef","titleHelperRef","textRenderHelperRef","innerWidth","getSizeValueFromProp","innerHeight","contentGapToken","gapScalable","gap","contentWidthWithOffsetToken","setTruncatedText","_titleHelperRef$curre","canUseDOM","current","contentHeight","offsetHeight","titleHeight","contentGap","Number","window","getComputedStyle","rowGap","replace","textAvailableHeight","textContent","fullText","slice","i","length","useResizeObserver","useLayoutEffect","useEffect","offsetWidth","React","createElement","_extends","ref","cx","classes","contentAlignCenter","_objectSpread","_defineProperty","privateTokens","contentWidthWithOffset","ContentBefore","ContentWrapper","Fragment","Title","TitleHelper","Text","TextHelper","CloseIconWrapper","onClick","closeIcon","IconCrossThin","sizeCustomProperty","closeIconSize","color","noteConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Note.js","sources":["../../../src/components/Note/Note.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport type { CSSProperties } from 'react';\nimport { useResizeObserver } from '@salutejs/plasma-core';\n\nimport { canUseDOM, cx, getSizeValueFromProp } from '../../utils';\nimport type { RootProps } from '../../engines';\nimport { IconCrossThin } from '../_Icon/Icons/IconCrossThin';\n\nimport type { NoteProps } from './Note.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport {\n base,\n CloseIconWrapper,\n ContentBefore,\n ContentWrapper,\n Text,\n TextHelper,\n Title,\n TitleHelper,\n} from './Note.styles';\nimport { classes, privateTokens, tokens } from './Note.tokens';\n\nexport const noteRoot = (Root: RootProps<HTMLDivElement, NoteProps>) =>\n forwardRef<HTMLDivElement, NoteProps>(\n (\n {\n className,\n style,\n title,\n text,\n contentBefore,\n contentBeforeSizing = 'fixed',\n size,\n view,\n stretch,\n width,\n height,\n hasClose,\n onCloseButtonClick,\n ...rest\n },\n outerRef,\n ) => {\n const [innerText, setInnerText] = useState(text);\n const [contentBeforeWidth, setContentBeforeWidth] = useState(\n contentBefore ? `var(${tokens.fixedContentBeforeWidth})` : '0',\n );\n\n const contentWrapperRef = useRef<HTMLDivElement>(null);\n const contentBeforeRef = useRef<HTMLDivElement>(null);\n const titleHelperRef = useRef<HTMLDivElement>(null);\n const textRenderHelperRef = useRef<HTMLSpanElement>(null);\n\n const innerWidth = width ? getSizeValueFromProp(width) : 'fit-content';\n const innerHeight = height ? getSizeValueFromProp(height) : 'fit-content';\n\n const contentGapToken = contentBeforeSizing === 'scalable' ? tokens.gapScalable : tokens.gap;\n const contentWidthWithOffsetToken = contentBefore\n ? `calc(100% - ${contentBeforeWidth} - var(${contentGapToken}))`\n : '100%';\n\n const setTruncatedText = () => {\n if (\n !canUseDOM ||\n !text ||\n !contentWrapperRef?.current ||\n !textRenderHelperRef?.current ||\n (!width && !height)\n ) {\n return;\n }\n\n const contentHeight = contentWrapperRef.current.offsetHeight;\n const titleHeight = titleHelperRef.current?.offsetHeight || 0;\n\n const contentGap = Number(window.getComputedStyle(contentWrapperRef.current).rowGap.replace('px', ''));\n\n const textAvailableHeight = contentHeight - titleHeight - contentGap;\n\n textRenderHelperRef.current.textContent = text;\n\n if (textRenderHelperRef.current.offsetHeight <= textAvailableHeight) {\n setInnerText(text);\n return;\n }\n\n let fullText = `${text.slice(0, -3)}...`;\n\n for (let i = text.length - 1; i >= 0; i -= 1) {\n textRenderHelperRef.current.textContent = fullText;\n\n if (textRenderHelperRef.current.offsetHeight <= textAvailableHeight) {\n break;\n }\n\n fullText = `${fullText.slice(0, i)}...`;\n }\n\n setInnerText(fullText);\n };\n\n useResizeObserver(contentWrapperRef, setTruncatedText);\n\n useLayoutEffect(() => {\n setTruncatedText();\n }, [text, contentBefore, contentBeforeSizing, stretch]);\n\n useEffect(() => {\n setTruncatedText();\n }, [text]);\n\n useEffect(() => {\n if (!contentBeforeRef?.current) {\n return;\n }\n\n if (contentBeforeSizing === 'scalable') {\n setContentBeforeWidth(`${contentBeforeRef.current.offsetWidth}px`);\n return;\n }\n\n setContentBeforeWidth(`var(${tokens.fixedContentBeforeWidth})`);\n }, [contentBefore, contentBeforeSizing]);\n\n return (\n <Root\n ref={outerRef}\n className={cx(\n className,\n stretch && classes.stretch,\n contentBeforeSizing === 'scalable' && classes.contentAlignCenter,\n )}\n view={view}\n size={size}\n style={\n {\n ...style,\n [privateTokens.width]: innerWidth,\n [privateTokens.height]: innerHeight,\n [privateTokens.contentWidthWithOffset]: contentWidthWithOffsetToken,\n } as CSSProperties\n }\n {...rest}\n >\n {contentBefore && <ContentBefore ref={contentBeforeRef}>{contentBefore}</ContentBefore>}\n <ContentWrapper ref={contentWrapperRef}>\n {title && (\n <>\n <Title hasClose={hasClose}>{title}</Title>\n <TitleHelper ref={titleHelperRef}>C</TitleHelper>\n </>\n )}\n {innerText && (\n <>\n <Text>\n {innerText}\n <TextHelper ref={textRenderHelperRef}>C</TextHelper>\n </Text>\n </>\n )}\n </ContentWrapper>\n {hasClose && (\n <CloseIconWrapper\n view=\"clear\"\n size=\"s\"\n onClick={onCloseButtonClick}\n className={classes.closeIcon}\n >\n <IconCrossThin size=\"s\" sizeCustomProperty={tokens.closeIconSize} color=\"inherit\" />\n </CloseIconWrapper>\n )}\n </Root>\n );\n },\n );\n\nexport const noteConfig = {\n name: 'Note',\n tag: 'div',\n layout: noteRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["noteRoot","Root","forwardRef","_ref","outerRef","className","style","title","text","contentBefore","_ref$contentBeforeSiz","contentBeforeSizing","size","view","stretch","width","height","hasClose","onCloseButtonClick","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","innerText","setInnerText","_useState3","concat","tokens","fixedContentBeforeWidth","_useState4","contentBeforeWidth","setContentBeforeWidth","contentWrapperRef","useRef","contentBeforeRef","titleHelperRef","textRenderHelperRef","innerWidth","getSizeValueFromProp","innerHeight","contentGapToken","gapScalable","gap","contentWidthWithOffsetToken","setTruncatedText","_titleHelperRef$curre","canUseDOM","current","contentHeight","offsetHeight","titleHeight","contentGap","Number","window","getComputedStyle","rowGap","replace","textAvailableHeight","textContent","fullText","slice","i","length","useResizeObserver","useLayoutEffect","useEffect","offsetWidth","React","createElement","_extends","ref","cx","classes","contentAlignCenter","_objectSpread","_defineProperty","privateTokens","contentWidthWithOffset","ContentBefore","ContentWrapper","Fragment","Title","TitleHelper","Text","TextHelper","CloseIconWrapper","onClick","closeIcon","IconCrossThin","sizeCustomProperty","closeIconSize","color","noteConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
@@ -92,7 +92,7 @@ var noteRoot = exports.noteRoot = function noteRoot(Root) {
|
|
92
92
|
setTruncatedText();
|
93
93
|
}, [text, contentBefore, contentBeforeSizing, stretch]);
|
94
94
|
(0, _react.useEffect)(function () {
|
95
|
-
|
95
|
+
setTruncatedText();
|
96
96
|
}, [text]);
|
97
97
|
(0, _react.useEffect)(function () {
|
98
98
|
if (!(contentBeforeRef !== null && contentBeforeRef !== void 0 && contentBeforeRef.current)) {
|
@@ -84,7 +84,7 @@ export var noteRoot = function noteRoot(Root) {
|
|
84
84
|
setTruncatedText();
|
85
85
|
}, [text, contentBefore, contentBeforeSizing, stretch]);
|
86
86
|
useEffect(function () {
|
87
|
-
|
87
|
+
setTruncatedText();
|
88
88
|
}, [text]);
|
89
89
|
useEffect(function () {
|
90
90
|
if (!(contentBeforeRef !== null && contentBeforeRef !== void 0 && contentBeforeRef.current)) {
|
@@ -73,7 +73,7 @@ var noteRoot = function noteRoot(Root) {
|
|
73
73
|
setTruncatedText();
|
74
74
|
}, [text, contentBefore, contentBeforeSizing, stretch]);
|
75
75
|
useEffect(function () {
|
76
|
-
|
76
|
+
setTruncatedText();
|
77
77
|
}, [text]);
|
78
78
|
useEffect(function () {
|
79
79
|
if (!(contentBeforeRef !== null && contentBeforeRef !== void 0 && contentBeforeRef.current)) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Note.js","sources":["../../../src/components/Note/Note.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport type { CSSProperties } from 'react';\nimport { useResizeObserver } from '@salutejs/plasma-core';\n\nimport { canUseDOM, cx, getSizeValueFromProp } from '../../utils';\nimport type { RootProps } from '../../engines';\nimport { IconCrossThin } from '../_Icon/Icons/IconCrossThin';\n\nimport type { NoteProps } from './Note.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport {\n base,\n CloseIconWrapper,\n ContentBefore,\n ContentWrapper,\n Text,\n TextHelper,\n Title,\n TitleHelper,\n} from './Note.styles';\nimport { classes, privateTokens, tokens } from './Note.tokens';\n\nexport const noteRoot = (Root: RootProps<HTMLDivElement, NoteProps>) =>\n forwardRef<HTMLDivElement, NoteProps>(\n (\n {\n className,\n style,\n title,\n text,\n contentBefore,\n contentBeforeSizing = 'fixed',\n size,\n view,\n stretch,\n width,\n height,\n hasClose,\n onCloseButtonClick,\n ...rest\n },\n outerRef,\n ) => {\n const [innerText, setInnerText] = useState(text);\n const [contentBeforeWidth, setContentBeforeWidth] = useState(\n contentBefore ? `var(${tokens.fixedContentBeforeWidth})` : '0',\n );\n\n const contentWrapperRef = useRef<HTMLDivElement>(null);\n const contentBeforeRef = useRef<HTMLDivElement>(null);\n const titleHelperRef = useRef<HTMLDivElement>(null);\n const textRenderHelperRef = useRef<HTMLSpanElement>(null);\n\n const innerWidth = width ? getSizeValueFromProp(width) : 'fit-content';\n const innerHeight = height ? getSizeValueFromProp(height) : 'fit-content';\n\n const contentGapToken = contentBeforeSizing === 'scalable' ? tokens.gapScalable : tokens.gap;\n const contentWidthWithOffsetToken = contentBefore\n ? `calc(100% - ${contentBeforeWidth} - var(${contentGapToken}))`\n : '100%';\n\n const setTruncatedText = () => {\n if (\n !canUseDOM ||\n !text ||\n !contentWrapperRef?.current ||\n !textRenderHelperRef?.current ||\n (!width && !height)\n ) {\n return;\n }\n\n const contentHeight = contentWrapperRef.current.offsetHeight;\n const titleHeight = titleHelperRef.current?.offsetHeight || 0;\n\n const contentGap = Number(window.getComputedStyle(contentWrapperRef.current).rowGap.replace('px', ''));\n\n const textAvailableHeight = contentHeight - titleHeight - contentGap;\n\n textRenderHelperRef.current.textContent = text;\n\n if (textRenderHelperRef.current.offsetHeight <= textAvailableHeight) {\n setInnerText(text);\n return;\n }\n\n let fullText = `${text.slice(0, -3)}...`;\n\n for (let i = text.length - 1; i >= 0; i -= 1) {\n textRenderHelperRef.current.textContent = fullText;\n\n if (textRenderHelperRef.current.offsetHeight <= textAvailableHeight) {\n break;\n }\n\n fullText = `${fullText.slice(0, i)}...`;\n }\n\n setInnerText(fullText);\n };\n\n useResizeObserver(contentWrapperRef, setTruncatedText);\n\n useLayoutEffect(() => {\n setTruncatedText();\n }, [text, contentBefore, contentBeforeSizing, stretch]);\n\n useEffect(() => {\n setInnerText(text);\n }, [text]);\n\n useEffect(() => {\n if (!contentBeforeRef?.current) {\n return;\n }\n\n if (contentBeforeSizing === 'scalable') {\n setContentBeforeWidth(`${contentBeforeRef.current.offsetWidth}px`);\n return;\n }\n\n setContentBeforeWidth(`var(${tokens.fixedContentBeforeWidth})`);\n }, [contentBefore, contentBeforeSizing]);\n\n return (\n <Root\n ref={outerRef}\n className={cx(\n className,\n stretch && classes.stretch,\n contentBeforeSizing === 'scalable' && classes.contentAlignCenter,\n )}\n view={view}\n size={size}\n style={\n {\n ...style,\n [privateTokens.width]: innerWidth,\n [privateTokens.height]: innerHeight,\n [privateTokens.contentWidthWithOffset]: contentWidthWithOffsetToken,\n } as CSSProperties\n }\n {...rest}\n >\n {contentBefore && <ContentBefore ref={contentBeforeRef}>{contentBefore}</ContentBefore>}\n <ContentWrapper ref={contentWrapperRef}>\n {title && (\n <>\n <Title hasClose={hasClose}>{title}</Title>\n <TitleHelper ref={titleHelperRef}>C</TitleHelper>\n </>\n )}\n {innerText && (\n <>\n <Text>\n {innerText}\n <TextHelper ref={textRenderHelperRef}>C</TextHelper>\n </Text>\n </>\n )}\n </ContentWrapper>\n {hasClose && (\n <CloseIconWrapper\n view=\"clear\"\n size=\"s\"\n onClick={onCloseButtonClick}\n className={classes.closeIcon}\n >\n <IconCrossThin size=\"s\" sizeCustomProperty={tokens.closeIconSize} color=\"inherit\" />\n </CloseIconWrapper>\n )}\n </Root>\n );\n },\n );\n\nexport const noteConfig = {\n name: 'Note',\n tag: 'div',\n layout: noteRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["noteRoot","Root","forwardRef","_ref","outerRef","className","style","title","text","contentBefore","_ref$contentBeforeSiz","contentBeforeSizing","size","view","stretch","width","height","hasClose","onCloseButtonClick","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","innerText","setInnerText","_useState3","concat","tokens","fixedContentBeforeWidth","_useState4","contentBeforeWidth","setContentBeforeWidth","contentWrapperRef","useRef","contentBeforeRef","titleHelperRef","textRenderHelperRef","innerWidth","getSizeValueFromProp","innerHeight","contentGapToken","gapScalable","gap","contentWidthWithOffsetToken","setTruncatedText","_titleHelperRef$curre","canUseDOM","current","contentHeight","offsetHeight","titleHeight","contentGap","Number","window","getComputedStyle","rowGap","replace","textAvailableHeight","textContent","fullText","slice","i","length","useResizeObserver","useLayoutEffect","useEffect","offsetWidth","React","createElement","_extends","ref","cx","classes","contentAlignCenter","_objectSpread","_defineProperty","privateTokens","contentWidthWithOffset","ContentBefore","ContentWrapper","Fragment","Title","TitleHelper","Text","TextHelper","CloseIconWrapper","onClick","closeIcon","IconCrossThin","sizeCustomProperty","closeIconSize","color","noteConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Note.js","sources":["../../../src/components/Note/Note.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport type { CSSProperties } from 'react';\nimport { useResizeObserver } from '@salutejs/plasma-core';\n\nimport { canUseDOM, cx, getSizeValueFromProp } from '../../utils';\nimport type { RootProps } from '../../engines';\nimport { IconCrossThin } from '../_Icon/Icons/IconCrossThin';\n\nimport type { NoteProps } from './Note.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport {\n base,\n CloseIconWrapper,\n ContentBefore,\n ContentWrapper,\n Text,\n TextHelper,\n Title,\n TitleHelper,\n} from './Note.styles';\nimport { classes, privateTokens, tokens } from './Note.tokens';\n\nexport const noteRoot = (Root: RootProps<HTMLDivElement, NoteProps>) =>\n forwardRef<HTMLDivElement, NoteProps>(\n (\n {\n className,\n style,\n title,\n text,\n contentBefore,\n contentBeforeSizing = 'fixed',\n size,\n view,\n stretch,\n width,\n height,\n hasClose,\n onCloseButtonClick,\n ...rest\n },\n outerRef,\n ) => {\n const [innerText, setInnerText] = useState(text);\n const [contentBeforeWidth, setContentBeforeWidth] = useState(\n contentBefore ? `var(${tokens.fixedContentBeforeWidth})` : '0',\n );\n\n const contentWrapperRef = useRef<HTMLDivElement>(null);\n const contentBeforeRef = useRef<HTMLDivElement>(null);\n const titleHelperRef = useRef<HTMLDivElement>(null);\n const textRenderHelperRef = useRef<HTMLSpanElement>(null);\n\n const innerWidth = width ? getSizeValueFromProp(width) : 'fit-content';\n const innerHeight = height ? getSizeValueFromProp(height) : 'fit-content';\n\n const contentGapToken = contentBeforeSizing === 'scalable' ? tokens.gapScalable : tokens.gap;\n const contentWidthWithOffsetToken = contentBefore\n ? `calc(100% - ${contentBeforeWidth} - var(${contentGapToken}))`\n : '100%';\n\n const setTruncatedText = () => {\n if (\n !canUseDOM ||\n !text ||\n !contentWrapperRef?.current ||\n !textRenderHelperRef?.current ||\n (!width && !height)\n ) {\n return;\n }\n\n const contentHeight = contentWrapperRef.current.offsetHeight;\n const titleHeight = titleHelperRef.current?.offsetHeight || 0;\n\n const contentGap = Number(window.getComputedStyle(contentWrapperRef.current).rowGap.replace('px', ''));\n\n const textAvailableHeight = contentHeight - titleHeight - contentGap;\n\n textRenderHelperRef.current.textContent = text;\n\n if (textRenderHelperRef.current.offsetHeight <= textAvailableHeight) {\n setInnerText(text);\n return;\n }\n\n let fullText = `${text.slice(0, -3)}...`;\n\n for (let i = text.length - 1; i >= 0; i -= 1) {\n textRenderHelperRef.current.textContent = fullText;\n\n if (textRenderHelperRef.current.offsetHeight <= textAvailableHeight) {\n break;\n }\n\n fullText = `${fullText.slice(0, i)}...`;\n }\n\n setInnerText(fullText);\n };\n\n useResizeObserver(contentWrapperRef, setTruncatedText);\n\n useLayoutEffect(() => {\n setTruncatedText();\n }, [text, contentBefore, contentBeforeSizing, stretch]);\n\n useEffect(() => {\n setTruncatedText();\n }, [text]);\n\n useEffect(() => {\n if (!contentBeforeRef?.current) {\n return;\n }\n\n if (contentBeforeSizing === 'scalable') {\n setContentBeforeWidth(`${contentBeforeRef.current.offsetWidth}px`);\n return;\n }\n\n setContentBeforeWidth(`var(${tokens.fixedContentBeforeWidth})`);\n }, [contentBefore, contentBeforeSizing]);\n\n return (\n <Root\n ref={outerRef}\n className={cx(\n className,\n stretch && classes.stretch,\n contentBeforeSizing === 'scalable' && classes.contentAlignCenter,\n )}\n view={view}\n size={size}\n style={\n {\n ...style,\n [privateTokens.width]: innerWidth,\n [privateTokens.height]: innerHeight,\n [privateTokens.contentWidthWithOffset]: contentWidthWithOffsetToken,\n } as CSSProperties\n }\n {...rest}\n >\n {contentBefore && <ContentBefore ref={contentBeforeRef}>{contentBefore}</ContentBefore>}\n <ContentWrapper ref={contentWrapperRef}>\n {title && (\n <>\n <Title hasClose={hasClose}>{title}</Title>\n <TitleHelper ref={titleHelperRef}>C</TitleHelper>\n </>\n )}\n {innerText && (\n <>\n <Text>\n {innerText}\n <TextHelper ref={textRenderHelperRef}>C</TextHelper>\n </Text>\n </>\n )}\n </ContentWrapper>\n {hasClose && (\n <CloseIconWrapper\n view=\"clear\"\n size=\"s\"\n onClick={onCloseButtonClick}\n className={classes.closeIcon}\n >\n <IconCrossThin size=\"s\" sizeCustomProperty={tokens.closeIconSize} color=\"inherit\" />\n </CloseIconWrapper>\n )}\n </Root>\n );\n },\n );\n\nexport const noteConfig = {\n name: 'Note',\n tag: 'div',\n layout: noteRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["noteRoot","Root","forwardRef","_ref","outerRef","className","style","title","text","contentBefore","_ref$contentBeforeSiz","contentBeforeSizing","size","view","stretch","width","height","hasClose","onCloseButtonClick","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","innerText","setInnerText","_useState3","concat","tokens","fixedContentBeforeWidth","_useState4","contentBeforeWidth","setContentBeforeWidth","contentWrapperRef","useRef","contentBeforeRef","titleHelperRef","textRenderHelperRef","innerWidth","getSizeValueFromProp","innerHeight","contentGapToken","gapScalable","gap","contentWidthWithOffsetToken","setTruncatedText","_titleHelperRef$curre","canUseDOM","current","contentHeight","offsetHeight","titleHeight","contentGap","Number","window","getComputedStyle","rowGap","replace","textAvailableHeight","textContent","fullText","slice","i","length","useResizeObserver","useLayoutEffect","useEffect","offsetWidth","React","createElement","_extends","ref","cx","classes","contentAlignCenter","_objectSpread","_defineProperty","privateTokens","contentWidthWithOffset","ContentBefore","ContentWrapper","Fragment","Title","TitleHelper","Text","TextHelper","CloseIconWrapper","onClick","closeIcon","IconCrossThin","sizeCustomProperty","closeIconSize","color","noteConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":";;;;;;;;;;;;;IAuBaA,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,IAA0C,EAAA;AAAA,EAAA,oBAC/DC,UAAU,CACN,UAAAC,IAAA,EAiBIC,QAAQ,EACP;AAAA,IAAA,IAhBGC,SAAS,GAAAF,IAAA,CAATE,SAAS;MACTC,KAAK,GAAAH,IAAA,CAALG,KAAK;MACLC,KAAK,GAAAJ,IAAA,CAALI,KAAK;MACLC,IAAI,GAAAL,IAAA,CAAJK,IAAI;MACJC,aAAa,GAAAN,IAAA,CAAbM,aAAa;MAAAC,qBAAA,GAAAP,IAAA,CACbQ,mBAAmB;AAAnBA,MAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,qBAAA;MAC7BE,IAAI,GAAAT,IAAA,CAAJS,IAAI;MACJC,IAAI,GAAAV,IAAA,CAAJU,IAAI;MACJC,OAAO,GAAAX,IAAA,CAAPW,OAAO;MACPC,KAAK,GAAAZ,IAAA,CAALY,KAAK;MACLC,MAAM,GAAAb,IAAA,CAANa,MAAM;MACNC,QAAQ,GAAAd,IAAA,CAARc,QAAQ;MACRC,kBAAkB,GAAAf,IAAA,CAAlBe,kBAAkB;AACfC,MAAAA,IAAI,GAAAC,wBAAA,CAAAjB,IAAA,EAAAkB,SAAA,CAAA,CAAA;AAIX,IAAA,IAAAC,SAAA,GAAkCC,QAAQ,CAACf,IAAI,CAAC;MAAAgB,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzCI,MAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,YAAY,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,IAAA,IAAAI,UAAA,GAAoDL,QAAQ,CACxDd,aAAa,GAAA,MAAA,CAAAoB,MAAA,CAAUC,MAAM,CAACC,uBAAuB,EAAA,GAAA,CAAA,GAAM,GAC/D,CAAC;MAAAC,UAAA,GAAAP,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAFMK,MAAAA,kBAAkB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,qBAAqB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAIhD,IAAA,IAAMG,iBAAiB,GAAGC,MAAM,CAAiB,IAAI,CAAC,CAAA;AACtD,IAAA,IAAMC,gBAAgB,GAAGD,MAAM,CAAiB,IAAI,CAAC,CAAA;AACrD,IAAA,IAAME,cAAc,GAAGF,MAAM,CAAiB,IAAI,CAAC,CAAA;AACnD,IAAA,IAAMG,mBAAmB,GAAGH,MAAM,CAAkB,IAAI,CAAC,CAAA;IAEzD,IAAMI,UAAU,GAAGzB,KAAK,GAAG0B,oBAAoB,CAAC1B,KAAK,CAAC,GAAG,aAAa,CAAA;IACtE,IAAM2B,WAAW,GAAG1B,MAAM,GAAGyB,oBAAoB,CAACzB,MAAM,CAAC,GAAG,aAAa,CAAA;AAEzE,IAAA,IAAM2B,eAAe,GAAGhC,mBAAmB,KAAK,UAAU,GAAGmB,MAAM,CAACc,WAAW,GAAGd,MAAM,CAACe,GAAG,CAAA;AAC5F,IAAA,IAAMC,2BAA2B,GAAGrC,aAAa,GAAA,cAAA,CAAAoB,MAAA,CAC5BI,kBAAkB,EAAA,SAAA,CAAA,CAAAJ,MAAA,CAAUc,eAAe,EAAA,IAAA,CAAA,GAC1D,MAAM,CAAA;AAEZ,IAAA,IAAMI,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;AAAA,MAAA,IAAAC,qBAAA,CAAA;AAC3B,MAAA,IACI,CAACC,SAAS,IACV,CAACzC,IAAI,IACL,EAAC2B,iBAAiB,KAAjBA,IAAAA,IAAAA,iBAAiB,KAAjBA,KAAAA,CAAAA,IAAAA,iBAAiB,CAAEe,OAAO,CAC3B,IAAA,EAACX,mBAAmB,KAAA,IAAA,IAAnBA,mBAAmB,KAAA,KAAA,CAAA,IAAnBA,mBAAmB,CAAEW,OAAO,CAAA,IAC5B,CAACnC,KAAK,IAAI,CAACC,MAAO,EACrB;AACE,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMmC,aAAa,GAAGhB,iBAAiB,CAACe,OAAO,CAACE,YAAY,CAAA;AAC5D,MAAA,IAAMC,WAAW,GAAG,CAAAL,CAAAA,qBAAA,GAAAV,cAAc,CAACY,OAAO,MAAA,IAAA,IAAAF,qBAAA,KAAtBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAwBI,YAAY,KAAI,CAAC,CAAA;MAE7D,IAAME,UAAU,GAAGC,MAAM,CAACC,MAAM,CAACC,gBAAgB,CAACtB,iBAAiB,CAACe,OAAO,CAAC,CAACQ,MAAM,CAACC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;AAEtG,MAAA,IAAMC,mBAAmB,GAAGT,aAAa,GAAGE,WAAW,GAAGC,UAAU,CAAA;AAEpEf,MAAAA,mBAAmB,CAACW,OAAO,CAACW,WAAW,GAAGrD,IAAI,CAAA;AAE9C,MAAA,IAAI+B,mBAAmB,CAACW,OAAO,CAACE,YAAY,IAAIQ,mBAAmB,EAAE;QACjEjC,YAAY,CAACnB,IAAI,CAAC,CAAA;AAClB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIsD,QAAQ,GAAA,EAAA,CAAAjC,MAAA,CAAMrB,IAAI,CAACuD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAK,KAAA,CAAA,CAAA;AAExC,MAAA,KAAK,IAAIC,CAAC,GAAGxD,IAAI,CAACyD,MAAM,GAAG,CAAC,EAAED,CAAC,IAAI,CAAC,EAAEA,CAAC,IAAI,CAAC,EAAE;AAC1CzB,QAAAA,mBAAmB,CAACW,OAAO,CAACW,WAAW,GAAGC,QAAQ,CAAA;AAElD,QAAA,IAAIvB,mBAAmB,CAACW,OAAO,CAACE,YAAY,IAAIQ,mBAAmB,EAAE;AACjE,UAAA,MAAA;AACJ,SAAA;QAEAE,QAAQ,GAAA,EAAA,CAAAjC,MAAA,CAAMiC,QAAQ,CAACC,KAAK,CAAC,CAAC,EAAEC,CAAC,CAAC,EAAK,KAAA,CAAA,CAAA;AAC3C,OAAA;MAEArC,YAAY,CAACmC,QAAQ,CAAC,CAAA;KACzB,CAAA;AAEDI,IAAAA,iBAAiB,CAAC/B,iBAAiB,EAAEY,gBAAgB,CAAC,CAAA;AAEtDoB,IAAAA,eAAe,CAAC,YAAM;AAClBpB,MAAAA,gBAAgB,EAAE,CAAA;KACrB,EAAE,CAACvC,IAAI,EAAEC,aAAa,EAAEE,mBAAmB,EAAEG,OAAO,CAAC,CAAC,CAAA;AAEvDsD,IAAAA,SAAS,CAAC,YAAM;AACZrB,MAAAA,gBAAgB,EAAE,CAAA;AACtB,KAAC,EAAE,CAACvC,IAAI,CAAC,CAAC,CAAA;AAEV4D,IAAAA,SAAS,CAAC,YAAM;MACZ,IAAI,EAAC/B,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,eAAhBA,gBAAgB,CAAEa,OAAO,CAAE,EAAA;AAC5B,QAAA,OAAA;AACJ,OAAA;MAEA,IAAIvC,mBAAmB,KAAK,UAAU,EAAE;QACpCuB,qBAAqB,CAAA,EAAA,CAAAL,MAAA,CAAIQ,gBAAgB,CAACa,OAAO,CAACmB,WAAW,EAAA,IAAA,CAAI,CAAC,CAAA;AAClE,QAAA,OAAA;AACJ,OAAA;AAEAnC,MAAAA,qBAAqB,QAAAL,MAAA,CAAQC,MAAM,CAACC,uBAAuB,MAAG,CAAC,CAAA;AACnE,KAAC,EAAE,CAACtB,aAAa,EAAEE,mBAAmB,CAAC,CAAC,CAAA;AAExC,IAAA,oBACI2D,KAAA,CAAAC,aAAA,CAACtE,IAAI,EAAAuE,QAAA,CAAA;AACDC,MAAAA,GAAG,EAAErE,QAAS;AACdC,MAAAA,SAAS,EAAEqE,EAAE,CACTrE,SAAS,EACTS,OAAO,IAAI6D,OAAO,CAAC7D,OAAO,EAC1BH,mBAAmB,KAAK,UAAU,IAAIgE,OAAO,CAACC,kBAClD,CAAE;AACF/D,MAAAA,IAAI,EAAEA,IAAK;AACXD,MAAAA,IAAI,EAAEA,IAAK;AACXN,MAAAA,KAAK,EAAAuE,cAAA,CAAAA,cAAA,CAEMvE,EAAAA,EAAAA,KAAK,CAAAwE,EAAAA,EAAAA,EAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CACPC,EAAAA,EAAAA,aAAa,CAAChE,KAAK,EAAGyB,UAAU,CAChCuC,EAAAA,aAAa,CAAC/D,MAAM,EAAG0B,WAAW,CAClCqC,EAAAA,aAAa,CAACC,sBAAsB,EAAGlC,2BAA2B,CAAA,CAAA;KAGvE3B,EAAAA,IAAI,GAEPV,aAAa,iBAAI6D,KAAA,CAAAC,aAAA,CAACU,aAAa,EAAA;AAACR,MAAAA,GAAG,EAAEpC,gBAAAA;AAAiB,KAAA,EAAE5B,aAA6B,CAAC,eACvF6D,KAAA,CAAAC,aAAA,CAACW,cAAc,EAAA;AAACT,MAAAA,GAAG,EAAEtC,iBAAAA;AAAkB,KAAA,EAClC5B,KAAK,iBACF+D,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAa,QAAA,EACIb,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACa,KAAK,EAAA;AAACnE,MAAAA,QAAQ,EAAEA,QAAAA;AAAS,KAAA,EAAEV,KAAa,CAAC,eAC1C+D,KAAA,CAAAC,aAAA,CAACc,WAAW,EAAA;AAACZ,MAAAA,GAAG,EAAEnC,cAAAA;KAAgB,EAAA,GAAc,CAClD,CACL,EACAZ,SAAS,iBACN4C,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAa,QAAA,qBACIb,KAAA,CAAAC,aAAA,CAACe,IAAI,EAAA,IAAA,EACA5D,SAAS,eACV4C,KAAA,CAAAC,aAAA,CAACgB,UAAU,EAAA;AAACd,MAAAA,GAAG,EAAElC,mBAAAA;AAAoB,KAAA,EAAC,GAAa,CACjD,CACR,CAEM,CAAC,EAChBtB,QAAQ,iBACLqD,KAAA,CAAAC,aAAA,CAACiB,gBAAgB,EAAA;AACb3E,MAAAA,IAAI,EAAC,OAAO;AACZD,MAAAA,IAAI,EAAC,GAAG;AACR6E,MAAAA,OAAO,EAAEvE,kBAAmB;MAC5Bb,SAAS,EAAEsE,OAAO,CAACe,SAAAA;AAAU,KAAA,eAE7BpB,KAAA,CAAAC,aAAA,CAACoB,aAAa,EAAA;AAAC/E,MAAAA,IAAI,EAAC,GAAG;MAACgF,kBAAkB,EAAE9D,MAAM,CAAC+D,aAAc;AAACC,MAAAA,KAAK,EAAC,SAAA;KAAW,CACrE,CAEpB,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMC,UAAU,GAAG;AACtBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAElG,QAAQ;AAChBmG,EAAAA,IAAI,EAAJA,IAAI;AACJC,EAAAA,UAAU,EAAE;AACRvF,IAAAA,IAAI,EAAE;AACFwF,MAAAA,GAAG,EAAEC,MAAAA;KACR;AACD1F,IAAAA,IAAI,EAAE;AACFyF,MAAAA,GAAG,EAAEE,MAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACN3F,IAAAA,IAAI,EAAE,SAAS;AACfD,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@salutejs/plasma-new-hope",
|
3
|
-
"version": "0.326.0-canary.2006.
|
3
|
+
"version": "0.326.0-canary.2006.15550430455.0",
|
4
4
|
"description": "Salute Design System blueprint",
|
5
5
|
"main": "cjs/index.js",
|
6
6
|
"module": "es/index.js",
|
@@ -79,8 +79,8 @@
|
|
79
79
|
"@rollup/plugin-babel": "^6.0.4",
|
80
80
|
"@rollup/plugin-commonjs": "^25.0.4",
|
81
81
|
"@rollup/plugin-node-resolve": "^15.1.0",
|
82
|
-
"@salutejs/plasma-sb-utils": "0.199.0-canary.2006.
|
83
|
-
"@salutejs/plasma-themes": "0.34.0-canary.2006.
|
82
|
+
"@salutejs/plasma-sb-utils": "0.199.0-canary.2006.15550430455.0",
|
83
|
+
"@salutejs/plasma-themes": "0.34.0-canary.2006.15550430455.0",
|
84
84
|
"@storybook/addon-docs": "8.6.12",
|
85
85
|
"@storybook/addon-essentials": "8.6.12",
|
86
86
|
"@storybook/manager-api": "8.6.12",
|
@@ -117,7 +117,7 @@
|
|
117
117
|
"@linaria/react": "5.0.3",
|
118
118
|
"@popperjs/core": "2.11.8",
|
119
119
|
"@salutejs/input-core": "2.1.2",
|
120
|
-
"@salutejs/plasma-core": "1.198.0-canary.2006.
|
120
|
+
"@salutejs/plasma-core": "1.198.0-canary.2006.15550430455.0",
|
121
121
|
"@salutejs/react-maskinput": "3.2.6",
|
122
122
|
"@tanstack/react-table": "8.21.2",
|
123
123
|
"@tanstack/react-virtual": "3.13.2",
|
@@ -137,5 +137,5 @@
|
|
137
137
|
"sideEffects": [
|
138
138
|
"*.css"
|
139
139
|
],
|
140
|
-
"gitHead": "
|
140
|
+
"gitHead": "c5072c455236b30940423e3efecbcb685caadb58"
|
141
141
|
}
|
@@ -92,7 +92,7 @@ var noteRoot = exports.noteRoot = function noteRoot(Root) {
|
|
92
92
|
setTruncatedText();
|
93
93
|
}, [text, contentBefore, contentBeforeSizing, stretch]);
|
94
94
|
(0, _react.useEffect)(function () {
|
95
|
-
|
95
|
+
setTruncatedText();
|
96
96
|
}, [text]);
|
97
97
|
(0, _react.useEffect)(function () {
|
98
98
|
if (!(contentBeforeRef !== null && contentBeforeRef !== void 0 && contentBeforeRef.current)) {
|
@@ -84,7 +84,7 @@ export var noteRoot = function noteRoot(Root) {
|
|
84
84
|
setTruncatedText();
|
85
85
|
}, [text, contentBefore, contentBeforeSizing, stretch]);
|
86
86
|
useEffect(function () {
|
87
|
-
|
87
|
+
setTruncatedText();
|
88
88
|
}, [text]);
|
89
89
|
useEffect(function () {
|
90
90
|
if (!(contentBeforeRef !== null && contentBeforeRef !== void 0 && contentBeforeRef.current)) {
|