@semcore/ellipsis 2.36.2 → 2.36.3-prerelease.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/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [2.36.3] - 2024-10-30
6
+
7
+ ### Fixed
8
+
9
+ - Logic of showing tooltip with one line text and float width value.
10
+
5
11
  ## [2.36.2] - 2024-10-21
6
12
 
7
13
  ### Fixed
@@ -30,16 +30,16 @@ var _ref11 = require("@semcore/utils/lib/ref");
30
30
  var _excluded = ["styles", "Children", "maxLine", "tooltip", "trim", "containerRect", "containerRef", "includeTooltipProps", "children"],
31
31
  _excluded2 = ["styles", "text", "tooltip", "containerRect", "containerRef", "textRef", "tooltipProps", "children", "advanceMode"];
32
32
  /*__reshadow-styles__:"./style/ellipsis.shadow.css"*/
33
- var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SContainerMiddle_r037u_gg_,.___SContainer_r037u_gg_,.___SEllipsis_r037u_gg_.__middle-mod_r037u_gg_,.___SNoTooltipContainer_r037u_gg_{display:flex;overflow:hidden}.___SBeginning_r037u_gg_,.___SEllipsis_r037u_gg_{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap}.___SEllipsis_r037u_gg_.__maxLine_r037u_gg_{display:-webkit-box;-webkit-line-clamp:var(--maxLine_r037u);-webkit-box-orient:vertical;overflow:hidden;white-space:normal;word-wrap:break-word}.___SContainerMiddle_r037u_gg_>:has(.___SBeginning_r037u_gg_),.___SContainerMiddle_r037u_gg_>:has(.___STail_r037u_gg_){display:flex;width:100%}.___STail_r037u_gg_{white-space:nowrap}" /*__inner_css_end__*/, "r037u_gg_") /*__reshadow_css_end__*/, {
34
- "__SContainer": "___SContainer_r037u_gg_",
35
- "__SNoTooltipContainer": "___SNoTooltipContainer_r037u_gg_",
36
- "__SContainerMiddle": "___SContainerMiddle_r037u_gg_",
37
- "__SBeginning": "___SBeginning_r037u_gg_",
38
- "__SEllipsis": "___SEllipsis_r037u_gg_",
39
- "_middle-mod": "__middle-mod_r037u_gg_",
40
- "_maxLine": "__maxLine_r037u_gg_",
41
- "--maxLine": "--maxLine_r037u",
42
- "__STail": "___STail_r037u_gg_"
33
+ var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SContainerMiddle_1pejy_gg_,.___SContainer_1pejy_gg_,.___SEllipsis_1pejy_gg_.__middle-mod_1pejy_gg_,.___SNoTooltipContainer_1pejy_gg_{display:flex;overflow:hidden}.___SBeginning_1pejy_gg_,.___SEllipsis_1pejy_gg_{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap}.___SEllipsis_1pejy_gg_.__maxLine_1pejy_gg_{display:-webkit-box;-webkit-line-clamp:var(--maxLine_1pejy);-webkit-box-orient:vertical;overflow:hidden;white-space:normal;word-wrap:break-word}.___SContainerMiddle_1pejy_gg_>:has(.___SBeginning_1pejy_gg_),.___SContainerMiddle_1pejy_gg_>:has(.___STail_1pejy_gg_){display:flex;width:100%}.___STail_1pejy_gg_{white-space:nowrap}" /*__inner_css_end__*/, "1pejy_gg_") /*__reshadow_css_end__*/, {
34
+ "__SContainer": "___SContainer_1pejy_gg_",
35
+ "__SNoTooltipContainer": "___SNoTooltipContainer_1pejy_gg_",
36
+ "__SContainerMiddle": "___SContainerMiddle_1pejy_gg_",
37
+ "__SBeginning": "___SBeginning_1pejy_gg_",
38
+ "__SEllipsis": "___SEllipsis_1pejy_gg_",
39
+ "_middle-mod": "__middle-mod_1pejy_gg_",
40
+ "_maxLine": "__maxLine_1pejy_gg_",
41
+ "--maxLine": "--maxLine_1pejy",
42
+ "__STail": "___STail_1pejy_gg_"
43
43
  });
44
44
  var defaultTooltipProps = ['title', 'theme', 'strategy', 'modifiers', 'placement', 'interaction', 'timeout', 'visible', 'defaultVisible', 'onVisibleChange', 'offset', 'preventOverflow', 'arrow', 'flip', 'computeStyles', 'eventListeners', 'onFirstUpdate', 'cursorAnchoring'];
45
45
  var createMeasurerElement = function createMeasurerElement(element, text) {
@@ -79,7 +79,7 @@ function isTextOverflowing(element, multiline, text) {
79
79
  }
80
80
  } else {
81
81
  measuringElement.style.whiteSpace = 'nowrap';
82
- isOverflowing = Math.ceil(currentWidth) < measuringElement.scrollWidth;
82
+ isOverflowing = Math.ceil(currentWidth) < measuringElement.getBoundingClientRect().width;
83
83
  }
84
84
  document.body.removeChild(measuringElement);
85
85
  return isOverflowing;
