@semcore/ellipsis 16.0.12-prerelease.37 → 16.1.0-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
+ ## [16.1.0] - 2026-05-07
6
+
7
+ ### Added
8
+
9
+ - New brand theme.
10
+
5
11
  ## [16.0.12] - 2025-11-14
6
12
 
7
13
  ### Changed
@@ -1,237 +1,289 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = void 0;
8
+ exports["default"] = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
14
+ var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper"));
15
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
9
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
17
  var _core = require("@semcore/core");
11
- var _baseComponents = require("@semcore/base-components");
12
18
  var _assignProps3 = require("@semcore/core/lib/utils/assignProps");
13
19
  var _findComponent = _interopRequireWildcard(require("@semcore/core/lib/utils/findComponent"));
14
20
  var _getOriginChildren = _interopRequireDefault(require("@semcore/core/lib/utils/getOriginChildren"));
15
21
  var _pick = _interopRequireDefault(require("@semcore/core/lib/utils/pick"));
16
22
  var _reactToText = _interopRequireDefault(require("@semcore/core/lib/utils/reactToText"));
17
- var _ref8 = require("@semcore/core/lib/utils/ref");
23
+ var _ref9 = require("@semcore/core/lib/utils/ref");
18
24
  var _useEnhancedEffect = _interopRequireDefault(require("@semcore/core/lib/utils/use/useEnhancedEffect"));
25
+ var _flexBox = require("@semcore/flex-box");
19
26
  var _tooltip = _interopRequireDefault(require("@semcore/tooltip"));
20
27
  var _react = _interopRequireDefault(require("react"));
21
28
  var _useResizeObserver = require("./useResizeObserver");
22
- var _utils = require("./utils");
29
+ var _excluded = ["styles", "Children", "maxLine", "tooltip", "trim", "containerRect", "containerRef", "includeTooltipProps", "children"];
23
30
  /*!__reshadow-styles__:"./style/ellipsis.shadow.css"*/
24
- const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SBeginning_4aonj_gg_,.___SEllipsis_4aonj_gg_{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:pre}.___SEllipsis_4aonj_gg_.__maxLine_4aonj_gg_{display:-webkit-box;-webkit-line-clamp:var(--maxLine_4aonj);-webkit-box-orient:vertical;overflow:hidden;white-space:normal;word-wrap:break-word}.___SContainerMiddle_4aonj_gg_,.___SContainer_4aonj_gg_,.___SEllipsis_4aonj_gg_.__middle-mod_4aonj_gg_,.___SNoTooltipContainer_4aonj_gg_{display:flex;overflow:hidden}.___SContainerMiddle_4aonj_gg_>:has(.___SBeginning_4aonj_gg_),.___SContainerMiddle_4aonj_gg_>:has(.___STail_4aonj_gg_){display:flex;width:100%}.___STail_4aonj_gg_{white-space:pre}", /*__inner_css_end__*/"4aonj_gg_"),
31
+ var style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SBeginning_bcnty_gg_,.___SEllipsis_bcnty_gg_{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:pre}.___SEllipsis_bcnty_gg_.__maxLine_bcnty_gg_{display:-webkit-box;-webkit-line-clamp:var(--maxLine_bcnty);-webkit-box-orient:vertical;overflow:hidden;white-space:normal;word-wrap:break-word}.___SContainerMiddle_bcnty_gg_,.___SContainer_bcnty_gg_,.___SEllipsis_bcnty_gg_.__middle-mod_bcnty_gg_,.___SNoTooltipContainer_bcnty_gg_{display:flex;overflow:hidden}.___SContainerMiddle_bcnty_gg_>:has(.___SBeginning_bcnty_gg_),.___SContainerMiddle_bcnty_gg_>:has(.___STail_bcnty_gg_){display:flex;width:100%}.___STail_bcnty_gg_{white-space:pre}", /*__inner_css_end__*/"bcnty_gg_"),
25
32
  /*__reshadow_css_end__*/
26
33
  {
27
- "__SBeginning": "___SBeginning_4aonj_gg_",
28
- "__SEllipsis": "___SEllipsis_4aonj_gg_",
29
- "__SContainer": "___SContainer_4aonj_gg_",
30
- "__SNoTooltipContainer": "___SNoTooltipContainer_4aonj_gg_",
31
- "__SContainerMiddle": "___SContainerMiddle_4aonj_gg_",
32
- "_maxLine": "__maxLine_4aonj_gg_",
33
- "--maxLine": "--maxLine_4aonj",
34
- "_middle-mod": "__middle-mod_4aonj_gg_",
35
- "__STail": "___STail_4aonj_gg_"
34
+ "__SBeginning": "___SBeginning_bcnty_gg_",
35
+ "__SEllipsis": "___SEllipsis_bcnty_gg_",
36
+ "__SContainer": "___SContainer_bcnty_gg_",
37
+ "__SNoTooltipContainer": "___SNoTooltipContainer_bcnty_gg_",
38
+ "__SContainerMiddle": "___SContainerMiddle_bcnty_gg_",
39
+ "_maxLine": "__maxLine_bcnty_gg_",
40
+ "--maxLine": "--maxLine_bcnty",
41
+ "_middle-mod": "__middle-mod_bcnty_gg_",
42
+ "__STail": "___STail_bcnty_gg_"
36
43
  });