@@ -1 +1 @@
1
- {"version":3,"file":"Ellipsis.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_tooltip","_flexBox","_useResizeObserver","_useEnhancedEffect","_findComponent","_reactToText","_getOriginChildren","_pick","_ref11","_excluded","_excluded2","style","_index","sstyled","insert","defaultTooltipProps","createMeasurerElement","element","text","styleElement","window","getComputedStyle","temporaryElement","document","createElement","display","getPropertyValue","padding","position","right","bottom","visibility","fontFamily","fontSize","fontWeight","lineHeight","whiteSpace","wordWrap","fontFeatureSettings","fontVariantNumeric","innerHTML","isTextOverflowing","multiline","_element$getBoundingC","getBoundingClientRect","currentHeight","height","currentWidth","width","measuringElement","isOverflowing","body","appendChild","concat","scrollWidth","Math","ceil","removeChild","forcedAdvancedMode","noAdvancedMode","RootEllipsis","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","_defineProperty2","_assertThisInitialized2","visible","React","createRef","setState","showTooltip","_createClass2","key","value","_this$asProps","asProps","_this$asProps$maxLine","maxLine","Children","reactToText","getOriginChildren","textRef","current","getContentProps","ref","getPopperProps","_this$asProps2","includeTooltipProps","tooltipProps","pick","_objectSpread2","children","render","_ref4","SEllipsis","Root","SContainer","Tooltip","SNoTooltipContainer","Box","_this$asProps3","styles","tooltip","trim","containerRect","containerRef","other","_objectWithoutProperties2","state","advancedContent","findComponent","Ellipsis","Content","displayName","advanceMode","isAdvanceMode","Popper","onVisibleChange","handlerVisibleChange","_ref2","EllipsisMiddle","cn","_ref3","undefined","Component","__excludeProps","EllipsisMiddleContext","createContext","props","_ref7","otherProps","resizeElement","useRef","_React$useState","useState","symbolWidth","_React$useState2","_slicedToArray2","dimension","setDimension","blockWidth","useResizeObserver","useEnhancedEffect","node","dateSpan","setAttribute","rect","STail","SBeginning","SContainerMiddle","tag","SAdvancedModeContainerMiddle","displayedSymbols","useMemo","round","interaction","contextValue","begining","substring","tail","_ref5","Provider","_ref6","forkRef","_ref10","_ref","arguments[0]","_ref9","Trigger","ellipsisMiddleContext","useContext","_ref8","assignProps","createComponent","_default","exports"],"sources":["../../src/Ellipsis.tsx"],"sourcesContent":["import React, { RefObject } from 'react';\nimport createComponent, { Component, Intergalactic, Root, sstyled } from '@semcore/core';\nimport Tooltip, { TooltipProps } from '@semcore/tooltip';\nimport { Box, BoxProps } from '@semcore/flex-box';\nimport { useResizeObserver } from './useResizeObserver';\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\nimport findComponent, { isAdvanceMode } from '@semcore/utils/lib/findComponent';\n\nimport style from './style/ellipsis.shadow.css';\nimport reactToText from '@semcore/utils/lib/reactToText';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport pick from '@semcore/utils/lib/pick';\nimport { forkRef } from '@semcore/utils/lib/ref';\n\ntype AsProps = {\n maxLine?: number;\n trim?: 'end' | 'middle';\n tooltip?: boolean;\n styles?: React.CSSProperties;\n containerRect?: { width: number };\n\n containerRef?: RefObject<HTMLDivElement>;\n includeTooltipProps?: string[];\n __excludeProps?: string[];\n};\n\ntype AsPropsMiddle = {\n text: string;\n textRef: RefObject<HTMLElement>;\n tooltip?: boolean;\n styles?: React.CSSProperties;\n containerRect?: { width: number };\n\n containerRef?: RefObject<HTMLDivElement>;\n tooltipProps: TooltipProps;\n children?: React.ReactNode;\n advanceMode?: boolean;\n tag?: React.ElementType;\n};\n\ntype EllipsisProps = BoxProps &\n Partial<TooltipProps> & {\n /**\n * Rows count in multiline Ellipsis\n * @default 1\n */\n maxLine?: number;\n /**\n * Trimming type\n * @default end\n */\n trim?: 'end' | 'middle';\n /**\n * Show tooltip\n * @default true\n */\n tooltip?: boolean;\n /**\n * Ref to the item that will be observed by ResizeObserver\n */\n // eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope\n containerRef?: RefObject<HTMLDivElement>;\n /**\n * Explicit sizes of container text should be trimmed in\n **/\n containerRect?: { width: number };\n /** List of props that will be passed to tooltip\n * @default ['title', 'theme', 'strategy', 'modifiers', 'placement', 'interaction', 'timeout', 'visible', 'defaultVisible', 'onVisibleChange', 'offset', 'preventOverflow', 'arrow', 'flip', 'computeStyles', 'eventListeners', 'onFirstUpdate']\n */\n includeTooltipProps?: string[];\n };\n\nconst defaultTooltipProps = [\n 'title',\n 'theme',\n 'strategy',\n 'modifiers',\n 'placement',\n 'interaction',\n 'timeout',\n 'visible',\n 'defaultVisible',\n 'onVisibleChange',\n 'offset',\n 'preventOverflow',\n 'arrow',\n 'flip',\n 'computeStyles',\n 'eventListeners',\n 'onFirstUpdate',\n 'cursorAnchoring',\n];\n\nconst createMeasurerElement = (element: HTMLDivElement, text?: string) => {\n const styleElement = window.getComputedStyle(element, null);\n const temporaryElement = document.createElement('temporary-block');\n temporaryElement.style.display = styleElement.getPropertyValue('display');\n temporaryElement.style.padding = styleElement.getPropertyValue('padding');\n temporaryElement.style.position = 'absolute';\n temporaryElement.style.right = '0%';\n temporaryElement.style.bottom = '0%';\n temporaryElement.style.visibility = 'hidden';\n temporaryElement.style.fontFamily = styleElement.getPropertyValue('font-family');\n temporaryElement.style.fontSize = styleElement.getPropertyValue('font-size');\n temporaryElement.style.fontWeight = styleElement.getPropertyValue('font-weight');\n temporaryElement.style.lineHeight = styleElement.getPropertyValue('line-height');\n temporaryElement.style.whiteSpace = styleElement.getPropertyValue('white-space');\n temporaryElement.style.wordWrap = styleElement.getPropertyValue('word-wrap');\n\n temporaryElement.style.fontFeatureSettings =\n styleElement.getPropertyValue('font-feature-settings');\n temporaryElement.style.fontVariantNumeric = styleElement.getPropertyValue('font-variant-numeric');\n\n temporaryElement.innerHTML = text ?? element.innerHTML;\n return temporaryElement;\n};\n\nfunction isTextOverflowing(element: HTMLDivElement, multiline: boolean, text?: string): boolean {\n if (!element) return false;\n\n const { height: currentHeight, width: currentWidth } = element.getBoundingClientRect();\n const measuringElement = createMeasurerElement(element, text);\n let isOverflowing = false;\n\n document.body.appendChild(measuringElement);\n if (multiline) {\n measuringElement.style.width = `${currentWidth}px`;\n\n const width = measuringElement.scrollWidth;\n const height = measuringElement.getBoundingClientRect().height;\n\n if (Math.ceil(currentHeight) < height || Math.ceil(currentWidth) < width) {\n isOverflowing = true;\n }\n } else {\n measuringElement.style.whiteSpace = 'nowrap';\n isOverflowing = Math.ceil(currentWidth) < measuringElement.scrollWidth;\n }\n\n document.body.removeChild(measuringElement);\n\n return isOverflowing;\n}\n\nconst forcedAdvancedMode = { forcedAdvancedMode: true } as any;\nconst noAdvancedMode = {} as any;\n\nclass RootEllipsis extends Component<AsProps> {\n static displayName = 'Ellipsis';\n static style = style;\n static defaultProps: AsProps = {\n trim: 'end',\n tooltip: true,\n includeTooltipProps: defaultTooltipProps,\n __excludeProps: ['title'],\n };\n\n state = {\n visible: false,\n };\n\n textRef = React.createRef<HTMLDivElement>();\n\n showTooltip() {\n const { maxLine = 1, Children } = this.asProps;\n const text = reactToText(getOriginChildren(Children));\n return isTextOverflowing(this.textRef.current!, maxLine > 1, text);\n }\n\n handlerVisibleChange = (visible: boolean) => {\n this.setState({ visible: visible && this.showTooltip() });\n };\n\n getContentProps() {\n return {\n ref: this.textRef,\n maxLine: this.asProps.maxLine,\n };\n }\n\n getPopperProps() {\n const { Children, includeTooltipProps } = this.asProps;\n const text = reactToText(getOriginChildren(Children));\n const tooltipProps = pick(this.asProps, includeTooltipProps as any) as TooltipProps;\n return { children: text, ...tooltipProps };\n }\n\n render() {\n const SEllipsis = this.Root;\n const SContainer = Tooltip;\n const SNoTooltipContainer = Box;\n const {\n styles,\n Children,\n maxLine,\n tooltip,\n trim,\n containerRect,\n containerRef,\n includeTooltipProps,\n children,\n ...other\n } = this.asProps;\n const { visible } = this.state;\n const advancedContent = findComponent(Children, [(Ellipsis as any).Content.displayName]);\n const text = reactToText(advancedContent || getOriginChildren(Children));\n const advanceMode = isAdvanceMode(Children, [\n (Ellipsis as any).Content.displayName,\n (Ellipsis as any).Popper.displayName,\n ]);\n const tooltipProps = pick(this.asProps, includeTooltipProps as any) as TooltipProps;\n\n tooltipProps.visible = visible;\n tooltipProps.onVisibleChange = this.handlerVisibleChange;\n\n if (trim === 'middle') {\n return sstyled(styles)(\n <EllipsisMiddle\n text={text}\n styles={styles}\n tooltip={tooltip}\n containerRect={containerRect}\n containerRef={containerRef}\n textRef={this.textRef}\n tooltipProps={tooltipProps}\n advanceMode={advanceMode}\n {...other}\n >\n <Children />\n </EllipsisMiddle>,\n );\n }\n if (tooltip) {\n return sstyled(styles)(\n <SContainer\n interaction='hover'\n title={!advanceMode ? text : undefined}\n {...tooltipProps}\n {...(advanceMode ? forcedAdvancedMode : noAdvancedMode)}\n >\n {advanceMode ? (\n <Children />\n ) : (\n <SEllipsis render={Box} ref={this.textRef} maxLine={maxLine} {...other}>\n <Children />\n </SEllipsis>\n )}\n </SContainer>,\n );\n }\n return sstyled(styles)(\n <SNoTooltipContainer>\n {advanceMode ? (\n <Children />\n ) : (\n <SEllipsis render={Box} ref={this.textRef} maxLine={maxLine} {...other}>\n <Children />\n </SEllipsis>\n )}\n </SNoTooltipContainer>,\n );\n }\n}\n\nconst EllipsisMiddleContext = React.createContext<null | {\n begining: string;\n tail: string;\n ref: React.RefObject<HTMLElement>;\n}>(null);\n\nconst EllipsisMiddle: React.FC<AsPropsMiddle> = (props) => {\n const {\n styles,\n text,\n tooltip,\n containerRect,\n containerRef,\n textRef,\n tooltipProps,\n children,\n advanceMode,\n ...otherProps\n } = props;\n const resizeElement = React.useRef<HTMLDivElement>(null);\n const [dimension, setDimension] = React.useState<{ fontSize: string; symbolWidth: number }>({\n fontSize: '14',\n symbolWidth: 0,\n });\n const blockWidth = useResizeObserver(resizeElement, containerRect).width;\n\n useEnhancedEffect(() => {\n const node = containerRef?.current || resizeElement?.current;\n if (!node) return;\n\n const dateSpan = document.createElement('temporary-block');\n dateSpan.setAttribute('style', `fontSize: ${dimension.fontSize}px`);\n dateSpan.innerHTML = 'a';\n document.body.appendChild(dateSpan);\n const rect = dateSpan.getBoundingClientRect();\n\n setDimension({\n fontSize: window.getComputedStyle(node, null).getPropertyValue('font-size'),\n symbolWidth: rect.width,\n });\n document.body.removeChild(dateSpan);\n }, []);\n\n const STail = 'span';\n const SBeginning = 'span';\n const SContainerMiddle = props.tag || Box;\n const SAdvancedModeContainerMiddle = Tooltip;\n const displayedSymbols = React.useMemo(\n () => Math.round(blockWidth / dimension.symbolWidth),\n [blockWidth, dimension.symbolWidth],\n );\n\n const interaction = text.length > displayedSymbols ? 'hover' : 'none';\n const ref = containerRef ?? resizeElement;\n const contextValue = React.useMemo(\n () => ({\n begining: text.substring(0, text.length - displayedSymbols / 2 - 1),\n tail: text.substring(text.length - displayedSymbols / 2 - 1),\n ref,\n }),\n [text, displayedSymbols],\n );\n\n if (advanceMode) {\n return sstyled(styles)(\n <SAdvancedModeContainerMiddle\n interaction={interaction}\n {...tooltipProps}\n {...forcedAdvancedMode}\n >\n <EllipsisMiddleContext.Provider value={contextValue}>\n {children}\n </EllipsisMiddleContext.Provider>\n </SAdvancedModeContainerMiddle>,\n ) as any;\n }\n if (tooltip) {\n return sstyled(styles)(\n <SContainerMiddle\n interaction={interaction}\n title={text as any}\n ref={forkRef(ref, textRef)}\n tag={Tooltip}\n __excludeProps={['title']}\n {...tooltipProps}\n >\n <SBeginning>{text.substring(0, text.length - displayedSymbols / 2 - 1)}</SBeginning>\n <STail>{text.substring(text.length - displayedSymbols / 2 - 1)}</STail>\n </SContainerMiddle>,\n ) as any;\n }\n return sstyled(styles)(\n <SContainerMiddle {...otherProps} ref={containerRef ?? resizeElement}>\n <SBeginning>{text.substring(0, text.length - displayedSymbols / 2 - 1)}</SBeginning>\n <STail>{text.substring(text.length - displayedSymbols / 2 - 1)}</STail>\n </SContainerMiddle>,\n ) as any;\n};\n\ntype EllipsisContentAsProps = {\n styles: any;\n Children: React.FC;\n};\n\nconst Content: React.FC<EllipsisContentAsProps> = ({ styles, Children }) => {\n const SEllipsis = Root;\n const ellipsisMiddleContext = React.useContext(EllipsisMiddleContext);\n const STail = 'span';\n const SBeginning = 'span';\n\n if (ellipsisMiddleContext) {\n const { begining, tail, ref } = ellipsisMiddleContext;\n return sstyled(styles)(\n <SEllipsis render={Tooltip.Trigger} middle-mod ref={ref}>\n <SBeginning>{begining}</SBeginning>\n <STail>{tail}</STail>\n </SEllipsis>,\n ) as any;\n }\n\n return sstyled(styles)(\n <SEllipsis render={Tooltip.Trigger}>\n <Children />\n </SEllipsis>,\n ) as any;\n};\n\nconst Ellipsis = createComponent(RootEllipsis, {\n Content,\n Popper: Tooltip.Popper,\n}) as any as Intergalactic.Component<'div', EllipsisProps> & {\n Content: typeof Box;\n Popper: typeof Tooltip.Popper;\n};\n\nexport default Ellipsis;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Ellipsis.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_tooltip","_flexBox","_useResizeObserver","_useEnhancedEffect","_findComponent","_reactToText","_getOriginChildren","_pick","_ref11","_excluded","_excluded2","style","_index","sstyled","insert","defaultTooltipProps","createMeasurerElement","element","text","styleElement","window","getComputedStyle","temporaryElement","document","createElement","display","getPropertyValue","padding","position","right","bottom","visibility","fontFamily","fontSize","fontWeight","lineHeight","whiteSpace","wordWrap","fontFeatureSettings","fontVariantNumeric","innerHTML","isTextOverflowing","multiline","_element$getBoundingC","getBoundingClientRect","currentHeight","height","currentWidth","width","measuringElement","isOverflowing","body","appendChild","concat","scrollWidth","Math","ceil","removeChild","forcedAdvancedMode","noAdvancedMode","RootEllipsis","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","_defineProperty2","_assertThisInitialized2","visible","React","createRef","setState","showTooltip","_createClass2","key","value","_this$asProps","asProps","_this$asProps$maxLine","maxLine","Children","reactToText","getOriginChildren","textRef","current","getContentProps","ref","getPopperProps","_this$asProps2","includeTooltipProps","tooltipProps","pick","_objectSpread2","children","render","_ref4","SEllipsis","Root","SContainer","Tooltip","SNoTooltipContainer","Box","_this$asProps3","styles","tooltip","trim","containerRect","containerRef","other","_objectWithoutProperties2","state","advancedContent","findComponent","Ellipsis","Content","displayName","advanceMode","isAdvanceMode","Popper","onVisibleChange","handlerVisibleChange","_ref2","EllipsisMiddle","cn","_ref3","undefined","Component","__excludeProps","EllipsisMiddleContext","createContext","props","_ref7","otherProps","resizeElement","useRef","_React$useState","useState","symbolWidth","_React$useState2","_slicedToArray2","dimension","setDimension","blockWidth","useResizeObserver","useEnhancedEffect","node","dateSpan","setAttribute","rect","STail","SBeginning","SContainerMiddle","tag","SAdvancedModeContainerMiddle","displayedSymbols","useMemo","round","interaction","contextValue","begining","substring","tail","_ref5","Provider","_ref6","forkRef","_ref10","_ref","arguments[0]","_ref9","Trigger","ellipsisMiddleContext","useContext","_ref8","assignProps","createComponent","_default","exports"],"sources":["../../src/Ellipsis.tsx"],"sourcesContent":["import React, { RefObject } from 'react';\nimport createComponent, { Component, Intergalactic, Root, sstyled } from '@semcore/core';\nimport Tooltip, { TooltipProps } from '@semcore/tooltip';\nimport { Box, BoxProps } from '@semcore/flex-box';\nimport { useResizeObserver } from './useResizeObserver';\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\nimport findComponent, { isAdvanceMode } from '@semcore/utils/lib/findComponent';\n\nimport style from './style/ellipsis.shadow.css';\nimport reactToText from '@semcore/utils/lib/reactToText';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport pick from '@semcore/utils/lib/pick';\nimport { forkRef } from '@semcore/utils/lib/ref';\n\ntype AsProps = {\n maxLine?: number;\n trim?: 'end' | 'middle';\n tooltip?: boolean;\n styles?: React.CSSProperties;\n containerRect?: { width: number };\n\n containerRef?: RefObject<HTMLDivElement>;\n includeTooltipProps?: string[];\n __excludeProps?: string[];\n};\n\ntype AsPropsMiddle = {\n text: string;\n textRef: RefObject<HTMLElement>;\n tooltip?: boolean;\n styles?: React.CSSProperties;\n containerRect?: { width: number };\n\n containerRef?: RefObject<HTMLDivElement>;\n tooltipProps: TooltipProps;\n children?: React.ReactNode;\n advanceMode?: boolean;\n tag?: React.ElementType;\n};\n\ntype EllipsisProps = BoxProps &\n Partial<TooltipProps> & {\n /**\n * Rows count in multiline Ellipsis\n * @default 1\n */\n maxLine?: number;\n /**\n * Trimming type\n * @default end\n */\n trim?: 'end' | 'middle';\n /**\n * Show tooltip\n * @default true\n */\n tooltip?: boolean;\n /**\n * Ref to the item that will be observed by ResizeObserver\n */\n // eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope\n containerRef?: RefObject<HTMLDivElement>;\n /**\n * Explicit sizes of container text should be trimmed in\n **/\n containerRect?: { width: number };\n /** List of props that will be passed to tooltip\n * @default ['title', 'theme', 'strategy', 'modifiers', 'placement', 'interaction', 'timeout', 'visible', 'defaultVisible', 'onVisibleChange', 'offset', 'preventOverflow', 'arrow', 'flip', 'computeStyles', 'eventListeners', 'onFirstUpdate']\n */\n includeTooltipProps?: string[];\n };\n\nconst defaultTooltipProps = [\n 'title',\n 'theme',\n 'strategy',\n 'modifiers',\n 'placement',\n 'interaction',\n 'timeout',\n 'visible',\n 'defaultVisible',\n 'onVisibleChange',\n 'offset',\n 'preventOverflow',\n 'arrow',\n 'flip',\n 'computeStyles',\n 'eventListeners',\n 'onFirstUpdate',\n 'cursorAnchoring',\n];\n\nconst createMeasurerElement = (element: HTMLDivElement, text?: string) => {\n const styleElement = window.getComputedStyle(element, null);\n const temporaryElement = document.createElement('temporary-block');\n temporaryElement.style.display = styleElement.getPropertyValue('display');\n temporaryElement.style.padding = styleElement.getPropertyValue('padding');\n temporaryElement.style.position = 'absolute';\n temporaryElement.style.right = '0%';\n temporaryElement.style.bottom = '0%';\n temporaryElement.style.visibility = 'hidden';\n temporaryElement.style.fontFamily = styleElement.getPropertyValue('font-family');\n temporaryElement.style.fontSize = styleElement.getPropertyValue('font-size');\n temporaryElement.style.fontWeight = styleElement.getPropertyValue('font-weight');\n temporaryElement.style.lineHeight = styleElement.getPropertyValue('line-height');\n temporaryElement.style.whiteSpace = styleElement.getPropertyValue('white-space');\n temporaryElement.style.wordWrap = styleElement.getPropertyValue('word-wrap');\n\n temporaryElement.style.fontFeatureSettings =\n styleElement.getPropertyValue('font-feature-settings');\n temporaryElement.style.fontVariantNumeric = styleElement.getPropertyValue('font-variant-numeric');\n\n temporaryElement.innerHTML = text ?? element.innerHTML;\n return temporaryElement;\n};\n\nfunction isTextOverflowing(element: HTMLDivElement, multiline: boolean, text?: string): boolean {\n if (!element) return false;\n\n const { height: currentHeight, width: currentWidth } = element.getBoundingClientRect();\n const measuringElement = createMeasurerElement(element, text);\n let isOverflowing = false;\n\n document.body.appendChild(measuringElement);\n if (multiline) {\n measuringElement.style.width = `${currentWidth}px`;\n\n const width = measuringElement.scrollWidth;\n const height = measuringElement.getBoundingClientRect().height;\n\n if (Math.ceil(currentHeight) < height || Math.ceil(currentWidth) < width) {\n isOverflowing = true;\n }\n } else {\n measuringElement.style.whiteSpace = 'nowrap';\n isOverflowing = Math.ceil(currentWidth) < measuringElement.getBoundingClientRect().width;\n }\n\n document.body.removeChild(measuringElement);\n\n return isOverflowing;\n}\n\nconst forcedAdvancedMode = { forcedAdvancedMode: true } as any;\nconst noAdvancedMode = {} as any;\n\nclass RootEllipsis extends Component<AsProps> {\n static displayName = 'Ellipsis';\n static style = style;\n static defaultProps: AsProps = {\n trim: 'end',\n tooltip: true,\n includeTooltipProps: defaultTooltipProps,\n __excludeProps: ['title'],\n };\n\n state = {\n visible: false,\n };\n\n textRef = React.createRef<HTMLDivElement>();\n\n showTooltip() {\n const { maxLine = 1, Children } = this.asProps;\n const text = reactToText(getOriginChildren(Children));\n return isTextOverflowing(this.textRef.current!, maxLine > 1, text);\n }\n\n handlerVisibleChange = (visible: boolean) => {\n this.setState({ visible: visible && this.showTooltip() });\n };\n\n getContentProps() {\n return {\n ref: this.textRef,\n maxLine: this.asProps.maxLine,\n };\n }\n\n getPopperProps() {\n const { Children, includeTooltipProps } = this.asProps;\n const text = reactToText(getOriginChildren(Children));\n const tooltipProps = pick(this.asProps, includeTooltipProps as any) as TooltipProps;\n return { children: text, ...tooltipProps };\n }\n\n render() {\n const SEllipsis = this.Root;\n const SContainer = Tooltip;\n const SNoTooltipContainer = Box;\n const {\n styles,\n Children,\n maxLine,\n tooltip,\n trim,\n containerRect,\n containerRef,\n includeTooltipProps,\n children,\n ...other\n } = this.asProps;\n const { visible } = this.state;\n const advancedContent = findComponent(Children, [(Ellipsis as any).Content.displayName]);\n const text = reactToText(advancedContent || getOriginChildren(Children));\n const advanceMode = isAdvanceMode(Children, [\n (Ellipsis as any).Content.displayName,\n (Ellipsis as any).Popper.displayName,\n ]);\n const tooltipProps = pick(this.asProps, includeTooltipProps as any) as TooltipProps;\n\n tooltipProps.visible = visible;\n tooltipProps.onVisibleChange = this.handlerVisibleChange;\n\n if (trim === 'middle') {\n return sstyled(styles)(\n <EllipsisMiddle\n text={text}\n styles={styles}\n tooltip={tooltip}\n containerRect={containerRect}\n containerRef={containerRef}\n textRef={this.textRef}\n tooltipProps={tooltipProps}\n advanceMode={advanceMode}\n {...other}\n >\n <Children />\n </EllipsisMiddle>,\n );\n }\n if (tooltip) {\n return sstyled(styles)(\n <SContainer\n interaction='hover'\n title={!advanceMode ? text : undefined}\n {...tooltipProps}\n {...(advanceMode ? forcedAdvancedMode : noAdvancedMode)}\n >\n {advanceMode ? (\n <Children />\n ) : (\n <SEllipsis render={Box} ref={this.textRef} maxLine={maxLine} {...other}>\n <Children />\n </SEllipsis>\n )}\n </SContainer>,\n );\n }\n return sstyled(styles)(\n <SNoTooltipContainer>\n {advanceMode ? (\n <Children />\n ) : (\n <SEllipsis render={Box} ref={this.textRef} maxLine={maxLine} {...other}>\n <Children />\n </SEllipsis>\n )}\n </SNoTooltipContainer>,\n );\n }\n}\n\nconst EllipsisMiddleContext = React.createContext<null | {\n begining: string;\n tail: string;\n ref: React.RefObject<HTMLElement>;\n}>(null);\n\nconst EllipsisMiddle: React.FC<AsPropsMiddle> = (props) => {\n const {\n styles,\n text,\n tooltip,\n containerRect,\n containerRef,\n textRef,\n tooltipProps,\n children,\n advanceMode,\n ...otherProps\n } = props;\n const resizeElement = React.useRef<HTMLDivElement>(null);\n const [dimension, setDimension] = React.useState<{ fontSize: string; symbolWidth: number }>({\n fontSize: '14',\n symbolWidth: 0,\n });\n const blockWidth = useResizeObserver(resizeElement, containerRect).width;\n\n useEnhancedEffect(() => {\n const node = containerRef?.current || resizeElement?.current;\n if (!node) return;\n\n const dateSpan = document.createElement('temporary-block');\n dateSpan.setAttribute('style', `fontSize: ${dimension.fontSize}px`);\n dateSpan.innerHTML = 'a';\n document.body.appendChild(dateSpan);\n const rect = dateSpan.getBoundingClientRect();\n\n setDimension({\n fontSize: window.getComputedStyle(node, null).getPropertyValue('font-size'),\n symbolWidth: rect.width,\n });\n document.body.removeChild(dateSpan);\n }, []);\n\n const STail = 'span';\n const SBeginning = 'span';\n const SContainerMiddle = props.tag || Box;\n const SAdvancedModeContainerMiddle = Tooltip;\n const displayedSymbols = React.useMemo(\n () => Math.round(blockWidth / dimension.symbolWidth),\n [blockWidth, dimension.symbolWidth],\n );\n\n const interaction = text.length > displayedSymbols ? 'hover' : 'none';\n const ref = containerRef ?? resizeElement;\n const contextValue = React.useMemo(\n () => ({\n begining: text.substring(0, text.length - displayedSymbols / 2 - 1),\n tail: text.substring(text.length - displayedSymbols / 2 - 1),\n ref,\n }),\n [text, displayedSymbols],\n );\n\n if (advanceMode) {\n return sstyled(styles)(\n <SAdvancedModeContainerMiddle\n interaction={interaction}\n {...tooltipProps}\n {...forcedAdvancedMode}\n >\n <EllipsisMiddleContext.Provider value={contextValue}>\n {children}\n </EllipsisMiddleContext.Provider>\n </SAdvancedModeContainerMiddle>,\n ) as any;\n }\n if (tooltip) {\n return sstyled(styles)(\n <SContainerMiddle\n interaction={interaction}\n title={text as any}\n ref={forkRef(ref, textRef)}\n tag={Tooltip}\n __excludeProps={['title']}\n {...tooltipProps}\n >\n <SBeginning>{text.substring(0, text.length - displayedSymbols / 2 - 1)}</SBeginning>\n <STail>{text.substring(text.length - displayedSymbols / 2 - 1)}</STail>\n </SContainerMiddle>,\n ) as any;\n }\n return sstyled(styles)(\n <SContainerMiddle {...otherProps} ref={containerRef ?? resizeElement}>\n <SBeginning>{text.substring(0, text.length - displayedSymbols / 2 - 1)}</SBeginning>\n <STail>{text.substring(text.length - displayedSymbols / 2 - 1)}</STail>\n </SContainerMiddle>,\n ) as any;\n};\n\ntype EllipsisContentAsProps = {\n styles: any;\n Children: React.FC;\n};\n\nconst Content: React.FC<EllipsisContentAsProps> = ({ styles, Children }) => {\n const SEllipsis = Root;\n const ellipsisMiddleContext = React.useContext(EllipsisMiddleContext);\n const STail = 'span';\n const SBeginning = 'span';\n\n if (ellipsisMiddleContext) {\n const { begining, tail, ref } = ellipsisMiddleContext;\n return sstyled(styles)(\n <SEllipsis render={Tooltip.Trigger} middle-mod ref={ref}>\n <SBeginning>{begining}</SBeginning>\n <STail>{tail}</STail>\n </SEllipsis>,\n ) as any;\n }\n\n return sstyled(styles)(\n <SEllipsis render={Tooltip.Trigger}>\n <Children />\n </SEllipsis>,\n ) as any;\n};\n\nconst Ellipsis = createComponent(RootEllipsis, {\n Content,\n Popper: Tooltip.Popper,\n}) as any as Intergalactic.Component<'div', EllipsisProps> & {\n Content: typeof Box;\n Popper: typeof Tooltip.Popper;\n};\n\nexport default Ellipsis;\n"],"mappings":"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"}
@@ -20,16 +20,16 @@ import { useResizeObserver } from './useResizeObserver';
20
20
  import useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';
21
21
  import findComponent, { isAdvanceMode } from '@semcore/utils/lib/findComponent';
22
22
  /*__reshadow-styles__:"./style/ellipsis.shadow.css"*/
23
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SContainerMiddle_r037u_gg_,.___SContainer_r037u_gg_,.___SEllipsis_r037u_gg_.__middle-mod_r037u_gg_,.___SNoTooltipContainer_r037u_gg_{display:flex;overflow:hidden}.___SBeginning_r037u_gg_,.___SEllipsis_r037u_gg_{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap}.___SEllipsis_r037u_gg_.__maxLine_r037u_gg_{display:-webkit-box;-webkit-line-clamp:var(--maxLine_r037u);-webkit-box-orient:vertical;overflow:hidden;white-space:normal;word-wrap:break-word}.___SContainerMiddle_r037u_gg_>:has(.___SBeginning_r037u_gg_),.___SContainerMiddle_r037u_gg_>:has(.___STail_r037u_gg_){display:flex;width:100%}.___STail_r037u_gg_{white-space:nowrap}" /*__inner_css_end__*/, "r037u_gg_") /*__reshadow_css_end__*/, {
24
- "__SContainer": "___SContainer_r037u_gg_",
25
- "__SNoTooltipContainer": "___SNoTooltipContainer_r037u_gg_",
26
- "__SContainerMiddle": "___SContainerMiddle_r037u_gg_",
27
- "__SBeginning": "___SBeginning_r037u_gg_",
28
- "__SEllipsis": "___SEllipsis_r037u_gg_",
29
- "_middle-mod": "__middle-mod_r037u_gg_",
30
- "_maxLine": "__maxLine_r037u_gg_",
31
- "--maxLine": "--maxLine_r037u",
32
- "__STail": "___STail_r037u_gg_"
23
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SContainerMiddle_1pejy_gg_,.___SContainer_1pejy_gg_,.___SEllipsis_1pejy_gg_.__middle-mod_1pejy_gg_,.___SNoTooltipContainer_1pejy_gg_{display:flex;overflow:hidden}.___SBeginning_1pejy_gg_,.___SEllipsis_1pejy_gg_{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap}.___SEllipsis_1pejy_gg_.__maxLine_1pejy_gg_{display:-webkit-box;-webkit-line-clamp:var(--maxLine_1pejy);-webkit-box-orient:vertical;overflow:hidden;white-space:normal;word-wrap:break-word}.___SContainerMiddle_1pejy_gg_>:has(.___SBeginning_1pejy_gg_),.___SContainerMiddle_1pejy_gg_>:has(.___STail_1pejy_gg_){display:flex;width:100%}.___STail_1pejy_gg_{white-space:nowrap}" /*__inner_css_end__*/, "1pejy_gg_") /*__reshadow_css_end__*/, {
24
+ "__SContainer": "___SContainer_1pejy_gg_",
25
+ "__SNoTooltipContainer": "___SNoTooltipContainer_1pejy_gg_",
26
+ "__SContainerMiddle": "___SContainerMiddle_1pejy_gg_",
27
+ "__SBeginning": "___SBeginning_1pejy_gg_",
28
+ "__SEllipsis": "___SEllipsis_1pejy_gg_",
29
+ "_middle-mod": "__middle-mod_1pejy_gg_",
30
+ "_maxLine": "__maxLine_1pejy_gg_",
31
+ "--maxLine": "--maxLine_1pejy",
32
+ "__STail": "___STail_1pejy_gg_"
33
33
  });