37
- const defaultTooltipProps = ['title', 'theme', 'strategy', 'modifiers', 'placement', 'interaction', 'timeout', 'visible', 'defaultVisible', 'onVisibleChange', 'offset', 'preventOverflow', 'arrow', 'flip', 'computeStyles', 'eventListeners', 'onFirstUpdate', 'cursorAnchoring'];
38
- const forcedAdvancedMode = {
44
+ var defaultTooltipProps = ['title', 'theme', 'strategy', 'modifiers', 'placement', 'interaction', 'timeout', 'visible', 'defaultVisible', 'onVisibleChange', 'offset', 'preventOverflow', 'arrow', 'flip', 'computeStyles', 'eventListeners', 'onFirstUpdate', 'cursorAnchoring'];
45
+ var setFontSettings = function setFontSettings(element, styleElement) {
46
+ element.style.fontFamily = styleElement.getPropertyValue('font-family');
47
+ element.style.fontSize = styleElement.getPropertyValue('font-size');
48
+ element.style.fontWeight = styleElement.getPropertyValue('font-weight');
49
+ element.style.lineHeight = styleElement.getPropertyValue('line-height');
50
+ element.style.fontFeatureSettings = styleElement.getPropertyValue('font-feature-settings');
51
+ element.style.fontVariantNumeric = styleElement.getPropertyValue('font-variant-numeric');
52
+ };
53
+ var createMeasurerElement = function createMeasurerElement(element, text) {
54
+ var styleElement = window.getComputedStyle(element, null);
55
+ var temporaryElement = document.createElement('temporary-block');
56
+ temporaryElement.style.display = styleElement.getPropertyValue('display');
57
+ temporaryElement.style.padding = styleElement.getPropertyValue('padding');
58
+ temporaryElement.style.position = 'absolute';
59
+ temporaryElement.style.right = '0%';
60
+ temporaryElement.style.bottom = '0%';
61
+ temporaryElement.style.visibility = 'hidden';
62
+ temporaryElement.style.whiteSpace = styleElement.getPropertyValue('white-space');
63
+ temporaryElement.style.wordWrap = styleElement.getPropertyValue('word-wrap');
64
+ setFontSettings(temporaryElement, styleElement);
65
+ temporaryElement.textContent = text !== null && text !== void 0 ? text : element.textContent;
66
+ return temporaryElement;
67
+ };
68
+ function isTextOverflowing(element, multiline, text) {
69
+ if (!element) return false;
70
+ var _element$getBoundingC = element.getBoundingClientRect(),
71
+ currentHeight = _element$getBoundingC.height,
72
+ currentWidth = _element$getBoundingC.width;
73
+ var measuringElement = createMeasurerElement(element, text);
74
+ var isOverflowing = false;
75
+ document.body.appendChild(measuringElement);
76
+ if (multiline) {
77
+ measuringElement.style.width = "".concat(currentWidth, "px");
78
+ var width = measuringElement.scrollWidth;
79
+ var height = measuringElement.getBoundingClientRect().height;
80
+ if (Math.ceil(currentHeight) < height || Math.ceil(currentWidth) < width) {
81
+ isOverflowing = true;
82
+ }
83
+ } else {
84
+ measuringElement.style.whiteSpace = 'nowrap';
85
+ isOverflowing = Math.ceil(currentWidth) < measuringElement.getBoundingClientRect().width;
86
+ }
87
+ document.body.removeChild(measuringElement);
88
+ return isOverflowing;
89
+ }
90
+ var forcedAdvancedMode = {
39
91
  forcedAdvancedMode: true
40
92
  };
41
- const noAdvancedMode = {};
42
- class RootEllipsis extends _core.Component {
43
- constructor(...args) {
44
- super(...args);
45
- (0, _defineProperty2.default)(this, "state", {
93
+ var noAdvancedMode = {};
94
+ var RootEllipsis = /*#__PURE__*/function (_Component) {
95
+ function RootEllipsis() {
96
+ var _this;
97
+ (0, _classCallCheck2["default"])(this, RootEllipsis);
98
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
99
+ args[_key] = arguments[_key];
100
+ }
101
+ _this = (0, _callSuper2["default"])(this, RootEllipsis, [].concat(args));
102
+ (0, _defineProperty2["default"])(_this, "state", {
46
103
  visible: false
47
104
  });
48
- (0, _defineProperty2.default)(this, "textRef", /*#__PURE__*/_react.default.createRef());
49
- (0, _defineProperty2.default)(this, "handlerVisibleChange", visible => {
50
- this.setState({
51
- visible: visible && this.showTooltip()
105
+ (0, _defineProperty2["default"])(_this, "textRef", /*#__PURE__*/_react["default"].createRef());
106
+ (0, _defineProperty2["default"])(_this, "handlerVisibleChange", function (visible) {
107
+ _this.setState({
108
+ visible: visible && _this.showTooltip()
52
109
  });
53
110
  });
111
+ return _this;
54
112
  }
55
- showTooltip() {
56
- const {
57
- maxLine = 1,
58
- Children
59
- } = this.asProps;
60
- const text = (0, _reactToText.default)((0, _getOriginChildren.default)(Children));
61
- return (0, _utils.isTextOverflowing)(this.textRef.current, maxLine > 1, text);
62
- }
63
- getContentProps() {
64
- return {
65
- ref: this.textRef,
66
- maxLine: this.asProps.maxLine
67
- };
68
- }
69
- getPopperProps() {
70
- const {
71
- Children,
72
- includeTooltipProps
73
- } = this.asProps;
74
- const text = (0, _reactToText.default)((0, _getOriginChildren.default)(Children));
75
- const tooltipProps = (0, _pick.default)(this.asProps, includeTooltipProps);
76
- return {
77
- children: text,
78
- ...tooltipProps
79
- };
80
- }
81
- render() {
82
- var _ref3;
83
- const SEllipsis = this.Root;
84
- const SContainer = _tooltip.default;
85
- const {
86
- styles,
87
- Children,
88
- maxLine,
89
- tooltip,
90
- trim,
91
- containerRect,
92
- containerRef,
93
- includeTooltipProps,
94
- children: _children,
95
- ...other
96
- } = this.asProps;
97
- const {
98
- visible
99
- } = this.state;
100
- const advancedContent = (0, _findComponent.default)(Children, [Ellipsis.Content.displayName]);
101
- const text = (0, _reactToText.default)(advancedContent || (0, _getOriginChildren.default)(Children));
102
- const advanceMode = (0, _findComponent.isAdvanceMode)(Children, [Ellipsis.Content.displayName, Ellipsis.Popper.displayName]);
103
- const tooltipProps = (0, _pick.default)(this.asProps, includeTooltipProps);
104
- tooltipProps.visible = tooltipProps.visible ?? visible;
105
- tooltipProps.onVisibleChange = tooltipProps.onVisibleChange ? (0, _assignProps3.callAllEventHandlers)(tooltipProps.onVisibleChange, this.handlerVisibleChange) : this.handlerVisibleChange;
106
- if (trim === 'middle') {
107
- var _ref2;
108
- return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(EllipsisMiddle, _ref2.cn("EllipsisMiddle", {
109
- "text": text,
110
- "styles": styles,
111
- "tooltip": tooltip,
112
- "containerRect": containerRect,
113
- "containerRef": containerRef,
114
- "textRef": this.textRef,
115
- "tooltipProps": tooltipProps,
116
- "advanceMode": advanceMode,
117
- ...other
118
- }), /*#__PURE__*/_react.default.createElement(Children, _ref2.cn("Children", {})));
113
+ (0, _inherits2["default"])(RootEllipsis, _Component);
114
+ return (0, _createClass2["default"])(RootEllipsis, [{
115
+ key: "showTooltip",
116
+ value: function showTooltip() {
117
+ var _this$asProps = this.asProps,
118
+ _this$asProps$maxLine = _this$asProps.maxLine,
119
+ maxLine = _this$asProps$maxLine === void 0 ? 1 : _this$asProps$maxLine,
120
+ Children = _this$asProps.Children;
121
+ var text = (0, _reactToText["default"])((0, _getOriginChildren["default"])(Children));
122
+ return isTextOverflowing(this.textRef.current, maxLine > 1, text);
119
123
  }
120
- return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(SContainer, _ref3.cn("SContainer", {
121
- "interaction": tooltip ? 'hover' : 'none',
122
- "title": !advanceMode ? text : undefined,
123
- ...tooltipProps,
124
- ...(advanceMode ? forcedAdvancedMode : noAdvancedMode)
125
- }), advanceMode ? /*#__PURE__*/_react.default.createElement(Children, _ref3.cn("Children", {})) : /*#__PURE__*/_react.default.createElement(SEllipsis, _ref3.cn("SEllipsis", {
126
- "render": _baseComponents.Box,
127
- "ref": this.textRef,
128
- "maxLine": maxLine,
129
- ...other
130
- }), /*#__PURE__*/_react.default.createElement(Children, _ref3.cn("Children", {}))));
131
- }
132
- }
133
- (0, _defineProperty2.default)(RootEllipsis, "displayName", 'Ellipsis');
134
- (0, _defineProperty2.default)(RootEllipsis, "style", style);
135
- (0, _defineProperty2.default)(RootEllipsis, "defaultProps", {
124
+ }, {
125
+ key: "getContentProps",
126
+ value: function getContentProps() {
127
+ return {
128
+ ref: this.textRef,
129
+ maxLine: this.asProps.maxLine
130
+ };
131
+ }
132
+ }, {
133
+ key: "getPopperProps",
134
+ value: function getPopperProps() {
135
+ var _this$asProps2 = this.asProps,
136
+ Children = _this$asProps2.Children,
137
+ includeTooltipProps = _this$asProps2.includeTooltipProps;
138
+ var text = (0, _reactToText["default"])((0, _getOriginChildren["default"])(Children));
139
+ var tooltipProps = (0, _pick["default"])(this.asProps, includeTooltipProps);
140
+ return (0, _objectSpread2["default"])({
141
+ children: text
142
+ }, tooltipProps);
143
+ }
144
+ }, {
145
+ key: "render",
146
+ value: function render() {
147
+ var _ref3, _tooltipProps$visible;
148
+ var SEllipsis = this.Root;
149
+ var SContainer = _tooltip["default"];
150
+ var _this$asProps3 = this.asProps,
151
+ styles = _this$asProps3.styles,
152
+ Children = _this$asProps3.Children,
153
+ maxLine = _this$asProps3.maxLine,
154
+ tooltip = _this$asProps3.tooltip,
155
+ trim = _this$asProps3.trim,
156
+ containerRect = _this$asProps3.containerRect,
157
+ containerRef = _this$asProps3.containerRef,
158
+ includeTooltipProps = _this$asProps3.includeTooltipProps,
159
+ _children = _this$asProps3.children,
160
+ other = (0, _objectWithoutProperties2["default"])(_this$asProps3, _excluded);
161
+ var visible = this.state.visible;
162
+ var advancedContent = (0, _findComponent["default"])(Children, [Ellipsis.Content.displayName]);
163
+ var text = (0, _reactToText["default"])(advancedContent || (0, _getOriginChildren["default"])(Children));
164
+ var advanceMode = (0, _findComponent.isAdvanceMode)(Children, [Ellipsis.Content.displayName, Ellipsis.Popper.displayName]);
165
+ var tooltipProps = (0, _pick["default"])(this.asProps, includeTooltipProps);
166
+ tooltipProps.visible = (_tooltipProps$visible = tooltipProps.visible) !== null && _tooltipProps$visible !== void 0 ? _tooltipProps$visible : visible;
167
+ tooltipProps.onVisibleChange = tooltipProps.onVisibleChange ? (0, _assignProps3.callAllEventHandlers)(tooltipProps.onVisibleChange, this.handlerVisibleChange) : this.handlerVisibleChange;
168
+ if (trim === 'middle') {
169
+ var _ref2;
170
+ return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(EllipsisMiddle, _ref2.cn("EllipsisMiddle", (0, _objectSpread2["default"])({
171
+ "text": text,
172
+ "styles": styles,
173
+ "tooltip": tooltip,
174
+ "containerRect": containerRect,
175
+ "containerRef": containerRef,
176
+ "textRef": this.textRef,
177
+ "tooltipProps": tooltipProps,
178
+ "advanceMode": advanceMode
179
+ }, other)), /*#__PURE__*/_react["default"].createElement(Children, _ref2.cn("Children", {})));
180
+ }
181
+ return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SContainer, _ref3.cn("SContainer", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
182
+ "interaction": tooltip ? 'hover' : 'none',
183
+ "title": !advanceMode ? text : undefined
184
+ }, tooltipProps), advanceMode ? forcedAdvancedMode : noAdvancedMode)), advanceMode ? /*#__PURE__*/_react["default"].createElement(Children, _ref3.cn("Children", {})) : /*#__PURE__*/_react["default"].createElement(SEllipsis, _ref3.cn("SEllipsis", (0, _objectSpread2["default"])({
185
+ "render": _flexBox.Box,
186
+ "ref": this.textRef,
187
+ "maxLine": maxLine
188
+ }, other)), /*#__PURE__*/_react["default"].createElement(Children, _ref3.cn("Children", {}))));
189
+ }
190
+ }]);
191
+ }(_core.Component);
192
+ (0, _defineProperty2["default"])(RootEllipsis, "displayName", 'Ellipsis');
193
+ (0, _defineProperty2["default"])(RootEllipsis, "style", style);
194
+ (0, _defineProperty2["default"])(RootEllipsis, "defaultProps", {
136
195
  trim: 'end',
137
196
  tooltip: true,
138
197
  includeTooltipProps: defaultTooltipProps,
139
198
  __excludeProps: ['title']
140
199
  });
141
- const EllipsisMiddleContext = /*#__PURE__*/_react.default.createContext(null);
200
+ var EllipsisMiddleContext = /*#__PURE__*/_react["default"].createContext(null);
142
201
  function EllipsisMiddle(props) {
143
202
  var _ref5;
144
- const {
145
- styles,
146
- text,
147
- tooltip,
148
- containerRect,
149
- containerRef,
150
- textRef,
151
- tooltipProps,
152
- children,
153
- advanceMode,
154
- tag
155
- } = props;
156
- const resizeElement = _react.default.useRef(null);
157
- const [symbolWidth, setSymbolWidth] = _react.default.useState(0);
158
- const blockWidth = (0, _useResizeObserver.useResizeObserver)(resizeElement, containerRect).width;
159
- (0, _useEnhancedEffect.default)(() => {
160
- const node = containerRef?.current || resizeElement?.current;
203
+ var styles = props.styles,
204
+ text = props.text,
205
+ tooltip = props.tooltip,
206
+ containerRect = props.containerRect,
207
+ containerRef = props.containerRef,
208
+ textRef = props.textRef,
209
+ tooltipProps = props.tooltipProps,
210
+ children = props.children,
211
+ advanceMode = props.advanceMode,
212
+ tag = props.tag;
213
+ var resizeElement = _react["default"].useRef(null);
214
+ var _React$useState = _react["default"].useState(0),
215
+ _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
216
+ symbolWidth = _React$useState2[0],
217
+ setSymbolWidth = _React$useState2[1];
218
+ var blockWidth = (0, _useResizeObserver.useResizeObserver)(resizeElement, containerRect).width;
219
+ (0, _useEnhancedEffect["default"])(function () {
220
+ var node = (containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) || (resizeElement === null || resizeElement === void 0 ? void 0 : resizeElement.current);
161
221
  if (!node) return;
162
- const styleElement = window.getComputedStyle(node);
163
- const dateSpan = document.createElement('temporary-block');
164
- (0, _utils.setFontSettings)(dateSpan, styleElement);
222
+ var styleElement = window.getComputedStyle(node);
223
+ var dateSpan = document.createElement('temporary-block');
224
+ setFontSettings(dateSpan, styleElement);
165
225
  dateSpan.textContent = 'a';
166
226
  document.body.appendChild(dateSpan);
167
- const rect = dateSpan.getBoundingClientRect();
227
+ var rect = dateSpan.getBoundingClientRect();
168
228
  setSymbolWidth(rect.width);
169
229
  document.body.removeChild(dateSpan);
170
230
  }, []);
171
- const STail = 'span';
172
- const SBeginning = 'span';
173
- const SContainerMiddle = _tooltip.default;
174
- const SAdvancedModeContainerMiddle = _tooltip.default;
175
- const displayedSymbols = _react.default.useMemo(() => {
176
- const displayedSymbols = Math.round(blockWidth / symbolWidth);
231
+ var STail = 'span';
232
+ var SBeginning = 'span';
233
+ var SContainerMiddle = _tooltip["default"];
234
+ var SAdvancedModeContainerMiddle = _tooltip["default"];
235
+ var displayedSymbols = _react["default"].useMemo(function () {
236
+ var displayedSymbols = Math.round(blockWidth / symbolWidth);
177
237
  return displayedSymbols % 2 === 0 ? displayedSymbols : displayedSymbols - 1;
178
238
  }, [blockWidth, symbolWidth]);
179
- const interaction = text.length > displayedSymbols ? 'hover' : 'none';
180
- const ref = containerRef ?? resizeElement;
181
- const contextValue = _react.default.useMemo(() => ({
182
- begining: text.substring(0, text.length - displayedSymbols / 2 - 1),
183
- tail: text.substring(text.length - displayedSymbols / 2 - 1),
184
- ref
185
- }), [text, displayedSymbols]);
239
+ var interaction = text.length > displayedSymbols ? 'hover' : 'none';
240
+ var ref = containerRef !== null && containerRef !== void 0 ? containerRef : resizeElement;
241
+ var contextValue = _react["default"].useMemo(function () {
242
+ return {
243
+ begining: text.substring(0, text.length - displayedSymbols / 2 - 1),
244
+ tail: text.substring(text.length - displayedSymbols / 2 - 1),
245
+ ref: ref
246
+ };
247
+ }, [text, displayedSymbols]);
186
248
  if (advanceMode) {
187
249
  var _ref4;
188
- return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(SAdvancedModeContainerMiddle, _ref4.cn("SAdvancedModeContainerMiddle", {
189
- "interaction": tooltip ? interaction : 'none',
190
- ...tooltipProps,
191
- ...forcedAdvancedMode
192
- }), /*#__PURE__*/_react.default.createElement(EllipsisMiddleContext.Provider, {
250
+ return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SAdvancedModeContainerMiddle, _ref4.cn("SAdvancedModeContainerMiddle", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
251
+ "interaction": tooltip ? interaction : 'none'
252
+ }, tooltipProps), forcedAdvancedMode)), /*#__PURE__*/_react["default"].createElement(EllipsisMiddleContext.Provider, {
193
253
  value: contextValue
194
254
  }, children));
195
255
  }
196
- return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(SContainerMiddle, _ref5.cn("SContainerMiddle", {
256
+ return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SContainerMiddle, _ref5.cn("SContainerMiddle", (0, _objectSpread2["default"])({
197
257
  "interaction": tooltip ? interaction : 'none',
198
258
  "title": text,
199
- "ref": (0, _ref8.forkRef)(ref, textRef),
200
- "tag": tag,
201
- ...tooltipProps
202
- }), /*#__PURE__*/_react.default.createElement(SBeginning, _ref5.cn("SBeginning", {}), contextValue.begining), /*#__PURE__*/_react.default.createElement(STail, _ref5.cn("STail", {}), contextValue.tail));
259
+ "ref": (0, _ref9.forkRef)(ref, textRef),
260
+ "tag": tag
261
+ }, tooltipProps)), /*#__PURE__*/_react["default"].createElement(SBeginning, _ref5.cn("SBeginning", {}), contextValue.begining), /*#__PURE__*/_react["default"].createElement(STail, _ref5.cn("STail", {}), contextValue.tail));
203
262
  }
204
- function Content({
205
- styles,
206
- Children
207
- }) {
263
+ function Content(_ref8) {
208
264
  var _ref = arguments[0],
209
265
  _ref7;
210
- const SEllipsis = _tooltip.default.Trigger;
211
- const ellipsisMiddleContext = _react.default.useContext(EllipsisMiddleContext);
212
- const STail = 'span';
213
- const SBeginning = 'span';
266
+ var styles = _ref8.styles,
267
+ Children = _ref8.Children;
268
+ var SEllipsis = _tooltip["default"].Trigger;
269
+ var ellipsisMiddleContext = _react["default"].useContext(EllipsisMiddleContext);
270
+ var STail = 'span';
271
+ var SBeginning = 'span';
214
272
  if (ellipsisMiddleContext) {
215
273
  var _ref6;
216
- const {
217
- begining,
218
- tail,
219
- ref
220
- } = ellipsisMiddleContext;
221
- return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(SEllipsis, _ref6.cn("SEllipsis", {
222
- ...(0, _core.assignProps)({
223
- "middle-mod": true,
224
- "ref": ref
225
- }, _ref)
226
- }), /*#__PURE__*/_react.default.createElement(SBeginning, _ref6.cn("SBeginning", {}), begining), /*#__PURE__*/_react.default.createElement(STail, _ref6.cn("STail", {}), tail));
274
+ var begining = ellipsisMiddleContext.begining,
275
+ tail = ellipsisMiddleContext.tail,
276
+ ref = ellipsisMiddleContext.ref;
277
+ return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SEllipsis, _ref6.cn("SEllipsis", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
278
+ "middle-mod": true,
279
+ "ref": ref
280
+ }, _ref))), /*#__PURE__*/_react["default"].createElement(SBeginning, _ref6.cn("SBeginning", {}), begining), /*#__PURE__*/_react["default"].createElement(STail, _ref6.cn("STail", {}), tail));
227
281
  }
228
- return _ref7 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(SEllipsis, _ref7.cn("SEllipsis", {
229
- ...(0, _core.assignProps)({}, _ref)
230
- }), /*#__PURE__*/_react.default.createElement(Children, _ref7.cn("Children", {})));
282
+ return _ref7 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SEllipsis, _ref7.cn("SEllipsis", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({}, _ref))), /*#__PURE__*/_react["default"].createElement(Children, _ref7.cn("Children", {})));
231
283
  }
232
- const Ellipsis = (0, _core.createComponent)(RootEllipsis, {
233
- Content,
234
- Popper: _tooltip.default.Popper
284
+ var Ellipsis = (0, _core.createComponent)(RootEllipsis, {
285
+ Content: Content,
286
+ Popper: _tooltip["default"].Popper
235
287
  });
236
- var _default = exports.default = Ellipsis;
288
+ var _default = exports["default"] = Ellipsis;
237
289
  //# sourceMappingURL=Ellipsis.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Ellipsis.js","names":["_core","require","_baseComponents","_assignProps3","_findComponent","_interopRequireWildcard","_getOriginChildren","_interopRequireDefault","_pick","_reactToText","_ref8","_useEnhancedEffect","_tooltip","_react","_useResizeObserver","_utils","style","sstyled","insert","defaultTooltipProps","forcedAdvancedMode","noAdvancedMode","RootEllipsis","Component","constructor","args","_defineProperty2","default","visible","React","createRef","setState","showTooltip","maxLine","Children","asProps","text","reactToText","getOriginChildren","isTextOverflowing","textRef","current","getContentProps","ref","getPopperProps","includeTooltipProps","tooltipProps","pick","children","render","_ref3","SEllipsis","Root","SContainer","Tooltip","styles","tooltip","trim","containerRect","containerRef","_children","other","state","advancedContent","findComponent","Ellipsis","Content","displayName","advanceMode","isAdvanceMode","Popper","onVisibleChange","callAllEventHandlers","handlerVisibleChange","_ref2","createElement","EllipsisMiddle","cn","undefined","Box","__excludeProps","EllipsisMiddleContext","createContext","props","_ref5","tag","resizeElement","useRef","symbolWidth","setSymbolWidth","useState","blockWidth","useResizeObserver","width","useEnhancedEffect","node","styleElement","window","getComputedStyle","dateSpan","document","setFontSettings","textContent","body","appendChild","rect","getBoundingClientRect","removeChild","STail","SBeginning","SContainerMiddle","SAdvancedModeContainerMiddle","displayedSymbols","useMemo","Math","round","interaction","length","contextValue","begining","substring","tail","_ref4","Provider","value","forkRef","_ref","arguments[0]","_ref7","Trigger","ellipsisMiddleContext","useContext","_ref6","assignProps","createComponent","_default","exports"],"sources":["../../src/Ellipsis.tsx"],"sourcesContent":["import { Box, type BoxProps } from '@semcore/base-components';\nimport { createComponent, Component, type Intergalactic, Root, sstyled } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport findComponent, { isAdvanceMode } from '@semcore/core/lib/utils/findComponent';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport pick from '@semcore/core/lib/utils/pick';\nimport reactToText from '@semcore/core/lib/utils/reactToText';\nimport { forkRef } from '@semcore/core/lib/utils/ref';\nimport useEnhancedEffect from '@semcore/core/lib/utils/use/useEnhancedEffect';\nimport Tooltip, { type TooltipProps } from '@semcore/tooltip';\nimport React, { type RefObject } from 'react';\n\nimport style from './style/ellipsis.shadow.css';\nimport { useResizeObserver } from './useResizeObserver';\nimport { isTextOverflowing, setFontSettings } from './utils';\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 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 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 {\n styles,\n Children,\n maxLine,\n tooltip,\n trim,\n containerRect,\n containerRef,\n includeTooltipProps,\n children: _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 = tooltipProps.visible ?? visible;\n tooltipProps.onVisibleChange = tooltipProps.onVisibleChange\n ? callAllEventHandlers(tooltipProps.onVisibleChange, this.handlerVisibleChange)\n : 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\n return sstyled(styles)(\n <SContainer\n interaction={tooltip ? 'hover' : 'none'}\n title={!advanceMode ? text : undefined}\n {...tooltipProps}\n {...(advanceMode ? forcedAdvancedMode : noAdvancedMode)}\n >\n {advanceMode\n ? (\n <Children />\n )\n : (\n <SEllipsis render={Box} ref={this.textRef} maxLine={maxLine} {...other}>\n <Children />\n </SEllipsis>\n )}\n </SContainer>,\n );\n }\n}\n\nconst EllipsisMiddleContext = React.createContext<null | {\n begining: string;\n tail: string;\n ref: React.RefObject<HTMLElement>;\n}>(null);\n\nfunction EllipsisMiddle(props: AsPropsMiddle) {\n const {\n styles,\n text,\n tooltip,\n containerRect,\n containerRef,\n textRef,\n tooltipProps,\n children,\n advanceMode,\n tag,\n } = props;\n\n const resizeElement = React.useRef<HTMLDivElement>(null);\n const [symbolWidth, setSymbolWidth] = React.useState(0);\n const blockWidth = useResizeObserver(resizeElement, containerRect).width;\n\n useEnhancedEffect(() => {\n const node = containerRef?.current || resizeElement?.current;\n if (!node) return;\n\n const styleElement = window.getComputedStyle(node);\n const dateSpan = document.createElement('temporary-block');\n\n setFontSettings(dateSpan, styleElement);\n dateSpan.textContent = 'a';\n document.body.appendChild(dateSpan);\n const rect = dateSpan.getBoundingClientRect();\n\n setSymbolWidth(rect.width);\n document.body.removeChild(dateSpan);\n }, []);\n\n const STail = 'span';\n const SBeginning = 'span';\n const SContainerMiddle = Tooltip;\n const SAdvancedModeContainerMiddle = Tooltip;\n const displayedSymbols = React.useMemo(\n () => {\n const displayedSymbols = Math.round(blockWidth / symbolWidth);\n\n return displayedSymbols % 2 === 0 ? displayedSymbols : displayedSymbols - 1;\n },\n [blockWidth, 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={tooltip ? interaction : 'none'}\n {...tooltipProps}\n {...forcedAdvancedMode}\n >\n <EllipsisMiddleContext.Provider value={contextValue}>\n {children}\n </EllipsisMiddleContext.Provider>\n </SAdvancedModeContainerMiddle>,\n );\n }\n return sstyled(styles)(\n <SContainerMiddle\n interaction={tooltip ? interaction : 'none'}\n title={text}\n ref={forkRef(ref, textRef)}\n tag={tag}\n {...tooltipProps}\n >\n <SBeginning>{contextValue.begining}</SBeginning>\n <STail>{contextValue.tail}</STail>\n </SContainerMiddle>,\n );\n}\n\ntype EllipsisContentAsProps = {\n styles: any;\n Children: React.FC;\n};\n\nfunction Content({ styles, Children }: EllipsisContentAsProps) {\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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","ignoreList":[]}
1
+ {"version":3,"file":"Ellipsis.js","names":["_core","require","_assignProps3","_findComponent","_interopRequireWildcard","_getOriginChildren","_interopRequireDefault","_pick","_reactToText","_ref9","_useEnhancedEffect","_flexBox","_tooltip","_react","_useResizeObserver","_excluded","style","sstyled","insert","defaultTooltipProps","setFontSettings","element","styleElement","fontFamily","getPropertyValue","fontSize","fontWeight","lineHeight","fontFeatureSettings","fontVariantNumeric","createMeasurerElement","text","window","getComputedStyle","temporaryElement","document","createElement","display","padding","position","right","bottom","visibility","whiteSpace","wordWrap","textContent","isTextOverflowing","multiline","_element$getBoundingC","getBoundingClientRect","currentHeight","height","currentWidth","width","measuringElement","isOverflowing","body","appendChild","concat","scrollWidth","Math","ceil","removeChild","forcedAdvancedMode","noAdvancedMode","RootEllipsis","_Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","_callSuper2","_defineProperty2","visible","React","createRef","setState","showTooltip","_inherits2","_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","_ref3","_tooltipProps$visible","SEllipsis","Root","SContainer","Tooltip","_this$asProps3","styles","tooltip","trim","containerRect","containerRef","_children","other","_objectWithoutProperties2","state","advancedContent","findComponent","Ellipsis","Content","displayName","advanceMode","isAdvanceMode","Popper","onVisibleChange","callAllEventHandlers","handlerVisibleChange","_ref2","EllipsisMiddle","cn","undefined","Box","Component","__excludeProps","EllipsisMiddleContext","createContext","props","_ref5","tag","resizeElement","useRef","_React$useState","useState","_React$useState2","_slicedToArray2","symbolWidth","setSymbolWidth","blockWidth","useResizeObserver","useEnhancedEffect","node","dateSpan","rect","STail","SBeginning","SContainerMiddle","SAdvancedModeContainerMiddle","displayedSymbols","useMemo","round","interaction","contextValue","begining","substring","tail","_ref4","Provider","forkRef","_ref8","_ref","arguments[0]","_ref7","Trigger","ellipsisMiddleContext","useContext","_ref6","assignProps","createComponent","_default","exports"],"sources":["../../src/Ellipsis.tsx"],"sourcesContent":["import { createComponent, Component, type Intergalactic, Root, sstyled } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport findComponent, { isAdvanceMode } from '@semcore/core/lib/utils/findComponent';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport pick from '@semcore/core/lib/utils/pick';\nimport reactToText from '@semcore/core/lib/utils/reactToText';\nimport { forkRef } from '@semcore/core/lib/utils/ref';\nimport useEnhancedEffect from '@semcore/core/lib/utils/use/useEnhancedEffect';\nimport { Box, type BoxProps } from '@semcore/flex-box';\nimport Tooltip, { type TooltipProps } from '@semcore/tooltip';\nimport React, { type RefObject } from 'react';\n\nimport style from './style/ellipsis.shadow.css';\nimport { useResizeObserver } from './useResizeObserver';\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 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 setFontSettings = (element: HTMLElement, styleElement: CSSStyleDeclaration): void => {\n element.style.fontFamily = styleElement.getPropertyValue('font-family');\n element.style.fontSize = styleElement.getPropertyValue('font-size');\n element.style.fontWeight = styleElement.getPropertyValue('font-weight');\n element.style.lineHeight = styleElement.getPropertyValue('line-height');\n element.style.fontFeatureSettings =\n styleElement.getPropertyValue('font-feature-settings');\n element.style.fontVariantNumeric = styleElement.getPropertyValue('font-variant-numeric');\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.whiteSpace = styleElement.getPropertyValue('white-space');\n temporaryElement.style.wordWrap = styleElement.getPropertyValue('word-wrap');\n\n setFontSettings(temporaryElement, styleElement);\n\n temporaryElement.textContent = text ?? element.textContent;\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 {\n styles,\n Children,\n maxLine,\n tooltip,\n trim,\n containerRect,\n containerRef,\n includeTooltipProps,\n children: _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 = tooltipProps.visible ?? visible;\n tooltipProps.onVisibleChange = tooltipProps.onVisibleChange\n ? callAllEventHandlers(tooltipProps.onVisibleChange, this.handlerVisibleChange)\n : 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\n return sstyled(styles)(\n <SContainer\n interaction={tooltip ? 'hover' : 'none'}\n title={!advanceMode ? text : undefined}\n {...tooltipProps}\n {...(advanceMode ? forcedAdvancedMode : noAdvancedMode)}\n >\n {advanceMode\n ? (\n <Children />\n )\n : (\n <SEllipsis render={Box} ref={this.textRef} maxLine={maxLine} {...other}>\n <Children />\n </SEllipsis>\n )}\n </SContainer>,\n );\n }\n}\n\nconst EllipsisMiddleContext = React.createContext<null | {\n begining: string;\n tail: string;\n ref: React.RefObject<HTMLElement>;\n}>(null);\n\nfunction EllipsisMiddle(props: AsPropsMiddle) {\n const {\n styles,\n text,\n tooltip,\n containerRect,\n containerRef,\n textRef,\n tooltipProps,\n children,\n advanceMode,\n tag,\n } = props;\n\n const resizeElement = React.useRef<HTMLDivElement>(null);\n const [symbolWidth, setSymbolWidth] = React.useState(0);\n const blockWidth = useResizeObserver(resizeElement, containerRect).width;\n\n useEnhancedEffect(() => {\n const node = containerRef?.current || resizeElement?.current;\n if (!node) return;\n\n const styleElement = window.getComputedStyle(node);\n const dateSpan = document.createElement('temporary-block');\n\n setFontSettings(dateSpan, styleElement);\n dateSpan.textContent = 'a';\n document.body.appendChild(dateSpan);\n const rect = dateSpan.getBoundingClientRect();\n\n setSymbolWidth(rect.width);\n document.body.removeChild(dateSpan);\n }, []);\n\n const STail = 'span';\n const SBeginning = 'span';\n const SContainerMiddle = Tooltip;\n const SAdvancedModeContainerMiddle = Tooltip;\n const displayedSymbols = React.useMemo(\n () => {\n const displayedSymbols = Math.round(blockWidth / symbolWidth);\n\n return displayedSymbols % 2 === 0 ? displayedSymbols : displayedSymbols - 1;\n },\n [blockWidth, 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={tooltip ? interaction : 'none'}\n {...tooltipProps}\n {...forcedAdvancedMode}\n >\n <EllipsisMiddleContext.Provider value={contextValue}>\n {children}\n </EllipsisMiddleContext.Provider>\n </SAdvancedModeContainerMiddle>,\n );\n }\n return sstyled(styles)(\n <SContainerMiddle\n interaction={tooltip ? interaction : 'none'}\n title={text}\n ref={forkRef(ref, textRef)}\n tag={tag}\n {...tooltipProps}\n >\n <SBeginning>{contextValue.begining}</SBeginning>\n <STail>{contextValue.tail}</STail>\n </SContainerMiddle>,\n );\n}\n\ntype EllipsisContentAsProps = {\n styles: any;\n Children: React.FC;\n};\n\nfunction Content({ styles, Children }: EllipsisContentAsProps) {\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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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import type { Box, BoxProps } from '@semcore/base-components';\nimport type { UnknownProperties, Intergalactic } from '@semcore/core';\nimport type { TooltipProps } from '@semcore/tooltip';\nimport type Tooltip from '@semcore/tooltip';\nimport type { RefObject } from 'react';\n\nexport type EllipsisProps = BoxProps &\n Partial<TooltipProps> & {\n /**\n * Rows count in multiline Ellipsis.\n * Applies only for `trim = end`\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 containerRef?: RefObject<HTMLElement | null>;\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\ndeclare const useResizeObserver: (\n ref: RefObject<HTMLElement>,\n hookOverride?: { width: number },\n) => { width: number };\n/**\n * @deprecated. Use Text with ellipsis property for @semcore/typography.\n */\ndeclare const Ellipsis: Intergalactic.Component<'div', EllipsisProps> & {\n Content: typeof Box;\n Popper: typeof Tooltip.Popper;\n};\n\nexport default Ellipsis;\n\nexport { useResizeObserver };\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import type { UnknownProperties, Intergalactic } from '@semcore/core';\nimport type { Box, BoxProps } from '@semcore/flex-box';\nimport type { TooltipProps } from '@semcore/tooltip';\nimport type Tooltip from '@semcore/tooltip';\nimport type { RefObject } from 'react';\n\n/** @deprecated */\nexport interface IEllipsisProps extends EllipsisProps, UnknownProperties {}\nexport type EllipsisProps = BoxProps &\n Partial<TooltipProps> & {\n /**\n * Rows count in multiline Ellipsis.\n * Applies only for `trim = end`\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 containerRef?: RefObject<HTMLElement | null>;\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\ndeclare const useResizeObserver: (\n ref: RefObject<HTMLElement>,\n hookOverride?: { width: number },\n) => { width: number };\n\ndeclare const Ellipsis: Intergalactic.Component<'div', EllipsisProps> & {\n Content: typeof Box;\n Popper: typeof Tooltip.Popper;\n};\n\nexport { useResizeObserver };\nexport default Ellipsis;\n"],"mappings":"","ignoreList":[]}