34
34
  import reactToText from '@semcore/utils/lib/reactToText';
35
35
  import getOriginChildren from '@semcore/utils/lib/getOriginChildren';
@@ -73,7 +73,7 @@ function isTextOverflowing(element, multiline, text) {
73
73
  }
74
74
  } else {
75
75
  measuringElement.style.whiteSpace = 'nowrap';
76
- isOverflowing = Math.ceil(currentWidth) < measuringElement.scrollWidth;
76
+ isOverflowing = Math.ceil(currentWidth) < measuringElement.getBoundingClientRect().width;
77
77
  }
78
78
  document.body.removeChild(measuringElement);
79
79
  return isOverflowing;
@@ -1 +1 @@
1
- {"version":3,"file":"Ellipsis.js","names":["React","createComponent","Component","Root","sstyled","Tooltip","Box","useResizeObserver","useEnhancedEffect","findComponent","isAdvanceMode","style","_sstyled","insert","reactToText","getOriginChildren","pick","forkRef","defaultTooltipProps","createMeasurerElement","element","text","styleElement","window","getComputedStyle","temporaryElement","document","createElement","display","getPropertyValue","padding","position","right","bottom","visibility","fontFamily","fontSize","fontWeight","lineHeight","whiteSpace","wordWrap","fontFeatureSettings","fontVariantNumeric","innerHTML","isTextOverflowing","multiline","_element$getBoundingC","getBoundingClientRect","currentHeight","height","currentWidth","width","measuringElement","isOverflowing","body","appendChild","concat","scrollWidth","Math","ceil","removeChild","forcedAdvancedMode","noAdvancedMode","RootEllipsis","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","_defineProperty","_assertThisInitialized","visible","createRef","setState","showTooltip","_createClass","key","value","_this$asProps","asProps","_this$asProps$maxLine","maxLine","Children","textRef","current","getContentProps","ref","getPopperProps","_this$asProps2","includeTooltipProps","tooltipProps","_objectSpread","children","render","_ref4","SEllipsis","SContainer","SNoTooltipContainer","_this$asProps3","styles","tooltip","trim","containerRect","containerRef","other","_objectWithoutProperties","_excluded","state","advancedContent","Ellipsis","Content","displayName","advanceMode","Popper","onVisibleChange","handlerVisibleChange","_ref2","EllipsisMiddle","cn","_ref3","undefined","__excludeProps","EllipsisMiddleContext","createContext","props","_ref7","otherProps","_excluded2","resizeElement","useRef","_React$useState","useState","symbolWidth","_React$useState2","_slicedToArray","dimension","setDimension","blockWidth","node","dateSpan","setAttribute","rect","STail","SBeginning","SContainerMiddle","tag","SAdvancedModeContainerMiddle","displayedSymbols","useMemo","round","interaction","contextValue","begining","substring","tail","_ref5","Provider","_ref6","_ref10","_ref","arguments[0]","_ref9","Trigger","ellipsisMiddleContext","useContext","_ref8","_assignProps","_assignProps2"],"sources":["../../src/Ellipsis.tsx"],"sourcesContent":["import React, { RefObject } from 'react';\nimport createComponent, { Component, Intergalactic, Root, sstyled } from '@semcore/core';\nimport Tooltip, { TooltipProps } from '@semcore/tooltip';\nimport { Box, BoxProps } from '@semcore/flex-box';\nimport { useResizeObserver } from './useResizeObserver';\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\nimport findComponent, { isAdvanceMode } from '@semcore/utils/lib/findComponent';\n\nimport style from './style/ellipsis.shadow.css';\nimport reactToText from '@semcore/utils/lib/reactToText';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport pick from '@semcore/utils/lib/pick';\nimport { forkRef } from '@semcore/utils/lib/ref';\n\ntype AsProps = {\n maxLine?: number;\n trim?: 'end' | 'middle';\n tooltip?: boolean;\n styles?: React.CSSProperties;\n containerRect?: { width: number };\n\n containerRef?: RefObject<HTMLDivElement>;\n includeTooltipProps?: string[];\n __excludeProps?: string[];\n};\n\ntype AsPropsMiddle = {\n text: string;\n textRef: RefObject<HTMLElement>;\n tooltip?: boolean;\n styles?: React.CSSProperties;\n containerRect?: { width: number };\n\n containerRef?: RefObject<HTMLDivElement>;\n tooltipProps: TooltipProps;\n children?: React.ReactNode;\n advanceMode?: boolean;\n tag?: React.ElementType;\n};\n\ntype EllipsisProps = BoxProps &\n Partial<TooltipProps> & {\n /**\n * Rows count in multiline Ellipsis\n * @default 1\n */\n maxLine?: number;\n /**\n * Trimming type\n * @default end\n */\n trim?: 'end' | 'middle';\n /**\n * Show tooltip\n * @default true\n */\n tooltip?: boolean;\n /**\n * Ref to the item that will be observed by ResizeObserver\n */\n // eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope\n containerRef?: RefObject<HTMLDivElement>;\n /**\n * Explicit sizes of container text should be trimmed in\n **/\n containerRect?: { width: number };\n /** List of props that will be passed to tooltip\n * @default ['title', 'theme', 'strategy', 'modifiers', 'placement', 'interaction', 'timeout', 'visible', 'defaultVisible', 'onVisibleChange', 'offset', 'preventOverflow', 'arrow', 'flip', 'computeStyles', 'eventListeners', 'onFirstUpdate']\n */\n includeTooltipProps?: string[];\n };\n\nconst defaultTooltipProps = [\n 'title',\n 'theme',\n 'strategy',\n 'modifiers',\n 'placement',\n 'interaction',\n 'timeout',\n 'visible',\n 'defaultVisible',\n 'onVisibleChange',\n 'offset',\n 'preventOverflow',\n 'arrow',\n 'flip',\n 'computeStyles',\n 'eventListeners',\n 'onFirstUpdate',\n 'cursorAnchoring',\n];\n\nconst createMeasurerElement = (element: HTMLDivElement, text?: string) => {\n const styleElement = window.getComputedStyle(element, null);\n const temporaryElement = document.createElement('temporary-block');\n temporaryElement.style.display = styleElement.getPropertyValue('display');\n temporaryElement.style.padding = styleElement.getPropertyValue('padding');\n temporaryElement.style.position = 'absolute';\n temporaryElement.style.right = '0%';\n temporaryElement.style.bottom = '0%';\n temporaryElement.style.visibility = 'hidden';\n temporaryElement.style.fontFamily = styleElement.getPropertyValue('font-family');\n temporaryElement.style.fontSize = styleElement.getPropertyValue('font-size');\n temporaryElement.style.fontWeight = styleElement.getPropertyValue('font-weight');\n temporaryElement.style.lineHeight = styleElement.getPropertyValue('line-height');\n temporaryElement.style.whiteSpace = styleElement.getPropertyValue('white-space');\n temporaryElement.style.wordWrap = styleElement.getPropertyValue('word-wrap');\n\n temporaryElement.style.fontFeatureSettings =\n styleElement.getPropertyValue('font-feature-settings');\n temporaryElement.style.fontVariantNumeric = styleElement.getPropertyValue('font-variant-numeric');\n\n temporaryElement.innerHTML = text ?? element.innerHTML;\n return temporaryElement;\n};\n\nfunction isTextOverflowing(element: HTMLDivElement, multiline: boolean, text?: string): boolean {\n if (!element) return false;\n\n const { height: currentHeight, width: currentWidth } = element.getBoundingClientRect();\n const measuringElement = createMeasurerElement(element, text);\n let isOverflowing = false;\n\n document.body.appendChild(measuringElement);\n if (multiline) {\n measuringElement.style.width = `${currentWidth}px`;\n\n const width = measuringElement.scrollWidth;\n const height = measuringElement.getBoundingClientRect().height;\n\n if (Math.ceil(currentHeight) < height || Math.ceil(currentWidth) < width) {\n isOverflowing = true;\n }\n } else {\n measuringElement.style.whiteSpace = 'nowrap';\n isOverflowing = Math.ceil(currentWidth) < measuringElement.scrollWidth;\n }\n\n document.body.removeChild(measuringElement);\n\n return isOverflowing;\n}\n\nconst forcedAdvancedMode = { forcedAdvancedMode: true } as any;\nconst noAdvancedMode = {} as any;\n\nclass RootEllipsis extends Component<AsProps> {\n static displayName = 'Ellipsis';\n static style = style;\n static defaultProps: AsProps = {\n trim: 'end',\n tooltip: true,\n includeTooltipProps: defaultTooltipProps,\n __excludeProps: ['title'],\n };\n\n state = {\n visible: false,\n };\n\n textRef = React.createRef<HTMLDivElement>();\n\n showTooltip() {\n const { maxLine = 1, Children } = this.asProps;\n const text = reactToText(getOriginChildren(Children));\n return isTextOverflowing(this.textRef.current!, maxLine > 1, text);\n }\n\n handlerVisibleChange = (visible: boolean) => {\n this.setState({ visible: visible && this.showTooltip() });\n };\n\n getContentProps() {\n return {\n ref: this.textRef,\n maxLine: this.asProps.maxLine,\n };\n }\n\n getPopperProps() {\n const { Children, includeTooltipProps } = this.asProps;\n const text = reactToText(getOriginChildren(Children));\n const tooltipProps = pick(this.asProps, includeTooltipProps as any) as TooltipProps;\n return { children: text, ...tooltipProps };\n }\n\n render() {\n const SEllipsis = this.Root;\n const SContainer = Tooltip;\n const SNoTooltipContainer = Box;\n const {\n styles,\n Children,\n maxLine,\n tooltip,\n trim,\n containerRect,\n containerRef,\n includeTooltipProps,\n children,\n ...other\n } = this.asProps;\n const { visible } = this.state;\n const advancedContent = findComponent(Children, [(Ellipsis as any).Content.displayName]);\n const text = reactToText(advancedContent || getOriginChildren(Children));\n const advanceMode = isAdvanceMode(Children, [\n (Ellipsis as any).Content.displayName,\n (Ellipsis as any).Popper.displayName,\n ]);\n const tooltipProps = pick(this.asProps, includeTooltipProps as any) as TooltipProps;\n\n tooltipProps.visible = visible;\n tooltipProps.onVisibleChange = this.handlerVisibleChange;\n\n if (trim === 'middle') {\n return sstyled(styles)(\n <EllipsisMiddle\n text={text}\n styles={styles}\n tooltip={tooltip}\n containerRect={containerRect}\n containerRef={containerRef}\n textRef={this.textRef}\n tooltipProps={tooltipProps}\n advanceMode={advanceMode}\n {...other}\n >\n <Children />\n </EllipsisMiddle>,\n );\n }\n if (tooltip) {\n return sstyled(styles)(\n <SContainer\n interaction='hover'\n title={!advanceMode ? text : undefined}\n {...tooltipProps}\n {...(advanceMode ? forcedAdvancedMode : noAdvancedMode)}\n >\n {advanceMode ? (\n <Children />\n ) : (\n <SEllipsis render={Box} ref={this.textRef} maxLine={maxLine} {...other}>\n <Children />\n </SEllipsis>\n )}\n </SContainer>,\n );\n }\n return sstyled(styles)(\n <SNoTooltipContainer>\n {advanceMode ? (\n <Children />\n ) : (\n <SEllipsis render={Box} ref={this.textRef} maxLine={maxLine} {...other}>\n <Children />\n </SEllipsis>\n )}\n </SNoTooltipContainer>,\n );\n }\n}\n\nconst EllipsisMiddleContext = React.createContext<null | {\n begining: string;\n tail: string;\n ref: React.RefObject<HTMLElement>;\n}>(null);\n\nconst EllipsisMiddle: React.FC<AsPropsMiddle> = (props) => {\n const {\n styles,\n text,\n tooltip,\n containerRect,\n containerRef,\n textRef,\n tooltipProps,\n children,\n advanceMode,\n ...otherProps\n } = props;\n const resizeElement = React.useRef<HTMLDivElement>(null);\n const [dimension, setDimension] = React.useState<{ fontSize: string; symbolWidth: number }>({\n fontSize: '14',\n symbolWidth: 0,\n });\n const blockWidth = useResizeObserver(resizeElement, containerRect).width;\n\n useEnhancedEffect(() => {\n const node = containerRef?.current || resizeElement?.current;\n if (!node) return;\n\n const dateSpan = document.createElement('temporary-block');\n dateSpan.setAttribute('style', `fontSize: ${dimension.fontSize}px`);\n dateSpan.innerHTML = 'a';\n document.body.appendChild(dateSpan);\n const rect = dateSpan.getBoundingClientRect();\n\n setDimension({\n fontSize: window.getComputedStyle(node, null).getPropertyValue('font-size'),\n symbolWidth: rect.width,\n });\n document.body.removeChild(dateSpan);\n }, []);\n\n const STail = 'span';\n const SBeginning = 'span';\n const SContainerMiddle = props.tag || Box;\n const SAdvancedModeContainerMiddle = Tooltip;\n const displayedSymbols = React.useMemo(\n () => Math.round(blockWidth / dimension.symbolWidth),\n [blockWidth, dimension.symbolWidth],\n );\n\n const interaction = text.length > displayedSymbols ? 'hover' : 'none';\n const ref = containerRef ?? resizeElement;\n const contextValue = React.useMemo(\n () => ({\n begining: text.substring(0, text.length - displayedSymbols / 2 - 1),\n tail: text.substring(text.length - displayedSymbols / 2 - 1),\n ref,\n }),\n [text, displayedSymbols],\n );\n\n if (advanceMode) {\n return sstyled(styles)(\n <SAdvancedModeContainerMiddle\n interaction={interaction}\n {...tooltipProps}\n {...forcedAdvancedMode}\n >\n <EllipsisMiddleContext.Provider value={contextValue}>\n {children}\n </EllipsisMiddleContext.Provider>\n </SAdvancedModeContainerMiddle>,\n ) as any;\n }\n if (tooltip) {\n return sstyled(styles)(\n <SContainerMiddle\n interaction={interaction}\n title={text as any}\n ref={forkRef(ref, textRef)}\n tag={Tooltip}\n __excludeProps={['title']}\n {...tooltipProps}\n >\n <SBeginning>{text.substring(0, text.length - displayedSymbols / 2 - 1)}</SBeginning>\n <STail>{text.substring(text.length - displayedSymbols / 2 - 1)}</STail>\n </SContainerMiddle>,\n ) as any;\n }\n return sstyled(styles)(\n <SContainerMiddle {...otherProps} ref={containerRef ?? resizeElement}>\n <SBeginning>{text.substring(0, text.length - displayedSymbols / 2 - 1)}</SBeginning>\n <STail>{text.substring(text.length - displayedSymbols / 2 - 1)}</STail>\n </SContainerMiddle>,\n ) as any;\n};\n\ntype EllipsisContentAsProps = {\n styles: any;\n Children: React.FC;\n};\n\nconst Content: React.FC<EllipsisContentAsProps> = ({ styles, Children }) => {\n const SEllipsis = Root;\n const ellipsisMiddleContext = React.useContext(EllipsisMiddleContext);\n const STail = 'span';\n const SBeginning = 'span';\n\n if (ellipsisMiddleContext) {\n const { begining, tail, ref } = ellipsisMiddleContext;\n return sstyled(styles)(\n <SEllipsis render={Tooltip.Trigger} middle-mod ref={ref}>\n <SBeginning>{begining}</SBeginning>\n <STail>{tail}</STail>\n </SEllipsis>,\n ) as any;\n }\n\n return sstyled(styles)(\n <SEllipsis render={Tooltip.Trigger}>\n <Children />\n </SEllipsis>,\n ) as any;\n};\n\nconst Ellipsis = createComponent(RootEllipsis, {\n Content,\n Popper: Tooltip.Popper,\n}) as any as Intergalactic.Component<'div', EllipsisProps> & {\n Content: typeof Box;\n Popper: typeof Tooltip.Popper;\n};\n\nexport default Ellipsis;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Ellipsis.js","names":["React","createComponent","Component","Root","sstyled","Tooltip","Box","useResizeObserver","useEnhancedEffect","findComponent","isAdvanceMode","style","_sstyled","insert","reactToText","getOriginChildren","pick","forkRef","defaultTooltipProps","createMeasurerElement","element","text","styleElement","window","getComputedStyle","temporaryElement","document","createElement","display","getPropertyValue","padding","position","right","bottom","visibility","fontFamily","fontSize","fontWeight","lineHeight","whiteSpace","wordWrap","fontFeatureSettings","fontVariantNumeric","innerHTML","isTextOverflowing","multiline","_element$getBoundingC","getBoundingClientRect","currentHeight","height","currentWidth","width","measuringElement","isOverflowing","body","appendChild","concat","scrollWidth","Math","ceil","removeChild","forcedAdvancedMode","noAdvancedMode","RootEllipsis","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","_defineProperty","_assertThisInitialized","visible","createRef","setState","showTooltip","_createClass","key","value","_this$asProps","asProps","_this$asProps$maxLine","maxLine","Children","textRef","current","getContentProps","ref","getPopperProps","_this$asProps2","includeTooltipProps","tooltipProps","_objectSpread","children","render","_ref4","SEllipsis","SContainer","SNoTooltipContainer","_this$asProps3","styles","tooltip","trim","containerRect","containerRef","other","_objectWithoutProperties","_excluded","state","advancedContent","Ellipsis","Content","displayName","advanceMode","Popper","onVisibleChange","handlerVisibleChange","_ref2","EllipsisMiddle","cn","_ref3","undefined","__excludeProps","EllipsisMiddleContext","createContext","props","_ref7","otherProps","_excluded2","resizeElement","useRef","_React$useState","useState","symbolWidth","_React$useState2","_slicedToArray","dimension","setDimension","blockWidth","node","dateSpan","setAttribute","rect","STail","SBeginning","SContainerMiddle","tag","SAdvancedModeContainerMiddle","displayedSymbols","useMemo","round","interaction","contextValue","begining","substring","tail","_ref5","Provider","_ref6","_ref10","_ref","arguments[0]","_ref9","Trigger","ellipsisMiddleContext","useContext","_ref8","_assignProps","_assignProps2"],"sources":["../../src/Ellipsis.tsx"],"sourcesContent":["import React, { RefObject } from 'react';\nimport createComponent, { Component, Intergalactic, Root, sstyled } from '@semcore/core';\nimport Tooltip, { TooltipProps } from '@semcore/tooltip';\nimport { Box, BoxProps } from '@semcore/flex-box';\nimport { useResizeObserver } from './useResizeObserver';\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\nimport findComponent, { isAdvanceMode } from '@semcore/utils/lib/findComponent';\n\nimport style from './style/ellipsis.shadow.css';\nimport reactToText from '@semcore/utils/lib/reactToText';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport pick from '@semcore/utils/lib/pick';\nimport { forkRef } from '@semcore/utils/lib/ref';\n\ntype AsProps = {\n maxLine?: number;\n trim?: 'end' | 'middle';\n tooltip?: boolean;\n styles?: React.CSSProperties;\n containerRect?: { width: number };\n\n containerRef?: RefObject<HTMLDivElement>;\n includeTooltipProps?: string[];\n __excludeProps?: string[];\n};\n\ntype AsPropsMiddle = {\n text: string;\n textRef: RefObject<HTMLElement>;\n tooltip?: boolean;\n styles?: React.CSSProperties;\n containerRect?: { width: number };\n\n containerRef?: RefObject<HTMLDivElement>;\n tooltipProps: TooltipProps;\n children?: React.ReactNode;\n advanceMode?: boolean;\n tag?: React.ElementType;\n};\n\ntype EllipsisProps = BoxProps &\n Partial<TooltipProps> & {\n /**\n * Rows count in multiline Ellipsis\n * @default 1\n */\n maxLine?: number;\n /**\n * Trimming type\n * @default end\n */\n trim?: 'end' | 'middle';\n /**\n * Show tooltip\n * @default true\n */\n tooltip?: boolean;\n /**\n * Ref to the item that will be observed by ResizeObserver\n */\n // eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope\n containerRef?: RefObject<HTMLDivElement>;\n /**\n * Explicit sizes of container text should be trimmed in\n **/\n containerRect?: { width: number };\n /** List of props that will be passed to tooltip\n * @default ['title', 'theme', 'strategy', 'modifiers', 'placement', 'interaction', 'timeout', 'visible', 'defaultVisible', 'onVisibleChange', 'offset', 'preventOverflow', 'arrow', 'flip', 'computeStyles', 'eventListeners', 'onFirstUpdate']\n */\n includeTooltipProps?: string[];\n };\n\nconst defaultTooltipProps = [\n 'title',\n 'theme',\n 'strategy',\n 'modifiers',\n 'placement',\n 'interaction',\n 'timeout',\n 'visible',\n 'defaultVisible',\n 'onVisibleChange',\n 'offset',\n 'preventOverflow',\n 'arrow',\n 'flip',\n 'computeStyles',\n 'eventListeners',\n 'onFirstUpdate',\n 'cursorAnchoring',\n];\n\nconst createMeasurerElement = (element: HTMLDivElement, text?: string) => {\n const styleElement = window.getComputedStyle(element, null);\n const temporaryElement = document.createElement('temporary-block');\n temporaryElement.style.display = styleElement.getPropertyValue('display');\n temporaryElement.style.padding = styleElement.getPropertyValue('padding');\n temporaryElement.style.position = 'absolute';\n temporaryElement.style.right = '0%';\n temporaryElement.style.bottom = '0%';\n temporaryElement.style.visibility = 'hidden';\n temporaryElement.style.fontFamily = styleElement.getPropertyValue('font-family');\n temporaryElement.style.fontSize = styleElement.getPropertyValue('font-size');\n temporaryElement.style.fontWeight = styleElement.getPropertyValue('font-weight');\n temporaryElement.style.lineHeight = styleElement.getPropertyValue('line-height');\n temporaryElement.style.whiteSpace = styleElement.getPropertyValue('white-space');\n temporaryElement.style.wordWrap = styleElement.getPropertyValue('word-wrap');\n\n temporaryElement.style.fontFeatureSettings =\n styleElement.getPropertyValue('font-feature-settings');\n temporaryElement.style.fontVariantNumeric = styleElement.getPropertyValue('font-variant-numeric');\n\n temporaryElement.innerHTML = text ?? element.innerHTML;\n return temporaryElement;\n};\n\nfunction isTextOverflowing(element: HTMLDivElement, multiline: boolean, text?: string): boolean {\n if (!element) return false;\n\n const { height: currentHeight, width: currentWidth } = element.getBoundingClientRect();\n const measuringElement = createMeasurerElement(element, text);\n let isOverflowing = false;\n\n document.body.appendChild(measuringElement);\n if (multiline) {\n measuringElement.style.width = `${currentWidth}px`;\n\n const width = measuringElement.scrollWidth;\n const height = measuringElement.getBoundingClientRect().height;\n\n if (Math.ceil(currentHeight) < height || Math.ceil(currentWidth) < width) {\n isOverflowing = true;\n }\n } else {\n measuringElement.style.whiteSpace = 'nowrap';\n isOverflowing = Math.ceil(currentWidth) < measuringElement.getBoundingClientRect().width;\n }\n\n document.body.removeChild(measuringElement);\n\n return isOverflowing;\n}\n\nconst forcedAdvancedMode = { forcedAdvancedMode: true } as any;\nconst noAdvancedMode = {} as any;\n\nclass RootEllipsis extends Component<AsProps> {\n static displayName = 'Ellipsis';\n static style = style;\n static defaultProps: AsProps = {\n trim: 'end',\n tooltip: true,\n includeTooltipProps: defaultTooltipProps,\n __excludeProps: ['title'],\n };\n\n state = {\n visible: false,\n };\n\n textRef = React.createRef<HTMLDivElement>();\n\n showTooltip() {\n const { maxLine = 1, Children } = this.asProps;\n const text = reactToText(getOriginChildren(Children));\n return isTextOverflowing(this.textRef.current!, maxLine > 1, text);\n }\n\n handlerVisibleChange = (visible: boolean) => {\n this.setState({ visible: visible && this.showTooltip() });\n };\n\n getContentProps() {\n return {\n ref: this.textRef,\n maxLine: this.asProps.maxLine,\n };\n }\n\n getPopperProps() {\n const { Children, includeTooltipProps } = this.asProps;\n const text = reactToText(getOriginChildren(Children));\n const tooltipProps = pick(this.asProps, includeTooltipProps as any) as TooltipProps;\n return { children: text, ...tooltipProps };\n }\n\n render() {\n const SEllipsis = this.Root;\n const SContainer = Tooltip;\n const SNoTooltipContainer = Box;\n const {\n styles,\n Children,\n maxLine,\n tooltip,\n trim,\n containerRect,\n containerRef,\n includeTooltipProps,\n children,\n ...other\n } = this.asProps;\n const { visible } = this.state;\n const advancedContent = findComponent(Children, [(Ellipsis as any).Content.displayName]);\n const text = reactToText(advancedContent || getOriginChildren(Children));\n const advanceMode = isAdvanceMode(Children, [\n (Ellipsis as any).Content.displayName,\n (Ellipsis as any).Popper.displayName,\n ]);\n const tooltipProps = pick(this.asProps, includeTooltipProps as any) as TooltipProps;\n\n tooltipProps.visible = visible;\n tooltipProps.onVisibleChange = this.handlerVisibleChange;\n\n if (trim === 'middle') {\n return sstyled(styles)(\n <EllipsisMiddle\n text={text}\n styles={styles}\n tooltip={tooltip}\n containerRect={containerRect}\n containerRef={containerRef}\n textRef={this.textRef}\n tooltipProps={tooltipProps}\n advanceMode={advanceMode}\n {...other}\n >\n <Children />\n </EllipsisMiddle>,\n );\n }\n if (tooltip) {\n return sstyled(styles)(\n <SContainer\n interaction='hover'\n title={!advanceMode ? text : undefined}\n {...tooltipProps}\n {...(advanceMode ? forcedAdvancedMode : noAdvancedMode)}\n >\n {advanceMode ? (\n <Children />\n ) : (\n <SEllipsis render={Box} ref={this.textRef} maxLine={maxLine} {...other}>\n <Children />\n </SEllipsis>\n )}\n </SContainer>,\n );\n }\n return sstyled(styles)(\n <SNoTooltipContainer>\n {advanceMode ? (\n <Children />\n ) : (\n <SEllipsis render={Box} ref={this.textRef} maxLine={maxLine} {...other}>\n <Children />\n </SEllipsis>\n )}\n </SNoTooltipContainer>,\n );\n }\n}\n\nconst EllipsisMiddleContext = React.createContext<null | {\n begining: string;\n tail: string;\n ref: React.RefObject<HTMLElement>;\n}>(null);\n\nconst EllipsisMiddle: React.FC<AsPropsMiddle> = (props) => {\n const {\n styles,\n text,\n tooltip,\n containerRect,\n containerRef,\n textRef,\n tooltipProps,\n children,\n advanceMode,\n ...otherProps\n } = props;\n const resizeElement = React.useRef<HTMLDivElement>(null);\n const [dimension, setDimension] = React.useState<{ fontSize: string; symbolWidth: number }>({\n fontSize: '14',\n symbolWidth: 0,\n });\n const blockWidth = useResizeObserver(resizeElement, containerRect).width;\n\n useEnhancedEffect(() => {\n const node = containerRef?.current || resizeElement?.current;\n if (!node) return;\n\n const dateSpan = document.createElement('temporary-block');\n dateSpan.setAttribute('style', `fontSize: ${dimension.fontSize}px`);\n dateSpan.innerHTML = 'a';\n document.body.appendChild(dateSpan);\n const rect = dateSpan.getBoundingClientRect();\n\n setDimension({\n fontSize: window.getComputedStyle(node, null).getPropertyValue('font-size'),\n symbolWidth: rect.width,\n });\n document.body.removeChild(dateSpan);\n }, []);\n\n const STail = 'span';\n const SBeginning = 'span';\n const SContainerMiddle = props.tag || Box;\n const SAdvancedModeContainerMiddle = Tooltip;\n const displayedSymbols = React.useMemo(\n () => Math.round(blockWidth / dimension.symbolWidth),\n [blockWidth, dimension.symbolWidth],\n );\n\n const interaction = text.length > displayedSymbols ? 'hover' : 'none';\n const ref = containerRef ?? resizeElement;\n const contextValue = React.useMemo(\n () => ({\n begining: text.substring(0, text.length - displayedSymbols / 2 - 1),\n tail: text.substring(text.length - displayedSymbols / 2 - 1),\n ref,\n }),\n [text, displayedSymbols],\n );\n\n if (advanceMode) {\n return sstyled(styles)(\n <SAdvancedModeContainerMiddle\n interaction={interaction}\n {...tooltipProps}\n {...forcedAdvancedMode}\n >\n <EllipsisMiddleContext.Provider value={contextValue}>\n {children}\n </EllipsisMiddleContext.Provider>\n </SAdvancedModeContainerMiddle>,\n ) as any;\n }\n if (tooltip) {\n return sstyled(styles)(\n <SContainerMiddle\n interaction={interaction}\n title={text as any}\n ref={forkRef(ref, textRef)}\n tag={Tooltip}\n __excludeProps={['title']}\n {...tooltipProps}\n >\n <SBeginning>{text.substring(0, text.length - displayedSymbols / 2 - 1)}</SBeginning>\n <STail>{text.substring(text.length - displayedSymbols / 2 - 1)}</STail>\n </SContainerMiddle>,\n ) as any;\n }\n return sstyled(styles)(\n <SContainerMiddle {...otherProps} ref={containerRef ?? resizeElement}>\n <SBeginning>{text.substring(0, text.length - displayedSymbols / 2 - 1)}</SBeginning>\n <STail>{text.substring(text.length - displayedSymbols / 2 - 1)}</STail>\n </SContainerMiddle>,\n ) as any;\n};\n\ntype EllipsisContentAsProps = {\n styles: any;\n Children: React.FC;\n};\n\nconst Content: React.FC<EllipsisContentAsProps> = ({ styles, Children }) => {\n const SEllipsis = Root;\n const ellipsisMiddleContext = React.useContext(EllipsisMiddleContext);\n const STail = 'span';\n const SBeginning = 'span';\n\n if (ellipsisMiddleContext) {\n const { begining, tail, ref } = ellipsisMiddleContext;\n return sstyled(styles)(\n <SEllipsis render={Tooltip.Trigger} middle-mod ref={ref}>\n <SBeginning>{begining}</SBeginning>\n <STail>{tail}</STail>\n </SEllipsis>,\n ) as any;\n }\n\n return sstyled(styles)(\n <SEllipsis render={Tooltip.Trigger}>\n <Children />\n </SEllipsis>,\n ) as any;\n};\n\nconst Ellipsis = createComponent(RootEllipsis, {\n Content,\n Popper: Tooltip.Popper,\n}) as any as Intergalactic.Component<'div', EllipsisProps> & {\n Content: typeof Box;\n Popper: typeof Tooltip.Popper;\n};\n\nexport default Ellipsis;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/ellipsis",
3
3
  "description": "Semrush Ellipsis Component",
4
- "version": "2.36.2",
4
+ "version": "2.36.3-prerelease.0",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -9,12 +9,12 @@
9
9
  "author": "UI-KIT team <ui-kit-team@semrush.com>",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
- "@semcore/utils": "4.42.0",
13
- "@semcore/flex-box": "5.37.0",
14
- "@semcore/tooltip": "6.45.1"
12
+ "@semcore/utils": "4.43.0-prerelease.0",
13
+ "@semcore/flex-box": "5.38.0-prerelease.0",
14
+ "@semcore/tooltip": "6.46.0-prerelease.0"
15
15
  },
16
16
  "peerDependencies": {
17
- "@semcore/core": "^2.17.5",
17
+ "@semcore/core": "^2.36.0-prerelease.0",
18
18
  "react": "16.8 - 18",
19
19
  "react-dom": "16.8 - 18"
20
20
  },